diff --git a/assets/404-DsgK3Y-f.js b/assets/404-DkBfuGQw.js similarity index 94% rename from assets/404-DsgK3Y-f.js rename to assets/404-DkBfuGQw.js index 0bd3fc6..3c91858 100644 --- a/assets/404-DsgK3Y-f.js +++ b/assets/404-DkBfuGQw.js @@ -1 +1 @@ -import{B as C,C as c,e as a,D as s}from"./index-D042plwv.js";import{V as L,a as r}from"./VRow-CH6EAfU_.js";import{V as f}from"./VContainer-MApP1Vz1.js";import{X as n,Y as d,Z as e,j as t,k as i}from"./vendor-vue-BiQC5iF7.js";import"./vendor-vuetify-DpmmaPkh.js";const h="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(p){return(o,l)=>(n(),d(f,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(c,{class:"mb-4",height:"150",src:h}),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(c,{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=>o.$router.back())},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},Z={__name:"404",setup(p){return(o,l)=>(n(),d(m))}};export{Z as default}; +import{B as C,C as c,e as a,D as s}from"./index-BvGH7GyK.js";import{V as L,a as r}from"./VRow-CFI96Yew.js";import{V as f}from"./VContainer-Cz0t7N-s.js";import{X as n,Y as d,Z as e,j as t,k as i}from"./vendor-vue-Hxtt57UU.js";import"./vendor-vuetify-KiFW-YAv.js";const h="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(p){return(o,l)=>(n(),d(f,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(c,{class:"mb-4",height:"150",src:h}),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(c,{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=>o.$router.back())},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},Z={__name:"404",setup(p){return(o,l)=>(n(),d(m))}};export{Z as default}; diff --git a/assets/AttendanceManagementDialog-B9DNmGly.js b/assets/AttendanceManagementDialog-D0UfFBjs.js similarity index 96% rename from assets/AttendanceManagementDialog-B9DNmGly.js rename to assets/AttendanceManagementDialog-D0UfFBjs.js index f98d4cd..28ff486 100644 --- a/assets/AttendanceManagementDialog-B9DNmGly.js +++ b/assets/AttendanceManagementDialog-D0UfFBjs.js @@ -1 +1 @@ -import{_ as L,e as x,c as w,f as v,g as F,h as d,d as k,o as M,i as z,l as _,k as E,n as P}from"./index-D042plwv.js";import{V as f}from"./VChip-nQelUOZI.js";import{V as b,a as C}from"./VRow-CH6EAfU_.js";import{V as D}from"./VTextField-BoJUR4Xs.js";import{a0 as B}from"./vendor-vuetify-DpmmaPkh.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-BiQC5iF7.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"},I={class:"flex-grow-1"},q={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",I,[o("div",q,[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 Q=L(N,[["render",X],["__scopeId","data-v-743b7bc1"]]);export{Q as default}; +import{_ as L,e as x,c as w,f as v,g as F,h as d,d as k,o as M,i as z,l as _,k as E,n as P}from"./index-BvGH7GyK.js";import{V as f}from"./VChip-CyVmT8se.js";import{V as b,a as C}from"./VRow-CFI96Yew.js";import{V as D}from"./VTextField-jDykTfh9.js";import{a0 as B}from"./vendor-vuetify-KiFW-YAv.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-Hxtt57UU.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"},I={class:"flex-grow-1"},q={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",I,[o("div",q,[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 Q=L(N,[["render",X],["__scopeId","data-v-743b7bc1"]]);export{Q as default}; diff --git a/assets/AttendanceSidebar-DOcIfcAf.js b/assets/AttendanceSidebar-C5lGrDWr.js similarity index 89% rename from assets/AttendanceSidebar-DOcIfcAf.js rename to assets/AttendanceSidebar-C5lGrDWr.js index b6ff812..0d178ca 100644 --- a/assets/AttendanceSidebar-DOcIfcAf.js +++ b/assets/AttendanceSidebar-C5lGrDWr.js @@ -1 +1 @@ -import{_ as w,n as g,ao as m}from"./index-D042plwv.js";import{a as k}from"./VRow-CH6EAfU_.js";import{a0 as f}from"./vendor-vuetify-DpmmaPkh.js";import{R as b,X as n,Y as _,Z as x,k as t,a1 as r,S as s,_ as l,F as c,a2 as p,$ as o,n as C}from"./vendor-vue-BiQC5iF7.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:f()}},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?b((n(),_(k,{key:0,class:C([{"cursor-not-allowed":a.isEditingDisabled},"attendance-area no-select"]),cols:"1",onClick:y.handleClick},{default:x(()=>[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-1b645894"]]);export{P as default}; +import{_ as w,n as g,ao as m}from"./index-BvGH7GyK.js";import{a as k}from"./VRow-CFI96Yew.js";import{a0 as f}from"./vendor-vuetify-KiFW-YAv.js";import{R as b,X as n,Y as _,Z as x,k as t,a1 as r,S as s,_ as l,F as c,a2 as p,$ as o,n as C}from"./vendor-vue-Hxtt57UU.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:f()}},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?b((n(),_(k,{key:0,class:C([{"cursor-not-allowed":a.isEditingDisabled},"attendance-area no-select"]),cols:"1",onClick:y.handleClick},{default:x(()=>[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-1b645894"]]);export{P as default}; diff --git a/assets/CacheManagement-DiR6lmUl.js b/assets/CacheManagement-CX2R2zIQ.js similarity index 94% rename from assets/CacheManagement-DiR6lmUl.js rename to assets/CacheManagement-CX2R2zIQ.js index b4e0bb9..0d9b5ed 100644 --- a/assets/CacheManagement-DiR6lmUl.js +++ b/assets/CacheManagement-CX2R2zIQ.js @@ -1 +1 @@ -import{_ as S,c as b,g as A,h as p,f as d,d as C,p as E,q as N,r as L,t as P,e as _}from"./index-D042plwv.js";import{V as y}from"./VAlert-ZP8s_5ha.js";import{V as R,a as B,b as F,c as H}from"./VExpansionPanels-BpKtUPdA.js";import{V as I}from"./VChip-nQelUOZI.js";import{V as z}from"./VSkeletonLoader-B7fDa9ID.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-BiQC5iF7.js";import{V as M,a as k}from"./VRow-CH6EAfU_.js";import{V as U}from"./VContainer-MApP1Vz1.js";import"./vendor-vuetify-DpmmaPkh.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 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:Z=>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(z,{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(j,[["render",Y]]),$={name:"CacheManagementPage",components:{CacheManager:W},metaInfo:{title:"缓存管理"}},q={class:"d-flex align-center mb-6"},J={class:"d-flex align-center mb-2"},K={class:"d-flex align-center mb-2"};function X(a,e,n,g,o,m){const u=W;return i(),c(U,null,{default:s(()=>[t(M,null,{default:s(()=>[t(k,{cols:"12"},{default:s(()=>[r("div",q,[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",J,[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",K,[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",X]]);export{oe as default}; +import{_ as S,c as b,g as A,h as p,f as d,d as C,p as E,q as N,r as L,t as P,e as _}from"./index-BvGH7GyK.js";import{V as y}from"./VAlert-DdY_LS-W.js";import{V as R,a as B,b as F,c as H}from"./VExpansionPanels-D75JoFxE.js";import{V as I}from"./VChip-CyVmT8se.js";import{V as z}from"./VSkeletonLoader-BwErr64p.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-Hxtt57UU.js";import{V as M,a as k}from"./VRow-CFI96Yew.js";import{V as U}from"./VContainer-Cz0t7N-s.js";import"./vendor-vuetify-KiFW-YAv.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 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:Z=>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(z,{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(j,[["render",Y]]),$={name:"CacheManagementPage",components:{CacheManager:W},metaInfo:{title:"缓存管理"}},q={class:"d-flex align-center mb-6"},J={class:"d-flex align-center mb-2"},K={class:"d-flex align-center mb-2"};function X(a,e,n,g,o,m){const u=W;return i(),c(U,null,{default:s(()=>[t(M,null,{default:s(()=>[t(k,{cols:"12"},{default:s(()=>[r("div",q,[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",J,[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",K,[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",X]]);export{oe as default}; diff --git a/assets/ChatWidget-DtJTDDI5.js b/assets/ChatWidget-BQwxDQ-m.js similarity index 97% rename from assets/ChatWidget-DtJTDDI5.js rename to assets/ChatWidget-BQwxDQ-m.js index de9e2b2..0025284 100644 --- a/assets/ChatWidget-DtJTDDI5.js +++ b/assets/ChatWidget-BQwxDQ-m.js @@ -1,3 +1,3 @@ -import{s as Q,g as F,j as D,a as x}from"./socketClient-D9GaxO-Q.js";import{_ as V,n as N,e as S,d as w,h as _,f as p,k as K,c as W,g as E,F as j,i as b,o as H,l as q}from"./index-D042plwv.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 $,ae as R,aa as B}from"./vendor-vue-BiQC5iF7.js";import{p as O,s as Y}from"./soundList-D9U-Grcp.js";import{V as C}from"./VChip-nQelUOZI.js";import{f as Z,s as ee,c as te}from"./deviceEvents-W5dhgmtc.js";import{V as se,a as ie}from"./VTooltip-DMSltD5A.js";import{V as ne,a as T}from"./VRow-CH6EAfU_.js";import{V as oe}from"./VPagination-LhWLJTqu.js";import{V as re}from"./VTextarea-CnWToSV7.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} +import{s as Q,g as F,j as D,a as x}from"./socketClient-B3vfwKNR.js";import{_ as V,n as N,e as S,d as w,h as _,f as p,k as K,c as W,g as E,F as j,i as b,o as H,l as q}from"./index-BvGH7GyK.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 $,ae as R,aa as B}from"./vendor-vue-Hxtt57UU.js";import{p as O,s as Y}from"./soundList-D9U-Grcp.js";import{V as C}from"./VChip-CyVmT8se.js";import{f as Z,s as ee,c as te}from"./deviceEvents-DDMVNIIy.js";import{V as se,a as ie}from"./VTooltip-CvIsrMQ_.js";import{V as ne,a as T}from"./VRow-CFI96Yew.js";import{V as oe}from"./VPagination-DC48wzod.js";import{V as re}from"./VTextarea-CCvrj_Hr.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-103eca06"]]),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(H,{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(),$(q,{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"]]),et=Object.freeze(Object.defineProperty({__proto__:null,default:Ke},Symbol.toStringTag,{value:"Module"}));export{et as C,P as _,Ke as a}; diff --git a/assets/ExamConfigEditor-DnZpqRBI.js b/assets/ExamConfigEditor-Bp6Liu2C.js similarity index 97% rename from assets/ExamConfigEditor-DnZpqRBI.js rename to assets/ExamConfigEditor-Bp6Liu2C.js index 5891a77..65ae394 100644 --- a/assets/ExamConfigEditor-DnZpqRBI.js +++ b/assets/ExamConfigEditor-Bp6Liu2C.js @@ -1,2 +1,2 @@ -import{d as x}from"./dataProvider-CBH3Lw3D.js";import{X as g,_ as v,Y as y,Z as a,k as c,j as s,a1 as m,S as D,$ as C,F as E,a2 as M,aa as q,R as Y,V as K,m as J}from"./vendor-vue-BiQC5iF7.js";import{_ as G,f as p,p as R,q as O,r as X,d as w,e as b,h,F as Z,c as V,g as k,a1 as Q,i as W,l as L,k as $}from"./index-D042plwv.js";import{V as A}from"./VAlert-ZP8s_5ha.js";import{V as ee}from"./VSkeletonLoader-B7fDa9ID.js";import{a as _}from"./VTooltip-DMSltD5A.js";import{V as z,a as te}from"./VChip-nQelUOZI.js";import{a as T,V as I}from"./VRow-CH6EAfU_.js";import{V as N}from"./VTextField-BoJUR4Xs.js";import{V as ae}from"./VTextarea-CnWToSV7.js";import{V as se}from"./VSwitch-CEojN9Vi.js";import{V as re}from"./VAutocomplete-6kKJB-90.js";import{V as B}from"./VMenu-Ps4XkZIl.js";import{V as P}from"./VDatePicker-DBOVlJXM.js";import{V as H}from"./VTimePicker-DQGiZZlL.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./vendor-vuetify-DpmmaPkh.js";import"./VSelect-mQ_XLRnU.js";import"./VSheet-BWNNvcYw.js";import"./VCheckboxBtn-64kBGXnq.js";import"./VPicker-DGiUlCzb.js";const le={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(t){return console.error("格式化JSON时出错:",t),"无效的JSON格式"}},formattedStorageJson(){try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(e=>({name:e.name,start:this.formatDisplayDateTime(e.start),end:this.formatDisplayDateTime(e.end),alertTime:parseInt(e.alertTime)||15}))};return JSON.stringify(t,null,2)}catch(t){return console.error("格式化存储JSON时出错:",t),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(t=>t.name&&t.start&&t.end)},validationErrors(){const t=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&t.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&t.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)t.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((e,i)=>{const l=`第${i+1}个科目`;if((!e.name||e.name.trim()==="")&&t.push(`${l}的名称不能为空`),e.start||t.push(`${l}的开始时间不能为空`),e.end||t.push(`${l}的结束时间不能为空`),e.start&&e.end){const r=new Date(e.start),n=new Date(e.end);isNaN(r.getTime())&&t.push(`${l}的开始时间格式不正确`),isNaN(n.getTime())&&t.push(`${l}的结束时间格式不正确`),!isNaN(r.getTime())&&!isNaN(n.getTime())&&(n<=r&&t.push(`${l}的结束时间必须晚于开始时间`),(n-r)/(1e3*60*60)>24&&t.push(`${l}的考试时长不能超过24小时`))}});for(let e=0;eu&&t.push(`第${e+1}个科目与第${i+1}个科目的时间有重叠`)}}}return t},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(t){t&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const t=await x.loadData("classworks-config-subject");t&&Array.isArray(t)?this.availableSubjects=t.sort((e,i)=>(e.order??0)-(i.order??0)).map(e=>({name:e.name,order:e.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(t){console.warn("加载科目列表失败,使用默认列表:",t),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 t=null;for(let e=this.localConfig.examInfos.length-1;e>=0;e--)if(this.localConfig.examInfos[e].end){t=new Date(this.localConfig.examInfos[e].end);break}t||(t=new Date);for(let e=0;e12)return`${e}月份不合法(1-12)`;if(S<1||S>31)return`${e}日期不合法(1-31)`;if(U<0||U>23)return`${e}小时不合法(0-23)`;if(F<0||F>59)return`${e}分钟不合法(0-59)`;const j=new Date(d,f-1,S,U,F);return isNaN(j.getTime())?`${e}日期不存在`:j.getMonth()!==f-1||j.getDate()!==S?`${e}日期不存在`:!0},validateEndAfterStart(t){if(!t.startFormatted||!t.endFormatted)return!0;try{const e=new Date(t.start||t.startFormatted.replace(/\//g,"-")),i=new Date(t.end||t.endFormatted.replace(/\//g,"-"));return isNaN(e.getTime())||isNaN(i.getTime())?!0:i<=e?"结束时间必须晚于开始时间":(i.getTime()-e.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(t,e){if(!t.startFormatted||!t.endFormatted)return!0;try{const i=new Date(t.start||t.startFormatted.replace(/\//g,"-")),l=new Date(t.end||t.endFormatted.replace(/\//g,"-"));if(isNaN(i.getTime())||isNaN(l.getTime()))return!0;for(let r=0;r=o&&io&&l<=u||i<=o&&l>=u)return`时间与"${n.name||`第${r+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(t=>{t.alertTime=15})},getExamDuration(t){if(!t.start||!t.end)return"";try{const e=new Date(t.start),i=new Date(t.end);if(isNaN(e.getTime())||isNaN(i.getTime()))return"";const l=i.getTime()-e.getTime(),r=Math.round(l/(1e3*60));if(r<60)return`${r}分钟`;const n=Math.floor(r/60),o=r%60;return o===0?`${n}小时`:`${n}小时${o}分钟`}catch{return""}},updateStartDateTimeFromInput(t){if(t===void 0||!this.localConfig.examInfos[t])return;const e=this.localConfig.examInfos[t],i=e.startFormatted;if(!i)return;const l=i.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!l)return;const[,r,n,o,u,d]=l,f=new Date(parseInt(r),parseInt(n)-1,parseInt(o),parseInt(u),parseInt(d));isNaN(f.getTime())||(e.startDate=f,e.startTime=this.formatTimeOnly(f),e.start=this.formatDateTimeLocal(f),this.updateStartDateTime(t))},updateEndDateTimeFromInput(t){if(t===void 0||!this.localConfig.examInfos[t])return;const e=this.localConfig.examInfos[t],i=e.endFormatted;if(!i)return;const l=i.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!l)return;const[,r,n,o,u,d]=l,f=new Date(parseInt(r),parseInt(n)-1,parseInt(o),parseInt(u),parseInt(d));isNaN(f.getTime())||(e.endDate=f,e.endTime=this.formatTimeOnly(f),e.end=this.formatDateTimeLocal(f),this.updateEndDateTime(t))},async loadConfig(){var t;this.loading=!0,this.error="";try{const e=await x.loadData(`es_${this.configId}`);if(e){this.localConfig={examName:"",message:"",room:"",examInfos:[],...e},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(l=>{if(l.start){const r=this.parseDateTime(l.start);l.start=this.formatDateTimeLocal(r),l.startDate=r,l.startTime=this.formatTimeOnly(r),l.startFormatted=this.formatDisplayDateTime(r),l.startDateMenu=!1}if(l.end){const r=this.parseDateTime(l.end);l.end=this.formatDateTimeLocal(r),l.endDate=r,l.endTime=this.formatTimeOnly(r),l.endFormatted=this.formatDisplayDateTime(r),l.endDateMenu=!1}try{if(l.start&&l.end){const r=new Date(l.start),n=new Date(l.end),o=Math.round((n.getTime()-r.getTime())/(1e3*60));o>0&&o<=24*60?l.durationMinutes=o:l.durationMinutes=120}else l.durationMinutes=120}catch{l.durationMinutes=120}l.alertTime===void 0||l.alertTime===null?l.alertTime=15:l.alertTime=parseInt(l.alertTime)||15});const i=this.localConfig.examInfos.some(l=>l.alertTime!==15);this.enableCustomAlertTime=i}else console.error("加载配置失败:",e),this.error="加载配置失败: "+(((t=e.error)==null?void 0:t.message)||"未知错误"),this.$emit("error",this.error)}catch(e){console.error(e),this.error="加载配置失败: "+e.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var t;if(!this.isValidConfig){const e=this.validationErrors;return e.length>0?this.error=`配置验证失败:${e.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(l=>({name:l.name,start:this.formatDisplayDateTime(l.start),end:this.formatDisplayDateTime(l.end),alertTime:parseInt(l.alertTime)||15}))},i=await x.saveData(`es_${this.configId}`,e);return i?(this.success="配置保存成功",this.$emit("saved",e),!0):(this.error="保存配置失败: "+(((t=i.error)==null?void 0:t.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(e){return this.error="保存配置失败: "+e,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let t=new Date;if(this.localConfig.examInfos.length>0){const r=this.localConfig.examInfos[this.localConfig.examInfos.length-1];r.end&&(t=new Date(r.end))}const e=new Date(t.getTime()+10*60*1e3),i=new Date(e.getTime()+2*60*60*1e3),l={name:"",start:this.formatDateTimeLocal(e),end:this.formatDateTimeLocal(i),durationMinutes:120,alertTime:15,startDate:e,startTime:this.formatTimeOnly(e),startFormatted:this.formatDisplayDateTime(e),startDateMenu:!1,endDate:i,endTime:this.formatTimeOnly(i),endFormatted:this.formatDisplayDateTime(i),endDateMenu:!1};this.localConfig.examInfos.push(l)},removeExamInfo(t){this.localConfig.examInfos.splice(t,1)},moveExamInfo(t,e){const i=t+e;if(i>=0&&i({name:e.name,start:this.formatDisplayDateTime(e.start),end:this.formatDisplayDateTime(e.end),alertTime:parseInt(e.alertTime)||15}))};return JSON.stringify(t,null,2)}catch(t){return console.error("格式化存储JSON时出错:",t),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(t=>t.name&&t.start&&t.end)},validationErrors(){const t=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&t.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&t.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)t.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((e,i)=>{const l=`第${i+1}个科目`;if((!e.name||e.name.trim()==="")&&t.push(`${l}的名称不能为空`),e.start||t.push(`${l}的开始时间不能为空`),e.end||t.push(`${l}的结束时间不能为空`),e.start&&e.end){const r=new Date(e.start),n=new Date(e.end);isNaN(r.getTime())&&t.push(`${l}的开始时间格式不正确`),isNaN(n.getTime())&&t.push(`${l}的结束时间格式不正确`),!isNaN(r.getTime())&&!isNaN(n.getTime())&&(n<=r&&t.push(`${l}的结束时间必须晚于开始时间`),(n-r)/(1e3*60*60)>24&&t.push(`${l}的考试时长不能超过24小时`))}});for(let e=0;eu&&t.push(`第${e+1}个科目与第${i+1}个科目的时间有重叠`)}}}return t},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(t){t&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const t=await x.loadData("classworks-config-subject");t&&Array.isArray(t)?this.availableSubjects=t.sort((e,i)=>(e.order??0)-(i.order??0)).map(e=>({name:e.name,order:e.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(t){console.warn("加载科目列表失败,使用默认列表:",t),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 t=null;for(let e=this.localConfig.examInfos.length-1;e>=0;e--)if(this.localConfig.examInfos[e].end){t=new Date(this.localConfig.examInfos[e].end);break}t||(t=new Date);for(let e=0;e12)return`${e}月份不合法(1-12)`;if(S<1||S>31)return`${e}日期不合法(1-31)`;if(U<0||U>23)return`${e}小时不合法(0-23)`;if(F<0||F>59)return`${e}分钟不合法(0-59)`;const j=new Date(d,f-1,S,U,F);return isNaN(j.getTime())?`${e}日期不存在`:j.getMonth()!==f-1||j.getDate()!==S?`${e}日期不存在`:!0},validateEndAfterStart(t){if(!t.startFormatted||!t.endFormatted)return!0;try{const e=new Date(t.start||t.startFormatted.replace(/\//g,"-")),i=new Date(t.end||t.endFormatted.replace(/\//g,"-"));return isNaN(e.getTime())||isNaN(i.getTime())?!0:i<=e?"结束时间必须晚于开始时间":(i.getTime()-e.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(t,e){if(!t.startFormatted||!t.endFormatted)return!0;try{const i=new Date(t.start||t.startFormatted.replace(/\//g,"-")),l=new Date(t.end||t.endFormatted.replace(/\//g,"-"));if(isNaN(i.getTime())||isNaN(l.getTime()))return!0;for(let r=0;r=o&&io&&l<=u||i<=o&&l>=u)return`时间与"${n.name||`第${r+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(t=>{t.alertTime=15})},getExamDuration(t){if(!t.start||!t.end)return"";try{const e=new Date(t.start),i=new Date(t.end);if(isNaN(e.getTime())||isNaN(i.getTime()))return"";const l=i.getTime()-e.getTime(),r=Math.round(l/(1e3*60));if(r<60)return`${r}分钟`;const n=Math.floor(r/60),o=r%60;return o===0?`${n}小时`:`${n}小时${o}分钟`}catch{return""}},updateStartDateTimeFromInput(t){if(t===void 0||!this.localConfig.examInfos[t])return;const e=this.localConfig.examInfos[t],i=e.startFormatted;if(!i)return;const l=i.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!l)return;const[,r,n,o,u,d]=l,f=new Date(parseInt(r),parseInt(n)-1,parseInt(o),parseInt(u),parseInt(d));isNaN(f.getTime())||(e.startDate=f,e.startTime=this.formatTimeOnly(f),e.start=this.formatDateTimeLocal(f),this.updateStartDateTime(t))},updateEndDateTimeFromInput(t){if(t===void 0||!this.localConfig.examInfos[t])return;const e=this.localConfig.examInfos[t],i=e.endFormatted;if(!i)return;const l=i.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!l)return;const[,r,n,o,u,d]=l,f=new Date(parseInt(r),parseInt(n)-1,parseInt(o),parseInt(u),parseInt(d));isNaN(f.getTime())||(e.endDate=f,e.endTime=this.formatTimeOnly(f),e.end=this.formatDateTimeLocal(f),this.updateEndDateTime(t))},async loadConfig(){var t;this.loading=!0,this.error="";try{const e=await x.loadData(`es_${this.configId}`);if(e){this.localConfig={examName:"",message:"",room:"",examInfos:[],...e},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(l=>{if(l.start){const r=this.parseDateTime(l.start);l.start=this.formatDateTimeLocal(r),l.startDate=r,l.startTime=this.formatTimeOnly(r),l.startFormatted=this.formatDisplayDateTime(r),l.startDateMenu=!1}if(l.end){const r=this.parseDateTime(l.end);l.end=this.formatDateTimeLocal(r),l.endDate=r,l.endTime=this.formatTimeOnly(r),l.endFormatted=this.formatDisplayDateTime(r),l.endDateMenu=!1}try{if(l.start&&l.end){const r=new Date(l.start),n=new Date(l.end),o=Math.round((n.getTime()-r.getTime())/(1e3*60));o>0&&o<=24*60?l.durationMinutes=o:l.durationMinutes=120}else l.durationMinutes=120}catch{l.durationMinutes=120}l.alertTime===void 0||l.alertTime===null?l.alertTime=15:l.alertTime=parseInt(l.alertTime)||15});const i=this.localConfig.examInfos.some(l=>l.alertTime!==15);this.enableCustomAlertTime=i}else console.error("加载配置失败:",e),this.error="加载配置失败: "+(((t=e.error)==null?void 0:t.message)||"未知错误"),this.$emit("error",this.error)}catch(e){console.error(e),this.error="加载配置失败: "+e.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var t;if(!this.isValidConfig){const e=this.validationErrors;return e.length>0?this.error=`配置验证失败:${e.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(l=>({name:l.name,start:this.formatDisplayDateTime(l.start),end:this.formatDisplayDateTime(l.end),alertTime:parseInt(l.alertTime)||15}))},i=await x.saveData(`es_${this.configId}`,e);return i?(this.success="配置保存成功",this.$emit("saved",e),!0):(this.error="保存配置失败: "+(((t=i.error)==null?void 0:t.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(e){return this.error="保存配置失败: "+e,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let t=new Date;if(this.localConfig.examInfos.length>0){const r=this.localConfig.examInfos[this.localConfig.examInfos.length-1];r.end&&(t=new Date(r.end))}const e=new Date(t.getTime()+10*60*1e3),i=new Date(e.getTime()+2*60*60*1e3),l={name:"",start:this.formatDateTimeLocal(e),end:this.formatDateTimeLocal(i),durationMinutes:120,alertTime:15,startDate:e,startTime:this.formatTimeOnly(e),startFormatted:this.formatDisplayDateTime(e),startDateMenu:!1,endDate:i,endTime:this.formatTimeOnly(i),endFormatted:this.formatDisplayDateTime(i),endDateMenu:!1};this.localConfig.examInfos.push(l)},removeExamInfo(t){this.localConfig.examInfos.splice(t,1)},moveExamInfo(t,e){const i=t+e;if(i>=0&&i24*60&&(i=24*60),e.durationMinutes=i,(!e.startDate||!e.startTime)&&e.start){const l=new Date(e.start);isNaN(l.getTime())||(e.startDate=l,e.startTime=this.formatTimeOnly(l))}if(e.startDate&&e.startTime){const l=new Date(e.startDate),[r,n]=String(e.startTime).split(":");l.setHours(parseInt(r),parseInt(n),0,0);const o=new Date(l.getTime()+i*60*1e3);e.endDate=o,e.endTime=this.formatTimeOnly(o),e.end=this.formatDateTimeLocal(o),e.endFormatted=this.formatDisplayDateTime(o)}},formatDateTimeLocal(t){if(!t)return"";let e;if(typeof t=="string"?t.includes("/")?e=new Date(t.replace(/\//g,"-")):e=new Date(t):e=new Date(t),isNaN(e.getTime()))return"";const i=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${i}-${l}-${r}T${n}:${o}`},formatDisplayDateTime(t){if(!t)return"";const e=new Date(t);if(isNaN(e.getTime()))return t;const i=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${i}/${l}/${r} ${n}:${o}`},parseDateTime(t){return t?typeof t=="string"?t.includes("/")?new Date(t.replace(/\//g,"-")):new Date(t):new Date(t):new Date},formatTimeOnly(t){if(!t)return"00:00";const e=new Date(t);if(isNaN(e.getTime()))return"00:00";const i=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0");return`${i}:${l}`},updateStartDateTime(t){const e=this.localConfig.examInfos[t];if(!e.startDate||!e.startTime)return;const i=new Date(e.startDate),[l,r]=e.startTime.split(":");i.setHours(parseInt(l),parseInt(r),0,0),e.start=this.formatDateTimeLocal(i),e.startFormatted=this.formatDisplayDateTime(i);let n=parseInt(e.durationMinutes);if(isNaN(n)||n<=0||n>24*60)try{let u=null;if(e.endDate&&e.endTime){u=new Date(e.endDate);const[d,f]=String(e.endTime).split(":");u.setHours(parseInt(d),parseInt(f),0,0)}else e.end&&(u=new Date(e.end));if(u&&!isNaN(u.getTime())){const d=Math.round((u.getTime()-i.getTime())/6e4);d>0&&d<=24*60&&(n=d)}}catch{}(isNaN(n)||n<=0||n>24*60)&&(n=120);const o=new Date(i.getTime()+n*60*1e3);e.endDate=o,e.endTime=this.formatTimeOnly(o),e.end=this.formatDateTimeLocal(o),e.endFormatted=this.formatDisplayDateTime(o),e.durationMinutes=n},updateEndDateTime(t){const e=this.localConfig.examInfos[t];if(!e.endDate||!e.endTime)return;const i=new Date(e.endDate),[l,r]=e.endTime.split(":");i.setHours(parseInt(l),parseInt(r),0,0),e.end=this.formatDateTimeLocal(i),e.endFormatted=this.formatDisplayDateTime(i);try{if(e.startDate&&e.startTime){const n=new Date(e.startDate),[o,u]=String(e.startTime).split(":");n.setHours(parseInt(o),parseInt(u),0,0);const d=Math.round((i.getTime()-n.getTime())/(1e3*60));d>0&&d<=24*60&&(e.durationMinutes=d)}}catch{}},async openConfig(){try{const t=await x.getKeyCloudUrl(`es_${this.configId}`,{autoMigrate:!0,autoConfig:!0});if(t.success&&t.url){const e=`https://es.examaware.cn/exam/?configUrl=${encodeURIComponent(t.url)}`;window.open(e,"_blank"),this.success="配置已在新窗口中打开",this.$emit("opened",{configId:this.configId,url:t.url})}else throw new Error(t.error||"获取云端地址失败")}catch(t){this.error="打开配置失败: "+t.message,this.$emit("error","打开配置失败: "+t.message)}},confirmDelete(){this.deleteDialog=!0},async deleteConfig(){this.deleting=!0;try{const i=(await x.loadData("es_list")||[]).filter(r=>r.id!==this.configId);if(!await x.saveData("es_list",i))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(t){console.error("删除配置失败:",t),this.$emit("deleted",{success:!1,message:"删除失败: "+t.message})}finally{this.deleting=!1}},openInEa2Player(){var t;try{const e={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=JSON.stringify(e),l=btoa(unescape(encodeURIComponent(i))),r=`examaware://player?data=${encodeURIComponent(l)}`;window.location.href=r,(t=this.$message)==null||t.success("正在拉起 ExamAware2 播放器...")}catch(e){this.error="拉起播放器失败: "+e.message}}}},oe={class:"d-flex align-center"},ie={class:"d-flex align-center"},ne={key:4,class:"d-flex justify-space-between align-center mb-4"},de={class:"d-flex align-center gap-2"},me={key:5},ue={class:"mb-8"},ce={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},fe={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},ge={key:0,class:"mb-8"},pe={class:"d-flex align-center"},he={class:""},ye={class:"mb-3"},De={class:"d-flex align-center mb-1"},Ce={class:"text-h6 font-weight-medium text-success"},Te={class:"d-flex align-center mb-1"},ve={class:"text-h6 font-weight-medium text-error"},be={key:1,class:"text-center py-12"},we={class:"json-preview"},xe={key:6},Ve={class:"text-subtitle-2 font-weight-bold d-block mb-2"},ke={key:0,class:"mt-3"},Ie={class:"text-caption text-medium-emphasis mt-2 ml-2"},Ne={class:"d-flex align-center mr-4"},Se={class:"w-100"},Ee={class:"d-flex align-center mb-3"},Me={class:"d-flex gap-1"},_e={class:"text-primary font-weight-bold"},Ue={key:1,class:"text-center py-12"};function Fe(t,e,i,l,r,n){return g(),v("div",null,[r.error?(g(),y(A,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":e[0]||(e[0]=o=>r.error="")},{default:a(()=>[c("div",oe,[s(p,{class:"mr-2"},{default:a(()=>[...e[10]||(e[10]=[m(" mdi-alert-circle ",-1)])]),_:1}),m(" "+D(r.error),1)])]),_:1})):C("",!0),r.success?(g(),y(A,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":e[1]||(e[1]=o=>r.success="")},{default:a(()=>[c("div",ie,[s(p,{class:"mr-2"},{default:a(()=>[...e[11]||(e[11]=[m(" mdi-check-circle ",-1)])]),_:1}),m(" "+D(r.success),1)])]),_:1})):C("",!0),n.hasValidationErrors&&!r.loading?(g(),y(A,{key:2,border:"start",class:"mb-4 mt-3 mx-2",type:"warning",variant:"tonal"},{default:a(()=>[e[13]||(e[13]=c("div",{class:"d-flex align-center"},[c("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),s(R,{class:"bg-transparent",density:"compact"},{default:a(()=>[(g(!0),v(E,null,M(n.validationErrors,(o,u)=>(g(),y(O,{key:u,class:"px-0 py-0"},{prepend:a(()=>[s(p,{color:"warning",size:"small"},{default:a(()=>[...e[12]||(e[12]=[m(" mdi-circle-small ",-1)])]),_:1})]),default:a(()=>[s(X,{class:"text-body-2"},{default:a(()=>[m(D(o),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):C("",!0),r.loading?(g(),y(b,{key:3,class:"my-4",outlined:""},{default:a(()=>[s(w,null,{default:a(()=>[s(ee,{class:"mx-auto",type:"article"})]),_:1})]),_:1})):C("",!0),r.loading?C("",!0):(g(),v("div",ne,[c("div",de,[s(h,{disabled:!n.isValidConfig,class:"text-none",color:"success","prepend-icon":"mdi-open-in-new",variant:"elevated",onClick:n.openConfig},{default:a(()=>[...e[14]||(e[14]=[m(" 打开 ExamSchedule ",-1)])]),_:1},8,["disabled","onClick"]),s(h,{disabled:!n.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-link-variant",variant:"elevated",onClick:n.copyConfigUrl},{default:a(()=>[...e[15]||(e[15]=[m(" 复制远程链接 ",-1)])]),_:1},8,["disabled","onClick"]),s(h,{disabled:!n.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:n.downloadAsJson},{default:a(()=>[...e[16]||(e[16]=[m(" JSON 文件 ",-1)])]),_:1},8,["disabled","onClick"]),s(h,{disabled:!n.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:n.downloadAsEa2},{default:a(()=>[...e[17]||(e[17]=[m(" .ea2 文件 ",-1)])]),_:1},8,["disabled","onClick"]),s(h,{disabled:!n.isValidConfig,class:"text-none",color:"secondary","prepend-icon":"mdi-play-circle",variant:"elevated",onClick:n.openInEa2Player},{default:a(()=>[...e[18]||(e[18]=[m(" 拉起EA2播放器 ",-1)])]),_:1},8,["disabled","onClick"]),n.isValidConfig?C("",!0):(g(),y(_,{key:0,activator:"parent",location:"bottom"},{default:a(()=>[...e[19]||(e[19]=[c("span",null,"请先完善配置信息后再操作",-1)])]),_:1}))]),s(Z,{modelValue:r.isEditMode,"onUpdate:modelValue":e[2]||(e[2]=o=>r.isEditMode=o),color:"primary",divided:"",variant:"outlined"},{default:a(()=>[s(h,{class:"text-error","prepend-icon":"mdi-delete",onClick:n.confirmDelete},{default:a(()=>[...e[20]||(e[20]=[m(" 删除配置 ",-1)])]),_:1},8,["onClick"]),s(h,{value:!1,"prepend-icon":"mdi-eye"},{default:a(()=>[...e[21]||(e[21]=[m(" 预览 ",-1)])]),_:1}),s(h,{value:!0,"prepend-icon":"mdi-pencil"},{default:a(()=>[...e[22]||(e[22]=[m(" 编辑 ",-1)])]),_:1})]),_:1},8,["modelValue"])])),!r.loading&&!r.isEditMode?(g(),v("div",me,[c("div",ue,[c("div",ce,D(r.localConfig.examName||"未设置考试名称"),1),c("div",fe,D(r.localConfig.message||"未设置考试提示"),1),r.localConfig.room?(g(),y(z,{key:0,class:"px-4 py-2",size:"large"},{default:a(()=>[s(p,{start:""},{default:a(()=>[...e[23]||(e[23]=[m(" mdi-home ",-1)])]),_:1}),m(" 考场:"+D(r.localConfig.room),1)]),_:1})):C("",!0)]),r.localConfig.examInfos&&r.localConfig.examInfos.length>0?(g(),v("div",ge,[s(I,null,{default:a(()=>[(g(!0),v(E,null,M(r.localConfig.examInfos,(o,u)=>(g(),y(T,{key:u,cols:"12",lg:"4",md:"6"},{default:a(()=>[s(b,{class:"h-100",hover:"",variant:"tonal"},{default:a(()=>[s(V,{class:"bg-primary-lighten-5 pa-4"},{default:a(()=>[c("div",pe,[s(p,{class:"mr-2"},{default:a(()=>[...e[24]||(e[24]=[m(" mdi-book-open-page-variant ",-1)])]),_:1}),c("span",he,D(o.name||"未设置科目"),1)])]),_:2},1024),s(w,{class:"pa-4"},{default:a(()=>[c("div",ye,[c("div",De,[s(p,{class:"mr-2",color:"success",size:"small"},{default:a(()=>[...e[25]||(e[25]=[m(" mdi-clock-start ",-1)])]),_:1}),e[26]||(e[26]=c("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),c("div",Ce,D(o.startFormatted||o.start||"未设置"),1)]),c("div",null,[c("div",Te,[s(p,{class:"mr-2",color:"error",size:"small"},{default:a(()=>[...e[27]||(e[27]=[m(" mdi-clock-end ",-1)])]),_:1}),e[28]||(e[28]=c("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),c("div",ve,D(o.endFormatted||o.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(g(),v("div",be,[s(p,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:a(()=>[...e[29]||(e[29]=[m(" mdi-calendar-blank ",-1)])]),_:1}),e[32]||(e[32]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"}," 暂无考试科目安排 ",-1)),e[33]||(e[33]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),s(h,{color:"primary",variant:"outlined",onClick:n.quickEdit},{default:a(()=>[s(p,{start:""},{default:a(()=>[...e[30]||(e[30]=[m(" mdi-plus ",-1)])]),_:1}),e[31]||(e[31]=m(" 立即添加 ",-1))]),_:1},8,["onClick"])])),s(b,{border:"",class:"mb-4",elevation:"2"},{default:a(()=>[s(V,{class:"d-flex align-center text-white cursor-pointer",onClick:e[3]||(e[3]=o=>r.showJsonPreview=!r.showJsonPreview)},{default:a(()=>[s(p,{class:"mr-2"},{default:a(()=>[...e[34]||(e[34]=[m(" mdi-code-json ",-1)])]),_:1}),e[36]||(e[36]=m(" 配置预览 ",-1)),s(k),s(h,{color:"white","prepend-icon":"mdi-content-copy",size:"small",variant:"outlined",onClick:q(n.copyToClipboard,["stop"])},{default:a(()=>[...e[35]||(e[35]=[m(" 复制 ",-1)])]),_:1},8,["onClick"]),s(h,{icon:r.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2",color:"white",size:"small",variant:"text"},null,8,["icon"])]),_:1}),s(Q,null,{default:a(()=>[Y(s(w,{class:"pa-4"},{default:a(()=>[s(b,{class:"pa-4",variant:"tonal"},{default:a(()=>[c("pre",we,[c("code",null,D(n.formattedStorageJson),1)])]),_:1})]),_:1},512),[[K,r.showJsonPreview]])]),_:1})]),_:1})])):C("",!0),!r.loading&&r.isEditMode?(g(),v("div",xe,[s(b,{border:"",class:"mb-4",elevation:"1"},{default:a(()=>[s(V,{class:"d-flex align-center bg-primary-lighten-5 pa-4"},{default:a(()=>[s(p,{class:"mr-2"},{default:a(()=>[...e[37]||(e[37]=[m(" mdi-information ",-1)])]),_:1}),e[38]||(e[38]=c("span",{class:"font-weight-bold"},"基本信息",-1))]),_:1}),s(w,{class:"pa-6"},{default:a(()=>[s(I,null,{default:a(()=>[s(T,{cols:"12",md:"6"},{default:a(()=>[s(N,{modelValue:r.localConfig.examName,"onUpdate:modelValue":e[4]||(e[4]=o=>r.localConfig.examName=o),rules:[o=>!!o||"考试名称不能为空",o=>o&&o.trim().length>0||"考试名称不能为空白字符",o=>!o||o.length<=100||"考试名称不能超过100个字符"],clearable:"",density:"comfortable",label:"考试名称",placeholder:"如:2025年高考模拟考试","prepend-inner-icon":"mdi-calendar-text",required:"",variant:"outlined"},null,8,["modelValue","rules"])]),_:1}),s(T,{cols:"12",md:"6"},{default:a(()=>[s(N,{modelValue:r.localConfig.room,"onUpdate:modelValue":e[5]||(e[5]=o=>r.localConfig.room=o),clearable:"",density:"comfortable",label:"考场号(仅 ExamSchedule-Management 支持此配置)",placeholder:"如:一号考场","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),s(I,null,{default:a(()=>[s(T,{cols:"12"},{default:a(()=>[c("span",Ve,[s(p,{size:"small",class:"mr-1"},{default:a(()=>[...e[39]||(e[39]=[m("mdi-message-text",-1)])]),_:1}),e[40]||(e[40]=m(" 考试提示 ",-1))]),s(ae,{modelValue:r.localConfig.message,"onUpdate:modelValue":e[6]||(e[6]=o=>r.localConfig.message=o),rules:[o=>!!o||"考试提示不能为空",o=>o&&o.trim().length>0||"考试提示不能为空白字符"],clearable:"",density:"comfortable",label:"输入考试相关的提示信息...","no-resize":"",placeholder:"例如:请保持卷面整洁,诚信应考。在听到终考铃时立刻停止作答。",rows:"3",variant:"outlined"},null,8,["modelValue","rules"]),!r.localConfig.message||r.localConfig.message.trim()===""?(g(),v("div",ke,[s(te,{class:"d-flex gap-2",column:""},{default:a(()=>[(g(!0),v(E,null,M(r.defaultExamTips,(o,u)=>(g(),y(z,{key:u,class:"cursor-pointer",color:"primary",size:"small",variant:"outlined",onClick:d=>n.selectDefaultTip(o)},{default:a(()=>[s(p,{size:"small",start:""},{default:a(()=>[...e[41]||(e[41]=[m(" mdi-plus ",-1)])]),_:1}),m(" "+D(o.substring(0,20))+"... ",1)]),_:2},1032,["onClick"]))),128))]),_:1}),c("div",Ie,[s(p,{class:"mr-1",size:"x-small"},{default:a(()=>[...e[42]||(e[42]=[m(" mdi-lightbulb-outline ",-1)])]),_:1}),e[43]||(e[43]=m(" 点击上方选项快速添加常用考试提示 ",-1))])])):C("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),s(b,{border:"",class:"mb-4",elevation:"1"},{default:a(()=>[s(V,{class:"d-flex align-center bg-success-lighten-5 pa-4"},{default:a(()=>[s(p,{class:"mr-2"},{default:a(()=>[...e[44]||(e[44]=[m(" mdi-format-list-bulleted ",-1)])]),_:1}),e[47]||(e[47]=c("span",{class:"font-weight-bold"},"考试科目安排",-1)),s(k),c("div",Ne,[s(se,{modelValue:r.enableCustomAlertTime,"onUpdate:modelValue":e[7]||(e[7]=o=>r.enableCustomAlertTime=o),color:"primary",density:"compact","hide-details":"",onChange:n.toggleAlertTimeMode},{label:a(()=>[...e[45]||(e[45]=[c("span",{class:"text-body-2"},"自定义提醒时间",-1)])]),_:1},8,["modelValue","onChange"])]),s(h,{color:"success","prepend-icon":"mdi-plus",size:"small",variant:"elevated",onClick:n.addExamInfo},{default:a(()=>[...e[46]||(e[46]=[m(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),s(w,{class:"pa-0"},{default:a(()=>[r.localConfig.examInfos&&r.localConfig.examInfos.length>0?(g(),y(R,{key:0,class:"py-0"},{default:a(()=>[(g(!0),v(E,null,M(r.localConfig.examInfos,(o,u)=>(g(),y(O,{key:u,class:"border-b pa-4 hover-highlight"},{default:a(()=>[c("div",Se,[c("div",Ee,[s(z,{color:u%2===0?"primary":"secondary",size:"small",variant:"tonal",class:"mr-3"},{default:a(()=>[s(p,{start:"",size:"small"},{default:a(()=>[m(" mdi-numeric-"+D(u+1)+"-circle ",1)]),_:2},1024),m(" 第 "+D(u+1)+" 科目 ",1)]),_:2},1032,["color"]),s(k),c("div",Me,[u>0?(g(),y(h,{key:0,color:"primary",icon:"mdi-arrow-up",size:"x-small",variant:"text",onClick:d=>n.moveExamInfo(u,-1)},{default:a(()=>[s(_,{activator:"parent",location:"bottom"},{default:a(()=>[...e[48]||(e[48]=[m(" 上移 ",-1)])]),_:1})]),_:1},8,["onClick"])):C("",!0),un.moveExamInfo(u,1)},{default:a(()=>[s(_,{activator:"parent",location:"bottom"},{default:a(()=>[...e[49]||(e[49]=[m(" 下移 ",-1)])]),_:1})]),_:1},8,["onClick"])):C("",!0),s(h,{color:"error",icon:"mdi-delete",size:"x-small",variant:"text",onClick:d=>n.removeExamInfo(u)},{default:a(()=>[s(_,{activator:"parent",location:"bottom"},{default:a(()=>[...e[50]||(e[50]=[m(" 删除 ",-1)])]),_:1})]),_:1},8,["onClick"])])]),s(I,{class:"align-start"},{default:a(()=>[s(T,{cols:"12",md:"4"},{default:a(()=>[s(re,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,items:r.availableSubjects,rules:[d=>!!d||"科目名称不能为空",d=>d&&d.trim().length>0||"科目名称不能为空白字符"],clearable:"",density:"comfortable","item-title":"name",label:"科目名称","no-data-text":"没有可用科目,请输入自定义名称","prepend-inner-icon":"mdi-book",variant:"outlined"},{"prepend-item":a(()=>[r.customSubjectInput?(g(),y(O,{key:0,title:"自定义:"},{append:a(()=>[c("span",_e,D(r.customSubjectInput),1)]),_:1})):C("",!0),r.customSubjectInput?(g(),y(W,{key:1})):C("",!0)]),_:1},8,["modelValue","onUpdate:modelValue","items","rules"])]),_:2},1024),s(T,{cols:"12",md:"3"},{default:a(()=>[s(B,{modelValue:o.startDateMenu,"onUpdate:modelValue":d=>o.startDateMenu=d,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:a(({props:d})=>[s(N,J({modelValue:o.startFormatted,"onUpdate:modelValue":f=>o.startFormatted=f,rules:[f=>!!f||"开始时间不能为空",f=>n.validateTimeFormat(f,"开始时间"),()=>n.validateNoTimeOverlap(o,u)],density:"comfortable",label:"开始时间",placeholder:"2025/01/01 09:00","prepend-inner-icon":"mdi-clock-start"},{ref_for:!0},d,{variant:"outlined",onBlur:f=>n.updateStartDateTimeFromInput(u)}),{append:a(()=>[s(p,null,{default:a(()=>[...e[51]||(e[51]=[m("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:a(()=>[s(b,{"min-width":"500"},{default:a(()=>[s(V,{class:"text-center py-3 bg-primary-lighten-5"},{default:a(()=>[s(p,{class:"mr-2",color:"primary"},{default:a(()=>[...e[52]||(e[52]=[m(" mdi-clock-start ",-1)])]),_:1}),e[53]||(e[53]=m(" 选择开始时间 ",-1))]),_:1}),s(w,{class:"pa-0"},{default:a(()=>[s(I,{"no-gutters":""},{default:a(()=>[s(T,{class:"border-e",cols:"6"},{default:a(()=>[s(P,{modelValue:o.startDate,"onUpdate:modelValue":[d=>o.startDate=d,d=>n.updateStartDateTime(u)],color:"primary",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),s(T,{cols:"6"},{default:a(()=>[s(H,{modelValue:o.startTime,"onUpdate:modelValue":[d=>o.startTime=d,d=>n.updateStartDateTime(u)],color:"primary",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),s(L,null,{default:a(()=>[s(k),s(h,{color:"grey",variant:"text",onClick:d=>o.startDateMenu=!1},{default:a(()=>[...e[54]||(e[54]=[m(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),s(T,{cols:"12",md:"3"},{default:a(()=>[s(B,{modelValue:o.endDateMenu,"onUpdate:modelValue":d=>o.endDateMenu=d,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:a(({props:d})=>[s(N,J({modelValue:o.endFormatted,"onUpdate:modelValue":f=>o.endFormatted=f,rules:[f=>!!f||"结束时间不能为空",f=>n.validateTimeFormat(f,"结束时间"),()=>n.validateEndAfterStart(o),()=>n.validateNoTimeOverlap(o,u)],density:"comfortable",label:"结束时间",placeholder:"2025/01/01 11:00","prepend-inner-icon":"mdi-clock-end"},{ref_for:!0},d,{variant:"outlined",onBlur:f=>n.updateEndDateTimeFromInput(u)}),{append:a(()=>[s(p,null,{default:a(()=>[...e[55]||(e[55]=[m("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:a(()=>[s(b,{"min-width":"500"},{default:a(()=>[s(V,{class:"text-center py-3 bg-error-lighten-5"},{default:a(()=>[s(p,{class:"mr-2",color:"error"},{default:a(()=>[...e[56]||(e[56]=[m(" mdi-clock-end ",-1)])]),_:1}),e[57]||(e[57]=m(" 选择结束时间 ",-1))]),_:1}),s(w,{class:"pa-0"},{default:a(()=>[s(I,{"no-gutters":""},{default:a(()=>[s(T,{class:"border-e",cols:"6"},{default:a(()=>[s(P,{modelValue:o.endDate,"onUpdate:modelValue":[d=>o.endDate=d,d=>n.updateEndDateTime(u)],color:"error",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),s(T,{cols:"6"},{default:a(()=>[s(H,{modelValue:o.endTime,"onUpdate:modelValue":[d=>o.endTime=d,d=>n.updateEndDateTime(u)],color:"error",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),s(L,null,{default:a(()=>[s(k),s(h,{color:"grey",variant:"text",onClick:d=>o.endDateMenu=!1},{default:a(()=>[...e[58]||(e[58]=[m(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),s(T,{cols:"12",md:"2"},{default:a(()=>[s(N,{modelValue:o.durationMinutes,"onUpdate:modelValue":d=>o.durationMinutes=d,rules:[d=>!!d||"时长不能为空",d=>!isNaN(d)||"时长必须是数字",d=>parseInt(d)>0||"时长必须大于0",d=>parseInt(d)<=1440||"时长不能超过1440分钟(24小时)"],type:"number",min:"1",max:"1440",density:"comfortable",label:"时长(分钟)",placeholder:"例如:120","prepend-inner-icon":"mdi-timer",variant:"outlined",hint:n.durationHint(o),"persistent-hint":"",onBlur:d=>n.updateDurationFromInput(u)},null,8,["modelValue","onUpdate:modelValue","rules","hint","onBlur"])]),_:2},1024),r.enableCustomAlertTime?(g(),y(T,{key:0,cols:"12",md:"2"},{default:a(()=>[s(N,{modelValue:o.alertTime,"onUpdate:modelValue":d=>o.alertTime=d,rules:[d=>!!d||"提醒时间不能为空",d=>!isNaN(d)||"提醒时间必须是数字",d=>parseInt(d)>=0||"提醒时间不能为负数",d=>parseInt(d)<=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)):C("",!0)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(g(),v("div",Ue,[s(p,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:a(()=>[...e[59]||(e[59]=[m(" mdi-calendar-blank ",-1)])]),_:1}),e[61]||(e[61]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"}," 暂无考试科目安排 ",-1)),e[62]||(e[62]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置 ',-1)),s(h,{color:"success","prepend-icon":"mdi-plus",size:"large",variant:"elevated",onClick:n.addExamInfo},{default:a(()=>[...e[60]||(e[60]=[m(" 立即添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):C("",!0),s($,{modelValue:r.deleteDialog,"onUpdate:modelValue":e[9]||(e[9]=o=>r.deleteDialog=o),"max-width":"400"},{default:a(()=>[s(b,null,{default:a(()=>[s(V,{class:"d-flex align-center"},{default:a(()=>[s(p,{class:"mr-2",color:"error"},{default:a(()=>[...e[63]||(e[63]=[m(" mdi-delete-alert ",-1)])]),_:1}),e[64]||(e[64]=m(" 确认删除配置 ",-1))]),_:1}),s(w,null,{default:a(()=>[e[65]||(e[65]=m(" 确定要删除配置 ",-1)),c("strong",null,D(r.localConfig.examName||`配置 ${i.configId}`),1),e[66]||(e[66]=m(" 吗? ",-1)),e[67]||(e[67]=c("br",null,null,-1)),e[68]||(e[68]=c("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),s(L,null,{default:a(()=>[s(k),s(h,{color:"grey",variant:"text",onClick:e[8]||(e[8]=o=>r.deleteDialog=!1)},{default:a(()=>[...e[69]||(e[69]=[m(" 取消 ",-1)])]),_:1}),s(h,{loading:r.deleting,color:"error",variant:"outlined",onClick:n.deleteConfig},{default:a(()=>[...e[70]||(e[70]=[m(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const st=G(le,[["render",Fe],["__scopeId","data-v-05515a40"]]);export{st as default}; diff --git a/assets/ExamScheduleCard-Dhb4jBjQ.js b/assets/ExamScheduleCard-wt_WZTJg.js similarity index 78% rename from assets/ExamScheduleCard-Dhb4jBjQ.js rename to assets/ExamScheduleCard-wt_WZTJg.js index b3e2dc6..07dbcdd 100644 --- a/assets/ExamScheduleCard-Dhb4jBjQ.js +++ b/assets/ExamScheduleCard-wt_WZTJg.js @@ -1 +1 @@ -import{u as y}from"./index-Bz7Y6ZPJ.js";import{X as l,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,a7 as b,a8 as k}from"./vendor-vue-BiQC5iF7.js";import{_ as v,c as I,f as c,g as w,h as C,d as T,V as E,p as N,q as z,r as B,t as D,o as L,e as j}from"./index-D042plwv.js";import{V as A}from"./VAlert-ZP8s_5ha.js";import"./dataProvider-CBH3Lw3D.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./VChip-nQelUOZI.js";import"./vendor-vuetify-DpmmaPkh.js";import"./VTabs-5YWz7myv.js";import"./VTable-DH4Drwun.js";import"./VTooltip-DMSltD5A.js";import"./VTextField-BoJUR4Xs.js";import"./soundList-D9U-Grcp.js";import"./VSwitch-CEojN9Vi.js";import"./VMenu-Ps4XkZIl.js";import"./VContainer-MApP1Vz1.js";import"./socketClient-D9GaxO-Q.js";import"./vendor-socket-dm1FmSOd.js";import"./deviceEvents-W5dhgmtc.js";import"./VAppBarTitle-D2mhaxek.js";import"./VRow-CH6EAfU_.js";const q={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"),p=t.getDate().toString().padStart(2,"0"),x=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return`${u}-${p} ${x}:${s}`}catch{return m}}}},F={class:"text-truncate"},M={key:0,class:"d-flex justify-center align-center fill-height",style:{"min-height":"200px"}},$={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,p,x,s){return l(),f(j,{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 o;return[a(c,{class:"mr-2"},{default:e(()=>[...t[1]||(t[1]=[r(" mdi-calendar-clock ",-1)])]),_:1}),n("span",F,i(((o=s.exam)==null?void 0:o.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?(l(),d("div",M,[a(E,{indeterminate:"",color:"primary"})])):s.exam?(l(),d(h,{key:1},[s.exam.message?(l(),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(N,{density:"comfortable",class:"pa-0 bg-transparent"},{default:e(()=>[(l(!0),d(h,null,S(s.exam.examInfos,(o,g)=>(l(),f(z,{key:g,class:"px-0 mb-3"},{prepend:e(()=>[a(L,{color:"primary",variant:"tonal",size:"large",class:"mr-3 font-weight-bold elevation-1"},{default:e(()=>[r(i(o.name.charAt(0)),1)]),_:2},1024)]),default:e(()=>[a(B,{class:"font-weight-bold text-h6 mb-1"},{default:e(()=>[r(i(o.name),1)]),_:2},1024),a(D,{class:"text-body-1"},{default:e(()=>[n("div",$,[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(o.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(o.end)),1)])]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):(l(),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 pt=v(q,[["render",Y],["__scopeId","data-v-93870135"]]);export{pt as default}; +import{u as y}from"./index-DkQ_Bflb.js";import{X as l,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,a7 as b,a8 as k}from"./vendor-vue-Hxtt57UU.js";import{_ as v,c as I,f as c,g as w,h as C,d as T,V as E,p as N,q as z,r as B,t as D,o as L,e as j}from"./index-BvGH7GyK.js";import{V as A}from"./VAlert-DdY_LS-W.js";import"./dataProvider-oxZzGARG.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";import"./VChip-CyVmT8se.js";import"./vendor-vuetify-KiFW-YAv.js";import"./VTabs-DTqS4Kso.js";import"./VTable-C8JDgtcy.js";import"./VTooltip-CvIsrMQ_.js";import"./VTextField-jDykTfh9.js";import"./soundList-D9U-Grcp.js";import"./VSwitch-DEARo61Y.js";import"./VMenu-CEn1TBeC.js";import"./VContainer-Cz0t7N-s.js";import"./socketClient-B3vfwKNR.js";import"./vendor-socket-SYmKJpIj.js";import"./deviceEvents-DDMVNIIy.js";import"./VAppBarTitle-CA6uS5-F.js";import"./VRow-CFI96Yew.js";const q={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"),p=t.getDate().toString().padStart(2,"0"),x=t.getHours().toString().padStart(2,"0"),s=t.getMinutes().toString().padStart(2,"0");return`${u}-${p} ${x}:${s}`}catch{return m}}}},F={class:"text-truncate"},M={key:0,class:"d-flex justify-center align-center fill-height",style:{"min-height":"200px"}},$={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,p,x,s){return l(),f(j,{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 o;return[a(c,{class:"mr-2"},{default:e(()=>[...t[1]||(t[1]=[r(" mdi-calendar-clock ",-1)])]),_:1}),n("span",F,i(((o=s.exam)==null?void 0:o.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?(l(),d("div",M,[a(E,{indeterminate:"",color:"primary"})])):s.exam?(l(),d(h,{key:1},[s.exam.message?(l(),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(N,{density:"comfortable",class:"pa-0 bg-transparent"},{default:e(()=>[(l(!0),d(h,null,S(s.exam.examInfos,(o,g)=>(l(),f(z,{key:g,class:"px-0 mb-3"},{prepend:e(()=>[a(L,{color:"primary",variant:"tonal",size:"large",class:"mr-3 font-weight-bold elevation-1"},{default:e(()=>[r(i(o.name.charAt(0)),1)]),_:2},1024)]),default:e(()=>[a(B,{class:"font-weight-bold text-h6 mb-1"},{default:e(()=>[r(i(o.name),1)]),_:2},1024),a(D,{class:"text-body-1"},{default:e(()=>[n("div",$,[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(o.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(o.end)),1)])]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):(l(),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 pt=v(q,[["render",Y],["__scopeId","data-v-93870135"]]);export{pt as default}; diff --git a/assets/FloatingToolbar-DRMSCOEt.js b/assets/FloatingToolbar-BvexJNZx.js similarity index 88% rename from assets/FloatingToolbar-DRMSCOEt.js rename to assets/FloatingToolbar-BvexJNZx.js index 3d41fe8..567f53d 100644 --- a/assets/FloatingToolbar-DRMSCOEt.js +++ b/assets/FloatingToolbar-BvexJNZx.js @@ -1 +1 @@ -import{_ as v,e as m,y as b,h as n,ao as r,v as y,aC as g}from"./index-D042plwv.js";import{V as k}from"./VMenu-Ps4XkZIl.js";import{V as T}from"./VDatePicker-DBOVlJXM.js";import{X as s,_ as V,j as t,Z as o,n as x,R as d,m as C,Y as u,$ as c,a1 as $}from"./vendor-vue-BiQC5iF7.js";import"./vendor-vuetify-DpmmaPkh.js";import"./VTooltip-DMSltD5A.js";import"./VPicker-DGiUlCzb.js";import"./VSheet-BWNNvcYw.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(),V("div",D,[t(y,null,{default:o(()=>[t(m,{class:x([{"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(T,{"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 U=v(B,[["render",z],["__scopeId","data-v-ecf1022d"]]);export{U as default}; +import{_ as v,e as m,y as b,h as n,ao as r,v as y,aC as g}from"./index-BvGH7GyK.js";import{V as k}from"./VMenu-CEn1TBeC.js";import{V as T}from"./VDatePicker-B6PZcrmX.js";import{X as s,_ as V,j as t,Z as o,n as x,R as d,m as C,Y as u,$ as c,a1 as $}from"./vendor-vue-Hxtt57UU.js";import"./vendor-vuetify-KiFW-YAv.js";import"./VTooltip-CvIsrMQ_.js";import"./VPicker-DssJ0SqJ.js";import"./VSheet-PSmzyJOR.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(),V("div",D,[t(y,null,{default:o(()=>[t(m,{class:x([{"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(T,{"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 U=v(B,[["render",z],["__scopeId","data-v-ecf1022d"]]);export{U as default}; diff --git a/assets/HomeworkEditDialog-pCdwgzwK.js b/assets/HomeworkEditDialog-Bp1-Yp2h.js similarity index 95% rename from assets/HomeworkEditDialog-pCdwgzwK.js rename to assets/HomeworkEditDialog-Bp1-Yp2h.js index 01d5a69..d26c823 100644 --- a/assets/HomeworkEditDialog-pCdwgzwK.js +++ b/assets/HomeworkEditDialog-Bp1-Yp2h.js @@ -1,4 +1,4 @@ -import{d as L}from"./dataProvider-CBH3Lw3D.js";import{_ as V,e as w,c as D,g as B,h as C,E as T,d as P,k as R,n as _}from"./index-D042plwv.js";import{V as j}from"./VTextarea-CnWToSV7.js";import{V as x}from"./VChip-nQelUOZI.js";import{V as E}from"./VAlert-ZP8s_5ha.js";import{a0 as q}from"./vendor-vuetify-DpmmaPkh.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-BiQC5iF7.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./VTextField-BoJUR4Xs.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(` +import{d as L}from"./dataProvider-oxZzGARG.js";import{_ as V,e as w,c as D,g as B,h as C,E as T,d as P,k as R,n as _}from"./index-BvGH7GyK.js";import{V as j}from"./VTextarea-CCvrj_Hr.js";import{V as x}from"./VChip-CyVmT8se.js";import{V as E}from"./VAlert-DdY_LS-W.js";import{a0 as q}from"./vendor-vuetify-KiFW-YAv.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-Hxtt57UU.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";import"./VTextField-jDykTfh9.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()+` diff --git a/assets/InitServiceChooser-XLfIQnye.js b/assets/InitServiceChooser-BOzXYAzm.js similarity index 97% rename from assets/InitServiceChooser-XLfIQnye.js rename to assets/InitServiceChooser-BOzXYAzm.js index 46b507c..4d3db0b 100644 --- a/assets/InitServiceChooser-XLfIQnye.js +++ b/assets/InitServiceChooser-BOzXYAzm.js @@ -1 +1 @@ -import{_ as ie,n as A,s as L,d as Q,f as k,e as y,l as P,h as g,g as ee,c as be,j as ue,o as xe,W as M,k as Y}from"./index-D042plwv.js";import{a as q}from"./dataProvider-CBH3Lw3D.js";import{V as ne}from"./VTextField-BoJUR4Xs.js";import{V as re}from"./VAlert-ZP8s_5ha.js";import{o as ke,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 j,u as G,_ as F,F as we,a2 as ye,e as N,D as Ce}from"./vendor-vue-BiQC5iF7.js";import{V as Ve}from"./VTextarea-CnWToSV7.js";import{V as ve}from"./VChip-nQelUOZI.js";import{V as $e,a as me,b as ce,c as pe}from"./VExpansionPanels-BpKtUPdA.js";import{V as ze,a as fe}from"./VRow-CH6EAfU_.js";import{v as Se}from"./vendor-utils-2lvrqI0-.js";import"./vendor-vuetify-DpmmaPkh.js";import"./serverRotation-CbFrj566.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("");ke(()=>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;L("server.kvToken",E.token),(u=E.device)!=null&&u.uuid&&L("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(Q,{class:"pa-8"},{default:s(()=>[t("div",De,[l(k,{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(k,{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(g,{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(g,{disabled:!c.value.namespace||n.value,loading:n.value,class:"px-8",color:"primary",size:"x-large",variant:"elevated",onClick:p},{default:s(()=>[l(k,{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-4a0e5b44"]]),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}}),L("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(Q,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(g,{key:0,variant:"text",onClick:u[1]||(u[1]=i=>p.$emit("cancel"))},{default:s(()=>[...u[3]||(u[3]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(g,{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(Q,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(g,{key:0,variant:"text",onClick:d[1]||(d[1]=p=>n.$emit("cancel"))},{default:s(()=>[...d[4]||(d[4]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(g,{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"},je={class:"diagram-description mt-3"},Fe={class:"diagram-connector"},Le={class:"diagram-item"},Ge={class:"text-center"},Me={class:"diagram-description mt-3"},He={class:"step-content"},Je={class:"button-group"},We={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"},Qe={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,kt={__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 ge=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,L("server.kvToken",B.data.token),(S=B.data.device)!=null&&S.uuid&&L("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}},J=()=>{const S=p.value;if(!(S!=null&&S.uuid))return;const _=`${A("server.authDomain")}/?uuid=${encodeURIComponent(S.uuid)}&tolinktoaccount=true`;window.open(_,"_blank")},W=()=>{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(Q,{class:"pa-8"},{default:s(()=>[O(t("div",he,[t("div",Ee,[l(k,{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),[[j,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(k,{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",je,[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",Fe,[l(k,{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",Le,[l(y,{class:"pa-4",color:"green-darken-1",elevation:"8"},{default:s(()=>[t("div",Ge,[l(k,{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),[[j,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",Je,[l(g,{block:"",class:"mb-4 py-6",color:"primary",size:"x-large",variant:"elevated",onClick:e[0]||(e[0]=_=>w("cloud"))},{default:s(()=>[t("div",We,[l(k,{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(g,{block:"",class:"py-6",size:"x-large",variant:"outlined",onClick:e[1]||(e[1]=_=>w("local"))},{default:s(()=>[t("div",Xe,[l(k,{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),[[j,r.value===3]]),O(t("div",Ye,[t("div",Ze,[l(k,{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),[[j,r.value===4&&c.value==="local"]]),O(t("div",qe,[t("div",Qe,[l(k,{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(g,{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(k,{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(k,{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(k,{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),[[j,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(k,{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(k,{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(),F("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(),F("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),F(we,null,ye(i.value,(_,I)=>(f(),F("div",{key:I,class:"text-caption log-line"},T(_.time)+" · "+T(_.message),1))),128)),i.value.length?$("",!0):(f(),F("div",ft," 等待开始… "))])]),_:1})]),_:1})]),_:1})]),_:1}),t("div",bt,[n.value==="idle"?(f(),z(g,{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(g,{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(g,{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(g,{key:3,color:"success","prepend-icon":"mdi-check-circle",size:"large",variant:"elevated",onClick:W},{default:s(()=>[...e[51]||(e[51]=[a(" 应用令牌并关闭 ",-1)])]),_:1})):$("",!0),n.value==="success"?(f(),z(g,{key:4,color:"primary","prepend-icon":"mdi-open-in-new",size:"large",variant:"outlined",onClick:J},{default:s(()=>[...e[52]||(e[52]=[a(" 前往绑定账户 ",-1)])]),_:1})):$("",!0)])],512),[[j,r.value===5]])]),_:1}),l(P,{class:"pa-6 pt-0"},{default:s(()=>[r.value>1?(f(),z(g,{key:0,size:"large",variant:"text",onClick:R},{default:s(()=>[l(k,{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(k,{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(g,{key:2,color:"primary",size:"large",variant:"elevated",onClick:U},{default:s(()=>[...e[57]||(e[57]=[a(" 关闭 ",-1)])]),_:1})):$("",!0)]),_:1})]),_:1}))}},gt=ie(kt,[["__scopeId","data-v-20273397"]]),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};ke(()=>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`),J=A("device.uuid")||"00000000-0000-4000-8000-000000000000";let W=`${m}/authorize?app_id=${o}&mode=callback&callback_url=${oe}&remark=Classworks 自动授权 来自${window.location.hostname} ${new Date().toLocaleString()}`;J!=="00000000-0000-4000-8000-000000000000"&&(W+=`&uuid=${encodeURIComponent(J)}`),window.location.href=W},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=()=>{L("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(),F("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(k,{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(k,{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(k,{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(g,{"prepend-icon":"mdi-laptop",size:"small",variant:"tonal",onClick:le},{default:s(()=>[...o[18]||(o[18]=[a(" 使用本地模式 ",-1)])]),_:1}),l(g,{"prepend-icon":"mdi-flash",size:"small",variant:"tonal",onClick:U},{default:s(()=>[...o[19]||(o[19]=[a(" 授权码式授权(弃用) ",-1)])]),_:1}),l(g,{"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(g,{"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(gt,{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)}},Lt=ie(_t,[["__scopeId","data-v-cbfbc6db"]]);export{Lt as default}; +import{_ as ie,n as A,s as L,d as Q,f as k,e as y,l as P,h as g,g as ee,c as be,j as ue,o as xe,W as M,k as Y}from"./index-BvGH7GyK.js";import{a as q}from"./dataProvider-oxZzGARG.js";import{V as ne}from"./VTextField-jDykTfh9.js";import{V as re}from"./VAlert-DdY_LS-W.js";import{o as ke,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 j,u as G,_ as F,F as we,a2 as ye,e as N,D as Ce}from"./vendor-vue-Hxtt57UU.js";import{V as Ve}from"./VTextarea-CCvrj_Hr.js";import{V as ve}from"./VChip-CyVmT8se.js";import{V as $e,a as me,b as ce,c as pe}from"./VExpansionPanels-D75JoFxE.js";import{V as ze,a as fe}from"./VRow-CFI96Yew.js";import{v as Se}from"./vendor-utils-SR2uUhRI.js";import"./vendor-vuetify-KiFW-YAv.js";import"./serverRotation-CVerzUcJ.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("");ke(()=>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;L("server.kvToken",E.token),(u=E.device)!=null&&u.uuid&&L("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(Q,{class:"pa-8"},{default:s(()=>[t("div",De,[l(k,{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(k,{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(g,{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(g,{disabled:!c.value.namespace||n.value,loading:n.value,class:"px-8",color:"primary",size:"x-large",variant:"elevated",onClick:p},{default:s(()=>[l(k,{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-4a0e5b44"]]),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}}),L("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(Q,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(g,{key:0,variant:"text",onClick:u[1]||(u[1]=i=>p.$emit("cancel"))},{default:s(()=>[...u[3]||(u[3]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(g,{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(Q,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(g,{key:0,variant:"text",onClick:d[1]||(d[1]=p=>n.$emit("cancel"))},{default:s(()=>[...d[4]||(d[4]=[a(" 取消 ",-1)])]),_:1})):$("",!0),l(g,{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"},je={class:"diagram-description mt-3"},Fe={class:"diagram-connector"},Le={class:"diagram-item"},Ge={class:"text-center"},Me={class:"diagram-description mt-3"},He={class:"step-content"},Je={class:"button-group"},We={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"},Qe={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,kt={__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 ge=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,L("server.kvToken",B.data.token),(S=B.data.device)!=null&&S.uuid&&L("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}},J=()=>{const S=p.value;if(!(S!=null&&S.uuid))return;const _=`${A("server.authDomain")}/?uuid=${encodeURIComponent(S.uuid)}&tolinktoaccount=true`;window.open(_,"_blank")},W=()=>{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(Q,{class:"pa-8"},{default:s(()=>[O(t("div",he,[t("div",Ee,[l(k,{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),[[j,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(k,{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",je,[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",Fe,[l(k,{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",Le,[l(y,{class:"pa-4",color:"green-darken-1",elevation:"8"},{default:s(()=>[t("div",Ge,[l(k,{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),[[j,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",Je,[l(g,{block:"",class:"mb-4 py-6",color:"primary",size:"x-large",variant:"elevated",onClick:e[0]||(e[0]=_=>w("cloud"))},{default:s(()=>[t("div",We,[l(k,{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(g,{block:"",class:"py-6",size:"x-large",variant:"outlined",onClick:e[1]||(e[1]=_=>w("local"))},{default:s(()=>[t("div",Xe,[l(k,{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),[[j,r.value===3]]),O(t("div",Ye,[t("div",Ze,[l(k,{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),[[j,r.value===4&&c.value==="local"]]),O(t("div",qe,[t("div",Qe,[l(k,{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(g,{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(k,{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(k,{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(k,{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),[[j,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(k,{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(k,{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(),F("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(),F("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),F(we,null,ye(i.value,(_,I)=>(f(),F("div",{key:I,class:"text-caption log-line"},T(_.time)+" · "+T(_.message),1))),128)),i.value.length?$("",!0):(f(),F("div",ft," 等待开始… "))])]),_:1})]),_:1})]),_:1})]),_:1}),t("div",bt,[n.value==="idle"?(f(),z(g,{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(g,{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(g,{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(g,{key:3,color:"success","prepend-icon":"mdi-check-circle",size:"large",variant:"elevated",onClick:W},{default:s(()=>[...e[51]||(e[51]=[a(" 应用令牌并关闭 ",-1)])]),_:1})):$("",!0),n.value==="success"?(f(),z(g,{key:4,color:"primary","prepend-icon":"mdi-open-in-new",size:"large",variant:"outlined",onClick:J},{default:s(()=>[...e[52]||(e[52]=[a(" 前往绑定账户 ",-1)])]),_:1})):$("",!0)])],512),[[j,r.value===5]])]),_:1}),l(P,{class:"pa-6 pt-0"},{default:s(()=>[r.value>1?(f(),z(g,{key:0,size:"large",variant:"text",onClick:R},{default:s(()=>[l(k,{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(k,{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(g,{key:2,color:"primary",size:"large",variant:"elevated",onClick:U},{default:s(()=>[...e[57]||(e[57]=[a(" 关闭 ",-1)])]),_:1})):$("",!0)]),_:1})]),_:1}))}},gt=ie(kt,[["__scopeId","data-v-20273397"]]),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};ke(()=>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`),J=A("device.uuid")||"00000000-0000-4000-8000-000000000000";let W=`${m}/authorize?app_id=${o}&mode=callback&callback_url=${oe}&remark=Classworks 自动授权 来自${window.location.hostname} ${new Date().toLocaleString()}`;J!=="00000000-0000-4000-8000-000000000000"&&(W+=`&uuid=${encodeURIComponent(J)}`),window.location.href=W},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=()=>{L("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(),F("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(k,{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(k,{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(k,{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(g,{"prepend-icon":"mdi-laptop",size:"small",variant:"tonal",onClick:le},{default:s(()=>[...o[18]||(o[18]=[a(" 使用本地模式 ",-1)])]),_:1}),l(g,{"prepend-icon":"mdi-flash",size:"small",variant:"tonal",onClick:U},{default:s(()=>[...o[19]||(o[19]=[a(" 授权码式授权(弃用) ",-1)])]),_:1}),l(g,{"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(g,{"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(gt,{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)}},Lt=ie(_t,[["__scopeId","data-v-cbfbc6db"]]);export{Lt as default}; diff --git a/assets/MessageLog-BWQHaU0R.js b/assets/MessageLog-CK1yxPmJ.js similarity index 75% rename from assets/MessageLog-BWQHaU0R.js rename to assets/MessageLog-CK1yxPmJ.js index eb57725..0171083 100644 --- a/assets/MessageLog-BWQHaU0R.js +++ b/assets/MessageLog-CK1yxPmJ.js @@ -1 +1 @@ -import{ae as de,H as Q,N as me,ay as fe,u as ge,L as he,az as ye,C as we,ac as pe,af as be,$ as ke,m as Se,aA as Te,R as Ve,ag as Ee,a0 as Me,ah as Pe,_ as _e,aB as W,p as Be,q as ee,r as te,t as Ce,f as ae}from"./index-D042plwv.js";import{b as xe,c as Le}from"./VAppBarTitle-D2mhaxek.js";import{D as se,o as H,A as re,s as x,e as V,w as De,q as Ie,I as Re,k as _,j as E,m as ne,P as He,F as ie,t as F,B as Ne,b as q,f as Ye,X as R,Y as $,Z as T,a1 as O,_ as $e,a2 as Oe,S as X,$ as A}from"./vendor-vue-BiQC5iF7.js";import{s as ze,K as We,C as z,z as Fe,f as Xe,A as Ae,h as qe,a0 as je,n as Ze,ay as Ue,j as Ke,u as Ge,aF as Je,p as Qe,m as et,a5 as tt,az as at,at as nt,k as ot}from"./vendor-vuetify-DpmmaPkh.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(()=>{H(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 p;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:C())-(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:C();return l?Fe(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:C(),g=s.value&&(a.value==="left"?ldocument.documentElement.clientWidth-t.value:a.value==="top"?rdocument.documentElement.clientHeight-t.value:C());(f||g||s.value&&k.value)&&(p=[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-p[0]),g=Math.abs(r-p[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]||C()):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))`:C(),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,B,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",((B=I.value)==null?void 0:B.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 C(){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=Xe()({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}=qe(e),{borderClasses:h}=de(e),{backgroundColorClasses:S,backgroundColorStyles:w}=Q(()=>e.color),{elevationClasses:v}=be(e),{displayClasses:d,mobile:c}=je(e),{roundedClasses:m}=me(e),y=fe(),p=Ze(e,"modelValue",null,b=>!!b),{ssrBootStyles:L}=ge(),{scopeId:D}=he(),M=q(),P=x(!1),{runOpenDelay:N,runCloseDelay:I}=ke(e,b=>{P.value=b}),o=V(()=>e.rail&&e.expandOnHover&&P.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),l=V(()=>Je(e.location,u.value)),r=F(()=>e.persistent),i=V(()=>!e.permanent&&(c.value||e.temporary)),f=V(()=>e.sticky&&!i.value&&l.value!=="bottom");ye(e,{isActive:p,localTop:i,contentEl:M}),z(()=>e.expandOnHover&&e.rail!=null,()=>{H(P,b=>k("update:rail",!b))}),z(()=>!e.disableResizeWatcher,()=>{H(i,b=>!e.permanent&&Re(()=>p.value=!b))}),z(()=>!e.disableRouteWatcher&&!!y,()=>{H(y.currentRoute,()=>i.value&&(p.value=!1))}),H(()=>e.permanent,b=>{b&&(p.value=!0)}),e.modelValue==null&&!i.value&&(p.value=e.permanent||!c.value);const{isDragging:g,dragProgress:B}=ct({el:M,isActive:p,isTemporary:i,width:o,touchless:F(()=>e.touchless),position:l}),Y=V(()=>{const b=i.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):o.value;return g.value?b*B.value:b}),{layoutItemStyles:j,layoutItemScrimStyles:ue}=Ue({id:e.name,order:V(()=>parseInt(e.order,10)),position:l,layoutSize:Y,elementSize:o,active:Ne(p),disableTransitions:F(()=>g.value),absolute:V(()=>e.absolute||f.value&&typeof Z.value!="string")}),{isStuck:Z,stickyStyles:ce}=lt({rootEl:M,isSticky:f,layoutItemStyles:j}),U=Q(()=>typeof e.scrim=="string"?e.scrim:null),ve=V(()=>({...g.value?{opacity:B.value*.2,transition:"none"}:void 0,...ue.value}));return Ke({VList:{bgColor:"transparent"}}),Ge(()=>{const b=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":p.value,"v-navigation-drawer--sticky":f.value},a.value,S.value,h.value,d.value,v.value,m.value,e.class],style:[w.value,j.value,L.value,ce.value,e.style],inert:!p.value},D,s),{default:()=>{var K,G,J;return[b&&_("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?E(pe,{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"},[(K=t.prepend)==null?void 0:K.call(t)]),_("div",{class:"v-navigation-drawer__content"},[(G=t.default)==null?void 0:G.call(t)]),t.append&&_("div",{class:"v-navigation-drawer__append"},[(J=t.append)==null?void 0:J.call(t)])]}}),E(He,{name:"fade-transition"},{default:()=>[i.value&&(g.value||p.value)&&!!e.scrim&&_("div",ne({class:["v-navigation-drawer__scrim",U.backgroundColorClasses.value],style:[ve.value,U.backgroundColorStyles.value],onClick:()=>{r.value||(p.value=!1)}},D),null)]})])}),{isStuck:Z}}}),ft=Ye({name:"MessageLog",setup(){const e=q(!1),n=q([]),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?(R(),$(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]=[O("消息记录",-1)])]),_:1})]),_:1}),E(Be,null,{default:T(()=>[(R(!0),$e(ie,null,Oe(e.messages,a=>(R(),$(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(()=>[O(X(a.title),1)]),_:2},1024),a.content?(R(),$(Ce,{key:0},{default:T(()=>[O(X(a.content),1)]),_:2},1024)):A("",!0),_("span",gt,X(new Date(a.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),e.messages.length?A("",!0):(R(),$(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]=[O(" 暂无消息 ",-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 _}; +import{ae as de,H as Q,N as me,ay as fe,u as ge,L as he,az as ye,C as we,ac as pe,af as be,$ as ke,m as Se,aA as Te,R as Ve,ag as Ee,a0 as Me,ah as Pe,_ as _e,aB as W,p as Be,q as ee,r as te,t as Ce,f as ae}from"./index-BvGH7GyK.js";import{b as xe,c as Le}from"./VAppBarTitle-CA6uS5-F.js";import{D as re,o as H,A as se,s as x,e as V,w as De,q as Ie,I as Re,k as _,j as E,m as ne,P as He,F as ie,t as F,B as Ne,b as q,f as Ye,X as R,Y as $,Z as T,a1 as O,_ as $e,a2 as Oe,S as X,$ as A}from"./vendor-vue-Hxtt57UU.js";import{a as ze,K as We,C as z,z as Fe,j as Xe,A as Ae,k as qe,a0 as je,q as Ze,ay as Ue,l as Ke,u as Ge,aF as Je,p as Qe,m as et,a5 as tt,az as at,at as nt,n as ot}from"./vendor-vuetify-KiFW-YAv.js";function lt(e){let{rootEl:n,isSticky:r,layoutItemStyles:k}=e;const t=x(!1),u=x(0),a=V(()=>{const w=typeof t.value=="boolean"?"top":t.value;return[r.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[w]:ze(u.value)}:{top:k.value.top}]});re(()=>{H(r,w=>{w?window.addEventListener("scroll",S,{passive:!0}):window.removeEventListener("scroll",S)},{immediate:!0})}),se(()=>{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;r--){if(e[r].t===e[r-1].t)continue;const k=oe(n),t=(e[r].d-e[r-1].d)/(e[r].t-e[r-1].t);n+=(t-k)*Math.abs(t),r===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(st))).push([t.timeStamp,u])})}function r(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]>rt)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:r,getVelocity:k}}function ut(){throw new Error}function ct(e){let{el:n,isActive:r,isTemporary:k,width:t,touchless:u,position:a}=e;re(()=>{window.addEventListener("touchstart",M,{passive:!0}),window.addEventListener("touchmove",P,{passive:!1}),window.addEventListener("touchend",N,{passive:!0})}),se(()=>{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 p;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:C())-(l?t.value:0)}function D(o){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const s=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:C();return l?Fe(s):s}function M(o){if(u.value)return;const l=o.changedTouches[0].clientX,s=o.changedTouches[0].clientY,i=25,f=a.value==="left"?ldocument.documentElement.clientWidth-i:a.value==="top"?sdocument.documentElement.clientHeight-i:C(),g=r.value&&(a.value==="left"?ldocument.documentElement.clientWidth-t.value:a.value==="top"?sdocument.documentElement.clientHeight-t.value:C());(f||g||r.value&&k.value)&&(p=[l,s],y.value=L(h.value?l:s,r.value),m.value=D(h.value?l:s),d=y.value>-20&&y.value<80,w(o),S(o))}function P(o){const l=o.changedTouches[0].clientX,s=o.changedTouches[0].clientY;if(d){if(!o.cancelable){d=!1;return}const f=Math.abs(l-p[0]),g=Math.abs(s-p[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:s,!1);m.value=Math.max(0,Math.min(1,i)),i>1?y.value=L(h.value?l:s,!0):i<0&&(y.value=L(h.value?l:s,!1))}function N(o){if(d=!1,!c.value)return;S(o),c.value=!1;const l=v(o.changedTouches[0].identifier),s=Math.abs(l.x),i=Math.abs(l.y);(h.value?s>i&&s>400:i>s&&i>3)?r.value=l.direction===({left:"right",right:"left",top:"down",bottom:"up"}[a.value]||C()):r.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))`:C(),transition:"none"}:void 0);return z(c,()=>{var s,i;const o=((s=n.value)==null?void 0:s.style.transform)??null,l=((i=n.value)==null?void 0:i.style.transition)??null;De(()=>{var f,g,B,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",((B=I.value)==null?void 0:B.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 C(){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=Xe()({name:"VNavigationDrawer",props:dt(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,n){let{attrs:r,emit:k,slots:t}=n;const{isRtl:u}=Ae(),{themeClasses:a}=qe(e),{borderClasses:h}=de(e),{backgroundColorClasses:S,backgroundColorStyles:w}=Q(()=>e.color),{elevationClasses:v}=be(e),{displayClasses:d,mobile:c}=je(e),{roundedClasses:m}=me(e),y=fe(),p=Ze(e,"modelValue",null,b=>!!b),{ssrBootStyles:L}=ge(),{scopeId:D}=he(),M=q(),P=x(!1),{runOpenDelay:N,runCloseDelay:I}=ke(e,b=>{P.value=b}),o=V(()=>e.rail&&e.expandOnHover&&P.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),l=V(()=>Je(e.location,u.value)),s=F(()=>e.persistent),i=V(()=>!e.permanent&&(c.value||e.temporary)),f=V(()=>e.sticky&&!i.value&&l.value!=="bottom");ye(e,{isActive:p,localTop:i,contentEl:M}),z(()=>e.expandOnHover&&e.rail!=null,()=>{H(P,b=>k("update:rail",!b))}),z(()=>!e.disableResizeWatcher,()=>{H(i,b=>!e.permanent&&Re(()=>p.value=!b))}),z(()=>!e.disableRouteWatcher&&!!y,()=>{H(y.currentRoute,()=>i.value&&(p.value=!1))}),H(()=>e.permanent,b=>{b&&(p.value=!0)}),e.modelValue==null&&!i.value&&(p.value=e.permanent||!c.value);const{isDragging:g,dragProgress:B}=ct({el:M,isActive:p,isTemporary:i,width:o,touchless:F(()=>e.touchless),position:l}),Y=V(()=>{const b=i.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):o.value;return g.value?b*B.value:b}),{layoutItemStyles:j,layoutItemScrimStyles:ue}=Ue({id:e.name,order:V(()=>parseInt(e.order,10)),position:l,layoutSize:Y,elementSize:o,active:Ne(p),disableTransitions:F(()=>g.value),absolute:V(()=>e.absolute||f.value&&typeof Z.value!="string")}),{isStuck:Z,stickyStyles:ce}=lt({rootEl:M,isSticky:f,layoutItemStyles:j}),U=Q(()=>typeof e.scrim=="string"?e.scrim:null),ve=V(()=>({...g.value?{opacity:B.value*.2,transition:"none"}:void 0,...ue.value}));return Ke({VList:{bgColor:"transparent"}}),Ge(()=>{const b=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":s.value,"v-navigation-drawer--active":p.value,"v-navigation-drawer--sticky":f.value},a.value,S.value,h.value,d.value,v.value,m.value,e.class],style:[w.value,j.value,L.value,ce.value,e.style],inert:!p.value},D,r),{default:()=>{var K,G,J;return[b&&_("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?E(pe,{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"},[(K=t.prepend)==null?void 0:K.call(t)]),_("div",{class:"v-navigation-drawer__content"},[(G=t.default)==null?void 0:G.call(t)]),t.append&&_("div",{class:"v-navigation-drawer__append"},[(J=t.append)==null?void 0:J.call(t)])]}}),E(He,{name:"fade-transition"},{default:()=>[i.value&&(g.value||p.value)&&!!e.scrim&&_("div",ne({class:["v-navigation-drawer__scrim",U.backgroundColorClasses.value],style:[ve.value,U.backgroundColorStyles.value],onClick:()=>{s.value||(p.value=!1)}},D),null)]})])}),{isStuck:Z}}}),ft=Ye({name:"MessageLog",setup(){const e=q(!1),n=q([]),r={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:r,colors:k,deleteMessage:t=>W.deleteMessage(t),clearMessages:()=>W.clearMessages()}}}),gt={class:"text-caption text-grey"};function ht(e,n,r,k,t,u){return e.drawer?(R(),$(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]=[O("消息记录",-1)])]),_:1})]),_:1}),E(Be,null,{default:T(()=>[(R(!0),$e(ie,null,Oe(e.messages,a=>(R(),$(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(()=>[O(X(a.title),1)]),_:2},1024),a.content?(R(),$(Ce,{key:0},{default:T(()=>[O(X(a.content),1)]),_:2},1024)):A("",!0),_("span",gt,X(new Date(a.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),e.messages.length?A("",!0):(R(),$(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]=[O(" 暂无消息 ",-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-DMTHYCSY.js b/assets/PwaInstallCard-idT4M8--.js similarity index 96% rename from assets/PwaInstallCard-DMTHYCSY.js rename to assets/PwaInstallCard-idT4M8--.js index 2604700..b27ba6d 100644 --- a/assets/PwaInstallCard-DMTHYCSY.js +++ b/assets/PwaInstallCard-idT4M8--.js @@ -1 +1 @@ -import{D as O,A as Q,X as f,Y as y,Z as e,k as _,j as t,a1 as l,_ as L,F as M,a2 as E,S as d,aa as ee,$ as te,b as C,e as q,r as A}from"./vendor-vue-BiQC5iF7.js";import{c as D,E as ae,d as B,p as R,q as T,r as W,t as U,h,o as j,f as F,l as G,k as se,e as H,g as ne,n as ie,s as oe,aG as le,aH as re}from"./index-D042plwv.js";import{V as de}from"./VChip-nQelUOZI.js";import"./vendor-vuetify-DpmmaPkh.js";const ue={class:"d-flex flex-no-wrap justify-space-between"},ce={class:"pe-4"},pe={class:"mb-3"},he={__name:"PwaInstallCard",setup(fe){const g=C(!1),o=C(!1),m=C(!1),r=A({title:"",message:"",links:[]}),X={pending:"待授权",granted:"已完成",denied:"已拒绝",unavailable:"不可用"},$={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")),Y={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 w;const c=async()=>{var v;if(ie("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 p=Notification.permission;n.notification.status=p==="granted"?"granted":p==="denied"?"denied":"pending"}if((v=navigator.storage)!=null&&v.persisted){const p=await navigator.storage.persisted();n.storage.status=p?"granted":"pending"}else n.storage.status="unavailable";const i=b.value.some(p=>p.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 le();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 re();n.storage.status=a?"granted":"denied",a||u("storage","未能启用持久化存储,可按说明检查浏览器或系统设置。")},Z=async()=>{if(!(!V.value||o.value)){o.value=!0;try{await x(),await P(),await N()}finally{o.value=!1,await c()}}},J=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 c()}}},u=(a,s="")=>{a==="pwa"?r.title="如何安装为应用":a==="notification"?r.title="如何开启通知":r.title="如何启用离线存储",r.message=s||"查看以下步骤获取更多说明。",r.links=Y[a]||[],m.value=!0},K=()=>{oe("pwa.hideInstallCard",!0),g.value=!1},S=()=>{n.pwa.status!=="granted"&&(n.pwa.status="pending"),c()},z=()=>{c()},I=()=>{n.pwa.status="granted",c()};return O(()=>{c(),window.addEventListener("pwa-prompt-ready",S),window.addEventListener("pwa-installed",I),w=window.matchMedia("(display-mode: standalone)"),w.addEventListener("change",z)}),Q(()=>{window.removeEventListener("pwa-prompt-ready",S),window.removeEventListener("pwa-installed",I),w&&w.removeEventListener("change",z)}),(a,s)=>g.value?(f(),y(H,{key:0,class:"mb-4",color:"surface-variant",variant:"tonal"},{default:e(()=>[_("div",ue,[_("div",ce,[t(D,{class:"text-h6"},{default:e(()=>[...s[2]||(s[2]=[l(" 安装应用与授权 ",-1)])]),_:1}),t(ae,{class:"pb-1"},{default:e(()=>[...s[3]||(s[3]=[l(" 手动点选下方项目请求安装和权限,也可以直接关闭 ",-1)])]),_:1}),t(B,{class:"pt-0 pb-1"},{default:e(()=>[t(R,{density:"comfortable",lines:"two"},{default:e(()=>[(f(!0),L(M,null,E(b.value,i=>(f(),y(T,{key:i.key,disabled:o.value,onClick:()=>J(i.key)},{prepend:e(()=>[t(j,{color:k[i.status],size:"32",variant:"tonal"},{default:e(()=>[t(F,{icon:$[i.status]},null,8,["icon"])]),_:2},1032,["color"])]),append:e(()=>[t(de,{color:k[i.status],size:"small",variant:"tonal",class:"me-2"},{default:e(()=>[l(d(X[i.status]),1)]),_:2},1032,["color"]),t(h,{variant:"text",icon:"mdi-information",size:"small",disabled:o.value,onClick:ee(()=>u(i.key),["stop"])},null,8,["disabled","onClick"])]),default:e(()=>[t(W,null,{default:e(()=>[l(d(i.label),1)]),_:2},1024),t(U,null,{default:e(()=>[l(d(i.description),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1}),t(G,null,{default:e(()=>[t(h,{class:"ms-2",variant:"outlined",size:"small",onClick:K},{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:Z},{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(F,{icon:"mdi-monitor-cellphone",size:"80"})]),_:1})]),t(se,{modelValue:m.value,"onUpdate:modelValue":s[1]||(s[1]=i=>m.value=i),"max-width":"520"},{default:e(()=>[t(H,null,{default:e(()=>[t(D,{class:"text-h6"},{default:e(()=>[l(d(r.title),1)]),_:1}),t(B,null,{default:e(()=>[_("p",pe,d(r.message),1),t(R,{density:"comfortable"},{default:e(()=>[(f(!0),L(M,null,E(r.links,(i,v)=>(f(),y(T,{key:v,href:i.href,target:"_blank",rel:"noopener"},{default:e(()=>[t(W,null,{default:e(()=>[l(d(i.text),1)]),_:2},1024),t(U,null,{default:e(()=>[l(d(i.desc),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1}),t(G,null,{default:e(()=>[t(ne),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})):te("",!0)}};export{he as default}; +import{D as O,A as Q,X as f,Y as y,Z as e,k as _,j as t,a1 as l,_ as L,F as M,a2 as E,S as d,aa as ee,$ as te,b as C,e as q,r as A}from"./vendor-vue-Hxtt57UU.js";import{c as D,E as ae,d as B,p as R,q as T,r as W,t as U,h,o as j,f as F,l as G,k as se,e as H,g as ne,n as ie,s as oe,aG as le,aH as re}from"./index-BvGH7GyK.js";import{V as de}from"./VChip-CyVmT8se.js";import"./vendor-vuetify-KiFW-YAv.js";const ue={class:"d-flex flex-no-wrap justify-space-between"},ce={class:"pe-4"},pe={class:"mb-3"},he={__name:"PwaInstallCard",setup(fe){const g=C(!1),o=C(!1),m=C(!1),r=A({title:"",message:"",links:[]}),X={pending:"待授权",granted:"已完成",denied:"已拒绝",unavailable:"不可用"},$={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")),Y={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 w;const c=async()=>{var v;if(ie("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 p=Notification.permission;n.notification.status=p==="granted"?"granted":p==="denied"?"denied":"pending"}if((v=navigator.storage)!=null&&v.persisted){const p=await navigator.storage.persisted();n.storage.status=p?"granted":"pending"}else n.storage.status="unavailable";const i=b.value.some(p=>p.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 le();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 re();n.storage.status=a?"granted":"denied",a||u("storage","未能启用持久化存储,可按说明检查浏览器或系统设置。")},Z=async()=>{if(!(!V.value||o.value)){o.value=!0;try{await x(),await P(),await N()}finally{o.value=!1,await c()}}},J=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 c()}}},u=(a,s="")=>{a==="pwa"?r.title="如何安装为应用":a==="notification"?r.title="如何开启通知":r.title="如何启用离线存储",r.message=s||"查看以下步骤获取更多说明。",r.links=Y[a]||[],m.value=!0},K=()=>{oe("pwa.hideInstallCard",!0),g.value=!1},S=()=>{n.pwa.status!=="granted"&&(n.pwa.status="pending"),c()},z=()=>{c()},I=()=>{n.pwa.status="granted",c()};return O(()=>{c(),window.addEventListener("pwa-prompt-ready",S),window.addEventListener("pwa-installed",I),w=window.matchMedia("(display-mode: standalone)"),w.addEventListener("change",z)}),Q(()=>{window.removeEventListener("pwa-prompt-ready",S),window.removeEventListener("pwa-installed",I),w&&w.removeEventListener("change",z)}),(a,s)=>g.value?(f(),y(H,{key:0,class:"mb-4",color:"surface-variant",variant:"tonal"},{default:e(()=>[_("div",ue,[_("div",ce,[t(D,{class:"text-h6"},{default:e(()=>[...s[2]||(s[2]=[l(" 安装应用与授权 ",-1)])]),_:1}),t(ae,{class:"pb-1"},{default:e(()=>[...s[3]||(s[3]=[l(" 手动点选下方项目请求安装和权限,也可以直接关闭 ",-1)])]),_:1}),t(B,{class:"pt-0 pb-1"},{default:e(()=>[t(R,{density:"comfortable",lines:"two"},{default:e(()=>[(f(!0),L(M,null,E(b.value,i=>(f(),y(T,{key:i.key,disabled:o.value,onClick:()=>J(i.key)},{prepend:e(()=>[t(j,{color:k[i.status],size:"32",variant:"tonal"},{default:e(()=>[t(F,{icon:$[i.status]},null,8,["icon"])]),_:2},1032,["color"])]),append:e(()=>[t(de,{color:k[i.status],size:"small",variant:"tonal",class:"me-2"},{default:e(()=>[l(d(X[i.status]),1)]),_:2},1032,["color"]),t(h,{variant:"text",icon:"mdi-information",size:"small",disabled:o.value,onClick:ee(()=>u(i.key),["stop"])},null,8,["disabled","onClick"])]),default:e(()=>[t(W,null,{default:e(()=>[l(d(i.label),1)]),_:2},1024),t(U,null,{default:e(()=>[l(d(i.description),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1}),t(G,null,{default:e(()=>[t(h,{class:"ms-2",variant:"outlined",size:"small",onClick:K},{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:Z},{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(F,{icon:"mdi-monitor-cellphone",size:"80"})]),_:1})]),t(se,{modelValue:m.value,"onUpdate:modelValue":s[1]||(s[1]=i=>m.value=i),"max-width":"520"},{default:e(()=>[t(H,null,{default:e(()=>[t(D,{class:"text-h6"},{default:e(()=>[l(d(r.title),1)]),_:1}),t(B,null,{default:e(()=>[_("p",pe,d(r.message),1),t(R,{density:"comfortable"},{default:e(()=>[(f(!0),L(M,null,E(r.links,(i,v)=>(f(),y(T,{key:v,href:i.href,target:"_blank",rel:"noopener"},{default:e(()=>[t(W,null,{default:e(()=>[l(d(i.text),1)]),_:2},1024),t(U,null,{default:e(()=>[l(d(i.desc),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1}),t(G,null,{default:e(()=>[t(ne),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})):te("",!0)}};export{he as default}; diff --git a/assets/RandomPicker-_q4YQ9mD.js b/assets/RandomPicker-D1hmh8Tq.js similarity index 97% rename from assets/RandomPicker-_q4YQ9mD.js rename to assets/RandomPicker-D1hmh8Tq.js index 08ab864..db40c60 100644 --- a/assets/RandomPicker-_q4YQ9mD.js +++ b/assets/RandomPicker-D1hmh8Tq.js @@ -1 +1 @@ -import{_ as V,e as C,c as A,f as P,g as _,h,d as v,F as M,k as T,n as u,s as S}from"./index-D042plwv.js";import{X as r,Y as g,Z as l,j as s,a1 as o,k as a,S as c,_ as m,$ as x,F as b,m as L,U as w,a2 as F,n as E}from"./vendor-vue-BiQC5iF7.js";import{V as N}from"./VTextField-BoJUR4Xs.js";import{a as I}from"./VTooltip-DMSltD5A.js";import{V as y}from"./VChip-nQelUOZI.js";import"./vendor-vuetify-DpmmaPkh.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:u("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:u,tempFilters:{excludeAbsent:u("randomPicker.excludeAbsent"),excludeLate:u("randomPicker.excludeLate"),excludeExcluded:u("randomPicker.excludeExcluded")},pickerMode:u("randomPicker.mode"),minNumber:u("randomPicker.minNumber"),maxNumber:u("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=u("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:u("randomPicker.excludeAbsent"),excludeLate:u("randomPicker.excludeLate"),excludeExcluded:u("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,u("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"},O={class:"mt-4 text-caption"},X={class:"pa-2"},Y={key:0},Z={key:1},J={key:2},K={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]=o(" 随机点名 ",-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,F(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,F(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(()=>[o(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]=[o(" 重新抽取 ",-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]=[o(" 关闭 ",-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]=[o(" 姓名模式 ",-1)])]),_:1}),s(h,{"prepend-icon":"mdi-numeric",value:"number"},{default:l(()=>[...e[12]||(e[12]=[o(" 学号模式 ",-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(N,{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(N,{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]=[o(" 开始抽取 ",-1)])]),_:1},8,["disabled","onClick"])]),d.filteredStudents.length===0?(r(),m("div",G,[t.pickerMode==="name"?(r(),m(b,{key:0},[o(" 没有可抽取的学生,请调整过滤选项 ")],64)):(r(),m(b,{key:1},[o(" 请设置有效的学号范围 ")],64))])):x("",!0),a("div",O,[o(" 当前可抽取学生: "+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",X,[t.tempFilters.excludeAbsent?(r(),m("div",Y," • 已排除请假学生 ("+c(d.absentCount)+"人) ",1)):x("",!0),t.tempFilters.excludeLate?(r(),m("div",Z," • 已排除迟到学生 ("+c(d.lateCount)+"人) ",1)):x("",!0),t.tempFilters.excludeExcluded?(r(),m("div",J," • 已排除不参与学生 ("+c(d.excludedCount)+"人) ",1)):x("",!0)])]),_:1})):x("",!0),t.pickerMode==="name"?(r(),m("div",K,[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(()=>[o(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(()=>[o(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(()=>[o(c(t.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):x("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const ue=V(z,[["render",te],["__scopeId","data-v-090899ef"]]);export{ue as default}; +import{_ as V,e as C,c as A,f as P,g as _,h,d as v,F as M,k as T,n as u,s as S}from"./index-BvGH7GyK.js";import{X as r,Y as g,Z as l,j as s,a1 as o,k as a,S as c,_ as m,$ as x,F as b,m as L,U as w,a2 as F,n as E}from"./vendor-vue-Hxtt57UU.js";import{V as N}from"./VTextField-jDykTfh9.js";import{a as I}from"./VTooltip-CvIsrMQ_.js";import{V as y}from"./VChip-CyVmT8se.js";import"./vendor-vuetify-KiFW-YAv.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:u("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:u,tempFilters:{excludeAbsent:u("randomPicker.excludeAbsent"),excludeLate:u("randomPicker.excludeLate"),excludeExcluded:u("randomPicker.excludeExcluded")},pickerMode:u("randomPicker.mode"),minNumber:u("randomPicker.minNumber"),maxNumber:u("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=u("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:u("randomPicker.excludeAbsent"),excludeLate:u("randomPicker.excludeLate"),excludeExcluded:u("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,u("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"},O={class:"mt-4 text-caption"},X={class:"pa-2"},Y={key:0},Z={key:1},J={key:2},K={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]=o(" 随机点名 ",-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,F(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,F(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(()=>[o(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]=[o(" 重新抽取 ",-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]=[o(" 关闭 ",-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]=[o(" 姓名模式 ",-1)])]),_:1}),s(h,{"prepend-icon":"mdi-numeric",value:"number"},{default:l(()=>[...e[12]||(e[12]=[o(" 学号模式 ",-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(N,{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(N,{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]=[o(" 开始抽取 ",-1)])]),_:1},8,["disabled","onClick"])]),d.filteredStudents.length===0?(r(),m("div",G,[t.pickerMode==="name"?(r(),m(b,{key:0},[o(" 没有可抽取的学生,请调整过滤选项 ")],64)):(r(),m(b,{key:1},[o(" 请设置有效的学号范围 ")],64))])):x("",!0),a("div",O,[o(" 当前可抽取学生: "+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",X,[t.tempFilters.excludeAbsent?(r(),m("div",Y," • 已排除请假学生 ("+c(d.absentCount)+"人) ",1)):x("",!0),t.tempFilters.excludeLate?(r(),m("div",Z," • 已排除迟到学生 ("+c(d.lateCount)+"人) ",1)):x("",!0),t.tempFilters.excludeExcluded?(r(),m("div",J," • 已排除不参与学生 ("+c(d.excludedCount)+"人) ",1)):x("",!0)])]),_:1})):x("",!0),t.pickerMode==="name"?(r(),m("div",K,[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(()=>[o(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(()=>[o(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(()=>[o(c(t.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):x("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const ue=V(z,[["render",te],["__scopeId","data-v-090899ef"]]);export{ue as default}; diff --git a/assets/StudentNameManager--IeJwNAQ.js b/assets/StudentNameManager-PfUXrkXU.js similarity index 91% rename from assets/StudentNameManager--IeJwNAQ.js rename to assets/StudentNameManager-PfUXrkXU.js index 805931a..a6f5c0d 100644 --- a/assets/StudentNameManager--IeJwNAQ.js +++ b/assets/StudentNameManager-PfUXrkXU.js @@ -1 +1 @@ -import{_ as le,w as oe,e as ne,c as ue,d as re,l as ie,h as z,g as ve,k as de,n as $}from"./index-D042plwv.js";import{a as D,d as E}from"./dataProvider-CBH3Lw3D.js";import{V as ce}from"./VAutocomplete-6kKJB-90.js";import{V as me}from"./VTextField-BoJUR4Xs.js";import{V as pe}from"./VChip-nQelUOZI.js";import{V as fe}from"./VSwitch-CEojN9Vi.js";import{V as ge}from"./VCombobox-DxvBKwV_.js";import{V as ke}from"./VAlert-ZP8s_5ha.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,af as Ve,e as g,b as c}from"./vendor-vue-BiQC5iF7.js";import"./vendor-vuetify-DpmmaPkh.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./VSelect-mQ_XLRnU.js";import"./VMenu-Ps4XkZIl.js";import"./VSheet-BWNNvcYw.js";import"./VCheckboxBtn-64kBGXnq.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:K,emit:X}){const F=X,v=c(!1),k=c(""),y=c([]),T=c(""),m=c(!1),i=c(""),u=c(null),r=c([]),Y=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"}),Z=g(()=>{var e;return((e=u.value)==null?void 0:e.isReadOnly)===!0}),q=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,Y.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()}),K({checkStudentNameStatus:A,openDialog:M,currentStudentName:T,currentTeacherName:b,isStudentToken:w,isTeacherToken:C,isReadOnly:Z,displayName:q,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-e0ac52e0"]]);export{Pe as default}; +import{_ as le,w as oe,e as ne,c as ue,d as re,l as ie,h as z,g as ve,k as de,n as $}from"./index-BvGH7GyK.js";import{a as D,d as E}from"./dataProvider-oxZzGARG.js";import{V as ce}from"./VAutocomplete-bB7Ga8jP.js";import{V as me}from"./VTextField-jDykTfh9.js";import{V as pe}from"./VChip-CyVmT8se.js";import{V as fe}from"./VSwitch-DEARo61Y.js";import{V as ge}from"./VCombobox-D1qFxhIj.js";import{V as ke}from"./VAlert-DdY_LS-W.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,af as Ve,e as g,b as c}from"./vendor-vue-Hxtt57UU.js";import"./vendor-vuetify-KiFW-YAv.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";import"./VSelect-BdFWh1xd.js";import"./VMenu-CEn1TBeC.js";import"./VSheet-PSmzyJOR.js";import"./VCheckboxBtn-D_PchAC2.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:K,emit:X}){const F=X,v=c(!1),k=c(""),y=c([]),T=c(""),m=c(!1),i=c(""),u=c(null),r=c([]),Y=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"}),Z=g(()=>{var e;return((e=u.value)==null?void 0:e.isReadOnly)===!0}),q=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,Y.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()}),K({checkStudentNameStatus:A,openDialog:M,currentStudentName:T,currentTeacherName:b,isStudentToken:w,isTeacherToken:C,isReadOnly:Z,displayName:q,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-e0ac52e0"]]);export{Pe as default}; diff --git a/assets/UafTransferDialog-BBH3Quy5.js b/assets/UafTransferDialog-DcVwiQPT.js similarity index 94% rename from assets/UafTransferDialog-BBH3Quy5.js rename to assets/UafTransferDialog-DcVwiQPT.js index f82be49..f9f406b 100644 --- a/assets/UafTransferDialog-BBH3Quy5.js +++ b/assets/UafTransferDialog-DcVwiQPT.js @@ -1,3 +1,3 @@ -import{d as pe}from"./dataProvider-CBH3Lw3D.js";import{d as Ke}from"./index-Bz7Y6ZPJ.js";import{x as qe,H as Ge,C as Xe,f as Pe,ac as ge,h as X,b as Ze,av as Qe,a as et,_ as tt,e as at,c as nt,g as se,i as ye,d as st,j as le,p as he,q as we,r as ke,t as be,l as lt,k as ot}from"./index-D042plwv.js";import{f as it,h as rt,a0 as Te,u as ut,s as ct,p as dt,I as mt,m as ft,k as vt}from"./vendor-vuetify-DpmmaPkh.js";import{V as pt,a as xe}from"./VTabs-5YWz7myv.js";import{V as Ve}from"./VTextField-BoJUR4Xs.js";import{V as O}from"./VAlert-ZP8s_5ha.js";import{V as Se}from"./VCheckboxBtn-64kBGXnq.js";import{V as q}from"./VChip-nQelUOZI.js";import{k as g,F as E,j as i,N as gt,n as Ee,o as oe,a3 as yt,X as v,Y as x,Z as u,a1 as w,S as h,_ as j,u as G,$ as D,a2 as R,b as V,e as C}from"./vendor-vue-BiQC5iF7.js";import{V as _e,a as Ue,b as $e,c as je}from"./VExpansionPanels-BpKtUPdA.js";import{V as ht}from"./VSlider-ClZx8sEW.js";import{V as De}from"./VSelect-mQ_XLRnU.js";import{V as wt}from"./VFileInput-BJbMPOVg.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./VTable-DH4Drwun.js";import"./VTooltip-DMSltD5A.js";import"./soundList-D9U-Grcp.js";import"./VSwitch-CEojN9Vi.js";import"./VMenu-Ps4XkZIl.js";import"./VContainer-MApP1Vz1.js";import"./socketClient-D9GaxO-Q.js";import"./vendor-socket-dm1FmSOd.js";import"./deviceEvents-W5dhgmtc.js";import"./VAppBarTitle-D2mhaxek.js";import"./VRow-CH6EAfU_.js";import"./VSheet-BWNNvcYw.js";const z={subjectMax:200,contentMax:2e3,tagMax:50,tagCountMax:20};class L extends Error{constructor(r){super(r.join(";")),this.name="UafExportValidationError",this.issues=r}}function Q(e){if(/^\d{8}$/.test(e))return`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}`;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T/.test(e)&&!Number.isNaN(Date.parse(e)))return e.slice(0,10);throw new L([`日期 ${e||"(空)"} 不是有效的 YYYYMMDD 或 YYYY-MM-DD 格式`])}function Ce(e){return Q(e).replaceAll("-","")}function Z(e){return Array.isArray(e)?e.map(r=>String(r)):[]}function Be(e,r=e.subject||"作业"){const l=[];e.subject||l.push(`${r}:科目名称不能为空`),e.subject.length>z.subjectMax&&l.push(`${r}:科目名称超过 ${z.subjectMax} 个字符`);try{Q(e.date)}catch(a){l.push(...a.issues.map(c=>`${r}:${c}`))}return e.content||l.push(`${r}:正文不能为空`),e.content.length>z.contentMax&&l.push(`${r}:正文超过 ${z.contentMax} 个字符`),e.tags.length>z.tagCountMax&&l.push(`${r}:标签超过 ${z.tagCountMax} 个`),e.tags.some(a=>!a||a.length>z.tagMax||a.includes(";"))&&l.push(`${r}:包含无效标签`),l}const kt={subject:{fontSize:17,fontWeight:"regular"},content:{fontSize:13.5,fontWeight:"regular"},tags:{fontSize:9.5,fontWeight:"regular"}};function bt(e,r){const l=Q(r);return e.filter(a=>a&&(a.type==="homework"||a.type==="custom")).filter(a=>typeof a.content=="string"&&a.content.trim().length>0).map((a,c)=>{const m={subject:String(a.name||"").trim(),date:l,content:a.content,tags:Z(a.tags),style:JSON.parse(JSON.stringify(kt))},p=Be(m,m.subject||`第 ${c+1} 张卡片`);return{id:`${a.key||c}-${c}`,assignment:m,selected:p.length===0,issues:p,expanded:!1}})}function xt(e,r=[]){var c,m;const l=(e==null?void 0:e.homework)||{},a=[];for(const p of r){const o=l[p.name];(c=o==null?void 0:o.content)!=null&&c.trim()&&a.push({key:p.name,name:p.name,type:"homework",content:o.content,tags:Z(o.tags),order:p.order??0})}for(const[p,o]of Object.entries(l))p.startsWith("custom-")&&((m=o==null?void 0:o.content)!=null&&m.trim())&&a.push({key:p,name:o.name,type:"custom",content:o.content,tags:Z(o.tags),order:9999});return a.sort((p,o)=>p.order-o.order)}async function Ae(){return qe(()=>import("./browser-Bu9WQl1f.js"),[],import.meta.url)}async function Vt(e){var m;if(!e||!((m=e.name)!=null&&m.toLowerCase().endsWith(".pdf")))throw new L(["请选择 UAF PDF 文件"]);const r=new Uint8Array(await e.arrayBuffer()),{validateUafPdf:l,extractUafPayload:a}=await Ae(),c=await l(r);if(!c.valid)throw new L(c.errors.length?c.errors:["文件不是有效的 UAF PDF"]);return c.payload||a(r)}async function St(e,r,l){const a=new Set(r.map(o=>o.name)),c=[...new Set(e.map(o=>Ce(o.date)))],m=new Map;for(const o of c)m.set(o,await l(o));return{rows:e.map((o,d)=>{var B,U,k;const y=Ce(o.date),b=m.get(y),S=a.has(o.subject);let _=S?o.subject:null;S||(_=Object.keys(b.homework||{}).find($=>{var T;return $.startsWith("custom-")&&((T=b.homework[$])==null?void 0:T.name)===o.subject}));const P=!!(_&&((k=(U=(B=b.homework)==null?void 0:B[_])==null?void 0:U.content)!=null&&k.trim()));return{id:`uaf-import-${d}`,index:d,date:y,assignment:{...o,tags:Z(o.tags)},targetType:S?"homework":"custom",targetKey:_,conflict:P,action:P?"keep":"import"}}),boards:m}}function ze(e){const r=[],l=new Map;for(const a of e){if(a.action==="keep")continue;const c=a.targetKey?`${a.date}:${a.targetKey}`:null;c&&l.has(c)&&r.push(`${a.date} 的“${a.assignment.subject}”有多条记录指向同一卡片`),c&&l.set(c,a.id)}return r}async function _t(e,r){const l=ze(e.rows);if(l.length)throw new L(l);const a=new Set;let c=0,m=0;for(const d of e.rows){if(d.action==="keep"){m+=1;continue}const y=e.boards.get(d.date);if(y.homework||(y.homework={}),d.targetType==="homework")y.homework[d.assignment.subject]={...y.homework[d.assignment.subject]||{},content:d.assignment.content,tags:d.assignment.tags};else if(d.targetKey)y.homework[d.targetKey]={...y.homework[d.targetKey],name:d.assignment.subject,type:"custom",content:d.assignment.content,tags:d.assignment.tags};else{const b=`custom-uaf-${Date.now()}-${d.index}`;y.homework[b]={name:d.assignment.subject,type:"custom",content:d.assignment.content,tags:d.assignment.tags}}c+=1,a.add(d.date)}const p=[],o=[];for(const d of a)try{await r(d,e.boards.get(d)),p.push(d)}catch(y){o.push({date:d,error:y})}return{imported:c,skipped:m,savedDates:p,failedDates:o}}async function ie(e,r){const l=await fetch(new URL(`${e}uaf/${r}`,window.location.origin));if(!l.ok)throw new Error(`加载字体 ${r} 失败:${l.status}`);return l.arrayBuffer()}async function Le(e){if(!e.length)throw new L(["请至少选择一项作业"]);const r=e.flatMap(d=>Be(d));if(r.length)throw new L(r);const{createUafPdf:l}=await Ae(),a="./",[c,m,p]=await Promise.all([ie(a,"HarmonyOS_Sans_SC_Regular.ttf"),ie(a,"HarmonyOS_Sans_SC_Light.ttf"),ie(a,"HarmonyOS_Sans_SC_Bold.ttf")]),o=new URL(`${a}uaf/hb-subset.wasm`,window.location.origin);return l(e,{fontBytes:c,fontLightBytes:m,fontBoldBytes:p,wasmUrl:o,theme:"classworks-dark"})}async function Ut(e,r){const l=await Le(e),a=new window.Blob([l],{type:"application/pdf"}),c=URL.createObjectURL(a),m=document.createElement("a"),p=Q(r);return m.href=c,m.download=`Classworks-作业-${p}.uaf.pdf`,document.body.appendChild(m),m.click(),m.remove(),window.setTimeout(()=>URL.revokeObjectURL(c),1e3),m.download}const $t=dt({actionText:String,bgColor:String,color:String,icon:mt,image:String,justify:{type:String,default:"center"},headline:String,title:String,text:String,textWidth:{type:[Number,String],default:500},href:String,to:String,...vt(),...et(),...Qe({size:void 0}),...ft()},"VEmptyState"),jt=it()({name:"VEmptyState",props:$t(),emits:{"click:action":e=>!0},setup(e,r){let{emit:l,slots:a}=r;const{themeClasses:c}=rt(e),{backgroundColorClasses:m,backgroundColorStyles:p}=Ge(()=>e.bgColor),{dimensionStyles:o}=Ze(e),{displayClasses:d}=Te();function y(b){l("click:action",b)}return ut(()=>{var k,$,T;const b=!!(a.actions||e.actionText),S=!!(a.headline||e.headline),_=!!(a.title||e.title),P=!!(a.text||e.text),B=!!(a.media||e.image||e.icon),U=e.size||(e.image?200:96);return g("div",{class:Ee(["v-empty-state",{[`v-empty-state--${e.justify}`]:!0},c.value,m.value,d.value,e.class]),style:gt([p.value,o.value,e.style])},[B&&g("div",{key:"media",class:"v-empty-state__media"},[a.media?i(ge,{key:"media-defaults",defaults:{VImg:{src:e.image,height:U},VIcon:{size:U,icon:e.icon}}},{default:()=>[a.media()]}):g(E,null,[e.image?i(Xe,{key:"image",src:e.image,height:U},null):e.icon?i(Pe,{key:"icon",color:e.color,size:U,icon:e.icon},null):void 0])]),S&&g("div",{key:"headline",class:"v-empty-state__headline"},[((k=a.headline)==null?void 0:k.call(a))??e.headline]),_&&g("div",{key:"title",class:"v-empty-state__title"},[(($=a.title)==null?void 0:$.call(a))??e.title]),P&&g("div",{key:"text",class:"v-empty-state__text",style:{maxWidth:ct(e.textWidth)}},[((T=a.text)==null?void 0:T.call(a))??e.text]),a.default&&g("div",{key:"content",class:"v-empty-state__content"},[a.default()]),b&&g("div",{key:"actions",class:"v-empty-state__actions"},[i(ge,{defaults:{VBtn:{class:"v-empty-state__action-btn",color:e.color??"surface-variant",href:e.href,text:e.actionText,to:e.to}}},{default:()=>{var A;return[((A=a.actions)==null?void 0:A.call(a,{props:{onClick:y}}))??i(X,{onClick:y},null)]}})])])}),{}}}),Dt={class:"editor-section"},Ct={key:2,class:"d-flex align-center mb-2"},Pt={class:"text-caption text-medium-emphasis"},Tt={class:"d-flex flex-column w-100"},Et={class:"d-flex flex-wrap align-center mt-1 ga-1"},Bt={key:0,class:"text-caption text-error"},At={class:"preview-section"},zt={class:"preview-placeholder"},Lt={class:"preview-scroll-container"},Mt=["src"],Ft={class:"d-flex align-center ga-3"},It={class:"text-caption label-min-width"},Nt={class:"d-flex align-center ga-3 mt-2"},Ot={class:"text-body-2 mb-3"},Rt={class:"text-caption text-medium-emphasis ml-2"},Wt={__name:"UafTransferDialog",props:{modelValue:Boolean,mode:{type:String,default:"export"},currentDate:{type:String,required:!0},currentItems:{type:Array,default:()=>[]},currentBoardData:{type:Object,required:!0},subjects:{type:Array,default:()=>[]}},emits:["update:modelValue","success","error","imported"],setup(e,{emit:r}){const l=e,a=r,{mobile:c}=Te(),m=[{title:"Light",value:"light"},{title:"Regular",value:"regular"},{title:"Bold",value:"bold"}],p=[{key:"subject",label:"标题",min:10,max:32},{key:"content",label:"正文",min:8,max:24},{key:"tags",label:"标签",min:6,max:16}],o=V({subject:{fontSize:17,fontWeight:"regular"},content:{fontSize:13.5,fontWeight:"regular"},tags:{fontSize:9.5,fontWeight:"regular"}}),d=V([]),y=C({get:()=>l.modelValue,set:t=>a("update:modelValue",t)}),b=V(""),S=V([]),_=V(""),P=V(!1),B=V(!1),U=V(null),k=V(null),$=V(""),T=V(!1),A=V(!1),W=V("edit"),M=V(""),Y=V(!1),I=V(""),J=C(()=>B.value||A.value||T.value),H=C(()=>S.value.filter(t=>t.selected).map(t=>t.assignment)),ee=C(()=>H.value.map(t=>({...t,style:JSON.parse(JSON.stringify(o.value))}))),K=C(()=>S.value.filter(t=>t.issues.length===0)),te=C(()=>K.value.length>0&&K.value.every(t=>t.selected)),Me=C(()=>K.value.some(t=>t.selected)),re=C(()=>{if(!k.value)return[];const t=new Map;for(const n of k.value.rows)t.has(n.date)||t.set(n.date,[]),t.get(n.date).push(n);return[...t].map(([n,s])=>({date:n,rows:s}))}),ae=C(()=>{var t;return ze(((t=k.value)==null?void 0:t.rows)||[])}),Fe=C(()=>l.mode==="export"?H.value.length===0||P.value:!k.value||ae.value.length>0||A.value),Ie=C(()=>{if(l.mode==="export")return`文件日期:${b.value||"未选择"}`;if(!k.value)return"仅支持内嵌 uaf_payload.csv 的 UAF PDF";const t=k.value.rows.filter(n=>n.action!=="keep").length;return`将导入 ${t} 项,保留 ${k.value.rows.length-t} 项`});oe(()=>l.modelValue,(t,n)=>{!t&&n&&(N(),W.value="edit"),t&&(l.mode==="export"?(b.value=ve(l.currentDate),de()):(U.value=null,k.value=null,$.value=""))}),oe(H,()=>{me()},{deep:!0}),oe(o,()=>me(),{deep:!0}),yt(()=>{N()});function ue(t){return JSON.parse(JSON.stringify(t||{homework:{},attendance:{}}))}async function ce(t){var s,f;if(t===l.currentDate)return ue(l.currentBoardData);const n=await pe.loadData(`classworks-data-${t}`);if((n==null?void 0:n.success)===!1){if(((s=n.error)==null?void 0:s.code)==="NOT_FOUND")return{homework:{},attendance:{absent:[],late:[],exclude:[]}};throw new Error(((f=n.error)==null?void 0:f.message)||`无法读取 ${t} 的作业`)}return ue(n)}async function de(){if(b.value){P.value=!0,_.value="";try{const t=b.value.replaceAll("-",""),n=t===l.currentDate?l.currentItems:xt(await ce(t),l.subjects);S.value=bt(n,b.value)}catch(t){S.value=[],_.value=t.message||"无法加载该日期的作业"}finally{P.value=!1}}}function Ne(){const t=!te.value;for(const n of K.value)n.selected=t}function Oe(t,n){const s=p.find(He=>He.key===t),f=Number(n),F=Number.isFinite(f)?f:s.min;o.value[t].fontSize=Math.round(Math.min(s.max,Math.max(s.min,F))*2)/2}function N(){M.value&&(URL.revokeObjectURL(M.value),M.value="")}const me=Ke(async()=>{if(!ee.value.length){N(),I.value="",Y.value=!1;return}Y.value=!0,I.value="";try{const t=await Le(ee.value),n=new window.Blob([t],{type:"application/pdf"});N(),M.value=URL.createObjectURL(n)}catch(t){N(),I.value=ne(t)}finally{Y.value=!1}},800);async function Re(){B.value=!0;try{const t=await Ut(ee.value,b.value);a("success","导出成功",t),y.value=!1}catch(t){fe("导出失败",t)}finally{B.value=!1}}async function We(t){const n=Array.isArray(t)?t[0]:t;if(k.value=null,$.value="",!!n){T.value=!0;try{const s=await Vt(n);k.value=await St(s,l.subjects,ce)}catch(s){$.value=ne(s)}finally{T.value=!1}}}function Ye(t){return t.conflict?[{title:"保留现有",value:"keep"},{title:"覆盖现有",value:"overwrite"}]:[{title:"导入",value:"import"},{title:"跳过",value:"keep"}]}async function Je(){A.value=!0;try{const t=await _t(k.value,async(n,s)=>{var F;const f=await pe.saveData(`classworks-data-${n}`,s);if((f==null?void 0:f.success)===!1)throw new Error(((F=f.error)==null?void 0:F.message)||"保存失败")});a("imported",t),t.failedDates.length?a("error","部分日期导入失败",`已保存:${t.savedDates.join("、")||"无"} +import{d as pe}from"./dataProvider-oxZzGARG.js";import{d as Ke}from"./index-DkQ_Bflb.js";import{x as qe,H as Ge,C as Xe,f as Pe,ac as ge,h as X,b as Ze,av as Qe,a as et,_ as tt,e as at,c as nt,g as se,i as ye,d as st,j as le,p as he,q as we,r as ke,t as be,l as lt,k as ot}from"./index-BvGH7GyK.js";import{j as it,k as rt,a0 as Te,u as ut,a as ct,p as dt,I as mt,m as ft,n as vt}from"./vendor-vuetify-KiFW-YAv.js";import{V as pt,a as xe}from"./VTabs-DTqS4Kso.js";import{V as Ve}from"./VTextField-jDykTfh9.js";import{V as O}from"./VAlert-DdY_LS-W.js";import{V as Se}from"./VCheckboxBtn-D_PchAC2.js";import{V as q}from"./VChip-CyVmT8se.js";import{k as g,F as E,j as i,N as gt,n as Ee,o as oe,a3 as yt,X as v,Y as x,Z as u,a1 as w,S as h,_ as j,u as G,$ as D,a2 as R,b as V,e as C}from"./vendor-vue-Hxtt57UU.js";import{V as _e,a as Ue,b as $e,c as je}from"./VExpansionPanels-D75JoFxE.js";import{V as ht}from"./VSlider-D5-S_tyd.js";import{V as De}from"./VSelect-BdFWh1xd.js";import{V as wt}from"./VFileInput-Ch1sS0Fm.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";import"./VTable-C8JDgtcy.js";import"./VTooltip-CvIsrMQ_.js";import"./soundList-D9U-Grcp.js";import"./VSwitch-DEARo61Y.js";import"./VMenu-CEn1TBeC.js";import"./VContainer-Cz0t7N-s.js";import"./socketClient-B3vfwKNR.js";import"./vendor-socket-SYmKJpIj.js";import"./deviceEvents-DDMVNIIy.js";import"./VAppBarTitle-CA6uS5-F.js";import"./VRow-CFI96Yew.js";import"./VSheet-PSmzyJOR.js";const z={subjectMax:200,contentMax:2e3,tagMax:50,tagCountMax:20};class L extends Error{constructor(r){super(r.join(";")),this.name="UafExportValidationError",this.issues=r}}function Q(e){if(/^\d{8}$/.test(e))return`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}`;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T/.test(e)&&!Number.isNaN(Date.parse(e)))return e.slice(0,10);throw new L([`日期 ${e||"(空)"} 不是有效的 YYYYMMDD 或 YYYY-MM-DD 格式`])}function Ce(e){return Q(e).replaceAll("-","")}function Z(e){return Array.isArray(e)?e.map(r=>String(r)):[]}function Be(e,r=e.subject||"作业"){const l=[];e.subject||l.push(`${r}:科目名称不能为空`),e.subject.length>z.subjectMax&&l.push(`${r}:科目名称超过 ${z.subjectMax} 个字符`);try{Q(e.date)}catch(a){l.push(...a.issues.map(c=>`${r}:${c}`))}return e.content||l.push(`${r}:正文不能为空`),e.content.length>z.contentMax&&l.push(`${r}:正文超过 ${z.contentMax} 个字符`),e.tags.length>z.tagCountMax&&l.push(`${r}:标签超过 ${z.tagCountMax} 个`),e.tags.some(a=>!a||a.length>z.tagMax||a.includes(";"))&&l.push(`${r}:包含无效标签`),l}const kt={subject:{fontSize:17,fontWeight:"regular"},content:{fontSize:13.5,fontWeight:"regular"},tags:{fontSize:9.5,fontWeight:"regular"}};function bt(e,r){const l=Q(r);return e.filter(a=>a&&(a.type==="homework"||a.type==="custom")).filter(a=>typeof a.content=="string"&&a.content.trim().length>0).map((a,c)=>{const m={subject:String(a.name||"").trim(),date:l,content:a.content,tags:Z(a.tags),style:JSON.parse(JSON.stringify(kt))},p=Be(m,m.subject||`第 ${c+1} 张卡片`);return{id:`${a.key||c}-${c}`,assignment:m,selected:p.length===0,issues:p,expanded:!1}})}function xt(e,r=[]){var c,m;const l=(e==null?void 0:e.homework)||{},a=[];for(const p of r){const o=l[p.name];(c=o==null?void 0:o.content)!=null&&c.trim()&&a.push({key:p.name,name:p.name,type:"homework",content:o.content,tags:Z(o.tags),order:p.order??0})}for(const[p,o]of Object.entries(l))p.startsWith("custom-")&&((m=o==null?void 0:o.content)!=null&&m.trim())&&a.push({key:p,name:o.name,type:"custom",content:o.content,tags:Z(o.tags),order:9999});return a.sort((p,o)=>p.order-o.order)}async function Ae(){return qe(()=>import("./browser-Bu9WQl1f.js"),[],import.meta.url)}async function Vt(e){var m;if(!e||!((m=e.name)!=null&&m.toLowerCase().endsWith(".pdf")))throw new L(["请选择 UAF PDF 文件"]);const r=new Uint8Array(await e.arrayBuffer()),{validateUafPdf:l,extractUafPayload:a}=await Ae(),c=await l(r);if(!c.valid)throw new L(c.errors.length?c.errors:["文件不是有效的 UAF PDF"]);return c.payload||a(r)}async function St(e,r,l){const a=new Set(r.map(o=>o.name)),c=[...new Set(e.map(o=>Ce(o.date)))],m=new Map;for(const o of c)m.set(o,await l(o));return{rows:e.map((o,d)=>{var B,U,k;const y=Ce(o.date),b=m.get(y),S=a.has(o.subject);let _=S?o.subject:null;S||(_=Object.keys(b.homework||{}).find($=>{var T;return $.startsWith("custom-")&&((T=b.homework[$])==null?void 0:T.name)===o.subject}));const P=!!(_&&((k=(U=(B=b.homework)==null?void 0:B[_])==null?void 0:U.content)!=null&&k.trim()));return{id:`uaf-import-${d}`,index:d,date:y,assignment:{...o,tags:Z(o.tags)},targetType:S?"homework":"custom",targetKey:_,conflict:P,action:P?"keep":"import"}}),boards:m}}function ze(e){const r=[],l=new Map;for(const a of e){if(a.action==="keep")continue;const c=a.targetKey?`${a.date}:${a.targetKey}`:null;c&&l.has(c)&&r.push(`${a.date} 的“${a.assignment.subject}”有多条记录指向同一卡片`),c&&l.set(c,a.id)}return r}async function _t(e,r){const l=ze(e.rows);if(l.length)throw new L(l);const a=new Set;let c=0,m=0;for(const d of e.rows){if(d.action==="keep"){m+=1;continue}const y=e.boards.get(d.date);if(y.homework||(y.homework={}),d.targetType==="homework")y.homework[d.assignment.subject]={...y.homework[d.assignment.subject]||{},content:d.assignment.content,tags:d.assignment.tags};else if(d.targetKey)y.homework[d.targetKey]={...y.homework[d.targetKey],name:d.assignment.subject,type:"custom",content:d.assignment.content,tags:d.assignment.tags};else{const b=`custom-uaf-${Date.now()}-${d.index}`;y.homework[b]={name:d.assignment.subject,type:"custom",content:d.assignment.content,tags:d.assignment.tags}}c+=1,a.add(d.date)}const p=[],o=[];for(const d of a)try{await r(d,e.boards.get(d)),p.push(d)}catch(y){o.push({date:d,error:y})}return{imported:c,skipped:m,savedDates:p,failedDates:o}}async function ie(e,r){const l=await fetch(new URL(`${e}uaf/${r}`,window.location.origin));if(!l.ok)throw new Error(`加载字体 ${r} 失败:${l.status}`);return l.arrayBuffer()}async function Le(e){if(!e.length)throw new L(["请至少选择一项作业"]);const r=e.flatMap(d=>Be(d));if(r.length)throw new L(r);const{createUafPdf:l}=await Ae(),a="./",[c,m,p]=await Promise.all([ie(a,"HarmonyOS_Sans_SC_Regular.ttf"),ie(a,"HarmonyOS_Sans_SC_Light.ttf"),ie(a,"HarmonyOS_Sans_SC_Bold.ttf")]),o=new URL(`${a}uaf/hb-subset.wasm`,window.location.origin);return l(e,{fontBytes:c,fontLightBytes:m,fontBoldBytes:p,wasmUrl:o,theme:"classworks-dark"})}async function Ut(e,r){const l=await Le(e),a=new window.Blob([l],{type:"application/pdf"}),c=URL.createObjectURL(a),m=document.createElement("a"),p=Q(r);return m.href=c,m.download=`Classworks-作业-${p}.uaf.pdf`,document.body.appendChild(m),m.click(),m.remove(),window.setTimeout(()=>URL.revokeObjectURL(c),1e3),m.download}const $t=dt({actionText:String,bgColor:String,color:String,icon:mt,image:String,justify:{type:String,default:"center"},headline:String,title:String,text:String,textWidth:{type:[Number,String],default:500},href:String,to:String,...vt(),...et(),...Qe({size:void 0}),...ft()},"VEmptyState"),jt=it()({name:"VEmptyState",props:$t(),emits:{"click:action":e=>!0},setup(e,r){let{emit:l,slots:a}=r;const{themeClasses:c}=rt(e),{backgroundColorClasses:m,backgroundColorStyles:p}=Ge(()=>e.bgColor),{dimensionStyles:o}=Ze(e),{displayClasses:d}=Te();function y(b){l("click:action",b)}return ut(()=>{var k,$,T;const b=!!(a.actions||e.actionText),S=!!(a.headline||e.headline),_=!!(a.title||e.title),P=!!(a.text||e.text),B=!!(a.media||e.image||e.icon),U=e.size||(e.image?200:96);return g("div",{class:Ee(["v-empty-state",{[`v-empty-state--${e.justify}`]:!0},c.value,m.value,d.value,e.class]),style:gt([p.value,o.value,e.style])},[B&&g("div",{key:"media",class:"v-empty-state__media"},[a.media?i(ge,{key:"media-defaults",defaults:{VImg:{src:e.image,height:U},VIcon:{size:U,icon:e.icon}}},{default:()=>[a.media()]}):g(E,null,[e.image?i(Xe,{key:"image",src:e.image,height:U},null):e.icon?i(Pe,{key:"icon",color:e.color,size:U,icon:e.icon},null):void 0])]),S&&g("div",{key:"headline",class:"v-empty-state__headline"},[((k=a.headline)==null?void 0:k.call(a))??e.headline]),_&&g("div",{key:"title",class:"v-empty-state__title"},[(($=a.title)==null?void 0:$.call(a))??e.title]),P&&g("div",{key:"text",class:"v-empty-state__text",style:{maxWidth:ct(e.textWidth)}},[((T=a.text)==null?void 0:T.call(a))??e.text]),a.default&&g("div",{key:"content",class:"v-empty-state__content"},[a.default()]),b&&g("div",{key:"actions",class:"v-empty-state__actions"},[i(ge,{defaults:{VBtn:{class:"v-empty-state__action-btn",color:e.color??"surface-variant",href:e.href,text:e.actionText,to:e.to}}},{default:()=>{var A;return[((A=a.actions)==null?void 0:A.call(a,{props:{onClick:y}}))??i(X,{onClick:y},null)]}})])])}),{}}}),Dt={class:"editor-section"},Ct={key:2,class:"d-flex align-center mb-2"},Pt={class:"text-caption text-medium-emphasis"},Tt={class:"d-flex flex-column w-100"},Et={class:"d-flex flex-wrap align-center mt-1 ga-1"},Bt={key:0,class:"text-caption text-error"},At={class:"preview-section"},zt={class:"preview-placeholder"},Lt={class:"preview-scroll-container"},Mt=["src"],Ft={class:"d-flex align-center ga-3"},It={class:"text-caption label-min-width"},Nt={class:"d-flex align-center ga-3 mt-2"},Ot={class:"text-body-2 mb-3"},Rt={class:"text-caption text-medium-emphasis ml-2"},Wt={__name:"UafTransferDialog",props:{modelValue:Boolean,mode:{type:String,default:"export"},currentDate:{type:String,required:!0},currentItems:{type:Array,default:()=>[]},currentBoardData:{type:Object,required:!0},subjects:{type:Array,default:()=>[]}},emits:["update:modelValue","success","error","imported"],setup(e,{emit:r}){const l=e,a=r,{mobile:c}=Te(),m=[{title:"Light",value:"light"},{title:"Regular",value:"regular"},{title:"Bold",value:"bold"}],p=[{key:"subject",label:"标题",min:10,max:32},{key:"content",label:"正文",min:8,max:24},{key:"tags",label:"标签",min:6,max:16}],o=V({subject:{fontSize:17,fontWeight:"regular"},content:{fontSize:13.5,fontWeight:"regular"},tags:{fontSize:9.5,fontWeight:"regular"}}),d=V([]),y=C({get:()=>l.modelValue,set:t=>a("update:modelValue",t)}),b=V(""),S=V([]),_=V(""),P=V(!1),B=V(!1),U=V(null),k=V(null),$=V(""),T=V(!1),A=V(!1),W=V("edit"),M=V(""),Y=V(!1),I=V(""),J=C(()=>B.value||A.value||T.value),H=C(()=>S.value.filter(t=>t.selected).map(t=>t.assignment)),ee=C(()=>H.value.map(t=>({...t,style:JSON.parse(JSON.stringify(o.value))}))),K=C(()=>S.value.filter(t=>t.issues.length===0)),te=C(()=>K.value.length>0&&K.value.every(t=>t.selected)),Me=C(()=>K.value.some(t=>t.selected)),re=C(()=>{if(!k.value)return[];const t=new Map;for(const n of k.value.rows)t.has(n.date)||t.set(n.date,[]),t.get(n.date).push(n);return[...t].map(([n,s])=>({date:n,rows:s}))}),ae=C(()=>{var t;return ze(((t=k.value)==null?void 0:t.rows)||[])}),Fe=C(()=>l.mode==="export"?H.value.length===0||P.value:!k.value||ae.value.length>0||A.value),Ie=C(()=>{if(l.mode==="export")return`文件日期:${b.value||"未选择"}`;if(!k.value)return"仅支持内嵌 uaf_payload.csv 的 UAF PDF";const t=k.value.rows.filter(n=>n.action!=="keep").length;return`将导入 ${t} 项,保留 ${k.value.rows.length-t} 项`});oe(()=>l.modelValue,(t,n)=>{!t&&n&&(N(),W.value="edit"),t&&(l.mode==="export"?(b.value=ve(l.currentDate),de()):(U.value=null,k.value=null,$.value=""))}),oe(H,()=>{me()},{deep:!0}),oe(o,()=>me(),{deep:!0}),yt(()=>{N()});function ue(t){return JSON.parse(JSON.stringify(t||{homework:{},attendance:{}}))}async function ce(t){var s,f;if(t===l.currentDate)return ue(l.currentBoardData);const n=await pe.loadData(`classworks-data-${t}`);if((n==null?void 0:n.success)===!1){if(((s=n.error)==null?void 0:s.code)==="NOT_FOUND")return{homework:{},attendance:{absent:[],late:[],exclude:[]}};throw new Error(((f=n.error)==null?void 0:f.message)||`无法读取 ${t} 的作业`)}return ue(n)}async function de(){if(b.value){P.value=!0,_.value="";try{const t=b.value.replaceAll("-",""),n=t===l.currentDate?l.currentItems:xt(await ce(t),l.subjects);S.value=bt(n,b.value)}catch(t){S.value=[],_.value=t.message||"无法加载该日期的作业"}finally{P.value=!1}}}function Ne(){const t=!te.value;for(const n of K.value)n.selected=t}function Oe(t,n){const s=p.find(He=>He.key===t),f=Number(n),F=Number.isFinite(f)?f:s.min;o.value[t].fontSize=Math.round(Math.min(s.max,Math.max(s.min,F))*2)/2}function N(){M.value&&(URL.revokeObjectURL(M.value),M.value="")}const me=Ke(async()=>{if(!ee.value.length){N(),I.value="",Y.value=!1;return}Y.value=!0,I.value="";try{const t=await Le(ee.value),n=new window.Blob([t],{type:"application/pdf"});N(),M.value=URL.createObjectURL(n)}catch(t){N(),I.value=ne(t)}finally{Y.value=!1}},800);async function Re(){B.value=!0;try{const t=await Ut(ee.value,b.value);a("success","导出成功",t),y.value=!1}catch(t){fe("导出失败",t)}finally{B.value=!1}}async function We(t){const n=Array.isArray(t)?t[0]:t;if(k.value=null,$.value="",!!n){T.value=!0;try{const s=await Vt(n);k.value=await St(s,l.subjects,ce)}catch(s){$.value=ne(s)}finally{T.value=!1}}}function Ye(t){return t.conflict?[{title:"保留现有",value:"keep"},{title:"覆盖现有",value:"overwrite"}]:[{title:"导入",value:"import"},{title:"跳过",value:"keep"}]}async function Je(){A.value=!0;try{const t=await _t(k.value,async(n,s)=>{var F;const f=await pe.saveData(`classworks-data-${n}`,s);if((f==null?void 0:f.success)===!1)throw new Error(((F=f.error)==null?void 0:F.message)||"保存失败")});a("imported",t),t.failedDates.length?a("error","部分日期导入失败",`已保存:${t.savedDates.join("、")||"无"} 失败:${t.failedDates.map(n=>n.date).join("、")}`):(a("success","导入完成",`已导入 ${t.imported} 项,保留 ${t.skipped} 项`),y.value=!1)}catch(t){fe("导入失败",t)}finally{A.value=!1}}function fe(t,n){a("error",t,ne(n))}function ne(t){return t instanceof L?t.issues.join(` `):(t==null?void 0:t.message)||"发生未知错误"}function ve(t){return/^\d{8}$/.test(t)?`${t.slice(0,4)}-${t.slice(4,6)}-${t.slice(6,8)}`:t}return(t,n)=>(v(),x(ot,{modelValue:y.value,"onUpdate:modelValue":n[7]||(n[7]=s=>y.value=s),fullscreen:G(c),"max-width":"920",scrollable:""},{default:u(()=>[i(at,null,{default:u(()=>[i(nt,{class:"d-flex align-center"},{default:u(()=>[i(Pe,{icon:e.mode==="export"?"mdi-file-export-outline":"mdi-file-import-outline",class:"mr-2"},null,8,["icon"]),w(" "+h(e.mode==="export"?"导出 UAF":"导入 UAF")+" ",1),i(se),i(X,{icon:"mdi-close",variant:"text",onClick:n[0]||(n[0]=s=>y.value=!1)})]),_:1}),i(ye),i(st,{class:"transfer-content"},{default:u(()=>[e.mode==="export"?(v(),j(E,{key:0},[G(c)?(v(),x(pt,{key:0,modelValue:W.value,"onUpdate:modelValue":n[1]||(n[1]=s=>W.value=s),"fixed-tabs":"",class:"mb-3"},{default:u(()=>[i(xe,{value:"edit"},{default:u(()=>[...n[8]||(n[8]=[w(" 编辑 ",-1)])]),_:1}),i(xe,{value:"preview"},{default:u(()=>[...n[9]||(n[9]=[w(" 预览 ",-1)])]),_:1})]),_:1},8,["modelValue"])):D("",!0),g("div",{class:Ee(["export-layout",{mobile:G(c),"show-preview":G(c)&&W.value==="preview"}])},[g("div",Dt,[i(Ve,{modelValue:b.value,"onUpdate:modelValue":[n[2]||(n[2]=s=>b.value=s),de],class:"mb-3",label:"导出日期","prepend-inner-icon":"mdi-calendar",type:"date","hide-details":"",disabled:J.value},null,8,["modelValue","disabled"]),P.value?(v(),x(le,{key:0,class:"mb-3",indeterminate:""})):D("",!0),_.value?(v(),x(O,{key:1,class:"mb-3",type:"warning",variant:"tonal"},{default:u(()=>[w(h(_.value),1)]),_:1})):D("",!0),S.value.length?(v(),j("div",Ct,[i(Se,{"model-value":te.value,indeterminate:Me.value&&!te.value,onClick:Ne},null,8,["model-value","indeterminate"]),n[10]||(n[10]=g("span",{class:"text-body-2"},"选择全部有效作业",-1)),i(se),g("span",Pt," 已选择 "+h(H.value.length)+" / "+h(S.value.length)+" 项 ",1)])):D("",!0),S.value.length?(v(),x(he,{key:3,border:"",lines:"three"},{default:u(()=>[(v(!0),j(E,null,R(S.value,s=>(v(),x(we,{key:s.id,class:"edit-list-item"},{prepend:u(()=>[i(Se,{modelValue:s.selected,"onUpdate:modelValue":f=>s.selected=f,disabled:s.issues.length>0},null,8,["modelValue","onUpdate:modelValue","disabled"])]),default:u(()=>[g("div",Tt,[i(ke,null,{default:u(()=>[w(h(s.assignment.subject),1)]),_:2},1024),i(be,{class:"content-preview"},{default:u(()=>[w(h(s.assignment.content),1)]),_:2},1024),g("div",Et,[i(q,{size:"x-small",variant:"tonal"},{default:u(()=>[w(h(s.assignment.date),1)]),_:2},1024),(v(!0),j(E,null,R(s.assignment.tags,f=>(v(),x(q,{key:f,size:"x-small",color:"primary",variant:"tonal"},{default:u(()=>[w(h(f),1)]),_:2},1024))),128)),s.issues.length?(v(),j("span",Bt,h(s.issues.join(";")),1)):D("",!0)])])]),_:2},1024))),128))]),_:1})):!P.value&&!_.value?(v(),x(jt,{key:4,icon:"mdi-book-open-blank-variant-outline",text:"该日期没有可导出的作业",title:"暂无作业"})):D("",!0)]),g("div",At,[g("div",zt,[g("div",Lt,[Y.value?(v(),x(le,{key:0,indeterminate:""})):I.value?(v(),x(O,{key:1,type:"error",variant:"tonal"},{default:u(()=>[w(h(I.value),1)]),_:1})):M.value?(v(),j("iframe",{key:3,src:M.value,class:"pdf-preview-frame",title:"UAF 导出预览"},null,8,Mt)):(v(),x(O,{key:2,type:"info",variant:"tonal"},{default:u(()=>[...n[11]||(n[11]=[w(" 请选择有效作业以预览 ",-1)])]),_:1}))])]),i(_e,{modelValue:d.value,"onUpdate:modelValue":n[3]||(n[3]=s=>d.value=s),variant:"accordion",class:"mt-3 font-settings-panels"},{default:u(()=>[i(Ue,{value:"settings"},{default:u(()=>[i($e,null,{default:u(()=>[...n[12]||(n[12]=[w(" 导出字体设置 ",-1)])]),_:1}),i(je,null,{default:u(()=>[(v(),j(E,null,R(p,s=>g("div",{key:s.key,class:"mb-3"},[g("div",Ft,[g("span",It,h(s.label),1),i(ht,{modelValue:o.value[s.key].fontSize,"onUpdate:modelValue":f=>o.value[s.key].fontSize=f,min:s.min,max:s.max,step:.5,"hide-details":"",class:"flex-grow-1"},null,8,["modelValue","onUpdate:modelValue","min","max"]),i(Ve,{"model-value":o.value[s.key].fontSize,type:"number",min:s.min,max:s.max,step:"0.5",density:"compact","hide-details":"",variant:"outlined",class:"style-number-field","onUpdate:modelValue":f=>Oe(s.key,f)},null,8,["model-value","min","max","onUpdate:modelValue"])]),g("div",Nt,[n[13]||(n[13]=g("span",{class:"text-caption label-min-width"},"字重",-1)),i(De,{modelValue:o.value[s.key].fontWeight,"onUpdate:modelValue":f=>o.value[s.key].fontWeight=f,items:m,"item-title":"title","item-value":"value",density:"compact","hide-details":"",variant:"outlined",class:"style-weight-select"},null,8,["modelValue","onUpdate:modelValue"])])])),64))]),_:1})]),_:1})]),_:1},8,["modelValue"])])],2)],64)):(v(),j(E,{key:1},[i(wt,{modelValue:U.value,"onUpdate:modelValue":[n[4]||(n[4]=s=>U.value=s),We],accept:"application/pdf,.pdf",clearable:"",label:"选择 UAF PDF","prepend-icon":"mdi-file-pdf-box",disabled:J.value},null,8,["modelValue","disabled"]),T.value?(v(),x(le,{key:0,class:"mb-3",indeterminate:""})):D("",!0),$.value?(v(),x(O,{key:1,class:"mb-3",type:"error",variant:"tonal"},{default:u(()=>[w(h($.value),1)]),_:1})):D("",!0),ae.value.length?(v(),x(O,{key:2,class:"mb-3",type:"warning",variant:"tonal"},{default:u(()=>[w(h(ae.value.join(";")),1)]),_:1})):D("",!0),k.value?(v(),j(E,{key:3},[g("div",Ot," 共 "+h(k.value.rows.length)+" 项作业,分布在 "+h(re.value.length)+" 个日期。 冲突项默认保留现有内容。 ",1),i(_e,{multiple:"",variant:"accordion"},{default:u(()=>[(v(!0),j(E,null,R(re.value,s=>(v(),x(Ue,{key:s.date},{default:u(()=>[i($e,null,{default:u(()=>[w(h(ve(s.date))+" ",1),i(q,{class:"ml-2",size:"small",variant:"tonal"},{default:u(()=>[w(h(s.rows.length)+" 项 ",1)]),_:2},1024)]),_:2},1024),i(je,null,{default:u(()=>[i(he,{lines:"three"},{default:u(()=>[(v(!0),j(E,null,R(s.rows,f=>(v(),x(we,{key:f.id},{append:u(()=>[i(De,{modelValue:f.action,"onUpdate:modelValue":F=>f.action=F,class:"action-select",density:"compact","hide-details":"",items:Ye(f),"item-title":"title","item-value":"value",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"])]),default:u(()=>[i(ke,{class:"d-flex align-center"},{default:u(()=>[w(h(f.assignment.subject)+" ",1),f.conflict?(v(),x(q,{key:0,class:"ml-2",color:"warning",size:"x-small",variant:"tonal"},{default:u(()=>[...n[14]||(n[14]=[w(" 已有同名卡片 ",-1)])]),_:1})):D("",!0)]),_:2},1024),i(be,{class:"content-preview"},{default:u(()=>[w(h(f.assignment.content),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):D("",!0)],64))]),_:1}),i(ye),i(lt,null,{default:u(()=>[g("span",Rt,h(Ie.value),1),i(se),i(X,{variant:"text",disabled:J.value,onClick:n[5]||(n[5]=s=>y.value=!1)},{default:u(()=>[...n[15]||(n[15]=[w(" 取消 ",-1)])]),_:1},8,["disabled"]),i(X,{color:"primary",disabled:Fe.value,loading:J.value,"prepend-icon":e.mode==="export"?"mdi-download":"mdi-database-import-outline",onClick:n[6]||(n[6]=s=>e.mode==="export"?Re():Je())},{default:u(()=>[w(h(e.mode==="export"?"导出所选作业":"确认导入"),1)]),_:1},8,["disabled","loading","prepend-icon"])]),_:1})]),_:1})]),_:1},8,["modelValue","fullscreen"]))}},wa=tt(Wt,[["__scopeId","data-v-61facbee"]]);export{wa as default}; diff --git a/assets/UrgentTestDialog-BWpUKKV_.js b/assets/UrgentTestDialog-CSFlE7DZ.js similarity index 93% rename from assets/UrgentTestDialog-BWpUKKV_.js rename to assets/UrgentTestDialog-CSFlE7DZ.js index b82d1f3..6343329 100644 --- a/assets/UrgentTestDialog-BWpUKKV_.js +++ b/assets/UrgentTestDialog-CSFlE7DZ.js @@ -1 +1 @@ -import{_ as O,a as L}from"./ChatWidget-DtJTDDI5.js";import{a as S}from"./socketClient-D9GaxO-Q.js";import{d as N}from"./dataProvider-CBH3Lw3D.js";import{_ as W,e as h,f as I,g as V,h as v,d as y,l as w,c as T,p as j,q,k as b}from"./index-D042plwv.js";import{b as E,c as A}from"./VAppBarTitle-D2mhaxek.js";import{V as K}from"./VContainer-MApP1Vz1.js";import{V as F,a as x}from"./VRow-CH6EAfU_.js";import{V as M}from"./VForm-IEFsJ4YW.js";import{V as P}from"./VSwitch-CEojN9Vi.js";import{V as R}from"./VCheckbox-BPfe_uCD.js";import{V as z}from"./VTextarea-CnWToSV7.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-BiQC5iF7.js";import"./soundList-D9U-Grcp.js";import"./VChip-nQelUOZI.js";import"./vendor-vuetify-DpmmaPkh.js";import"./deviceEvents-W5dhgmtc.js";import"./VTooltip-DMSltD5A.js";import"./VPagination-LhWLJTqu.js";import"./vendor-socket-dm1FmSOd.js";import"./serverRotation-CbFrj566.js";import"./vendor-utils-2lvrqI0-.js";import"./VTextField-BoJUR4Xs.js";import"./VCheckboxBtn-64kBGXnq.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(j,{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 Ae=W(X,[["render",de],["__scopeId","data-v-128c728f"]]);export{Ae as default}; +import{_ as O,a as L}from"./ChatWidget-BQwxDQ-m.js";import{a as S}from"./socketClient-B3vfwKNR.js";import{d as N}from"./dataProvider-oxZzGARG.js";import{_ as W,e as h,f as I,g as V,h as v,d as y,l as w,c as T,p as j,q,k as b}from"./index-BvGH7GyK.js";import{b as E,c as A}from"./VAppBarTitle-CA6uS5-F.js";import{V as K}from"./VContainer-Cz0t7N-s.js";import{V as F,a as x}from"./VRow-CFI96Yew.js";import{V as M}from"./VForm-DrJP9yK2.js";import{V as P}from"./VSwitch-DEARo61Y.js";import{V as R}from"./VCheckbox-VrkfbZWi.js";import{V as z}from"./VTextarea-CCvrj_Hr.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-Hxtt57UU.js";import"./soundList-D9U-Grcp.js";import"./VChip-CyVmT8se.js";import"./vendor-vuetify-KiFW-YAv.js";import"./deviceEvents-DDMVNIIy.js";import"./VTooltip-CvIsrMQ_.js";import"./VPagination-DC48wzod.js";import"./vendor-socket-SYmKJpIj.js";import"./serverRotation-CVerzUcJ.js";import"./vendor-utils-SR2uUhRI.js";import"./VTextField-jDykTfh9.js";import"./VCheckboxBtn-D_PchAC2.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(j,{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 Ae=W(X,[["render",de],["__scopeId","data-v-128c728f"]]);export{Ae as default}; diff --git a/assets/VAlert-DdY_LS-W.js b/assets/VAlert-DdY_LS-W.js new file mode 100644 index 0000000..77e285f --- /dev/null +++ b/assets/VAlert-DdY_LS-W.js @@ -0,0 +1 @@ +import{aa as M,p as P,j as R,q as w,k as F,an as O,I as p,m as E,n as q}from"./vendor-vuetify-KiFW-YAv.js";import{aj as G,K,O as H,ak as J,N as Q,G as U,al as W,f as X,ac as y,h as Y,b as Z,af as ee,am as ae,m as te,R as le,an as ne,T as oe,ag as se,a as ie,M as re}from"./index-BvGH7GyK.js";import{e as ce,j as l,k as o,N as f,n as k,m as S,t as b}from"./vendor-vue-Hxtt57UU.js";const ue=M("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 me(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 ve=["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:p,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=>ve.includes(e)},...q(),...re(),...ie(),...se(),...de(),...oe(),...ne(),...le(),...te(),...E(),...ae({variant:"flat"})},"VAlert"),be=R()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,s){let{emit:c,slots:a}=s;const t=w(e,"modelValue"),i=b(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:V}=me(e,()=>e.prominent?44:void 0),{themeClasses:g}=F(e),{colorClasses:z,colorStyles:C,variantClasses:x}=G(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=K(e),{dimensionStyles:I}=Z(e),{elevationClasses:h}=ee(e),{locationStyles:B}=H(e),{positionClasses:T}=J(e),{roundedClasses:A}=Q(e),{textColorClasses:D,textColorStyles:L}=U(()=>e.borderColor),{t:N}=O(),u=b(()=>({"aria-label":N(e.closeLabel),onClick(r){t.value=!1,c("click:close",r)}}));return()=>{const r=!!(a.prepend||i.value),$=!!(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:k(["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,h.value,T.value,A.value,x.value,e.class]),style:f([C.value,I.value,B.value,e.style]),role:"alert"},{default:()=>{var m,v;return[W(!1,"v-alert"),e.border&&o("div",{key:"border",class:k(["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,S({key:"prepend-icon"},d),null)]),o("div",{class:"v-alert__content"},[$&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((m=a.text)==null?void 0:m.call(a))??e.text,(v=a.default)==null?void 0:v.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,S({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-ZP8s_5ha.js b/assets/VAlert-ZP8s_5ha.js deleted file mode 100644 index 97c06e5..0000000 --- a/assets/VAlert-ZP8s_5ha.js +++ /dev/null @@ -1 +0,0 @@ -import{aa as R,p as P,f as j,n as w,h as F,an as O,I as p,m as E,k as G}from"./vendor-vuetify-DpmmaPkh.js";import{aj as K,K as q,O as H,ak as J,N as Q,G as U,al as W,f as X,ac as y,h as Y,b as Z,af as ee,am as ae,m as te,R as le,an as ne,T as oe,ag as se,a as ie,M as re}from"./index-D042plwv.js";import{e as ce,j as l,k as o,N as f,n as k,m as S,t as b}from"./vendor-vue-BiQC5iF7.js";const ue=R("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 me(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 ve=["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:p,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=>ve.includes(e)},...G(),...re(),...ie(),...se(),...de(),...oe(),...ne(),...le(),...te(),...E(),...ae({variant:"flat"})},"VAlert"),be=j()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,s){let{emit:c,slots:a}=s;const t=w(e,"modelValue"),i=b(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:V}=me(e,()=>e.prominent?44:void 0),{themeClasses:g}=F(e),{colorClasses:z,colorStyles:C,variantClasses:x}=K(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=q(e),{dimensionStyles:h}=Z(e),{elevationClasses:I}=ee(e),{locationStyles:B}=H(e),{positionClasses:T}=J(e),{roundedClasses:A}=Q(e),{textColorClasses:D,textColorStyles:L}=U(()=>e.borderColor),{t:N}=O(),u=b(()=>({"aria-label":N(e.closeLabel),onClick(r){t.value=!1,c("click:close",r)}}));return()=>{const r=!!(a.prepend||i.value),$=!!(a.title||e.title),M=!!(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:k(["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,T.value,A.value,x.value,e.class]),style:f([C.value,h.value,B.value,e.style]),role:"alert"},{default:()=>{var m,v;return[W(!1,"v-alert"),e.border&&o("div",{key:"border",class:k(["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,S({key:"prepend-icon"},d),null)]),o("div",{class:"v-alert__content"},[$&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((m=a.text)==null?void 0:m.call(a))??e.text,(v=a.default)==null?void 0:v.call(a)]),a.append&&o("div",{key:"append",class:"v-alert__append"},[a.append()]),M&&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,S({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-D2mhaxek.js b/assets/VAppBarTitle-CA6uS5-F.js similarity index 90% rename from assets/VAppBarTitle-D2mhaxek.js rename to assets/VAppBarTitle-CA6uS5-F.js index 6deac90..a3b866e 100644 --- a/assets/VAppBarTitle-D2mhaxek.js +++ b/assets/VAppBarTitle-CA6uS5-F.js @@ -1 +1 @@ -import{m as U,H as K,ae as Q,O as X,N as Z,C as ee,ac as z,a1 as te,af as ae,R as le,T as oe,ag as ne,ah as se,u as ie}from"./index-D042plwv.js";import{f as A,u as I,p as R,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-DpmmaPkh.js";import{j as f,k as P,N as j,n as q,s as h,e as d,o as N,D as be,A as ye,b as F,w as Se,m as O,t as L}from"./vendor-vue-BiQC5iF7.js";const $=R({text:String,...M(),...U()},"VToolbarTitle"),J=A()({name:"VToolbarTitle",props:$(),setup(e,b){let{slots:t}=b;return I(()=>{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=R({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=A()({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"}}),I(()=>{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(J,{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=R({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,_=v.value+g;B.value=T>_}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 _=Math.abs(s.value-n)>100,G=s.value<=5;(r.value&&n-s.value>1&&!g||_&&s.value{c.value=c.value||s.value}),N(k,()=>{c.value=0}),be(()=>{N(()=>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&&N(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=R({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=A()({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 I(()=>{const a=W(D.filterProps(e),["location"]);return f(D,O({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=A()({name:"VAppBarTitle",props:$(),setup(e,b){let{slots:t}=b;return I(()=>f(J,O(e,{class:"v-app-bar-title"}),t)),{}}});export{Ce as V,Pe as a,D as b,J as c}; +import{m as U,H as K,ae as Q,O as X,N as Z,C as ee,ac as z,a1 as te,af as ae,R as le,T as oe,ag as ne,ah as se,u as ie}from"./index-BvGH7GyK.js";import{j as A,u as I,p as R,n as M,k as re,A as ue,l as ce,a as E,m as ve,z as de,q as me,C as ge,ay as he,a5 as q,az as fe}from"./vendor-vuetify-KiFW-YAv.js";import{j as f,k as P,N as W,n as j,s as h,e as d,o as N,D as be,A as ye,b as F,w as Se,m as O,t as L}from"./vendor-vue-Hxtt57UU.js";const $=R({text:String,...M(),...U()},"VToolbarTitle"),J=A()({name:"VToolbarTitle",props:$(),setup(e,b){let{slots:t}=b;return I(()=>{const u=!!(t.default||t.text||e.text);return f(e.tag,{class:j(["v-toolbar-title",e.class]),style:W(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=R({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=A()({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"}}),I(()=>{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:j(["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:W([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(J,{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=R({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,_=v.value+g;B.value=T>_}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 _=Math.abs(s.value-n)>100,G=s.value<=5;(r.value&&n-s.value>1&&!g||_&&s.value{c.value=c.value||s.value}),N(k,()=>{c.value=0}),be(()=>{N(()=>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&&N(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=R({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...q(Y(),["location"]),...fe(),...He(),height:{type:[Number,String],default:64}},"VAppBar"),Pe=A()({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 I(()=>{const a=q(D.filterProps(e),["location"]);return f(D,O({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=A()({name:"VAppBarTitle",props:$(),setup(e,b){let{slots:t}=b;return I(()=>f(J,O(e,{class:"v-app-bar-title"}),t)),{}}});export{Ce as V,Pe as a,D as b,J as c}; diff --git a/assets/VAutocomplete-6kKJB-90.js b/assets/VAutocomplete-6kKJB-90.js deleted file mode 100644 index e4dea35..0000000 --- a/assets/VAutocomplete-6kKJB-90.js +++ /dev/null @@ -1 +0,0 @@ -import{h as Oe,f as ze,V as te,i as Ue}from"./VTextField-BoJUR4Xs.js";import{u as $e,a as qe,c as Ge,h as He,d as je,e as We,m as Je,b as Qe,f as Xe}from"./VSelect-mQ_XLRnU.js";import{aD as Ye,G as Ze,f as ue,p as el,q as ne,i as ll,a2 as al,o as tl,ac as ul,I as nl}from"./index-D042plwv.js";import{f as ol,an as il,n as W,w as sl,E as rl,u as cl,aK as vl,aL as dl,aM as oe,o as fl,_ as ie,p as ml,a5 as pl}from"./vendor-vuetify-DpmmaPkh.js";import{V as hl}from"./VMenu-Ps4XkZIl.js";import{V as gl}from"./VSheet-BWNNvcYw.js";import{V as yl}from"./VCheckboxBtn-64kBGXnq.js";import{V as se}from"./VChip-nQelUOZI.js";import{o as z,I as re,j as f,k as x,F as J,m as S,N as Vl,n as kl,a1 as bl,s as A,e as I,b as P,t as Cl}from"./vendor-vue-BiQC5iF7.js";const Sl=ml({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...Je({filterKeys:["title"]}),...We(),...pl(Ue({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VAutocomplete"),El=ol()({name:"VAutocomplete",props:Sl(),emits:{"update:focused":l=>!0,"update:search":l=>!0,"update:modelValue":l=>!0,"update:menu":l=>!0},setup(l,ce){let{slots:t}=ce;const{t:ve}=il(),m=P(),h=A(!1),g=A(!0),U=A(!1),L=P(),$=P(),r=A(-1),R=A(null),{items:q,transformIn:de,transformOut:fe}=Ye(l),{textColorClasses:me,textColorStyles:pe}=Ze(()=>{var e;return(e=m.value)==null?void 0:e.color}),{InputIcon:he}=Oe(l),c=W(l,"search",""),n=W(l,"modelValue",[],e=>de(e===null?[null]:sl(e)),e=>{const a=fe(e);return l.multiple?a:a[0]??null}),ge=I(()=>typeof l.counterValue=="function"?l.counterValue(n.value):typeof l.counterValue=="number"?l.counterValue:n.value.length),D=ze(l),{filteredItems:_,getMatches:ye}=$e(l,q,()=>R.value??(g.value?"":c.value)),y=I(()=>l.hideSelected&&R.value===null?_.value.filter(e=>!n.value.some(a=>a.value===e.value)):_.value),Q=Cl(()=>l.closableChips&&!D.isReadonly.value&&!D.isDisabled.value),B=I(()=>!!(l.chips||t.chip)),M=I(()=>B.value||!!t.selection),Ve=I(()=>n.value.map(e=>e.props.value)),E=I(()=>y.value.find(e=>e.type==="item"&&!e.props.disabled)),G=I(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&c.value===((a=E.value)==null?void 0:a.title))&&y.value.length>0&&!g.value&&!U.value}),K=I(()=>l.hideNoData&&!y.value.length||D.isReadonly.value||D.isDisabled.value),H=W(l,"menu"),v=I({get:()=>H.value,set:e=>{var a;H.value&&!e&&((a=L.value)!=null&&a.ΨopenChildren.size)||e&&K.value||(H.value=e)}}),{menuId:ke,ariaExpanded:be,ariaControls:Ce}=qe(l,v),T=P(),X=P(),Y=P(),Se=je(T,m),Ie=Xe(v,()=>{var e;return(e=L.value)==null?void 0:e.contentEl},()=>{var e;return(e=m.value)==null?void 0:e.controlRef}),{onTabKeydown:we}=Qe({groups:[{type:"element",contentRef:X},{type:"list",contentRef:T,displayItemsCount:()=>y.value.length},{type:"element",contentRef:Y}],onLeave:()=>{var e;v.value=!1,(e=m.value)==null||e.focus()}});function xe(e){l.openOnClear&&(v.value=!0),c.value=""}function Fe(){K.value||(v.value=!0)}function Re(e){K.value||(h.value&&(e.preventDefault(),e.stopPropagation()),v.value=!v.value)}function De(e){var a,u;e.key==="Tab"&&we(e),(a=T.value)!=null&&a.$el.contains(e.target)&&(oe(e)||e.key==="Backspace")&&((u=m.value)==null||u.focus())}function Ae(e){var V,d,w,k,o;if(D.isReadonly.value)return;const a=(V=m.value)==null?void 0:V.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),G.value&&["Enter","Tab"].includes(e.key)&&E.value&&!n.value.some(i=>{let{value:b}=i;return b===E.value.value})&&F(E.value),e.key==="ArrowDown"&&G.value&&((d=T.value)==null||d.focus("next")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&M.value&&n.value.length>0&&!c.value)return F(n.value[0],!1);if(~r.value){e.preventDefault();const i=r.value;F(n.value[r.value],!1),r.value=i>=u-1?u-2:i}else e.key==="Backspace"&&!c.value&&(r.value=u-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(r.value<0&&a&&a>0)return;const i=r.value>-1?r.value-1:u-1;if(n.value[i])r.value=i;else{const b=((w=c.value)==null?void 0:w.length)??null;r.value=-1,(k=m.value)==null||k.setSelectionRange(b,b)}}else if(e.key==="ArrowRight"){if(r.value<0)return;const i=r.value+1;n.value[i]?r.value=i:(r.value=-1,(o=m.value)==null||o.setSelectionRange(0,0))}else~r.value&&oe(e)&&(r.value=-1)}function Pe(e){if(ie(m.value,":autofill")||ie(m.value,":-webkit-autofill")){const a=q.value.find(u=>u.title===e.target.value);a&&F(a)}}function Me(){var e;l.eager&&((e=$.value)==null||e.calculateVisibleItems())}function Ee(){var e;h.value&&(g.value=!0,(e=m.value)==null||e.focus()),R.value=null}function Te(e){h.value=!0,setTimeout(()=>{U.value=!0})}function Le(e){var a;if(U.value=!1,!((a=m.value)!=null&&a.$el.contains(e.relatedTarget))){if(Ie(e))return;h.value=!1}}function _e(e){(e==null||e===""&&!l.multiple&&!M.value)&&(n.value=[])}function Be(e){var u;const a=(u=L.value)==null?void 0:u.contentEl;a!=null&&a.contains(e.relatedTarget)&&(h.value=!0)}const j=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||fl)(d.value,e.value)),V=a??!~u;if(~u){const d=V?[...n.value,e]:[...n.value];d.splice(u,1),n.value=d}else V&&(n.value=[...n.value,e]);l.clearOnSelect&&(c.value="")}else{const u=a!==!1;n.value=u?[e]:[],R.value=g.value?"":c.value??"",c.value=u&&!M.value?e.title:"",re(()=>{v.value=!1,g.value=!0})}}return z(h,(e,a)=>{var u;e!==a&&(e?(j.value=!0,c.value=l.multiple||M.value?"":String(((u=n.value.at(-1))==null?void 0:u.props.title)??""),g.value=!0,re(()=>j.value=!1)):(!l.multiple&&c.value==null&&(n.value=[]),v.value=!1,!g.value&&c.value&&(R.value=c.value),c.value="",r.value=-1))}),z(c,e=>{!h.value||j.value||(e&&(v.value=!0),g.value=!e)}),z(v,e=>{if(!l.hideSelected&&e&&n.value.length&&g.value){const a=y.value.findIndex(u=>n.value.some(V=>u.value===V.value));rl&&!l.noAutoScroll&&window.requestAnimationFrame(()=>{var u;a>=0&&((u=$.value)==null||u.scrollToIndex(a))})}e&&(R.value=null)}),z(q,(e,a)=>{v.value||h.value&&!a.length&&e.length&&(v.value=!0)}),cl(()=>{const e=!!(!l.hideNoData||y.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=n.value.length>0,u=te.filterProps(l),V={search:c,filteredItems:_.value};return f(te,S({ref:m},u,{modelValue:c.value,"onUpdate:modelValue":[d=>c.value=d,_e],focused:h.value,"onUpdate:focused":d=>h.value=d,validationValue:n.externalValue,counterValue:ge.value,dirty:a,onChange:Pe,class:["v-autocomplete",`v-autocomplete--${l.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":v.value,"v-autocomplete--chips":!!l.chips,"v-autocomplete--selection-slot":!!M.value,"v-autocomplete--selecting-index":r.value>-1},l.class],style:l.style,readonly:D.isReadonly.value,placeholder:a?void 0:l.placeholder,"onClick:clear":xe,"onMousedown:control":Fe,onKeydown:Ae,onBlur:Be,"aria-expanded":be.value,"aria-controls":Ce.value}),{...t,default:d=>{var k;let{id:w}=d;return x(J,null,[f(hl,S({id:ke.value,ref:L,modelValue:v.value,"onUpdate:modelValue":o=>v.value=o,activator:"parent",disabled:K.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Me,onAfterLeave:Ee},l.menuProps,{contentClass:["v-autocomplete__content",(k=l.menuProps)==null?void 0:k.contentClass]}),{default:()=>[f(gl,{onFocusin:Te,onKeydown:De},{default:()=>[t["menu-header"]&&x("header",{ref:X},[t["menu-header"](V)]),e&&f(el,S({key:"autocomplete-list",ref:T,filterable:!0,selected:Ve.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:o=>o.preventDefault(),onFocusout:Le,tabindex:"-1",selectable:!!y.value.length,"aria-live":"polite","aria-labelledby":`${w.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Se,l.listProps),{default:()=>{var o,i,b;return[(o=t["prepend-item"])==null?void 0:o.call(t),!y.value.length&&!l.hideNoData&&(((i=t["no-data"])==null?void 0:i.call(t))??f(ne,{key:"no-data",title:ve(l.noDataText)},null)),f(Ge,{ref:$,renderless:!0,items:y.value,itemKey:"value"},{default:N=>{var ee,le,ae;let{item:s,index:C,itemRef:p}=N;const Z=S(s.props,{ref:p,key:s.value,active:G.value&&s===E.value?!0:void 0,onClick:()=>F(s,null),"aria-posinset":C+1,"aria-setsize":y.value.length});return s.type==="divider"?((ee=t.divider)==null?void 0:ee.call(t,{props:s.raw,index:C}))??f(ll,S(s.props,{key:`divider-${C}`}),null):s.type==="subheader"?((le=t.subheader)==null?void 0:le.call(t,{props:s.raw,index:C}))??f(al,S(s.props,{key:`subheader-${C}`}),null):((ae=t.item)==null?void 0:ae.call(t,{item:s,index:C,props:Z}))??f(ne,S(Z,{role:"option"}),{prepend:O=>{let{isSelected:Ke}=O;return x(J,null,[l.multiple&&!l.hideSelected?f(yl,{key:s.value,modelValue:Ke,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Ne=>Ne.preventDefault()},null):void 0,s.props.prependAvatar&&f(tl,{image:s.props.prependAvatar},null),s.props.prependIcon&&f(ue,{icon:s.props.prependIcon},null)])},title:()=>{var O;return g.value?s.title:He("v-autocomplete",s.title,(O=ye(s))==null?void 0:O.title)}})}}),(b=t["append-item"])==null?void 0:b.call(t)]}}),t["menu-footer"]&&x("footer",{ref:Y},[t["menu-footer"](V)])]})]}),n.value.map((o,i)=>{function b(p){p.stopPropagation(),p.preventDefault(),F(o,!1)}const N=S(se.filterProps(o.props),{"onClick:close":b,onKeydown(p){p.key!=="Enter"&&p.key!==" "||(p.preventDefault(),p.stopPropagation(),b(p))},onMousedown(p){p.preventDefault(),p.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),s=B.value?!!t.chip:!!t.selection,C=s?dl(B.value?t.chip({item:o,index:i,props:N}):t.selection({item:o,index:i})):void 0;if(!(s&&!C))return x("div",{key:o.value,class:kl(["v-autocomplete__selection",i===r.value&&["v-autocomplete__selection--selected",me.value]]),style:Vl(i===r.value?pe.value:{})},[B.value?t.chip?f(ul,{key:"chip-defaults",defaults:{VChip:{closable:Q.value,size:"small",text:o.title}}},{default:()=>[C]}):f(se,S({key:"chip",closable:Q.value,size:"small",text:o.title,disabled:o.props.disabled},N),null):C??x("span",{class:"v-autocomplete__selection-text"},[o.title,l.multiple&&i!0,"update:search":l=>!0,"update:modelValue":l=>!0,"update:menu":l=>!0,"item:added":l=>!0,"item:removed":l=>!0},setup(l,ve){let{emit:x,slots:t}=ve;const{t:de}=rl(),p=M(),V=P(!1),k=P(!0),$=P(!1),_=M(),q=M(),c=P(-1),D=P(null),{items:j,transformIn:fe,transformOut:me}=Ze(l),{textColorClasses:pe,textColorStyles:he}=el(()=>{var e;return(e=p.value)==null?void 0:e.color}),{InputIcon:ge}=ze(l),v=J(l,"search",""),u=J(l,"modelValue",[],e=>fe(e===null?[null]:sl(e)),e=>{const a=me(e);return l.multiple?a:a[0]??null}),ye=w(()=>typeof l.counterValue=="function"?l.counterValue(u.value):typeof l.counterValue=="number"?l.counterValue:u.value.length),A=Ue(l),{filteredItems:B,getMatches:Ve}=qe(l,j,()=>D.value??(k.value?"":v.value)),b=w(()=>l.hideSelected&&D.value===null?B.value.filter(e=>!u.value.some(a=>a.value===e.value)):B.value),X=Sl(()=>l.closableChips&&!A.isReadonly.value&&!A.isDisabled.value),K=w(()=>!!(l.chips||t.chip)),E=w(()=>K.value||!!t.selection),ke=w(()=>u.value.map(e=>e.props.value)),T=w(()=>b.value.find(e=>e.type==="item"&&!e.props.disabled)),G=w(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&v.value===((a=T.value)==null?void 0:a.title))&&b.value.length>0&&!k.value&&!$.value}),N=w(()=>l.hideNoData&&!b.value.length||A.isReadonly.value||A.isDisabled.value),H=J(l,"menu"),d=w({get:()=>H.value,set:e=>{var a;H.value&&!e&&((a=_.value)!=null&&a.ΨopenChildren.size)||e&&N.value||(H.value=e)}}),{menuId:be,ariaExpanded:Ce,ariaControls:Se}=je(l,d),L=M(),Y=M(),Z=M(),Ie=We(L,p),we=Ye(d,()=>{var e;return(e=_.value)==null?void 0:e.contentEl},()=>{var e;return(e=p.value)==null?void 0:e.controlRef}),{onTabKeydown:xe}=Xe({groups:[{type:"element",contentRef:Y},{type:"list",contentRef:L,displayItemsCount:()=>b.value.length},{type:"element",contentRef:Z}],onLeave:()=>{var e;d.value=!1,(e=p.value)==null||e.focus()}});function Fe(e){l.openOnClear&&(d.value=!0),v.value=""}function Re(){N.value||(d.value=!0)}function De(e){N.value||(V.value&&(e.preventDefault(),e.stopPropagation()),d.value=!d.value)}function Ae(e){var a,n;e.key==="Tab"&&xe(e),(a=L.value)!=null&&a.$el.contains(e.target)&&(ie(e)||e.key==="Backspace")&&((n=p.value)==null||n.focus())}function Pe(e){var f,o,h,y,i;if(A.isReadonly.value)return;const a=(f=p.value)==null?void 0:f.selectionStart,n=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(d.value=!0),["Escape"].includes(e.key)&&(d.value=!1),G.value&&["Enter","Tab"].includes(e.key)&&T.value&&!u.value.some(r=>{let{value:C}=r;return C===T.value.value})&&R(T.value),e.key==="ArrowDown"&&G.value&&((o=L.value)==null||o.focus("next")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&E.value&&u.value.length>0&&!v.value)return R(u.value[0],!1);if(~c.value){e.preventDefault();const r=c.value;R(u.value[c.value],!1),c.value=r>=n-1?n-2:r}else e.key==="Backspace"&&!v.value&&(c.value=n-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(c.value<0&&a&&a>0)return;const r=c.value>-1?c.value-1:n-1;if(u.value[r])c.value=r;else{const C=((h=v.value)==null?void 0:h.length)??null;c.value=-1,(y=p.value)==null||y.setSelectionRange(C,C)}}else if(e.key==="ArrowRight"){if(c.value<0)return;const r=c.value+1;u.value[r]?c.value=r:(c.value=-1,(i=p.value)==null||i.setSelectionRange(0,0))}else~c.value&&ie(e)&&(c.value=-1)}function Me(e){if(re(p.value,":autofill")||re(p.value,":-webkit-autofill")){const a=j.value.find(n=>n.title===e.target.value);a&&R(a)}}function Ee(){var e;l.eager&&((e=q.value)==null||e.calculateVisibleItems())}function Te(){var e;V.value&&(k.value=!0,(e=p.value)==null||e.focus()),D.value=null}function Le(e){V.value=!0,setTimeout(()=>{$.value=!0})}function _e(e){var a;if($.value=!1,!((a=p.value)!=null&&a.$el.contains(e.relatedTarget))){if(we(e))return;V.value=!1}}function Be(e){if(e==null||e===""&&!l.multiple&&!E.value){for(const a of u.value)x("item:removed",a);u.value=[]}}function Ke(e){var n;const a=(n=_.value)==null?void 0:n.contentEl;a!=null&&a.contains(e.relatedTarget)&&(V.value=!0)}const W=P(!1);function R(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!e||e.props.disabled)return;const n=l.valueComparator||ml;if(l.multiple){const f=u.value.findIndex(h=>n(h.value,e.value)),o=a??!~f;if(~f){const h=o?[...u.value,e]:[...u.value],[y]=h.splice(f,1);o||x("item:removed",y),u.value=h}else o&&(x("item:added",e),u.value=[...u.value,e]);l.clearOnSelect&&(v.value="")}else{const f=a!==!1,o=u.value[0];f?(o&&!n(o.value,e.value)?(x("item:removed",o),x("item:added",e)):o||x("item:added",e),u.value=[e]):(o&&x("item:removed",o),u.value=[]),D.value=k.value?"":v.value??"",v.value=f&&!E.value?e.title:"",ce(()=>{d.value=!1,k.value=!0})}}return U(V,(e,a)=>{var n;if(e!==a)if(e)W.value=!0,v.value=l.multiple||E.value?"":String(((n=u.value.at(-1))==null?void 0:n.props.title)??""),k.value=!0,ce(()=>W.value=!1);else{if(!l.multiple&&v.value==null){for(const f of u.value)x("item:removed",f);u.value=[]}d.value=!1,!k.value&&v.value&&(D.value=v.value),v.value="",c.value=-1}}),U(v,e=>{!V.value||W.value||(e&&(d.value=!0),k.value=!e)}),U(d,e=>{if(!l.hideSelected&&e&&u.value.length&&k.value){const a=b.value.findIndex(n=>u.value.some(f=>n.value===f.value));cl&&!l.noAutoScroll&&window.requestAnimationFrame(()=>{var n;a>=0&&((n=q.value)==null||n.scrollToIndex(a))})}e&&(D.value=null)}),U(j,(e,a)=>{d.value||V.value&&!a.length&&e.length&&(d.value=!0)}),vl(()=>{const e=!!(!l.hideNoData||b.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=u.value.length>0,n=ue.filterProps(l),f={search:v,filteredItems:B.value};return m(ue,I({ref:p},n,{modelValue:v.value,"onUpdate:modelValue":[o=>v.value=o,Be],focused:V.value,"onUpdate:focused":o=>V.value=o,validationValue:u.externalValue,counterValue:ye.value,dirty:a,onChange:Me,class:["v-autocomplete",`v-autocomplete--${l.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":d.value,"v-autocomplete--chips":!!l.chips,"v-autocomplete--selection-slot":!!E.value,"v-autocomplete--selecting-index":c.value>-1},l.class],style:l.style,readonly:A.isReadonly.value,placeholder:a?void 0:l.placeholder,"onClick:clear":Fe,"onMousedown:control":Re,onKeydown:Pe,onBlur:Ke,"aria-expanded":Ce.value,"aria-controls":Se.value}),{...t,default:o=>{var y;let{id:h}=o;return F(Q,null,[m(gl,I({id:be.value,ref:_,modelValue:d.value,"onUpdate:modelValue":i=>d.value=i,activator:"parent",disabled:N.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ee,onAfterLeave:Te},l.menuProps,{contentClass:["v-autocomplete__content",(y=l.menuProps)==null?void 0:y.contentClass]}),{default:()=>[m(yl,{onFocusin:Le,onKeydown:Ae},{default:()=>[t["menu-header"]&&F("header",{ref:Y},[t["menu-header"](f)]),e&&m(ll,I({key:"autocomplete-list",ref:L,filterable:!0,selected:ke.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:i=>i.preventDefault(),onFocusout:_e,tabindex:"-1",selectable:!!b.value.length,"aria-live":"polite","aria-labelledby":`${h.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Ie,l.listProps),{default:()=>{var i,r,C;return[(i=t["prepend-item"])==null?void 0:i.call(t),!b.value.length&&!l.hideNoData&&(((r=t["no-data"])==null?void 0:r.call(t))??m(oe,{key:"no-data",title:de(l.noDataText)},null)),m(Ge,{ref:q,renderless:!0,items:b.value,itemKey:"value"},{default:O=>{var le,ae,te;let{item:s,index:S,itemRef:g}=O;const ee=I(s.props,{ref:g,key:s.value,active:G.value&&s===T.value?!0:void 0,onClick:()=>R(s,null),"aria-posinset":S+1,"aria-setsize":b.value.length});return s.type==="divider"?((le=t.divider)==null?void 0:le.call(t,{props:s.raw,index:S}))??m(al,I(s.props,{key:`divider-${S}`}),null):s.type==="subheader"?((ae=t.subheader)==null?void 0:ae.call(t,{props:s.raw,index:S}))??m(tl,I(s.props,{key:`subheader-${S}`}),null):((te=t.item)==null?void 0:te.call(t,{item:s,index:S,props:ee}))??m(oe,I(ee,{role:"option"}),{prepend:z=>{let{isSelected:Ne}=z;return F(Q,null,[l.multiple&&!l.hideSelected?m(Vl,{key:s.value,modelValue:Ne,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Oe=>Oe.preventDefault()},null):void 0,s.props.prependAvatar&&m(ul,{image:s.props.prependAvatar},null),s.props.prependIcon&&m(ne,{icon:s.props.prependIcon},null)])},title:()=>{var z;return k.value?s.title:He("v-autocomplete",s.title,(z=Ve(s))==null?void 0:z.title)}})}}),(C=t["append-item"])==null?void 0:C.call(t)]}}),t["menu-footer"]&&F("footer",{ref:Z},[t["menu-footer"](f)])]})]}),u.value.map((i,r)=>{function C(g){g.stopPropagation(),g.preventDefault(),R(i,!1)}const O=I(se.filterProps(i.props),{"onClick:close":C,onKeydown(g){g.key!=="Enter"&&g.key!==" "||(g.preventDefault(),g.stopPropagation(),C(g))},onMousedown(g){g.preventDefault(),g.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),s=K.value?!!t.chip:!!t.selection,S=s?fl(K.value?t.chip({item:i,index:r,props:O}):t.selection({item:i,index:r})):void 0;if(!(s&&!S))return F("div",{key:i.value,class:bl(["v-autocomplete__selection",r===c.value&&["v-autocomplete__selection--selected",pe.value]]),style:kl(r===c.value?he.value:{})},[K.value?t.chip?m(nl,{key:"chip-defaults",defaults:{VChip:{closable:X.value,size:"small",text:i.title}}},{default:()=>[S]}):m(se,I({key:"chip",closable:X.value,size:"small",text:i.title,disabled:i.props.disabled},O),null):S??F("span",{class:"v-autocomplete__selection-text"},[i.title,l.multiple&&r!0,"update:focused":e=>!0},setup(e,n){let{attrs:i,slots:a}=n;const s=j(e,"modelValue"),{isFocused:m,focus:f,blur:p}=F(e),t=N(),V=M();return w(()=>{const[b,k]=D(i),v=l.filterProps(e),x=r.filterProps(e);return d(l,c({ref:t,class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:m.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:P,isDisabled:C,isReadonly:y,isValid:I}=o;return d(r,c(x,{id:h.value,"aria-describedby":P.value,disabled:C.value,readonly:y.value},k,{error:I.value===!1,modelValue:s.value,"onUpdate:modelValue":A=>s.value=A,onFocus:f,onBlur:p}),a)}})}),g({},t)}});export{K as V}; diff --git a/assets/VCheckbox-VrkfbZWi.js b/assets/VCheckbox-VrkfbZWi.js new file mode 100644 index 0000000..bc7942f --- /dev/null +++ b/assets/VCheckbox-VrkfbZWi.js @@ -0,0 +1 @@ +import{V as r,m as B}from"./VCheckboxBtn-D_PchAC2.js";import{u as F,b as l,m as R}from"./VTextField-jDykTfh9.js";import{I as g}from"./index-BvGH7GyK.js";import{j,q as U,u as q,aB as w,p as D,a5 as u}from"./vendor-vuetify-KiFW-YAv.js";import{E,j as d,m as c,b as M}from"./vendor-vue-Hxtt57UU.js";const N=D({...u(R(),["direction"]),...u(B(),["inline"])},"VCheckbox"),K=j()({name:"VCheckbox",inheritAttrs:!1,props:N(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,n){let{attrs:i,slots:a}=n;const s=U(e,"modelValue"),{isFocused:m,focus:f,blur:p}=F(e),t=M(),V=E();return q(()=>{const[b,k]=w(i),v=l.filterProps(e),x=r.filterProps(e);return d(l,c({ref:t,class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:m.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:P,isDisabled:C,isReadonly:y,isValid:I}=o;return d(r,c(x,{id:h.value,"aria-describedby":P.value,disabled:C.value,readonly:y.value},k,{error:I.value===!1,modelValue:s.value,"onUpdate:modelValue":A=>s.value=A,onFocus:f,onBlur:p}),a)}})}),g({},t)}});export{K as V}; diff --git a/assets/VCheckboxBtn-64kBGXnq.js b/assets/VCheckboxBtn-D_PchAC2.js similarity index 80% rename from assets/VCheckboxBtn-64kBGXnq.js rename to assets/VCheckboxBtn-D_PchAC2.js index aa21e26..e5b2512 100644 --- a/assets/VCheckboxBtn-64kBGXnq.js +++ b/assets/VCheckboxBtn-D_PchAC2.js @@ -1 +1 @@ -import{a,m as f}from"./VSwitch-CEojN9Vi.js";import{f as I,n as c,u as V,a5 as v,p as k,I as x}from"./vendor-vuetify-DpmmaPkh.js";import{j as h,m as b,t as l}from"./vendor-vue-BiQC5iF7.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}; +import{a,m as f}from"./VSwitch-DEARo61Y.js";import{j as I,q as c,u as V,a5 as v,p as k,I as x}from"./vendor-vuetify-KiFW-YAv.js";import{j as h,m as b,t as l}from"./vendor-vue-Hxtt57UU.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-nQelUOZI.js b/assets/VChip-CyVmT8se.js similarity index 96% rename from assets/VChip-nQelUOZI.js rename to assets/VChip-CyVmT8se.js index 8dd1892..e21fc4d 100644 --- a/assets/VChip-nQelUOZI.js +++ b/assets/VChip-CyVmT8se.js @@ -1 +1 @@ -import{o as ye,j as h,k,n as L,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 Re}from"./vendor-vue-BiQC5iF7.js";import{a6 as pe,aq as oe,f as E,ar as ke,m as le,am as ge,ao as ce,ae as Ee,K as _e,N as Te,as as Be,a7 as re,at as Fe,aj as Oe,al as De,au as Ge,ac as H,o as ue,af as Me,av as We,aw as Le,R as He,aa as Ne,ag as $e,M as qe,ah as Ke}from"./index-D042plwv.js";import{f as te,A as je,a0 as Ue,y as de,aD as Qe,E as ve,u as be,$ as Xe,p as ae,I as _,at 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-DpmmaPkh.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=Ve(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),I=F(0),v=S(()=>e.direction==="horizontal"),{resizeRef:d,contentRect:a}=de(),{resizeRef:u,contentRect:b}=de(),D=Qe(),C=S(()=>({container:d.el,duration:200,easing:"easeOutQuart"})),N=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(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],I.value=b.value[l],p.value=g.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(!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?D.horizontal(t,C.value):D(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){G(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)))&&V(),x=!1}function B(){x=!0}function M(t){if(!u.el)return;function l(o){t.preventDefault(),V(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 V(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 V("first")}else if(t==="prev"){if(l=w(u.el.querySelector(":focus"),t),!l)return V("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 R(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:L(["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:L(["v-slide-group__prev",{"v-slide-group__prev--disabled":!Q.value}]),onMousedown:B,onClick:()=>Q.value&&R("prev")},[((t=n.prev)==null?void 0:t.call(n,j.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.nextIcon:e.prevIcon},null)]})]),k("div",{key:"container",ref:d,class:L(["v-slide-group__container",e.contentClass]),onScroll:q},[k("div",{ref:u,class:"v-slide-group__content",onFocusin:f,onFocusout:A,onKeydown:M},[(l=n.default)==null?void 0:l.call(n,j.value)])]),U.value&&k("div",{key:"next",class:L(["v-slide-group__next",{"v-slide-group__next--disabled":!X.value}]),onMousedown:B,onClick:()=>X.value&&R("next")},[((o=n.next)==null?void 0:o.call(n,j.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:R,scrollOffset:m,focus:V,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 I;return[(I=n.default)==null?void 0:I.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(),...$e(),...Ne(),...He(),...Le(),...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}=Ee(e),{densityClasses:p}=_e(e),{elevationClasses:m}=Me(e),{roundedClasses:g}=Te(e),{sizeClasses:I}=Be(e),{themeClasses:v}=Se(e),d=ll(e,"modelValue"),a=re(e,ze,!1),u=re(e,Ie,!1),b=Fe(e,n),D=z(()=>e.link!==!1&&b.isLink.value),C=S(()=>!e.disabled&&e.link!==!1&&(!!a||e.link||b.isClickable.value)),N=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:$,colorStyles:P,variantClasses:G}=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 V;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,M=!!(e.prependIcon||e.prependAvatar),w=!!(M||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&&((V=b.isActive)==null?void 0:V.value)},v.value,c.value,$.value,p.value,m.value,g.value,I.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&&q}),{default:()=>{var R;return[De(C.value,"v-chip"),B&&h(Ge,{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(E,{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:!M,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):k(ie,null,[e.prependIcon&&h(E,{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":""},[((R=i.default)==null?void 0:R.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}))??Re(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(E,{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"},N.value),[i.close?h(H,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):h(E,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[ce,C.value&&e.ripple,null]])}}});export{dl as V,ul as a,me as b,Ae as m}; +import{o as ye,j as h,k,n as L,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 Re}from"./vendor-vue-Hxtt57UU.js";import{a6 as pe,aq as oe,f as E,ar as ke,m as le,am as ge,ao as ce,ae as Ee,K as _e,N as Te,as as Be,a7 as re,at as Fe,aj as Oe,al as De,au as Ge,ac as H,o as ue,af as Me,av as We,aw as Le,R as He,aa as Ne,ag as $e,M as qe,ah as Ke}from"./index-BvGH7GyK.js";import{j as te,A as je,a0 as Ue,y as de,aD as Qe,E as ve,u as be,$ as Xe,p as ae,I as _,at as Je,n as ne,k as Se,l as Ye,r as Ze,m as Ce,an as el,q as ll,ag as fe}from"./vendor-vuetify-KiFW-YAv.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=Ve(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),I=F(0),v=S(()=>e.direction==="horizontal"),{resizeRef:d,contentRect:a}=de(),{resizeRef:u,contentRect:b}=de(),D=Qe(),C=S(()=>({container:d.el,duration:200,easing:"easeOutQuart"})),N=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(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],I.value=b.value[l],p.value=g.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(!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?D.horizontal(t,C.value):D(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){G(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)))&&V(),x=!1}function B(){x=!0}function M(t){if(!u.el)return;function l(o){t.preventDefault(),V(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 V(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 V("first")}else if(t==="prev"){if(l=w(u.el.querySelector(":focus"),t),!l)return V("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 R(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:L(["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:L(["v-slide-group__prev",{"v-slide-group__prev--disabled":!Q.value}]),onMousedown:B,onClick:()=>Q.value&&R("prev")},[((t=n.prev)==null?void 0:t.call(n,j.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.nextIcon:e.prevIcon},null)]})]),k("div",{key:"container",ref:d,class:L(["v-slide-group__container",e.contentClass]),onScroll:q},[k("div",{ref:u,class:"v-slide-group__content",onFocusin:f,onFocusout:A,onKeydown:M},[(l=n.default)==null?void 0:l.call(n,j.value)])]),U.value&&k("div",{key:"next",class:L(["v-slide-group__next",{"v-slide-group__next--disabled":!X.value}]),onMousedown:B,onClick:()=>X.value&&R("next")},[((o=n.next)==null?void 0:o.call(n,j.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:R,scrollOffset:m,focus:V,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 I;return[(I=n.default)==null?void 0:I.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(),...$e(),...Ne(),...He(),...Le(),...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}=Ee(e),{densityClasses:p}=_e(e),{elevationClasses:m}=Me(e),{roundedClasses:g}=Te(e),{sizeClasses:I}=Be(e),{themeClasses:v}=Se(e),d=ll(e,"modelValue"),a=re(e,ze,!1),u=re(e,Ie,!1),b=Fe(e,n),D=z(()=>e.link!==!1&&b.isLink.value),C=S(()=>!e.disabled&&e.link!==!1&&(!!a||e.link||b.isClickable.value)),N=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:$,colorStyles:P,variantClasses:G}=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 V;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,M=!!(e.prependIcon||e.prependAvatar),w=!!(M||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&&((V=b.isActive)==null?void 0:V.value)},v.value,c.value,$.value,p.value,m.value,g.value,I.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&&q}),{default:()=>{var R;return[De(C.value,"v-chip"),B&&h(Ge,{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(E,{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:!M,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):k(ie,null,[e.prependIcon&&h(E,{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":""},[((R=i.default)==null?void 0:R.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}))??Re(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(E,{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"},N.value),[i.close?h(H,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):h(E,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[ce,C.value&&e.ripple,null]])}}});export{dl as V,ul as a,me as b,Ae as m}; diff --git a/assets/VCombobox-D1qFxhIj.js b/assets/VCombobox-D1qFxhIj.js new file mode 100644 index 0000000..e0d37d1 --- /dev/null +++ b/assets/VCombobox-D1qFxhIj.js @@ -0,0 +1,2 @@ +import{h as Ge,f as He,V as ve,i as We}from"./VTextField-jDykTfh9.js";import{u as Je,a as Qe,b as Xe,c as Ye,h as Ze,d as el,e as ll,m as al,f as tl}from"./VSelect-BdFWh1xd.js";import{aD as ul,G as nl,aE as _,f as de,p as ol,q as fe,i as il,a2 as rl,o as sl,ac as cl,I as vl}from"./index-BvGH7GyK.js";import{j as dl,an as fl,q as me,w as ml,r as Z,E as hl,u as bl,aK as pl,aL as gl,aM as he,aN as yl,p as xl,a5 as Vl,aO as kl}from"./vendor-vuetify-KiFW-YAv.js";import{V as Cl}from"./VMenu-CEn1TBeC.js";import{V as Il}from"./VSheet-PSmzyJOR.js";import{V as wl}from"./VCheckboxBtn-D_PchAC2.js";import{V as be}from"./VChip-CyVmT8se.js";import{s as A,o as L,j as f,k as R,F as ee,m as F,N as Dl,n as Sl,a1 as Fl,e as w,I as K,b as E,t as Rl}from"./vendor-vue-Hxtt57UU.js";const Pl=xl({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...al({filterKeys:["title"]}),...ll({hideNoData:!0,returnObject:!0}),...Vl(We({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VCombobox"),Ol=dl()({name:"VCombobox",props:Pl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0,"item:added":l=>!0,"item:removed":l=>!0,"item:created":l=>!0},setup(l,pe){var oe;let{emit:y,slots:t}=pe;const{t:ge}=fl(),b=E(),x=A(!1),D=A(!0),W=A(!1),O=E(),$=E(),i=A(-1);let z=!1;const{items:J,transformIn:ye,transformOut:xe}=ul(l),{textColorClasses:Ve,textColorStyles:ke}=nl(()=>{var e;return(e=b.value)==null?void 0:e.color}),{InputIcon:Ce}=Ge(l),n=me(l,"modelValue",[],e=>ye(ml(e)),e=>{const a=xe(e);return l.multiple?a:a[0]??null}),P=He(l),le=Rl(()=>l.closableChips&&!P.isReadonly.value&&!P.isDisabled.value),U=w(()=>!!(l.chips||t.chip)),S=w(()=>U.value||!!t.selection),V=A(!l.multiple&&!S.value?((oe=n.value[0])==null?void 0:oe.title)??"":""),T=A(null),v=w({get:()=>V.value,set:async e=>{var a;if(V.value=e??"",e===null||e===""&&!l.multiple&&!S.value){for(const u of n.value)y("item:removed",u);n.value=[]}else!l.multiple&&!S.value&&(n.value=[_(l,e)],K(()=>{var u;return(u=$.value)==null?void 0:u.scrollToIndex(0)}));if(e&&l.multiple&&((a=l.delimiters)!=null&&a.length)){const u=ue(e);u.length>1&&(ne(u),V.value="")}e||(i.value=-1),D.value=!e}}),Ie=w(()=>typeof l.counterValue=="function"?l.counterValue(n.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?n.value.length:v.value.length),{filteredItems:j,getMatches:we}=Je(l,J,()=>T.value??(l.alwaysFilter||!D.value?v.value:"")),k=w(()=>l.hideSelected&&T.value===null?j.value.filter(e=>!n.value.some(a=>a.value===e.value)):j.value),q=w(()=>l.hideNoData&&!k.value.length||P.isReadonly.value||P.isDisabled.value),Q=me(l,"menu"),s=w({get:()=>Q.value,set:e=>{var a;Q.value&&!e&&((a=O.value)!=null&&a.ΨopenChildren.size)||e&&q.value||(Q.value=e)}}),{menuId:De,ariaExpanded:Se,ariaControls:Fe}=Qe(l,s);L(V,e=>{z?K(()=>z=!1):x.value&&!s.value&&(s.value=!0),y("update:search",e)}),L(n,e=>{var a;!l.multiple&&!S.value&&(V.value=((a=e[0])==null?void 0:a.title)??"")});const Re=w(()=>n.value.map(e=>e.value)),M=w(()=>k.value.find(e=>e.type==="item"&&!e.props.disabled)),X=w(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&v.value===((a=M.value)==null?void 0:a.title))&&k.value.length>0&&!D.value&&!W.value}),B=E(),ae=E(),te=E(),Pe=el(B,b),Ae=tl(s,()=>{var e;return(e=O.value)==null?void 0:e.contentEl},()=>{var e;return(e=b.value)==null?void 0:e.controlRef}),{onTabKeydown:Ee}=Xe({groups:[{type:"element",contentRef:ae},{type:"list",contentRef:B,displayItemsCount:()=>k.value.length},{type:"element",contentRef:te}],onLeave:()=>{var e;s.value=!1,(e=b.value)==null||e.focus()}});function Te(e){z=!0,K(()=>z=!1),l.openOnClear&&(s.value=!0)}function Me(){q.value||(s.value=!0)}function Be(e){q.value||(x.value&&(e.preventDefault(),e.stopPropagation()),s.value=!s.value)}function Ne(e){var a,u;e.key==="Tab"&&Ee(e),(a=B.value)!=null&&a.$el.contains(e.target)&&(he(e)||e.key==="Backspace")&&((u=b.value)==null||u.focus())}function _e(e){var m,d,c,h;if(yl(e)||P.isReadonly.value)return;const a=(m=b.value)==null?void 0:m.selectionStart,u=n.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(s.value=!0),["Escape"].includes(e.key)&&(s.value=!1),X.value&&["Enter","Tab"].includes(e.key)&&M.value&&!n.value.some(o=>{let{value:p}=o;return p===M.value.value})&&C(M.value),e.key==="ArrowDown"&&X.value&&((d=B.value)==null||d.focus("next")),e.key==="Enter"&&v.value&&(C(_(l,v.value),!0,!0),S.value&&(V.value="")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&S.value&&n.value.length>0&&!v.value)return C(n.value[0],!1);if(~i.value){e.preventDefault();const o=i.value;C(n.value[i.value],!1),i.value=o>=u-1?u-2:o}else e.key==="Backspace"&&!v.value&&(i.value=u-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(i.value<0&&a&&a>0)return;const o=i.value>-1?i.value-1:u-1;n.value[o]?i.value=o:(i.value=-1,(c=b.value)==null||c.setSelectionRange(v.value.length,v.value.length))}else if(e.key==="ArrowRight"){if(i.value<0)return;const o=i.value+1;n.value[o]?i.value=o:(i.value=-1,(h=b.value)==null||h.setSelectionRange(0,0))}else~i.value&&he(e)&&(i.value=-1)}function Le(e){var m;const a=((m=e==null?void 0:e.clipboardData)==null?void 0:m.getData("Text"))??"",u=ue(a);u.length>1&&l.multiple&&(e.preventDefault(),ne(u))}function Ke(){var e;l.eager&&((e=$.value)==null||e.calculateVisibleItems())}function Oe(){var e;x.value&&((e=b.value)==null||e.focus()),D.value=!0,T.value=null}function Y(e){const a=l.valueComparator||Z;return J.value.some(u=>a(u.value,e.value))}function C(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!e||e.props.disabled)return;const m=l.valueComparator||Z;if(l.multiple){const d=n.value.findIndex(h=>m(h.value,e.value)),c=a??!~d;if(~d){const h=c?[...n.value,e]:[...n.value],[o]=h.splice(d,1);c||y("item:removed",o),n.value=h}else c&&(y("item:added",e),Y(e)||y("item:created",e),n.value=[...n.value,e]);l.clearOnSelect&&(v.value="")}else{const d=a!==!1,c=n.value[0];d?(c&&!m(c.value,e.value)?(y("item:removed",c),y("item:added",e),Y(e)||y("item:created",e)):c||(y("item:added",e),Y(e)||y("item:created",e)),n.value=[e]):(c&&y("item:removed",c),n.value=[]),(!D.value||l.alwaysFilter)&&V.value&&(T.value=V.value),V.value=d&&!S.value?e.title:"",K(()=>{s.value=u,D.value=!0})}}function ue(e){const u=[` +`,...l.delimiters??[]].map(kl).join("|");return e.split(new RegExp(`(?:${u})+`))}async function ne(e){for(let a of e)a=a.trim(),a&&(C(_(l,a)),await K())}function $e(e){x.value=!0,setTimeout(()=>{W.value=!0})}function ze(e){var a;if(W.value=!1,!((a=b.value)!=null&&a.$el.contains(e.relatedTarget))){if(Ae(e))return;x.value=!1}}function Ue(e){var u;const a=(u=O.value)==null?void 0:u.contentEl;a!=null&&a.contains(e.relatedTarget)&&(x.value=!0)}return L(x,(e,a)=>{if(!(e||e===a)&&(i.value=-1,s.value=!1,v.value)){if(l.multiple){C(_(l,v.value));return}if(!S.value)return;n.value.some(u=>{let{title:m}=u;return m===v.value})?V.value="":C(_(l,v.value))}}),L(s,e=>{if(!l.hideSelected&&e&&n.value.length&&D.value){const a=k.value.findIndex(u=>n.value.some(m=>(l.valueComparator||Z)(m.value,u.value)));hl&&!l.noAutoScroll&&window.requestAnimationFrame(()=>{var u;a>=0&&((u=$.value)==null||u.scrollToIndex(a))})}e&&(T.value=null)}),L(J,(e,a)=>{s.value||x.value&&!a.length&&e.length&&(s.value=!0)}),bl(()=>{const e=!!(!l.hideNoData||k.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=n.value.length>0,u=ve.filterProps(l),m={search:v,filteredItems:j.value};return f(ve,F({ref:b},u,{modelValue:v.value,"onUpdate:modelValue":d=>v.value=d,focused:x.value,"onUpdate:focused":d=>x.value=d,validationValue:n.externalValue,counterValue:Ie.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!S.value,"v-combobox--selecting-index":i.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:P.isReadonly.value,placeholder:a?void 0:l.placeholder,"onClick:clear":Te,"onMousedown:control":Me,onKeydown:_e,onPaste:Le,onBlur:Ue,"aria-expanded":Se.value,"aria-controls":Fe.value}),{...t,default:d=>{var h;let{id:c}=d;return R(ee,null,[f(Cl,F({id:De.value,ref:O,modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,activator:"parent",disabled:q.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ke,onAfterLeave:Oe},l.menuProps,{contentClass:["v-combobox__content",(h=l.menuProps)==null?void 0:h.contentClass]}),{default:()=>[f(Il,{onFocusin:$e,onKeydown:Ne},{default:()=>[t["menu-header"]&&R("header",{ref:ae},[t["menu-header"](m)]),e&&f(ol,F({key:"combobox-list",ref:B,filterable:!0,selected:Re.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:o=>o.preventDefault(),selectable:!!k.value.length,onFocusout:ze,tabindex:"-1","aria-live":"polite","aria-labelledby":`${c.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Pe,l.listProps),{default:()=>{var o,p,N;return[(o=t["prepend-item"])==null?void 0:o.call(t),!k.value.length&&!l.hideNoData&&(((p=t["no-data"])==null?void 0:p.call(t))??f(fe,{key:"no-data",title:ge(l.noDataText)},null)),f(Ye,{ref:$,renderless:!0,items:k.value,itemKey:"value"},{default:G=>{var re,se,ce;let{item:r,index:I,itemRef:g}=G;const ie=F(r.props,{ref:g,key:r.value,active:X.value&&r===M.value?!0:void 0,onClick:()=>C(r,null),"aria-posinset":I+1,"aria-setsize":k.value.length});return r.type==="divider"?((re=t.divider)==null?void 0:re.call(t,{props:r.raw,index:I}))??f(il,F(r.props,{key:`divider-${I}`}),null):r.type==="subheader"?((se=t.subheader)==null?void 0:se.call(t,{props:r.raw,index:I}))??f(rl,F(r.props,{key:`subheader-${I}`}),null):((ce=t.item)==null?void 0:ce.call(t,{item:r,index:I,props:ie}))??f(fe,F(ie,{role:"option"}),{prepend:H=>{let{isSelected:je}=H;return R(ee,null,[l.multiple&&!l.hideSelected?f(wl,{key:r.value,modelValue:je,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:qe=>qe.preventDefault()},null):void 0,r.props.prependAvatar&&f(sl,{image:r.props.prependAvatar},null),r.props.prependIcon&&f(de,{icon:r.props.prependIcon},null)])},title:()=>{var H;return D.value?r.title:Ze("v-combobox",r.title,(H=we(r))==null?void 0:H.title)}})}}),(N=t["append-item"])==null?void 0:N.call(t)]}}),t["menu-footer"]&&R("footer",{ref:te},[t["menu-footer"](m)])]})]}),n.value.map((o,p)=>{function N(g){g.stopPropagation(),g.preventDefault(),C(o,!1)}const G=F(be.filterProps(o.props),{"onClick:close":N,onKeydown(g){g.key!=="Enter"&&g.key!==" "||(g.preventDefault(),g.stopPropagation(),N(g))},onMousedown(g){g.preventDefault(),g.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),r=U.value?!!t.chip:!!t.selection,I=r?gl(U.value?t.chip({item:o,index:p,props:G}):t.selection({item:o,index:p})):void 0;if(!(r&&!I))return R("div",{key:o.value,class:Sl(["v-combobox__selection",p===i.value&&["v-combobox__selection--selected",Ve.value]]),style:Dl(p===i.value?ke.value:{})},[U.value?t.chip?f(cl,{key:"chip-defaults",defaults:{VChip:{closable:le.value,size:"small",text:o.title}}},{default:()=>[I]}):f(be,F({key:"chip",closable:le.value,size:"small",text:o.title,disabled:o.props.disabled},G),null):I??R("span",{class:"v-combobox__selection-text"},[o.title,l.multiple&&p!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,he){var te;let{emit:be,slots:t}=he;const{t:pe}=dl(),m=A(),g=P(!1),I=P(!0),H=P(!1),K=A(),O=A(),i=P(-1);let $=!1;const{items:X,transformIn:ge,transformOut:ye}=tl(l),{textColorClasses:xe,textColorStyles:Ve}=nl(()=>{var e;return(e=m.value)==null?void 0:e.color}),{InputIcon:ke}=qe(l),o=ve(l,"modelValue",[],e=>ge(fl(e)),e=>{const a=ye(e);return l.multiple?a:a[0]??null}),R=Ge(l),Y=Fl(()=>l.closableChips&&!R.isReadonly.value&&!R.isDisabled.value),z=w(()=>!!(l.chips||t.chip)),D=w(()=>z.value||!!t.selection),y=P(!l.multiple&&!D.value?((te=o.value[0])==null?void 0:te.title)??"":""),T=P(null),v=w({get:()=>y.value,set:async e=>{var a;if(y.value=e??"",e===null||e===""&&!l.multiple&&!D.value?o.value=[]:!l.multiple&&!D.value&&(o.value=[N(l,e)],L(()=>{var n;return(n=O.value)==null?void 0:n.scrollToIndex(0)})),e&&l.multiple&&((a=l.delimiters)!=null&&a.length)){const n=le(e);n.length>1&&(ae(n),y.value="")}e||(i.value=-1),I.value=!e}}),Ce=w(()=>typeof l.counterValue=="function"?l.counterValue(o.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?o.value.length:v.value.length),{filteredItems:U,getMatches:we}=We(l,X,()=>T.value??(l.alwaysFilter||!I.value?v.value:"")),x=w(()=>l.hideSelected&&T.value===null?U.value.filter(e=>!o.value.some(a=>a.value===e.value)):U.value),j=w(()=>l.hideNoData&&!x.value.length||R.isReadonly.value||R.isDisabled.value),W=ve(l,"menu"),r=w({get:()=>W.value,set:e=>{var a;W.value&&!e&&((a=K.value)!=null&&a.ΨopenChildren.size)||e&&j.value||(W.value=e)}}),{menuId:Ie,ariaExpanded:De,ariaControls:Se}=Je(l,r);_(y,e=>{$?L(()=>$=!1):g.value&&!r.value&&(r.value=!0),be("update:search",e)}),_(o,e=>{var a;!l.multiple&&!D.value&&(y.value=((a=e[0])==null?void 0:a.title)??"")});const Fe=w(()=>o.value.map(e=>e.value)),E=w(()=>x.value.find(e=>e.type==="item"&&!e.props.disabled)),J=w(()=>{var a;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&v.value===((a=E.value)==null?void 0:a.title))&&x.value.length>0&&!I.value&&!H.value}),M=A(),Z=A(),ee=A(),Re=Ze(M,m),Pe=al(r,()=>{var e;return(e=K.value)==null?void 0:e.contentEl},()=>{var e;return(e=m.value)==null?void 0:e.controlRef}),{onTabKeydown:Ae}=Qe({groups:[{type:"element",contentRef:Z},{type:"list",contentRef:M,displayItemsCount:()=>x.value.length},{type:"element",contentRef:ee}],onLeave:()=>{var e;r.value=!1,(e=m.value)==null||e.focus()}});function Te(e){$=!0,L(()=>$=!1),l.openOnClear&&(r.value=!0)}function Ee(){j.value||(r.value=!0)}function Me(e){j.value||(g.value&&(e.preventDefault(),e.stopPropagation()),r.value=!r.value)}function Be(e){var a,n;e.key==="Tab"&&Ae(e),(a=M.value)!=null&&a.$el.contains(e.target)&&(fe(e)||e.key==="Backspace")&&((n=m.value)==null||n.focus())}function Ne(e){var c,f,h,k;if(gl(e)||R.isReadonly.value)return;const a=(c=m.value)==null?void 0:c.selectionStart,n=o.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(r.value=!0),["Escape"].includes(e.key)&&(r.value=!1),J.value&&["Enter","Tab"].includes(e.key)&&E.value&&!o.value.some(u=>{let{value:b}=u;return b===E.value.value})&&V(E.value),e.key==="ArrowDown"&&J.value&&((f=M.value)==null||f.focus("next")),e.key==="Enter"&&v.value&&(V(N(l,v.value),!0,!0),D.value&&(y.value="")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&D.value&&o.value.length>0&&!v.value)return V(o.value[0],!1);if(~i.value){e.preventDefault();const u=i.value;V(o.value[i.value],!1),i.value=u>=n-1?n-2:u}else e.key==="Backspace"&&!v.value&&(i.value=n-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(i.value<0&&a&&a>0)return;const u=i.value>-1?i.value-1:n-1;o.value[u]?i.value=u:(i.value=-1,(h=m.value)==null||h.setSelectionRange(v.value.length,v.value.length))}else if(e.key==="ArrowRight"){if(i.value<0)return;const u=i.value+1;o.value[u]?i.value=u:(i.value=-1,(k=m.value)==null||k.setSelectionRange(0,0))}else~i.value&&fe(e)&&(i.value=-1)}function _e(e){var c;const a=((c=e==null?void 0:e.clipboardData)==null?void 0:c.getData("Text"))??"",n=le(a);n.length>1&&l.multiple&&(e.preventDefault(),ae(n))}function Le(){var e;l.eager&&((e=O.value)==null||e.calculateVisibleItems())}function Ke(){var e;g.value&&((e=m.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 c=o.value.findIndex(h=>(l.valueComparator||de)(h.value,e.value)),f=a??!~c;if(~c){const h=f?[...o.value,e]:[...o.value];h.splice(c,1),o.value=h}else f&&(o.value=[...o.value,e]);l.clearOnSelect&&(v.value="")}else{const c=a!==!1;o.value=c?[e]:[],(!I.value||l.alwaysFilter)&&y.value&&(T.value=y.value),y.value=c&&!D.value?e.title:"",L(()=>{r.value=n,I.value=!0})}}function le(e){const n=[` -`,...l.delimiters??[]].map(Vl).join("|");return e.split(new RegExp(`(?:${n})+`))}async function ae(e){for(let a of e)a=a.trim(),a&&(V(N(l,a)),await L())}function Oe(e){g.value=!0,setTimeout(()=>{H.value=!0})}function $e(e){var a;if(H.value=!1,!((a=m.value)!=null&&a.$el.contains(e.relatedTarget))){if(Pe(e))return;g.value=!1}}function ze(e){var n;const a=(n=K.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,r.value=!1,v.value)){if(l.multiple){V(N(l,v.value));return}if(!D.value)return;o.value.some(n=>{let{title:c}=n;return c===v.value})?y.value="":V(N(l,v.value))}}),_(r,e=>{if(!l.hideSelected&&e&&o.value.length&&I.value){const a=x.value.findIndex(n=>o.value.some(c=>(l.valueComparator||de)(c.value,n.value)));ml&&!l.noAutoScroll&&window.requestAnimationFrame(()=>{var n;a>=0&&((n=O.value)==null||n.scrollToIndex(a))})}e&&(T.value=null)}),_(X,(e,a)=>{r.value||g.value&&!a.length&&e.length&&(r.value=!0)}),hl(()=>{const e=!!(!l.hideNoData||x.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),a=o.value.length>0,n=se.filterProps(l),c={search:v,filteredItems:U.value};return d(se,S({ref:m},n,{modelValue:v.value,"onUpdate:modelValue":f=>v.value=f,focused:g.value,"onUpdate:focused":f=>g.value=f,validationValue:o.externalValue,counterValue:Ce.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":r.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":Te,"onMousedown:control":Ee,onKeydown:Ne,onPaste:_e,onBlur:ze,"aria-expanded":De.value,"aria-controls":Se.value}),{...t,default:f=>{var k;let{id:h}=f;return F(Q,null,[d(kl,S({id:Ie.value,ref:K,modelValue:r.value,"onUpdate:modelValue":u=>r.value=u,activator:"parent",disabled:j.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Le,onAfterLeave:Ke},l.menuProps,{contentClass:["v-combobox__content",(k=l.menuProps)==null?void 0:k.contentClass]}),{default:()=>[d(Cl,{onFocusin:Oe,onKeydown:Be},{default:()=>[t["menu-header"]&&F("header",{ref:Z},[t["menu-header"](c)]),e&&d(ul,S({key:"combobox-list",ref:M,filterable:!0,selected:Fe.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:u=>u.preventDefault(),selectable:!!x.value.length,onFocusout:$e,tabindex:"-1","aria-live":"polite","aria-labelledby":`${h.value}-label`,"aria-multiselectable":l.multiple,color:l.itemColor??l.color},Re,l.listProps),{default:()=>{var u,b,B;return[(u=t["prepend-item"])==null?void 0:u.call(t),!x.value.length&&!l.hideNoData&&(((b=t["no-data"])==null?void 0:b.call(t))??d(ce,{key:"no-data",title:pe(l.noDataText)},null)),d(Xe,{ref:O,renderless:!0,items:x.value,itemKey:"value"},{default:q=>{var ue,oe,ie;let{item:s,index:C,itemRef:p}=q;const ne=S(s.props,{ref:p,key:s.value,active:J.value&&s===E.value?!0:void 0,onClick:()=>V(s,null),"aria-posinset":C+1,"aria-setsize":x.value.length});return s.type==="divider"?((ue=t.divider)==null?void 0:ue.call(t,{props:s.raw,index:C}))??d(ol,S(s.props,{key:`divider-${C}`}),null):s.type==="subheader"?((oe=t.subheader)==null?void 0:oe.call(t,{props:s.raw,index:C}))??d(il,S(s.props,{key:`subheader-${C}`}),null):((ie=t.item)==null?void 0:ie.call(t,{item:s,index:C,props:ne}))??d(ce,S(ne,{role:"option"}),{prepend:G=>{let{isSelected:Ue}=G;return F(Q,null,[l.multiple&&!l.hideSelected?d(wl,{key:s.value,modelValue:Ue,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:je=>je.preventDefault()},null):void 0,s.props.prependAvatar&&d(sl,{image:s.props.prependAvatar},null),s.props.prependIcon&&d(re,{icon:s.props.prependIcon},null)])},title:()=>{var G;return I.value?s.title:Ye("v-combobox",s.title,(G=we(s))==null?void 0:G.title)}})}}),(B=t["append-item"])==null?void 0:B.call(t)]}}),t["menu-footer"]&&F("footer",{ref:ee},[t["menu-footer"](c)])]})]}),o.value.map((u,b)=>{function B(p){p.stopPropagation(),p.preventDefault(),V(u,!1)}const q=S(me.filterProps(u.props),{"onClick:close":B,onKeydown(p){p.key!=="Enter"&&p.key!==" "||(p.preventDefault(),p.stopPropagation(),B(p))},onMousedown(p){p.preventDefault(),p.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),s=z.value?!!t.chip:!!t.selection,C=s?pl(z.value?t.chip({item:u,index:b,props:q}):t.selection({item:u,index:b})):void 0;if(!(s&&!C))return F("div",{key:u.value,class:Dl(["v-combobox__selection",b===i.value&&["v-combobox__selection--selected",xe.value]]),style:Il(b===i.value?Ve.value:{})},[z.value?t.chip?d(rl,{key:"chip-defaults",defaults:{VChip:{closable:Y.value,size:"small",text:u.title}}},{default:()=>[C]}):d(me,S({key:"chip",closable:Y.value,size:"small",text:u.title,disabled:u.props.disabled},q),null):C??F("span",{class:"v-combobox__selection-text"},[u.title,l.multiple&&bf(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-MApP1Vz1.js b/assets/VContainer-MApP1Vz1.js deleted file mode 100644 index 87b7009..0000000 --- a/assets/VContainer-MApP1Vz1.js +++ /dev/null @@ -1 +0,0 @@ -import{f as t,A as r,u as l,p as i,k as m}from"./vendor-vuetify-DpmmaPkh.js";import{b as u,m as c,a as f}from"./index-D042plwv.js";import{j as p,N as C,n as d}from"./vendor-vue-BiQC5iF7.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/VDataTable-C0z5sFU7.js b/assets/VDataTable-C0z5sFU7.js new file mode 100644 index 0000000..49eb66e --- /dev/null +++ b/assets/VDataTable-C0z5sFU7.js @@ -0,0 +1 @@ +import{q as Y,p as E,o as je,z as Pe,j as Z,an as ee,u as re,a5 as De,I as $,ap as vt,a as G,aq as yt,w as le,ah as ht,r as We,ar as ge,as as ie,F as bt,a0 as Te,at as Ve,ag as we,aj as ke,au as Ae,ai as de,l as pt}from"./vendor-vuetify-KiFW-YAv.js";import{l as z,e as T,d as te,o as Ce,p as ae,k as S,j as k,m as j,n as me,w as xt,a as St,b as X,s as Pt,t as R,F as q,N as wt,I as kt,a1 as Re,x as ce,aa as fe,S as It,y as Dt}from"./vendor-vue-Hxtt57UU.js";import{V as Ne}from"./VPagination-DC48wzod.js";import{V as Ke,u as Tt,m as Vt}from"./VSelect-BdFWh1xd.js";import{a3 as Ct,H as Ft,a4 as Bt,f as Ge,a5 as Ot,M as Fe,h as ze,i as _t}from"./index-BvGH7GyK.js";import{V as ve}from"./VCheckboxBtn-D_PchAC2.js";import{V as Et}from"./VChip-CyVmT8se.js";import{b as $e,m as At}from"./VTable-C8JDgtcy.js";const Rt=E({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:"any"}},"DataTable-paginate"),qe=Symbol.for("vuetify:data-table-pagination");function Nt(e){const a=Y(e,"page",void 0,t=>Number(t??1)),l=Y(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:a,itemsPerPage:l}}function Gt(e){const{page:a,itemsPerPage:l,itemsLength:t}=e,n=T(()=>l.value===-1?0:l.value*(a.value-1)),r=T(()=>l.value===-1?t.value:Math.min(t.value,n.value+l.value)),o=T(()=>l.value===-1||t.value===0?1:Math.ceil(t.value/l.value));Ce([a,o],()=>{a.value>o.value&&(a.value=o.value)});function s(f){l.value=f,a.value=1}function u(){a.value=Pe(a.value+1,1,o.value)}function d(){a.value=Pe(a.value-1,1,o.value)}function g(f){a.value=Pe(f,1,o.value)}const m={page:a,itemsPerPage:l,startIndex:n,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:d,setPage:g,setItemsPerPage:s};return ae(qe,m),m}function $t(){const e=te(qe);if(!e)throw new Error("Missing pagination!");return e}function Ht(e){const a=je("usePaginatedItems"),{items:l,startIndex:t,stopIndex:n,itemsPerPage:r}=e,o=T(()=>r.value<=0?z(l):z(l).slice(t.value,n.value));return Ce(o,s=>{a.emit("update:currentItems",s)},{immediate:!0}),{paginatedItems:o}}function Lt(e){const{sortedItems:a,paginate:l,group:t}=e,n=z(e.pageBy);if(n==="item"){const{paginatedItems:r,pageCount:o,setItemsPerPage:s}=l(a),{flatItems:u}=t(r);return{pageCount:o,setItemsPerPage:s,paginatedItems:u}}if(n==="group"){const{flatItems:r,groups:o}=t(a),{paginatedItems:s,pageCount:u,setItemsPerPage:d}=l(o),g=T(()=>{if(!s.value.length)return[];const m=s.value.at(0).id,f=s.value.at(-1).id,p=r.value.findIndex(y=>y.type==="group"&&y.id===m),h=r.value.findIndex(y=>y.type==="group"&&y.id===f),x=r.value.findIndex((y,i)=>i>h&&y.type==="group"&&y.depth===0);return r.value.slice(p,x===-1?void 0:x)});return{pageCount:u,setItemsPerPage:d,paginatedItems:g}}if(n==="any"){const{flatItems:r}=t(a),{paginatedItems:o,pageCount:s,setItemsPerPage:u}=l(r);return{pageCount:s,setItemsPerPage:u,paginatedItems:o}}throw new Error(`Unrecognized pagination target ${n}`)}const Ue=E({color:String,prevIcon:{type:$,default:"$prev"},nextIcon:{type:$,default:"$next"},firstIcon:{type:$,default:"$first"},lastIcon:{type:$,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"),He=Z()({name:"VDataTableFooter",props:Ue(),setup(e,a){let{slots:l}=a;const{t}=ee(),{page:n,pageCount:r,startIndex:o,stopIndex:s,itemsLength:u,itemsPerPage:d,setItemsPerPage:g}=$t(),m=T(()=>e.itemsPerPageOptions.map(f=>typeof f=="number"?{value:f,title:f===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(f)}:{...f,title:isNaN(Number(f.title))?t(f.title):f.title}));return re(()=>{var p;const f=Ne.filterProps(e);return S("div",{class:"v-data-table-footer"},[(p=l.prepend)==null?void 0:p.call(l),S("div",{class:"v-data-table-footer__items-per-page"},[S("span",null,[t(e.itemsPerPageText)]),k(Ke,{items:m.value,itemColor:e.color,modelValue:d.value,"onUpdate:modelValue":h=>g(Number(h)),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,u.value?o.value+1:0,s.value,u.value)])]),S("div",{class:"v-data-table-footer__pagination"},[k(Ne,j({modelValue:n.value,"onUpdate:modelValue":h=>n.value=h,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"},De(f,["color"])),null)])])}),{}}}),ne=vt({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,a)=>{let{slots:l}=a;const t=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return k(t,{class:me(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="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:G(e.height),width:G(e.width),maxWidth:G(e.maxWidth),left:n==="start"?G(e.fixedOffset||null):void 0,right:n==="end"?G(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?G(e.indent):void 0}},{default:()=>{var r;return[(r=l.default)==null?void 0:r.call(l)]}})}),Mt=E({headers:Array},"DataTable-header"),Qe=Symbol.for("vuetify:data-table-headers"),Je={title:"",sortable:!1},jt={...Je,width:48};function Wt(){const a=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(l=>({element:l,priority:0}));return{enqueue:(l,t)=>{let n=!1;for(let r=0;rt){a.splice(r,0,{element:l,priority:t}),n=!0;break}n||a.push({element:l,priority:t})},size:()=>a.length,count:()=>{let l=0;if(!a.length)return 0;const t=Math.floor(a[0].priority);for(let n=0;na.shift()}}function Ie(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)a.push(e);else for(const l of e.children)Ie(l,a);return a}function Xe(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const l of e)l.key&&a.add(l.key),l.children&&Xe(l.children,a);return a}function Kt(e){if(e.key){if(e.key==="data-table-group")return Je;if(["data-table-expand","data-table-select"].includes(e.key))return jt}}function Be(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(a,...e.children.map(l=>Be(l,a+1))):a}function zt(e){let a=!1;function l(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 u=r.children.length-1;u>=0;u--)l(r.children[u],o,o);else for(let u=0;u=0;u--)l(r.children[u],o);else for(let u=0;u=0;r--)l(e[r],"start");for(let r=0;r=0;r--)n=Ze(e[r],n)}function Ye(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return a;if(e.children){e.fixedOffset=a;for(const l of e.children)a=Ye(l,a)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=a,a+=parseFloat(e.width||"0")||0);return a}function Ze(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return a;if(e.children){e.fixedEndOffset=a;for(const l of e.children)a=Ze(l,a)}else e.fixed==="end"&&(e.fixedEndOffset=a,a+=parseFloat(e.width||"0")||0);return a}function qt(e,a){const l=[];let t=0;const n=Wt(e);for(;n.size()>0;){let o=n.count();const s=[];let u=1;for(;o>0;){const{element:d,priority:g}=n.dequeue(),m=a-t-Be(d);if(s.push({...d,rowspan:m??1,colspan:d.children?Ie(d).length:1}),d.children)for(const f of d.children){const p=g%1+u/Math.pow(10,t+2);n.enqueue(f,t+m+p)}u+=1,o-=1}t+=1,l.push(s)}return{columns:e.map(o=>Ie(o)).flat(),headers:l}}function et(e){const a=[];for(const l of e){const t={...Kt(l),...l},n=t.key??(typeof t.value=="string"?t.value:null),r=t.value??n??null,o={...t,key:n,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?et(t.children):void 0};a.push(o)}return a}function Ut(e,a){const l=X([]),t=X([]),n=X({}),r=X({}),o=X({});xt(()=>{var x,y,i;const d=(e.headers||Object.keys(e.items[0]??{}).map(c=>({key:c,title:St(c)}))).slice(),g=Xe(d);(x=a==null?void 0:a.groupBy)!=null&&x.value.length&&!g.has("data-table-group")&&d.unshift({key:"data-table-group",title:"Group"}),(y=a==null?void 0:a.showSelect)!=null&&y.value&&!g.has("data-table-select")&&d.unshift({key:"data-table-select"}),(i=a==null?void 0:a.showExpand)!=null&&i.value&&!g.has("data-table-expand")&&d.push({key:"data-table-expand"});const m=et(d);zt(m);const f=Math.max(...m.map(c=>Be(c)))+1,p=qt(m,f);l.value=p.headers,t.value=p.columns;const h=p.headers.flat(1);n.value={},r.value={},o.value={};for(const c of h)c.key&&(c.sortable&&(c.sort&&(n.value[c.key]=c.sort),c.sortRaw&&(r.value[c.key]=c.sortRaw)),c.filter&&(o.value[c.key]=c.filter))});const s={headers:l,columns:t,sortFunctions:n,sortRawFunctions:r,filterFunctions:o};return ae(Qe,s),s}function ye(){const e=te(Qe);if(!e)throw new Error("Missing headers!");return e}const Qt={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:a,value:l}=e;return new Set(l?[(t=a[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:a}=e;return a}},tt={showSelectAll:!0,allSelected:e=>{let{currentPage:a}=e;return a},select:e=>{let{items:a,value:l,selected:t}=e;for(const n of a)l?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:a,currentPage:l,selected:t}=e;return tt.select({items:l,value:a,selected:t})}},Jt={showSelectAll:!0,allSelected:e=>{let{allItems:a}=e;return a},select:e=>{let{items:a,value:l,selected:t}=e;for(const n of a)l?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:a,allItems:l}=e;return new Set(a?l.map(t=>t.value):[])}},Xt=E({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),at=Symbol.for("vuetify:data-table-selection");function Yt(e,a){let{allItems:l,currentPage:t}=a;const n=Y(e,"modelValue",e.modelValue,c=>{const b=e.valueComparator;return b?new Set(le(c).map(P=>{var C;return((C=l.value.find(w=>b(P,w.value)))==null?void 0:C.value)??P})):new Set(le(c).map(P=>{var C,w;return ht(P)?((C=l.value.find(F=>P===F.value))==null?void 0:C.value)??P:((w=l.value.find(F=>We(P,F.value)))==null?void 0:w.value)??P}))},c=>[...c.values()]),r=T(()=>l.value.filter(c=>c.selectable)),o=T(()=>z(t).filter(c=>c.selectable)),s=T(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Qt;case"all":return Jt;case"page":default:return tt}}),u=Pt(null);function d(c){return le(c).every(b=>n.value.has(b.value))}function g(c){return le(c).some(b=>n.value.has(b.value))}function m(c,b){const P=s.value.select({items:c,value:b,selected:new Set(n.value)});n.value=P}function f(c,b,P){const C=[],w=z(t);if(b=b??w.findIndex(F=>F.value===c.value),e.selectStrategy!=="single"&&(P!=null&&P.shiftKey)&&u.value!==null){const[F,U]=[u.value,b].sort((W,I)=>W-I);C.push(...w.slice(F,U+1).filter(W=>W.selectable))}else C.push(c),u.value=b;m(C,!d([c]))}function p(c){const b=s.value.selectAll({value:c,allItems:r.value,currentPage:o.value,selected:new Set(n.value)});n.value=b}const h=T(()=>n.value.size>0),x=T(()=>{const c=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!c.length&&d(c)}),y=R(()=>s.value.showSelectAll),i={toggleSelect:f,select:m,selectAll:p,isSelected:d,isSomeSelected:g,someSelected:h,allSelected:x,showSelectAll:y,lastSelectedIndex:u,selectStrategy:s};return ae(at,i),i}function he(){const e=te(at);if(!e)throw new Error("Missing selection!");return e}const Zt=E({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"),lt=Symbol.for("vuetify:data-table-sort");function ea(e){const a=R(()=>e.initialSortOrder),l=Y(e,"sortBy"),t=R(()=>e.mustSort),n=R(()=>e.multiSort);return{initialSortOrder:a,sortBy:l,multiSort:n,mustSort:t}}function ta(e,a){if(!bt(e))return{active:!!e};const{key:l,mode:t,modifier:n}=e,r=n==="alt"&&(a==null?void 0:a.altKey)||n==="shift"&&(a==null?void 0:a.shiftKey);return{active:!l||(a==null?void 0:a.ctrlKey)||(a==null?void 0:a.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function aa(e){const{initialSortOrder:a,sortBy:l,mustSort:t,multiSort:n,page:r}=e,o=function(d,g){let m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(d.key==null)return;let f=l.value.map(y=>({...y}))??[];const p=f.find(y=>y.key===d.key),h=a.value,x=a.value==="desc"?"asc":"desc";if(p)p.order===x?m||t.value&&f.length===1?p.order=a.value:f=f.filter(y=>y.key!==d.key):p.order=x;else{const{active:y,mode:i}=ta(n.value,g);y?i==="prepend"?f.unshift({key:d.key,order:h}):f.push({key:d.key,order:h}):f=[{key:d.key,order:h}]}l.value=f,r&&(r.value=1)};function s(d){return!!l.value.find(g=>g.key===d.key)}const u={sortBy:l,toggleSort:o,isSorted:s};return ae(lt,u),u}function nt(){const e=te(lt);if(!e)throw new Error("Missing sort!");return e}function la(e,a,l,t){const n=ee();return{sortedItems:T(()=>{var o,s;return l.value.length?na(a.value,l.value,n.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}):a.value})}}function na(e,a,l,t){const n=new Intl.Collator(l,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var u,d;for(let g=0;gc!=null?c.toString().toLocaleLowerCase():c),h!==x))return ie(h)&&ie(x)?0:ie(h)?-1:ie(x)?1:!isNaN(h)&&!isNaN(x)?Number(h)-Number(x):n.compare(h,x)}return 0}).map(o=>{let[s]=o;return s})}const rt=E({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:$},sortAscIcon:{type:$,default:"$sortAsc"},sortDescIcon:{type:$,default:"$sortDesc"},headerProps:{type:Object},selectAllLabel:{type:String,default:"$vuetify.dataTable.ariaLabel.selectAll"},sticky:Boolean,...Fe(),...Ve(),...Ot()},"VDataTableHeaders"),Le=Z()({name:"VDataTableHeaders",props:rt(),setup(e,a){let{slots:l}=a;const{t}=ee(),{toggleSort:n,sortBy:r,isSorted:o}=nt(),{someSelected:s,allSelected:u,selectAll:d,showSelectAll:g}=he(),{columns:m,headers:f}=ye(),{loaderClasses:p}=Ct(e);function h(I,v){if(!(e.sticky||e.fixedHeader)&&!I.fixed)return;const V=typeof I.fixed=="string"?I.fixed:I.fixed?"start":"none";return{position:"sticky",left:V==="start"?G(I.fixedOffset):void 0,right:V==="end"?G(I.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${v})`:void 0}}function x(I,v){I.key==="Enter"&&!e.disableSort&&n(v,I)}function y(I){const v=r.value.find(V=>V.key===I.key);switch(v==null?void 0:v.order){case"asc":return e.sortAscIcon;case"desc":return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder==="asc"?e.sortAscIcon:e.sortDescIcon)}}const{backgroundColorClasses:i,backgroundColorStyles:c}=Ft(()=>e.color),{displayClasses:b,mobile:P}=Te(e),C=T(()=>({headers:f.value,columns:m.value,toggleSort:n,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:u.value,selectAll:d,getSortIcon:y})),w=T(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},b.value,p.value]),F=I=>{let{column:v,x:V,y:H}=I;const L=v.key==="data-table-select"||v.key==="data-table-expand",D=v.key==="data-table-group"&&v.width===0&&!v.title,B=j(e.headerProps??{},v.headerProps??{}),O=v.sortable&&!e.disableSort,K=O?r.value.find(_=>_.key===v.key):void 0,N=(K==null?void 0:K.order)==="asc"?"ascending":(K==null?void 0:K.order)==="desc"?"descending":void 0;return k(ne,j({tag:"th","aria-sort":N,align:v.align,class:[{"v-data-table__th--sortable":O,"v-data-table__th--sorted":o(v),"v-data-table__th--fixed":v.fixed},...w.value],style:{width:G(v.width),minWidth:G(v.minWidth),maxWidth:G(v.maxWidth),...h(v,H)},colspan:v.colspan,rowspan:v.rowspan,fixed:v.fixed,nowrap:v.nowrap,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,noPadding:L,empty:D,tabindex:O?0:void 0,onClick:O?_=>n(v,_):void 0,onKeydown:O?_=>x(_,v):void 0},B),{default:()=>{var oe;const _=`header.${v.key}`,J={column:v,selectAll:d,isSorted:o,toggleSort:n,sortBy:r.value,someSelected:s.value,allSelected:u.value,getSortIcon:y};return l[_]?l[_](J):D?"":v.key==="data-table-select"?((oe=l["header.data-table-select"])==null?void 0:oe.call(l,J))??(g.value&&k(ve,{"aria-label":t(e.selectAllLabel),color:e.color,density:e.density,modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":d},null)):S("div",{class:"v-data-table-header__content"},[S("span",null,[v.title]),v.sortable&&!e.disableSort&&k(Ge,{key:"icon",class:"v-data-table-header__sort-icon",icon:y(v)},null),e.multiSort&&o(v)&&S("div",{key:"badge",class:me(["v-data-table-header__sort-badge",...i.value]),style:wt(c.value)},[r.value.findIndex(be=>be.key===v.key)+1])])}})},U=()=>{const I=T(()=>m.value.filter(D=>(D==null?void 0:D.sortable)&&!e.disableSort)),v=m.value.find(D=>D.key==="data-table-select"),V=T({get:()=>I.value.filter(D=>{let{key:B}=D;return r.value.some(O=>O.key===B)}),set:D=>{const B=le(D),O=r.value.map(N=>N.key);B.filter(N=>{let{key:_}=N;return!O.includes(_)}).forEach(N=>n(N)),kt(()=>r.value=r.value.filter(N=>{let{key:_}=N;return B.some(J=>J.key===_)}))}});function H(){return k(Ke,{modelValue:V.value,"onUpdate:modelValue":D=>V.value=D,chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:I.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined",returnObject:!0,"onClick:clear":()=>r.value=[]},{chip:D=>{let{item:B}=D;return k(Et,{onClick:B.raw.sortable?()=>n(B.raw,void 0,!0):void 0,onMousedown:O=>{O.preventDefault(),O.stopPropagation()}},{default:()=>[B.title,k(Ge,{class:me(["v-data-table__td-sort-icon",o(B.raw)&&"v-data-table__td-sort-icon-active"]),icon:y(B.raw),size:"small"},null)]})}})}function L(){return k(ve,{"aria-label":t(e.selectAllLabel),class:"v-data-table-header__select-all",color:e.color,density:"compact",modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":()=>d(!u.value)},null)}return k(ne,j({tag:"th",class:[...w.value],colspan:f.value.length+1},e.headerProps),{default:()=>{var D;return[S("div",{class:"v-data-table-header__content"},[((D=l["mobile.header"])==null?void 0:D.call(l,C.value))??S(q,null,[I.value.length>0&&H(),v&&L()])])]}})},W=T(()=>{if(l["mobile.header"])return!0;const I=m.value.some(V=>(V==null?void 0:V.sortable)&&!e.disableSort),v=m.value.some(V=>V.key==="data-table-select");return I||v});re(()=>P.value?S(q,null,[W.value&&S("tr",null,[k(U,null,null)])]):S(q,null,[l.headers?l.headers(C.value):f.value.map((I,v)=>S("tr",null,[I.map((V,H)=>k(F,{column:V,x:H,y:v},null))])),e.loading&&S("tr",{class:"v-data-table-progress"},[S("th",{colspan:m.value.length},[k(Bt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:l.loader})])])]))}}),ra=E({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),ot=Symbol.for("vuetify:data-table-group");function oa(e){return{groupBy:Y(e,"groupBy")}}function sa(e){const{disableSort:a,groupBy:l,sortBy:t}=e,n=X(new Set),r=T(()=>l.value.map(g=>({...g,order:g.order??!1})).concat(a!=null&&a.value?[]:t.value));function o(g){return n.value.has(g.id)}function s(g){const m=new Set(n.value);o(g)?m.delete(g.id):m.add(g.id),n.value=m}function u(g){function m(f){const p=[];for(const h of f.items)"type"in h&&h.type==="group"?p.push(...m(h)):p.push(h);return[...new Set(p)]}return m({items:g})}const d={sortByWithGroups:r,toggleGroup:s,opened:n,groupBy:l,extractRows:u,isGroupOpen:o};return ae(ot,d),d}function st(){const e=te(ot);if(!e)throw new Error("Missing group!");return e}function ua(e,a){if(!e.length)return[];const l=new Map;for(const t of e){const n=ge(t.raw,a);l.has(n)||l.set(n,[]),l.get(n).push(t)}return l}function ut(e,a){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!a.length)return[];const n=ua(e,a[0]),r=[],o=a.slice(1);return n.forEach((s,u)=>{const d=a[0],g=`${t}_${d}_${u}`;r.push({depth:l,id:g,key:d,value:u,items:o.length?ut(s,o,l+1,g):s,type:"group"})}),r}function it(e,a,l){const t=[];for(const n of e)"type"in n&&n.type==="group"?(n.value!=null&&t.push(n),(a.has(n.id)||n.value==null)&&(t.push(...it(n.items,a,l)),l&&t.push({...n,type:"group-summary"}))):t.push(n);return t}function ia(e,a,l,t){const n=T(()=>a.value.length?ut(z(e),a.value.map(o=>o.key)):[]),r=T(()=>a.value.length?it(n.value,l.value,z(t)):z(e));return{groups:n,flatItems:r}}const dt=E({item:{type:Object,required:!0},groupCollapseIcon:{type:$,default:"$tableGroupCollapse"},groupExpandIcon:{type:$,default:"$tableGroupExpand"},selectGroupLabel:{type:String,default:"$vuetify.dataTable.ariaLabel.selectGroup"},...Fe()},"VDataTableGroupHeaderRow"),da=Z()({name:"VDataTableGroupHeaderRow",props:dt(),setup(e,a){let{slots:l}=a;const{t}=ee(),{isGroupOpen:n,toggleGroup:r,extractRows:o}=st(),{isSelected:s,isSomeSelected:u,select:d}=he(),{columns:g}=ye(),m=T(()=>o([e.item])),f=R(()=>g.value.length-(g.value.some(p=>p.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}},[g.value.map(p=>{var h,x;if(p.key==="data-table-group"){const y=n(e.item)?e.groupCollapseIcon:e.groupExpandIcon,i=()=>r(e.item);return((h=l["data-table-group"])==null?void 0:h.call(l,{item:e.item,count:m.value.length,props:{icon:y,onClick:i}}))??k(ne,{class:"v-data-table-group-header-row__column",colspan:f.value},{default:()=>[k(ze,{size:"small",variant:"text",icon:y,onClick:i},null),S("span",null,[e.item.value]),S("span",null,[Re("("),m.value.length,Re(")")])]})}else if(p.key==="data-table-select"){const y=m.value.filter(P=>P.selectable),i=y.length>0&&s(y),c=u(y)&&!i,b=P=>d(y,P);return((x=l["data-table-select"])==null?void 0:x.call(l,{props:{modelValue:i,indeterminate:c,"onUpdate:modelValue":b}}))??k(ne,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[k(ve,{"aria-label":t(e.selectGroupLabel),density:e.density,disabled:y.length===0,modelValue:i,indeterminate:c,"onUpdate:modelValue":b},null)]})}return""})])}}),ca=E({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),ct=Symbol.for("vuetify:datatable:expanded");function fa(e){const a=R(()=>e.expandOnClick),l=Y(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,u){const d=new Set(l.value),g=ce(s.value);if(u)d.add(g);else{const m=[...l.value].find(f=>ce(f)===g);d.delete(m)}l.value=d}function n(s){const u=ce(s.value);return[...l.value].some(d=>ce(d)===u)}function r(s){t(s,!n(s))}const o={expand:t,expanded:l,expandOnClick:a,isExpanded:n,toggleExpand:r};return ae(ct,o),o}function ft(){const e=te(ct);if(!e)throw new Error("foo");return e}const gt=E({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:$,default:"$collapse"},expandIcon:{type:$,default:"$expand"},selectRowLabel:{type:String,default:"$vuetify.dataTable.ariaLabel.selectRow"},onClick:we(),onContextmenu:we(),onDblclick:we(),...Fe(),...Ve()},"VDataTableRow"),ga=Z()({name:"VDataTableRow",props:gt(),setup(e,a){let{slots:l}=a;const{t}=ee(),{displayClasses:n,mobile:r}=Te(e,"v-data-table__tr"),{isSelected:o,toggleSelect:s,someSelected:u,allSelected:d,selectAll:g}=he(),{isExpanded:m,toggleExpand:f}=ft(),{toggleSort:p,sortBy:h,isSorted:x}=nt(),{columns:y}=ye();re(()=>S("tr",{class:me(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},n.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&y.value.map((i,c)=>{const b=e.item,P=`item.${i.key}`,C=`header.${i.key}`,w={index:e.index,item:b.raw,internalItem:b,value:ge(b.columns,i.key),column:i,isSelected:o,toggleSelect:s,isExpanded:m,toggleExpand:f},F={column:i,selectAll:g,isSorted:x,toggleSort:p,sortBy:h.value,someSelected:u.value,allSelected:d.value,getSortIcon:()=>""},U=typeof e.cellProps=="function"?e.cellProps({index:w.index,item:w.item,internalItem:w.internalItem,value:w.value,column:i}):e.cellProps,W=typeof i.cellProps=="function"?i.cellProps({index:w.index,item:w.item,internalItem:w.internalItem,value:w.value}):i.cellProps,I=i.key==="data-table-select"||i.key==="data-table-expand",v=i.key==="data-table-group"&&i.width===0&&!i.title;return k(ne,j({align:i.align,indent:i.indent,class:{"v-data-table__td--expanded-row":i.key==="data-table-expand","v-data-table__td--select-row":i.key==="data-table-select"},fixed:i.fixed,fixedOffset:i.fixedOffset,fixedEndOffset:i.fixedEndOffset,lastFixed:i.lastFixed,firstFixedEnd:i.firstFixedEnd,maxWidth:r.value?void 0:i.maxWidth,noPadding:I,empty:v,nowrap:i.nowrap,width:r.value?void 0:i.width},U,W),{default:()=>{var H,L,D,B;if(i.key==="data-table-select")return((H=l["item.data-table-select"])==null?void 0:H.call(l,{...w,props:{color:e.color,disabled:!b.selectable,modelValue:o([b]),onClick:fe(()=>s(b),["stop"])}}))??k(ve,{"aria-label":t(e.selectRowLabel),color:e.color,disabled:!b.selectable,density:e.density,modelValue:o([b]),onClick:fe(O=>s(b,e.index,O),["stop"])},null);if(i.key==="data-table-expand")return((L=l["item.data-table-expand"])==null?void 0:L.call(l,{...w,props:{icon:m(b)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:fe(()=>f(b),["stop"])}}))??k(ze,{icon:m(b)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:fe(()=>f(b),["stop"])},null);if(l[P]&&!r.value)return l[P](w);const V=It(w.value);return r.value?S(q,null,[S("div",{class:"v-data-table__td-title"},[((D=l[C])==null?void 0:D.call(l,F))??i.title]),S("div",{class:"v-data-table__td-value"},[((B=l[P])==null?void 0:B.call(l,w))??V])]):V}})})]))}}),mt=E({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],...ke(gt(),["collapseIcon","expandIcon","density"]),...ke(dt(),["groupCollapseIcon","groupExpandIcon","density"]),...Ve()},"VDataTableRows"),Me=Z()({name:"VDataTableRows",inheritAttrs:!1,props:mt(),setup(e,a){let{attrs:l,slots:t}=a;const{columns:n}=ye(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=ft(),{isSelected:u,toggleSelect:d}=he(),{toggleGroup:g,isGroupOpen:m}=st(),{t:f}=ee(),{mobile:p}=Te(e);return re(()=>{var x,y;const h=ke(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:n.value.length},[((x=t.loading)==null?void 0:x.call(t))??f(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?S("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[S("td",{colspan:n.value.length},[((y=t["no-data"])==null?void 0:y.call(t))??f(e.noDataText)])]):S(q,null,[e.items.map((i,c)=>{var C,w;if(i.type==="group"){const F={index:c,item:i,columns:n.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:d,toggleGroup:g,isGroupOpen:m};return t["group-header"]?t["group-header"](F):k(da,j({key:`group-header_${i.id}`,item:i},Ae(l,":groupHeader",()=>F),h),t)}if(i.type==="group-summary"){const F={index:c,item:i,columns:n.value,toggleGroup:g};return((C=t["group-summary"])==null?void 0:C.call(t,F))??""}const b={index:i.virtualIndex??c,item:i.raw,internalItem:i,columns:n.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:d},P={...b,props:j({key:`item_${i.key??i.index}`,onClick:r.value?()=>{o(i)}:void 0,index:c,item:i,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:p.value},Ae(l,":row",()=>b),typeof e.rowProps=="function"?e.rowProps({item:b.item,index:b.index,internalItem:b.internalItem}):e.rowProps)};return S(q,{key:P.props.key},[t.item?t.item(P):k(ga,P.props,t),s(i)&&((w=t["expanded-row"])==null?void 0:w.call(t,b))])})])}),{}}}),ma=E({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 va(e,a,l,t){const n=e.returnObject?a:de(a,e.itemValue),r=de(a,e.itemSelectable,!0),o=t.reduce((s,u)=>(u.key!=null&&(s[u.key]=de(a,u.value)),s),{});return{type:"item",key:e.returnObject?de(a,e.itemValue):n,index:l,value:n,selectable:r,columns:o,raw:a}}function ya(e,a,l){return a.map((t,n)=>va(e,t,n,l))}function ha(e,a){return{items:T(()=>ya(e,e.items,a.value))}}function ba(e){let{page:a,itemsPerPage:l,sortBy:t,groupBy:n,search:r}=e;const o=je("VDataTable"),s=()=>({page:a.value,itemsPerPage:l.value,sortBy:t.value,groupBy:n.value,search:r.value});let u=null;Ce(s,d=>{We(u,d)||(u&&u.search!==d.search&&(a.value=1),o.emit("update:options",d),u=d)},{deep:!0,immediate:!0})}const pa=E({...mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...ca(),...ra(),...Mt(),...ma(),...Xt(),...Zt(),...De(rt(),["multiSort","initialSortOrder"]),...At()},"DataTable"),xa=E({...Rt(),...pa(),...Vt(),...Ue()},"VDataTable"),Ca=Z()({name:"VDataTable",props:xa(),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,a){let{attrs:l,slots:t}=a;const{groupBy:n}=oa(e),{initialSortOrder:r,sortBy:o,multiSort:s,mustSort:u}=ea(e),{page:d,itemsPerPage:g}=Nt(e),{disableSort:m}=Dt(e),{columns:f,headers:p,sortFunctions:h,sortRawFunctions:x,filterFunctions:y}=Ut(e,{groupBy:n,showSelect:R(()=>e.showSelect),showExpand:R(()=>e.showExpand)}),{items:i}=ha(e,f),c=R(()=>e.search),{filteredItems:b}=Tt(e,i,c,{transform:A=>A.columns,customKeyFilter:y}),{toggleSort:P}=aa({initialSortOrder:r,sortBy:o,multiSort:s,mustSort:u,page:d}),{sortByWithGroups:C,opened:w,extractRows:F,isGroupOpen:U,toggleGroup:W}=sa({groupBy:n,sortBy:o,disableSort:m}),{sortedItems:I}=la(e,b,C,{transform:A=>({...A.raw,...A.columns}),sortFunctions:h,sortRawFunctions:x}),v=T(()=>e.pageBy==="auto"?e.groupBy.length?"group":"item":e.pageBy),{pageCount:V,setItemsPerPage:H,paginatedItems:L}=Lt({pageBy:v,sortedItems:I,paginate:A=>{const pe=T(()=>z(A).length),{startIndex:xe,stopIndex:Se,pageCount:Q,setItemsPerPage:se}=Gt({page:d,itemsPerPage:g,itemsLength:pe}),{paginatedItems:ue}=Ht({items:A,startIndex:xe,stopIndex:Se,itemsPerPage:g});return{paginatedItems:ue,pageCount:Q,setItemsPerPage:se}},group:A=>ia(A,n,w,()=>!!t["group-summary"])}),D=T(()=>F(L.value)),{isSelected:B,select:O,selectAll:K,toggleSelect:N,someSelected:_,allSelected:J}=Yt(e,{allItems:i,currentPage:D}),{isExpanded:oe,toggleExpand:be}=fa(e);ba({page:d,itemsPerPage:g,sortBy:o,groupBy:n,search:c}),pt({VDataTableRows:{hideNoData:R(()=>e.hideNoData),noDataText:R(()=>e.noDataText),loading:R(()=>e.loading),loadingText:R(()=>e.loadingText)}});const M=T(()=>({page:d.value,itemsPerPage:g.value,sortBy:o.value,pageCount:V.value,toggleSort:P,setItemsPerPage:H,someSelected:_.value,allSelected:J.value,isSelected:B,select:O,selectAll:K,toggleSelect:N,isExpanded:oe,toggleExpand:be,isGroupOpen:U,toggleGroup:W,items:D.value.map(A=>A.raw),internalItems:D.value,groupedItems:L.value,columns:f.value,headers:p.value}));return re(()=>{const A=He.filterProps(e),pe=Le.filterProps(De(e,["multiSort"])),xe=Me.filterProps(e),Se=$e.filterProps(e);return k($e,j({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Se,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var Q;return(Q=t.top)==null?void 0:Q.call(t,M.value)},default:()=>{var Q,se,ue,Oe,_e,Ee;return t.default?t.default(M.value):S(q,null,[(Q=t.colgroup)==null?void 0:Q.call(t,M.value),!e.hideDefaultHeader&&S("thead",{key:"thead"},[k(Le,j(pe,{multiSort:!!e.multiSort}),t)]),(se=t.thead)==null?void 0:se.call(t,M.value),!e.hideDefaultBody&&S("tbody",null,[(ue=t["body.prepend"])==null?void 0:ue.call(t,M.value),t.body?t.body(M.value):k(Me,j(l,xe,{items:L.value}),t),(Oe=t["body.append"])==null?void 0:Oe.call(t,M.value)]),(_e=t.tbody)==null?void 0:_e.call(t,M.value),(Ee=t.tfoot)==null?void 0:Ee.call(t,M.value)])},bottom:()=>t.bottom?t.bottom(M.value):!e.hideDefaultFooter&&S(q,null,[k(_t,null,null),k(He,A,{prepend:t["footer.prepend"]})])})}),{}}});export{Ca as V}; diff --git a/assets/VDataTable-Cl7qiDOP.css b/assets/VDataTable-DhKfVIaU.css similarity index 71% rename from assets/VDataTable-Cl7qiDOP.css rename to assets/VDataTable-DhKfVIaU.css index 17cf436..2a476c5 100644 --- a/assets/VDataTable-Cl7qiDOP.css +++ b/assets/VDataTable-DhKfVIaU.css @@ -1 +1 @@ -.v-data-table{width:100%}.v-data-table__table{width:100%;border-collapse:separate;border-spacing:0}.v-data-table__tr--focus{border:1px dotted black}.v-data-table__tr--clickable{cursor:pointer}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end{text-align:end}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end .v-data-table-header__content{flex-direction:row-reverse}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center{text-align:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center .v-data-table-header__content{justify-content:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--no-padding{padding:0 8px}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--empty,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--empty,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--empty,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--empty{padding:0}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap{text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap .v-data-table-header__content{display:contents}.v-data-table .v-table__wrapper>table>thead>tr>th,.v-data-table .v-table__wrapper>table tbody>tr>th{align-items:center}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--fixed,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--fixed{position:sticky}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:focus,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:focus{cursor:pointer;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon{opacity:0}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):focus-visible .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):focus-visible .v-data-table-header__sort-icon{opacity:.5}.v-data-table .v-table__wrapper>table>thead>tr.v-data-table__tr--mobile>td,.v-data-table .v-table__wrapper>table tbody>tr.v-data-table__tr--mobile>td{height:fit-content}.v-data-table-column--fixed,.v-data-table-column--fixed-end,.v-data-table__th--sticky{background-color:rgb(var(--v-theme-surface));background-image:inherit;position:sticky!important;left:0;z-index:1}.v-data-table-column--fixed-end{left:unset;right:0}.v-data-table-column--last-fixed{border-right:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table-column--first-fixed-end{border-left:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed,.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed-end{z-index:2}.v-data-table-group-header-row td{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface))}.v-data-table-group-header-row td>span{padding-left:5px}.v-data-table--loading:not(.v-table--fixed-header)>.v-table__wrapper>table>thead>tr>.v-data-table__td:not(.v-data-table-column--fixed),.v-data-table--loading:not(.v-table--fixed-header)>.v-table__wrapper>table>thead>tr>.v-data-table__td:not(.v-data-table-column--fixed-end),.v-data-table--loading:not(.v-table--fixed-footer)>.v-table__wrapper>table>tfoot>tr>.v-data-table__td:not(.v-data-table-column--fixed),.v-data-table--loading:not(.v-table--fixed-footer)>.v-table__wrapper>table>tfoot>tr>.v-data-table__td:not(.v-data-table-column--fixed-end),.v-data-table--loading>.v-table__wrapper>table>tbody>tr>.v-data-table__td:not(.v-data-table-column--fixed),.v-data-table--loading>.v-table__wrapper>table>tbody>tr>.v-data-table__td:not(.v-data-table-column--fixed-end){opacity:var(--v-disabled-opacity)}.v-data-table-group-header-row__column{padding-inline-start:calc(var(--v-data-table-group-header-row-depth) * 16px)!important}.v-data-table-header__content{display:flex;align-items:center}.v-data-table-header__sort-icon{margin-inline:0px}.v-data-table-header__sort-badge{display:inline-flex;justify-content:center;align-items:center;font-size:.875rem;padding:4px;border-radius:50%;background:rgba(var(--v-border-color),var(--v-border-opacity));min-width:20px;min-height:20px;width:20px;height:20px}.v-data-table-progress>th{border:none!important;height:auto!important;padding:0!important}.v-data-table-progress__loader{position:relative}.v-data-table-rows-loading,.v-data-table-rows-no-data{text-align:center}.v-data-table__tr--mobile>.v-data-table__td--expanded-row{grid-template-columns:auto;justify-content:center}.v-data-table__tr--mobile>.v-data-table__td--select-row{grid-template-columns:0;justify-content:end}.v-data-table__tr--mobile>td{align-items:center;column-gap:4px;display:grid;grid-template-columns:repeat(2,1fr);min-height:var(--v-table-row-height)}.v-data-table__tr--mobile>td:not(:last-child){border-bottom:0!important}.v-data-table__td-title{font-weight:500;text-align:start}.v-data-table__td-value{text-align:end}.v-data-table__td-sort-icon{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-data-table__td-sort-icon-active{color:rgba(var(--v-theme-on-surface))}.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-data-table-footer{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:8px 4px}.v-data-table-footer__items-per-page{align-items:center;display:flex;justify-content:center}.v-data-table-footer__items-per-page>span{padding-inline-end:8px}.v-data-table-footer__items-per-page>.v-select{width:90px}.v-data-table-footer__info{display:flex;justify-content:flex-end;min-width:116px;padding:0 16px}.v-data-table-footer__paginationz{align-items:center;display:flex;margin-inline-start:16px}.v-data-table-footer__page{padding:0 8px} +.v-data-table{width:100%}.v-data-table__table{width:100%;border-collapse:separate;border-spacing:0}.v-data-table__tr--focus{border:1px dotted black}.v-data-table__tr--clickable{cursor:pointer}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end{text-align:end}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end .v-data-table-header__content{flex-direction:row-reverse}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center{text-align:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center .v-data-table-header__content{justify-content:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--no-padding{padding:0 8px}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--empty,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--empty,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--empty,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--empty{padding:0}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap{text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap .v-data-table-header__content{display:contents}.v-data-table .v-table__wrapper>table>thead>tr>th,.v-data-table .v-table__wrapper>table tbody>tr>th{align-items:center}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--fixed,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--fixed{position:sticky}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:focus,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:focus{cursor:pointer;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon{opacity:0}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):focus-visible .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):focus-visible .v-data-table-header__sort-icon{opacity:.5}.v-data-table .v-table__wrapper>table>thead>tr.v-data-table__tr--mobile>td,.v-data-table .v-table__wrapper>table tbody>tr.v-data-table__tr--mobile>td{height:fit-content}.v-data-table-column--fixed,.v-data-table-column--fixed-end,.v-data-table__th--sticky{background-color:rgb(var(--v-theme-surface));background-image:inherit;position:sticky!important;left:0;z-index:1}.v-data-table-column--fixed-end{left:unset;right:0}.v-data-table-column--last-fixed{border-right:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table-column--first-fixed-end{border-left:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed,.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed-end{z-index:2}.v-data-table-group-header-row td{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface))}.v-data-table-group-header-row td>span{padding-left:5px}.v-data-table--loading:not(.v-table--fixed-header)>.v-table__wrapper>table>thead>tr>.v-data-table__td:not(.v-data-table-column--fixed),.v-data-table--loading:not(.v-table--fixed-header)>.v-table__wrapper>table>thead>tr>.v-data-table__td:not(.v-data-table-column--fixed-end),.v-data-table--loading:not(.v-table--fixed-footer)>.v-table__wrapper>table>tfoot>tr>.v-data-table__td:not(.v-data-table-column--fixed),.v-data-table--loading:not(.v-table--fixed-footer)>.v-table__wrapper>table>tfoot>tr>.v-data-table__td:not(.v-data-table-column--fixed-end),.v-data-table--loading>.v-table__wrapper>table>tbody>tr>.v-data-table__td:not(.v-data-table-column--fixed),.v-data-table--loading>.v-table__wrapper>table>tbody>tr>.v-data-table__td:not(.v-data-table-column--fixed-end){opacity:var(--v-disabled-opacity)}.v-data-table-group-header-row__column{padding-inline-start:calc(var(--v-data-table-group-header-row-depth) * 16px)!important}.v-data-table-header__content{display:flex;align-items:center}.v-data-table-header__content>.v-data-table-header__select-all{margin-inline:16px -4px;flex-grow:0}.v-data-table-header__content>.v-data-table-header__select-all:only-child{margin-inline-start:auto}.v-data-table-header__sort-icon{margin-inline:0px}.v-data-table-header__sort-badge{display:inline-flex;justify-content:center;align-items:center;font-size:.875rem;padding:4px;border-radius:50%;background:rgba(var(--v-border-color),var(--v-border-opacity));min-width:20px;min-height:20px;width:20px;height:20px}.v-data-table-progress>th{border:none!important;height:auto!important;padding:0!important}.v-data-table-progress__loader{position:relative}.v-data-table-rows-loading,.v-data-table-rows-no-data{text-align:center}.v-data-table__tr--mobile>.v-data-table__td--expanded-row{grid-template-columns:auto;justify-content:center}.v-data-table__tr--mobile>.v-data-table__td--select-row{grid-template-columns:0;justify-content:end}.v-data-table__tr--mobile>td{align-items:center;column-gap:4px;display:grid;grid-template-columns:repeat(2,1fr);min-height:var(--v-table-row-height)}.v-data-table__tr--mobile>td:not(:last-child){border-bottom:0!important}.v-data-table__td-title{font-weight:500;text-align:start}.v-data-table__td-value{text-align:end}.v-data-table__td-sort-icon{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-data-table__td-sort-icon-active{color:rgba(var(--v-theme-on-surface))}.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-data-table-footer{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:8px 4px}.v-data-table-footer__items-per-page{align-items:center;display:flex;justify-content:center}.v-data-table-footer__items-per-page>span{padding-inline-end:8px}.v-data-table-footer__items-per-page>.v-select{width:90px}.v-data-table-footer__info{display:flex;justify-content:flex-end;min-width:116px;padding:0 16px}.v-data-table-footer__paginationz{align-items:center;display:flex;margin-inline-start:16px}.v-data-table-footer__page{padding:0 8px} diff --git a/assets/VDataTable-Dnwt1bQQ.js b/assets/VDataTable-Dnwt1bQQ.js deleted file mode 100644 index 5ac2fc0..0000000 --- a/assets/VDataTable-Dnwt1bQQ.js +++ /dev/null @@ -1 +0,0 @@ -import{n as U,p as _,l as He,z as be,f as J,an as ce,u as te,a5 as Pe,I as G,ap as vt,s as R,aq as yt,w as Z,ah as ht,o as $e,ar as ue,as as ne,F as bt,a0 as we,at as ke,ag as pe,aj as xe,au as Be,ai as re,j as pt}from"./vendor-vuetify-DpmmaPkh.js";import{l as j,e as I,d as X,o as Ie,p as Y,k as S,j as w,m as $,n as ie,w as xt,a as St,b as q,s as Pt,t as N,F as Q,N as wt,I as kt,a1 as Oe,x as oe,aa as se,S as It,y as Dt}from"./vendor-vue-BiQC5iF7.js";import{V as Ee}from"./VPagination-LhWLJTqu.js";import{V as Le,u as Tt,m as Vt}from"./VSelect-mQ_XLRnU.js";import{a3 as Ct,H as Ft,a4 as Bt,f as _e,a5 as Ot,M as De,h as je,i as Et}from"./index-D042plwv.js";import{V as _t}from"./VChip-nQelUOZI.js";import{V as de}from"./VCheckboxBtn-64kBGXnq.js";import{b as Ae,m as At}from"./VTable-DH4Drwun.js";const Nt=_({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:"any"}},"DataTable-paginate"),Me=Symbol.for("vuetify:data-table-pagination");function Rt(e){const a=U(e,"page",void 0,t=>Number(t??1)),l=U(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:a,itemsPerPage:l}}function Gt(e){const{page:a,itemsPerPage:l,itemsLength:t}=e,n=I(()=>l.value===-1?0:l.value*(a.value-1)),r=I(()=>l.value===-1?t.value:Math.min(t.value,n.value+l.value)),o=I(()=>l.value===-1||t.value===0?1:Math.ceil(t.value/l.value));Ie([a,o],()=>{a.value>o.value&&(a.value=o.value)});function i(f){l.value=f,a.value=1}function u(){a.value=be(a.value+1,1,o.value)}function c(){a.value=be(a.value-1,1,o.value)}function g(f){a.value=be(f,1,o.value)}const v={page:a,itemsPerPage:l,startIndex:n,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:c,setPage:g,setItemsPerPage:i};return Y(Me,v),v}function Ht(){const e=X(Me);if(!e)throw new Error("Missing pagination!");return e}function $t(e){const a=He("usePaginatedItems"),{items:l,startIndex:t,stopIndex:n,itemsPerPage:r}=e,o=I(()=>r.value<=0?j(l):j(l).slice(t.value,n.value));return Ie(o,i=>{a.emit("update:currentItems",i)},{immediate:!0}),{paginatedItems:o}}function Lt(e){const{sortedItems:a,paginate:l,group:t}=e,n=j(e.pageBy);if(n==="item"){const{paginatedItems:r,pageCount:o,setItemsPerPage:i}=l(a),{flatItems:u}=t(r);return{pageCount:o,setItemsPerPage:i,paginatedItems:u}}if(n==="group"){const{flatItems:r,groups:o}=t(a),{paginatedItems:i,pageCount:u,setItemsPerPage:c}=l(o),g=I(()=>{if(!i.value.length)return[];const v=i.value.at(0).id,f=i.value.at(-1).id,p=r.value.findIndex(d=>d.type==="group"&&d.id===v),y=r.value.findIndex(d=>d.type==="group"&&d.id===f),h=r.value.findIndex((d,b)=>b>y&&d.type==="group"&&d.depth===0);return r.value.slice(p,h===-1?void 0:h)});return{pageCount:u,setItemsPerPage:c,paginatedItems:g}}if(n==="any"){const{flatItems:r}=t(a),{paginatedItems:o,pageCount:i,setItemsPerPage:u}=l(r);return{pageCount:i,setItemsPerPage:u,paginatedItems:o}}throw new Error(`Unrecognized pagination target ${n}`)}const We=_({color:String,prevIcon:{type:G,default:"$prev"},nextIcon:{type:G,default:"$next"},firstIcon:{type:G,default:"$first"},lastIcon:{type:G,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"),Ne=J()({name:"VDataTableFooter",props:We(),setup(e,a){let{slots:l}=a;const{t}=ce(),{page:n,pageCount:r,startIndex:o,stopIndex:i,itemsLength:u,itemsPerPage:c,setItemsPerPage:g}=Ht(),v=I(()=>e.itemsPerPageOptions.map(f=>typeof f=="number"?{value:f,title:f===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(f)}:{...f,title:isNaN(Number(f.title))?t(f.title):f.title}));return te(()=>{var p;const f=Ee.filterProps(e);return S("div",{class:"v-data-table-footer"},[(p=l.prepend)==null?void 0:p.call(l),S("div",{class:"v-data-table-footer__items-per-page"},[S("span",null,[t(e.itemsPerPageText)]),w(Le,{items:v.value,itemColor:e.color,modelValue:c.value,"onUpdate:modelValue":y=>g(Number(y)),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,u.value?o.value+1:0,i.value,u.value)])]),S("div",{class:"v-data-table-footer__pagination"},[w(Ee,$({modelValue:n.value,"onUpdate:modelValue":y=>n.value=y,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"},Pe(f,["color"])),null)])])}),{}}}),ee=vt({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,a)=>{let{slots:l}=a;const t=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return w(t,{class:ie(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="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:R(e.height),width:R(e.width),maxWidth:R(e.maxWidth),left:n==="start"?R(e.fixedOffset||null):void 0,right:n==="end"?R(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?R(e.indent):void 0}},{default:()=>{var r;return[(r=l.default)==null?void 0:r.call(l)]}})}),jt=_({headers:Array},"DataTable-header"),Ke=Symbol.for("vuetify:data-table-headers"),ze={title:"",sortable:!1},Mt={...ze,width:48};function Wt(){const a=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(l=>({element:l,priority:0}));return{enqueue:(l,t)=>{let n=!1;for(let r=0;rt){a.splice(r,0,{element:l,priority:t}),n=!0;break}n||a.push({element:l,priority:t})},size:()=>a.length,count:()=>{let l=0;if(!a.length)return 0;const t=Math.floor(a[0].priority);for(let n=0;na.shift()}}function Se(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)a.push(e);else for(const l of e.children)Se(l,a);return a}function qe(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const l of e)l.key&&a.add(l.key),l.children&&qe(l.children,a);return a}function Kt(e){if(e.key){if(e.key==="data-table-group")return ze;if(["data-table-expand","data-table-select"].includes(e.key))return Mt}}function Te(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(a,...e.children.map(l=>Te(l,a+1))):a}function zt(e){let a=!1;function l(r,o){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(i!=="none"&&(r.fixed=i),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let u=r.children.length-1;u>=0;u--)l(r.children[u],o,o);else for(let u=0;u=0;u--)l(r.children[u],o);else for(let u=0;u=0;r--)l(e[r],"start");for(let r=0;r=0;r--)n=Qe(e[r],n)}function Ue(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return a;if(e.children){e.fixedOffset=a;for(const l of e.children)a=Ue(l,a)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=a,a+=parseFloat(e.width||"0")||0);return a}function Qe(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return a;if(e.children){e.fixedEndOffset=a;for(const l of e.children)a=Qe(l,a)}else e.fixed==="end"&&(e.fixedEndOffset=a,a+=parseFloat(e.width||"0")||0);return a}function qt(e,a){const l=[];let t=0;const n=Wt(e);for(;n.size()>0;){let o=n.count();const i=[];let u=1;for(;o>0;){const{element:c,priority:g}=n.dequeue(),v=a-t-Te(c);if(i.push({...c,rowspan:v??1,colspan:c.children?Se(c).length:1}),c.children)for(const f of c.children){const p=g%1+u/Math.pow(10,t+2);n.enqueue(f,t+v+p)}u+=1,o-=1}t+=1,l.push(i)}return{columns:e.map(o=>Se(o)).flat(),headers:l}}function Je(e){const a=[];for(const l of e){const t={...Kt(l),...l},n=t.key??(typeof t.value=="string"?t.value:null),r=t.value??n??null,o={...t,key:n,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?Je(t.children):void 0};a.push(o)}return a}function Ut(e,a){const l=q([]),t=q([]),n=q({}),r=q({}),o=q({});xt(()=>{var h,d,b;const c=(e.headers||Object.keys(e.items[0]??{}).map(s=>({key:s,title:St(s)}))).slice(),g=qe(c);(h=a==null?void 0:a.groupBy)!=null&&h.value.length&&!g.has("data-table-group")&&c.unshift({key:"data-table-group",title:"Group"}),(d=a==null?void 0:a.showSelect)!=null&&d.value&&!g.has("data-table-select")&&c.unshift({key:"data-table-select"}),(b=a==null?void 0:a.showExpand)!=null&&b.value&&!g.has("data-table-expand")&&c.push({key:"data-table-expand"});const v=Je(c);zt(v);const f=Math.max(...v.map(s=>Te(s)))+1,p=qt(v,f);l.value=p.headers,t.value=p.columns;const y=p.headers.flat(1);n.value={},r.value={},o.value={};for(const s of y)s.key&&(s.sortable&&(s.sort&&(n.value[s.key]=s.sort),s.sortRaw&&(r.value[s.key]=s.sortRaw)),s.filter&&(o.value[s.key]=s.filter))});const i={headers:l,columns:t,sortFunctions:n,sortRawFunctions:r,filterFunctions:o};return Y(Ke,i),i}function fe(){const e=X(Ke);if(!e)throw new Error("Missing headers!");return e}const Qt={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:a,value:l}=e;return new Set(l?[(t=a[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:a}=e;return a}},Xe={showSelectAll:!0,allSelected:e=>{let{currentPage:a}=e;return a},select:e=>{let{items:a,value:l,selected:t}=e;for(const n of a)l?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:a,currentPage:l,selected:t}=e;return Xe.select({items:l,value:a,selected:t})}},Jt={showSelectAll:!0,allSelected:e=>{let{allItems:a}=e;return a},select:e=>{let{items:a,value:l,selected:t}=e;for(const n of a)l?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:a,allItems:l}=e;return new Set(a?l.map(t=>t.value):[])}},Xt=_({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),Ye=Symbol.for("vuetify:data-table-selection");function Yt(e,a){let{allItems:l,currentPage:t}=a;const n=U(e,"modelValue",e.modelValue,s=>{const x=e.valueComparator;return x?new Set(Z(s).map(D=>{var P;return((P=l.value.find(F=>x(D,F.value)))==null?void 0:P.value)??D})):new Set(Z(s).map(D=>{var P,F;return ht(D)?((P=l.value.find(V=>D===V.value))==null?void 0:P.value)??D:((F=l.value.find(V=>$e(D,V.value)))==null?void 0:F.value)??D}))},s=>[...s.values()]),r=I(()=>l.value.filter(s=>s.selectable)),o=I(()=>j(t).filter(s=>s.selectable)),i=I(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Qt;case"all":return Jt;case"page":default:return Xe}}),u=Pt(null);function c(s){return Z(s).every(x=>n.value.has(x.value))}function g(s){return Z(s).some(x=>n.value.has(x.value))}function v(s,x){const D=i.value.select({items:s,value:x,selected:new Set(n.value)});n.value=D}function f(s,x,D){const P=[],F=j(t);if(x=x??F.findIndex(V=>V.value===s.value),e.selectStrategy!=="single"&&(D!=null&&D.shiftKey)&&u.value!==null){const[V,W]=[u.value,x].sort((k,m)=>k-m);P.push(...F.slice(V,W+1).filter(k=>k.selectable))}else P.push(s),u.value=x;v(P,!c([s]))}function p(s){const x=i.value.selectAll({value:s,allItems:r.value,currentPage:o.value,selected:new Set(n.value)});n.value=x}const y=I(()=>n.value.size>0),h=I(()=>{const s=i.value.allSelected({allItems:r.value,currentPage:o.value});return!!s.length&&c(s)}),d=N(()=>i.value.showSelectAll),b={toggleSelect:f,select:v,selectAll:p,isSelected:c,isSomeSelected:g,someSelected:y,allSelected:h,showSelectAll:d,lastSelectedIndex:u,selectStrategy:i};return Y(Ye,b),b}function ge(){const e=X(Ye);if(!e)throw new Error("Missing selection!");return e}const Zt=_({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"),Ze=Symbol.for("vuetify:data-table-sort");function ea(e){const a=N(()=>e.initialSortOrder),l=U(e,"sortBy"),t=N(()=>e.mustSort),n=N(()=>e.multiSort);return{initialSortOrder:a,sortBy:l,multiSort:n,mustSort:t}}function ta(e,a){if(!bt(e))return{active:!!e};const{key:l,mode:t,modifier:n}=e,r=n==="alt"&&(a==null?void 0:a.altKey)||n==="shift"&&(a==null?void 0:a.shiftKey);return{active:!l||(a==null?void 0:a.ctrlKey)||(a==null?void 0:a.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function aa(e){const{initialSortOrder:a,sortBy:l,mustSort:t,multiSort:n,page:r}=e,o=function(c,g){let v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(c.key==null)return;let f=l.value.map(d=>({...d}))??[];const p=f.find(d=>d.key===c.key),y=a.value,h=a.value==="desc"?"asc":"desc";if(p)p.order===h?v||t.value&&f.length===1?p.order=a.value:f=f.filter(d=>d.key!==c.key):p.order=h;else{const{active:d,mode:b}=ta(n.value,g);d?b==="prepend"?f.unshift({key:c.key,order:y}):f.push({key:c.key,order:y}):f=[{key:c.key,order:y}]}l.value=f,r&&(r.value=1)};function i(c){return!!l.value.find(g=>g.key===c.key)}const u={sortBy:l,toggleSort:o,isSorted:i};return Y(Ze,u),u}function et(){const e=X(Ze);if(!e)throw new Error("Missing sort!");return e}function la(e,a,l,t){const n=ce();return{sortedItems:I(()=>{var o,i;return l.value.length?na(a.value,l.value,n.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:(i=t==null?void 0:t.sortRawFunctions)==null?void 0:i.value}):a.value})}}function na(e,a,l,t){const n=new Intl.Collator(l,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,i)=>{var u,c;for(let g=0;gs!=null?s.toString().toLocaleLowerCase():s),y!==h))return ne(y)&&ne(h)?0:ne(y)?-1:ne(h)?1:!isNaN(y)&&!isNaN(h)?Number(y)-Number(h):n.compare(y,h)}return 0}).map(o=>{let[i]=o;return i})}const tt=_({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:G},sortAscIcon:{type:G,default:"$sortAsc"},sortDescIcon:{type:G,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...De(),...ke(),...Ot()},"VDataTableHeaders"),Re=J()({name:"VDataTableHeaders",props:tt(),setup(e,a){let{slots:l}=a;const{t}=ce(),{toggleSort:n,sortBy:r,isSorted:o}=et(),{someSelected:i,allSelected:u,selectAll:c,showSelectAll:g}=ge(),{columns:v,headers:f}=fe(),{loaderClasses:p}=Ct(e);function y(k,m){if(!(e.sticky||e.fixedHeader)&&!k.fixed)return;const E=typeof k.fixed=="string"?k.fixed:k.fixed?"start":"none";return{position:"sticky",left:E==="start"?R(k.fixedOffset):void 0,right:E==="end"?R(k.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${m})`:void 0}}function h(k,m){k.key==="Enter"&&!e.disableSort&&n(m,k)}function d(k){const m=r.value.find(E=>E.key===k.key);switch(m==null?void 0:m.order){case"asc":return e.sortAscIcon;case"desc":return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder==="asc"?e.sortAscIcon:e.sortDescIcon)}}const{backgroundColorClasses:b,backgroundColorStyles:s}=Ft(()=>e.color),{displayClasses:x,mobile:D}=we(e),P=I(()=>({headers:f.value,columns:v.value,toggleSort:n,isSorted:o,sortBy:r.value,someSelected:i.value,allSelected:u.value,selectAll:c,getSortIcon:d})),F=I(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},x.value,p.value]),V=k=>{let{column:m,x:E,y:T}=k;const B=m.key==="data-table-select"||m.key==="data-table-expand",O=m.key==="data-table-group"&&m.width===0&&!m.title,L=$(e.headerProps??{},m.headerProps??{});return w(ee,$({tag:"th",align:m.align,class:[{"v-data-table__th--sortable":m.sortable&&!e.disableSort,"v-data-table__th--sorted":o(m),"v-data-table__th--fixed":m.fixed},...F.value],style:{width:R(m.width),minWidth:R(m.minWidth),maxWidth:R(m.maxWidth),...y(m,T)},colspan:m.colspan,rowspan:m.rowspan,fixed:m.fixed,nowrap:m.nowrap,lastFixed:m.lastFixed,firstFixedEnd:m.firstFixedEnd,noPadding:B,empty:O,tabindex:m.sortable?0:void 0,onClick:m.sortable?C=>n(m,C):void 0,onKeydown:m.sortable?C=>h(C,m):void 0},L),{default:()=>{var z;const C=`header.${m.key}`,M={column:m,selectAll:c,isSorted:o,toggleSort:n,sortBy:r.value,someSelected:i.value,allSelected:u.value,getSortIcon:d};return l[C]?l[C](M):O?"":m.key==="data-table-select"?((z=l["header.data-table-select"])==null?void 0:z.call(l,M))??(g.value&&w(de,{color:e.color,density:e.density,modelValue:u.value,indeterminate:i.value&&!u.value,"onUpdate:modelValue":c},null)):S("div",{class:"v-data-table-header__content"},[S("span",null,[m.title]),m.sortable&&!e.disableSort&&w(_e,{key:"icon",class:"v-data-table-header__sort-icon",icon:d(m)},null),e.multiSort&&o(m)&&S("div",{key:"badge",class:ie(["v-data-table-header__sort-badge",...b.value]),style:wt(s.value)},[r.value.findIndex(me=>me.key===m.key)+1])])}})},W=()=>{const k=I(()=>v.value.filter(T=>(T==null?void 0:T.sortable)&&!e.disableSort)),m=v.value.find(T=>T.key==="data-table-select"),E=I({get:()=>k.value.filter(T=>{let{key:B}=T;return r.value.some(O=>O.key===B)}),set:T=>{const B=Z(T),O=r.value.map(C=>C.key);B.filter(C=>{let{key:M}=C;return!O.includes(M)}).forEach(C=>n(C)),kt(()=>r.value=r.value.filter(C=>{let{key:M}=C;return B.some(z=>z.key===M)}))}});return w(ee,$({tag:"th",class:[...F.value],colspan:f.value.length+1},e.headerProps),{default:()=>[S("div",{class:"v-data-table-header__content"},[w(Le,{modelValue:E.value,"onUpdate:modelValue":T=>E.value=T,chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:k.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined",returnObject:!0,"onClick:clear":()=>r.value=[]},{append:m?()=>w(de,{color:e.color,density:"compact",modelValue:u.value,indeterminate:i.value&&!u.value,"onUpdate:modelValue":()=>c(!u.value)},null):void 0,chip:T=>{let{item:B}=T;return w(_t,{onClick:B.raw.sortable?()=>n(B.raw,void 0,!0):void 0,onMousedown:O=>{O.preventDefault(),O.stopPropagation()}},{default:()=>[B.title,w(_e,{class:ie(["v-data-table__td-sort-icon",o(B.raw)&&"v-data-table__td-sort-icon-active"]),icon:d(B.raw),size:"small"},null)]})}})])]})};te(()=>D.value?S("tr",null,[w(W,null,null)]):S(Q,null,[l.headers?l.headers(P.value):f.value.map((k,m)=>S("tr",null,[k.map((E,T)=>w(V,{column:E,x:T,y:m},null))])),e.loading&&S("tr",{class:"v-data-table-progress"},[S("th",{colspan:v.value.length},[w(Bt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:l.loader})])])]))}}),ra=_({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),at=Symbol.for("vuetify:data-table-group");function oa(e){return{groupBy:U(e,"groupBy")}}function sa(e){const{disableSort:a,groupBy:l,sortBy:t}=e,n=q(new Set),r=I(()=>l.value.map(g=>({...g,order:g.order??!1})).concat(a!=null&&a.value?[]:t.value));function o(g){return n.value.has(g.id)}function i(g){const v=new Set(n.value);o(g)?v.delete(g.id):v.add(g.id),n.value=v}function u(g){function v(f){const p=[];for(const y of f.items)"type"in y&&y.type==="group"?p.push(...v(y)):p.push(y);return[...new Set(p)]}return v({items:g})}const c={sortByWithGroups:r,toggleGroup:i,opened:n,groupBy:l,extractRows:u,isGroupOpen:o};return Y(at,c),c}function lt(){const e=X(at);if(!e)throw new Error("Missing group!");return e}function ua(e,a){if(!e.length)return[];const l=new Map;for(const t of e){const n=ue(t.raw,a);l.has(n)||l.set(n,[]),l.get(n).push(t)}return l}function nt(e,a){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!a.length)return[];const n=ua(e,a[0]),r=[],o=a.slice(1);return n.forEach((i,u)=>{const c=a[0],g=`${t}_${c}_${u}`;r.push({depth:l,id:g,key:c,value:u,items:o.length?nt(i,o,l+1,g):i,type:"group"})}),r}function rt(e,a,l){const t=[];for(const n of e)"type"in n&&n.type==="group"?(n.value!=null&&t.push(n),(a.has(n.id)||n.value==null)&&(t.push(...rt(n.items,a,l)),l&&t.push({...n,type:"group-summary"}))):t.push(n);return t}function ia(e,a,l,t){const n=I(()=>a.value.length?nt(j(e),a.value.map(o=>o.key)):[]),r=I(()=>a.value.length?rt(n.value,l.value,j(t)):j(e));return{groups:n,flatItems:r}}const ot=_({item:{type:Object,required:!0},groupCollapseIcon:{type:G,default:"$tableGroupCollapse"},groupExpandIcon:{type:G,default:"$tableGroupExpand"},...De()},"VDataTableGroupHeaderRow"),da=J()({name:"VDataTableGroupHeaderRow",props:ot(),setup(e,a){let{slots:l}=a;const{isGroupOpen:t,toggleGroup:n,extractRows:r}=lt(),{isSelected:o,isSomeSelected:i,select:u}=ge(),{columns:c}=fe(),g=I(()=>r([e.item])),v=N(()=>c.value.length-(c.value.some(f=>f.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}},[c.value.map(f=>{var p,y;if(f.key==="data-table-group"){const h=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,d=()=>n(e.item);return((p=l["data-table-group"])==null?void 0:p.call(l,{item:e.item,count:g.value.length,props:{icon:h,onClick:d}}))??w(ee,{class:"v-data-table-group-header-row__column",colspan:v.value},{default:()=>[w(je,{size:"small",variant:"text",icon:h,onClick:d},null),S("span",null,[e.item.value]),S("span",null,[Oe("("),g.value.length,Oe(")")])]})}else if(f.key==="data-table-select"){const h=g.value.filter(x=>x.selectable),d=h.length>0&&o(h),b=i(h)&&!d,s=x=>u(h,x);return((y=l["data-table-select"])==null?void 0:y.call(l,{props:{modelValue:d,indeterminate:b,"onUpdate:modelValue":s}}))??w(ee,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[w(de,{density:e.density,disabled:h.length===0,modelValue:d,indeterminate:b,"onUpdate:modelValue":s},null)]})}return""})])}}),ca=_({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),st=Symbol.for("vuetify:datatable:expanded");function fa(e){const a=N(()=>e.expandOnClick),l=U(e,"expanded",e.expanded,i=>new Set(i),i=>[...i.values()]);function t(i,u){const c=new Set(l.value),g=oe(i.value);if(u)c.add(g);else{const v=[...l.value].find(f=>oe(f)===g);c.delete(v)}l.value=c}function n(i){const u=oe(i.value);return[...l.value].some(c=>oe(c)===u)}function r(i){t(i,!n(i))}const o={expand:t,expanded:l,expandOnClick:a,isExpanded:n,toggleExpand:r};return Y(st,o),o}function ut(){const e=X(st);if(!e)throw new Error("foo");return e}const it=_({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:G,default:"$collapse"},expandIcon:{type:G,default:"$expand"},onClick:pe(),onContextmenu:pe(),onDblclick:pe(),...De(),...ke()},"VDataTableRow"),ga=J()({name:"VDataTableRow",props:it(),setup(e,a){let{slots:l}=a;const{displayClasses:t,mobile:n}=we(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:i,allSelected:u,selectAll:c}=ge(),{isExpanded:g,toggleExpand:v}=ut(),{toggleSort:f,sortBy:p,isSorted:y}=et(),{columns:h}=fe();te(()=>S("tr",{class:ie(["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&&h.value.map((d,b)=>{const s=e.item,x=`item.${d.key}`,D=`header.${d.key}`,P={index:e.index,item:s.raw,internalItem:s,value:ue(s.columns,d.key),column:d,isSelected:r,toggleSelect:o,isExpanded:g,toggleExpand:v},F={column:d,selectAll:c,isSorted:y,toggleSort:f,sortBy:p.value,someSelected:i.value,allSelected:u.value,getSortIcon:()=>""},V=typeof e.cellProps=="function"?e.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value,column:d}):e.cellProps,W=typeof d.cellProps=="function"?d.cellProps({index:P.index,item:P.item,internalItem:P.internalItem,value:P.value}):d.cellProps,k=d.key==="data-table-select"||d.key==="data-table-expand",m=d.key==="data-table-group"&&d.width===0&&!d.title;return w(ee,$({align:d.align,indent:d.indent,class:{"v-data-table__td--expanded-row":d.key==="data-table-expand","v-data-table__td--select-row":d.key==="data-table-select"},fixed:d.fixed,fixedOffset:d.fixedOffset,fixedEndOffset:d.fixedEndOffset,lastFixed:d.lastFixed,firstFixedEnd:d.firstFixedEnd,maxWidth:n.value?void 0:d.maxWidth,noPadding:k,empty:m,nowrap:d.nowrap,width:n.value?void 0:d.width},V,W),{default:()=>{var T,B,O,L;if(d.key==="data-table-select")return((T=l["item.data-table-select"])==null?void 0:T.call(l,{...P,props:{color:e.color,disabled:!s.selectable,modelValue:r([s]),onClick:se(()=>o(s),["stop"])}}))??w(de,{color:e.color,disabled:!s.selectable,density:e.density,modelValue:r([s]),onClick:se(C=>o(s,e.index,C),["stop"])},null);if(d.key==="data-table-expand")return((B=l["item.data-table-expand"])==null?void 0:B.call(l,{...P,props:{icon:g(s)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:se(()=>v(s),["stop"])}}))??w(je,{icon:g(s)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:se(()=>v(s),["stop"])},null);if(l[x]&&!n.value)return l[x](P);const E=It(P.value);return n.value?S(Q,null,[S("div",{class:"v-data-table__td-title"},[((O=l[D])==null?void 0:O.call(l,F))??d.title]),S("div",{class:"v-data-table__td-value"},[((L=l[x])==null?void 0:L.call(l,P))??E])]):E}})})]))}}),dt=_({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],...xe(it(),["collapseIcon","expandIcon","density"]),...xe(ot(),["groupCollapseIcon","groupExpandIcon","density"]),...ke()},"VDataTableRows"),Ge=J()({name:"VDataTableRows",inheritAttrs:!1,props:dt(),setup(e,a){let{attrs:l,slots:t}=a;const{columns:n}=fe(),{expandOnClick:r,toggleExpand:o,isExpanded:i}=ut(),{isSelected:u,toggleSelect:c}=ge(),{toggleGroup:g,isGroupOpen:v}=lt(),{t:f}=ce(),{mobile:p}=we(e);return te(()=>{var h,d;const y=xe(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:n.value.length},[((h=t.loading)==null?void 0:h.call(t))??f(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?S("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[S("td",{colspan:n.value.length},[((d=t["no-data"])==null?void 0:d.call(t))??f(e.noDataText)])]):S(Q,null,[e.items.map((b,s)=>{var P,F;if(b.type==="group"){const V={index:s,item:b,columns:n.value,isExpanded:i,toggleExpand:o,isSelected:u,toggleSelect:c,toggleGroup:g,isGroupOpen:v};return t["group-header"]?t["group-header"](V):w(da,$({key:`group-header_${b.id}`,item:b},Be(l,":groupHeader",()=>V),y),t)}if(b.type==="group-summary"){const V={index:s,item:b,columns:n.value,toggleGroup:g};return((P=t["group-summary"])==null?void 0:P.call(t,V))??""}const x={index:b.virtualIndex??s,item:b.raw,internalItem:b,columns:n.value,isExpanded:i,toggleExpand:o,isSelected:u,toggleSelect:c},D={...x,props:$({key:`item_${b.key??b.index}`,onClick:r.value?()=>{o(b)}:void 0,index:s,item:b,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:p.value},Be(l,":row",()=>x),typeof e.rowProps=="function"?e.rowProps({item:x.item,index:x.index,internalItem:x.internalItem}):e.rowProps)};return S(Q,{key:D.props.key},[t.item?t.item(D):w(ga,D.props,t),i(b)&&((F=t["expanded-row"])==null?void 0:F.call(t,x))])})])}),{}}}),ma=_({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 va(e,a,l,t){const n=e.returnObject?a:re(a,e.itemValue),r=re(a,e.itemSelectable,!0),o=t.reduce((i,u)=>(u.key!=null&&(i[u.key]=re(a,u.value)),i),{});return{type:"item",key:e.returnObject?re(a,e.itemValue):n,index:l,value:n,selectable:r,columns:o,raw:a}}function ya(e,a,l){return a.map((t,n)=>va(e,t,n,l))}function ha(e,a){return{items:I(()=>ya(e,e.items,a.value))}}function ba(e){let{page:a,itemsPerPage:l,sortBy:t,groupBy:n,search:r}=e;const o=He("VDataTable"),i=()=>({page:a.value,itemsPerPage:l.value,sortBy:t.value,groupBy:n.value,search:r.value});let u=null;Ie(i,c=>{$e(u,c)||(u&&u.search!==c.search&&(a.value=1),o.emit("update:options",c),u=c)},{deep:!0,immediate:!0})}const pa=_({...dt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...ca(),...ra(),...jt(),...ma(),...Xt(),...Zt(),...Pe(tt(),["multiSort","initialSortOrder"]),...At()},"DataTable"),xa=_({...Nt(),...pa(),...Vt(),...We()},"VDataTable"),Ca=J()({name:"VDataTable",props:xa(),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,a){let{attrs:l,slots:t}=a;const{groupBy:n}=oa(e),{initialSortOrder:r,sortBy:o,multiSort:i,mustSort:u}=ea(e),{page:c,itemsPerPage:g}=Rt(e),{disableSort:v}=Dt(e),{columns:f,headers:p,sortFunctions:y,sortRawFunctions:h,filterFunctions:d}=Ut(e,{groupBy:n,showSelect:N(()=>e.showSelect),showExpand:N(()=>e.showExpand)}),{items:b}=ha(e,f),s=N(()=>e.search),{filteredItems:x}=Tt(e,b,s,{transform:A=>A.columns,customKeyFilter:d}),{toggleSort:D}=aa({initialSortOrder:r,sortBy:o,multiSort:i,mustSort:u,page:c}),{sortByWithGroups:P,opened:F,extractRows:V,isGroupOpen:W,toggleGroup:k}=sa({groupBy:n,sortBy:o,disableSort:v}),{sortedItems:m}=la(e,x,P,{transform:A=>({...A.raw,...A.columns}),sortFunctions:y,sortRawFunctions:h}),E=I(()=>e.pageBy==="auto"?e.groupBy.length?"group":"item":e.pageBy),{pageCount:T,setItemsPerPage:B,paginatedItems:O}=Lt({pageBy:E,sortedItems:m,paginate:A=>{const ve=I(()=>j(A).length),{startIndex:ye,stopIndex:he,pageCount:K,setItemsPerPage:ae}=Gt({page:c,itemsPerPage:g,itemsLength:ve}),{paginatedItems:le}=$t({items:A,startIndex:ye,stopIndex:he,itemsPerPage:g});return{paginatedItems:le,pageCount:K,setItemsPerPage:ae}},group:A=>ia(A,n,F,()=>!!t["group-summary"])}),L=I(()=>V(O.value)),{isSelected:C,select:M,selectAll:z,toggleSelect:me,someSelected:ct,allSelected:ft}=Yt(e,{allItems:b,currentPage:L}),{isExpanded:gt,toggleExpand:mt}=fa(e);ba({page:c,itemsPerPage:g,sortBy:o,groupBy:n,search:s}),pt({VDataTableRows:{hideNoData:N(()=>e.hideNoData),noDataText:N(()=>e.noDataText),loading:N(()=>e.loading),loadingText:N(()=>e.loadingText)}});const H=I(()=>({page:c.value,itemsPerPage:g.value,sortBy:o.value,pageCount:T.value,toggleSort:D,setItemsPerPage:B,someSelected:ct.value,allSelected:ft.value,isSelected:C,select:M,selectAll:z,toggleSelect:me,isExpanded:gt,toggleExpand:mt,isGroupOpen:W,toggleGroup:k,items:L.value.map(A=>A.raw),internalItems:L.value,groupedItems:O.value,columns:f.value,headers:p.value}));return te(()=>{const A=Ne.filterProps(e),ve=Re.filterProps(Pe(e,["multiSort"])),ye=Ge.filterProps(e),he=Ae.filterProps(e);return w(Ae,$({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},he,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var K;return(K=t.top)==null?void 0:K.call(t,H.value)},default:()=>{var K,ae,le,Ve,Ce,Fe;return t.default?t.default(H.value):S(Q,null,[(K=t.colgroup)==null?void 0:K.call(t,H.value),!e.hideDefaultHeader&&S("thead",{key:"thead"},[w(Re,$(ve,{multiSort:!!e.multiSort}),t)]),(ae=t.thead)==null?void 0:ae.call(t,H.value),!e.hideDefaultBody&&S("tbody",null,[(le=t["body.prepend"])==null?void 0:le.call(t,H.value),t.body?t.body(H.value):w(Ge,$(l,ye,{items:O.value}),t),(Ve=t["body.append"])==null?void 0:Ve.call(t,H.value)]),(Ce=t.tbody)==null?void 0:Ce.call(t,H.value),(Fe=t.tfoot)==null?void 0:Fe.call(t,H.value)])},bottom:()=>t.bottom?t.bottom(H.value):!e.hideDefaultFooter&&S(Q,null,[w(Et,null,null),w(Ne,A,{prepend:t["footer.prepend"]})])})}),{}}});export{Ca as V}; diff --git a/assets/VDatePicker-DBOVlJXM.js b/assets/VDatePicker-B6PZcrmX.js similarity index 93% rename from assets/VDatePicker-DBOVlJXM.js rename to assets/VDatePicker-B6PZcrmX.js index 4ffa998..a09cb9f 100644 --- a/assets/VDatePicker-DBOVlJXM.js +++ b/assets/VDatePicker-B6PZcrmX.js @@ -1,2 +1,2 @@ -import{f as J,an as le,u as q,s as ne,p as E,I as ae,ag as Ie,aR as K,n as W,w as H,a5 as j,aS as Te,aH as ke,X as de,A as Ne,aT as We}from"./vendor-vuetify-DpmmaPkh.js";import{h as I,g as ue,ac as re,H as Be,P as ge,ax as se,aq as $e}from"./index-D042plwv.js";import{j as b,k as x,F as G,n as Q,e as P,N as Re,o as be,a1 as Fe,s as Z,b as Le,t as L,w as De,m as $,R as He}from"./vendor-vue-BiQC5iF7.js";import{V as je}from"./VTooltip-DMSltD5A.js";import{V as ce,m as Ee}from"./VPicker-DGiUlCzb.js";const we=E({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=J()({name:"VDatePickerControls",props:we(),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:D,slots:l}=a;const{t}=le(),c=P(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),m=P(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),s=P(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),u=P(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),k=P(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),v=P(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function w(){D("click:prev")}function d(){D("click:next")}function M(){D("click:prev-year")}function S(){D("click:next-year")}function n(){D("click:year")}function h(){D("click:month")}return q(()=>{const i={VBtn:{density:"comfortable",variant:"text"}},A=b(I,{"data-testid":"prev-month",disabled:s.value,icon:e.prevIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:w},null),T=b(I,{"data-testid":"next-month",disabled:u.value,icon:e.nextIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:d},null),_=b(I,{"data-testid":"prev-year",disabled:k.value,icon:e.prevIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.previousYear"),onClick:M},null),R=b(I,{"data-testid":"next-year",disabled:v.value,icon:e.nextIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.nextYear"),onClick:S},null),y=b(I,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:c.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:h},null),r=b(I,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:m.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),g=b(I,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:m.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),C=x(G,null,[b(I,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:c.value,text:e.text,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:h},null),b(I,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:m.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:h,openYears:n,prevMonth:w,nextMonth:d,prevYear:M,nextYear:S},U=x(G,null,[e.noMonthPicker?g:C,b(ue,null,null),x("div",{class:"v-date-picker-controls__month"},[A,T])]),ee=x(G,null,[x("div",{class:"v-date-picker-controls__month"},[A,y,T]),b(ue,null,null),x("div",{class:"v-date-picker-controls__year"},[_,r,R])]);return b(re,{defaults:i},{default:()=>{var te;return[x("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))??x(G,null,[e.controlVariant==="modal"&&U,e.controlVariant==="docked"&&ee])])]}})}),{}}}),Ue=E({appendIcon:ae,color:String,header:String,transition:String,onClick:Ie()},"VDatePickerHeader"),fe=J()({name:"VDatePickerHeader",props:Ue(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,a){let{emit:D,slots:l}=a;const{backgroundColorClasses:t,backgroundColorStyles:c}=Be(()=>e.color);function m(){D("click")}function s(){D("click:append")}return q(()=>{const u=!!(l.default||e.header),k=!!(l.append||e.appendIcon);return x("div",{class:Q(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},t.value]),style:Re(c.value),onClick:m},[l.prepend&&x("div",{key:"prepend",class:"v-date-picker-header__prepend"},[l.prepend()]),u&&b(ge,{key:"content",name:e.transition},{default:()=>{var v;return[x("div",{key:e.header,class:"v-date-picker-header__content"},[((v=l.default)==null?void 0:v.call(l))??e.header])]}}),k&&x("div",{class:"v-date-picker-header__append"},[l.append?b(re,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var v;return[(v=l.append)==null?void 0:v.call(l)]}}):b(I,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:s},null)])])}),{}}}),pe=E({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 ze(e){const a=K(),D=W(e,"modelValue",[],n=>H(n).map(h=>a.date(h))),l=P(()=>e.displayValue?a.date(e.displayValue):D.value.length>0?a.date(D.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 h=n!=null?Number(n):a.getYear(l.value);return a.startOfYear(a.setYear(a.date(),h))},n=>a.getYear(n)),c=W(e,"month",void 0,n=>{const h=n!=null?Number(n):a.getMonth(l.value),i=a.setYear(a.startOfMonth(a.date()),a.getYear(t.value));return a.setMonth(i,h)},n=>a.getMonth(n)),m=P(()=>{const n=a.toJsDate(a.startOfWeek(a.date(),e.firstDayOfWeek)).getDay();return a.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((h,i)=>e.weekdays.includes((i+n)%7))}),s=P(()=>{const n=a.getWeekArray(c.value,e.firstDayOfWeek),h=n.flat(),i=6*7;if(e.weeksInMonth==="static"&&h.lengthe.weekdays.includes(a.toJsDate(i).getDay())).map((i,A)=>{const T=a.toISO(i),_=!a.isSameMonth(i,c.value),R=a.isSameDay(i,a.startOfMonth(c.value)),y=a.isSameDay(i,a.endOfMonth(c.value)),r=a.isSameDay(i,c.value),g=e.weekdays.length;return{date:i,formatted:a.format(i,"keyboardDate"),isAdjacent:_,isDisabled:S(i),isEnd:y,isHidden:_&&!e.showAdjacentMonths,isSame:r,isSelected:D.value.some(C=>a.isSameDay(i,C)),isStart:R,isToday:a.isSameDay(i,h),isWeekEnd:A%g===g-1,isWeekStart:A%g===0,isoDate:T,localized:a.format(i,"dayOfMonth"),month:a.getMonth(i),year:a.getYear(i)}})}const k=P(()=>{const n=a.startOfWeek(l.value,e.firstDayOfWeek),h=[];for(let A=0;A<=6;A++)h.push(a.addDays(n,A));const i=a.date();return u(h,i)}),v=P(()=>{const n=s.value.flat(),h=a.date();return u(n,h)}),w=P(()=>s.value.map(n=>n.length?a.getWeek(n[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:d,maxDate:M}=xe(e);function S(n){if(e.disabled)return!0;const h=a.date(n);return d.value&&a.isBefore(a.endOfDay(h),d.value)||M.value&&a.isAfter(h,M.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(i=>a.isSameDay(a.date(i),h)):typeof e.allowedDates=="function"?!e.allowedDates(h):!1}return{displayValue:l,daysInMonth:v,daysInWeek:k,genDays:u,model:D,weeksInMonth:s,weekdayLabels:m,weekNumbers:w}}function xe(e){const a=K(),D=P(()=>{if(!e.min)return null;const m=a.date(e.min);return a.isValid(m)?m:null}),l=P(()=>{if(!e.max)return null;const m=a.date(e.max);return a.isValid(m)?m:null});function t(m){return D.value&&a.isBefore(m,D.value)?D.value:l.value&&a.isAfter(m,l.value)?l.value:m}function c(m){return(!D.value||a.isAfter(m,D.value))&&(!l.value||a.isBefore(m,l.value))}return{minDate:D,maxDate:l,clampDate:t,isInAllowedRange:c}}const Me=E({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},...j(pe(),["displayValue"])},"VDatePickerMonth"),he=J()({name:"VDatePickerMonth",props:Me(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=Le(),{t:c}=le(),{daysInMonth:m,model:s,weekNumbers:u,weekdayLabels:k}=ze(e),v=K(),w=Z(),d=Z(),M=Z(!1),S=L(()=>M.value?e.reverseTransition:e.transition);e.multiple==="range"&&s.value.length>0&&(w.value=s.value[0],s.value.length>1&&(d.value=s.value[s.value.length-1]));const n=P(()=>{const y=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return s.value.length>=y});be(m,(y,r)=>{r&&(M.value=v.isBefore(y[0].date,r[0].date))});function h(y){const r=v.startOfDay(y);if(s.value.length===0?w.value=void 0:s.value.length===1&&(w.value=s.value[0],d.value=void 0),!w.value)w.value=r,s.value=[w.value];else if(d.value)w.value=y,d.value=void 0,s.value=[w.value];else{if(v.isSameDay(r,w.value)){w.value=void 0,s.value=[];return}else v.isBefore(r,w.value)?(d.value=v.endOfDay(w.value),w.value=r):d.value=v.endOfDay(r);s.value=Te(v,w.value,d.value)}}function i(y){const r=v.format(y.date,"fullDateWithWeekday"),g=y.isToday?"currentDate":"selectDate";return c(`$vuetify.datePicker.ariaLabel.${g}`,r)}function A(y){const r=s.value.findIndex(g=>v.isSameDay(g,y));if(r===-1)s.value=[...s.value,y];else{const g=[...s.value];g.splice(r,1),s.value=g}}function T(y){e.multiple==="range"?h(y):e.multiple?A(y):s.value=[y]}function _(y){const{events:r,eventColor:g}=e;let C,O=[];if(Array.isArray(r)?C=r.includes(y):r instanceof Function?C=r(y)||!1:r?C=r[y]||!1:C=!1,C)C!==!0?O=H(C):typeof g=="string"?O=[g]:typeof g=="function"?O=H(g(y)):Array.isArray(g)?O=g:typeof g=="object"&&g!==null&&(O=H(g[y]));else return[];return O.length?O.filter(Boolean).map(U=>typeof U=="string"?U:"surface-variant"):["surface-variant"]}function R(y){const r=_(y);return r.length?x("div",{class:"v-date-picker-month__events"},[r.map(g=>b(je,{dot:!0,color:g},null))]):null}q(()=>x("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&x("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&x("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[Fe(" ")]),u.value.map(y=>x("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[y]))]),b(ge,{name:S.value},{default:()=>{var y;return[x("div",{ref:t,key:(y=m.value[0].date)==null?void 0:y.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&k.value.map(r=>x("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__weekday"])},[r])),m.value.map((r,g)=>{var O;const C={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:g};return n.value&&!r.isSelected&&(r.isDisabled=!0),x("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,C))??b(I,C.props,{default:()=>[r.localized,R(r.isoDate)]}))])})])]}})]))}}),Pe=E({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),ye=J()({name:"VDatePickerMonths",props:Pe(),emits:{"update:modelValue":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=K(),c=W(e,"modelValue"),m=P(()=>{let u=t.startOfYear(t.date());return e.year&&(u=t.setYear(u,e.year)),ke(12).map(k=>{const v=t.format(u,"monthShort"),w=t.format(u,"month"),d=!!(!s(k)||e.min&&t.isAfter(t.startOfMonth(t.date(e.min)),u)||e.max&&t.isAfter(u,t.startOfMonth(t.date(e.max))));return u=t.getNextMonth(u),{isDisabled:d,text:v,label:w,value:k}})});De(()=>{c.value=c.value??t.getMonth(t.date())});function s(u){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(u):typeof e.allowedMonths=="function"?e.allowedMonths(u):!0}return q(()=>x("div",{class:"v-date-picker-months",style:{height:ne(e.height)}},[x("div",{class:"v-date-picker-months__content"},[m.value.map((u,k)=>{var d;const v={active:c.value===k,ariaLabel:u.label,color:c.value===k?e.color:void 0,disabled:u.isDisabled,rounded:!0,text:u.text,variant:c.value===u.value?"flat":"text",onClick:()=>w(k)};function w(M){if(c.value===M){D("update:modelValue",c.value);return}c.value=M}return((d=l.month)==null?void 0:d.call(l,{month:u,i:k,props:v}))??b(I,$({key:"month"},v),null)})])])),{}}}),Ye=E({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),me=J()({name:"VDatePickerYears",props:Ye(),directives:{vIntersect:se},emits:{"update:modelValue":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=K(),c=W(e,"modelValue"),m=Z(!1),s=P(()=>{const d=t.getYear(t.date());let M=d-100,S=d+52;e.min&&(M=t.getYear(t.date(e.min))),e.max&&(S=t.getYear(t.date(e.max)));let n=t.startOfYear(t.date());return n=t.setYear(n,M),ke(S-M+1,M).map(h=>{const i=t.format(n,"year");return n=t.setYear(n,t.getYear(n)+1),{text:i,value:h,isDisabled:!w(h)}})});De(()=>{c.value=c.value??t.getYear(t.date())});const u=de(),k=de();function v(){const d=u.el,M=k.el;if(!d||!M)return;const S=d.getBoundingClientRect(),n=M.getBoundingClientRect();d.scrollTop+=n.top-S.top-d.clientHeight/2+n.height/2}function w(d){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(d):typeof e.allowedYears=="function"?e.allowedYears(d):!0}return q(()=>He(x("div",{class:"v-date-picker-years",ref:u,style:{height:ne(e.height)}},[x("div",{class:"v-date-picker-years__content",onFocus:()=>{var d;return(d=k.el)==null?void 0:d.focus()},onFocusin:()=>m.value=!0,onFocusout:()=>m.value=!1,tabindex:m.value?-1:0},[s.value.map((d,M)=>{var n;const S={ref:c.value===d.value?k:void 0,active:c.value===d.value,color:c.value===d.value?e.color:void 0,rounded:!0,text:d.text,disabled:d.isDisabled,variant:c.value===d.value?"flat":"text",onClick:()=>{if(c.value===d.value){D("update:modelValue",c.value);return}c.value=d.value}};return((n=l.year)==null?void 0:n.call(l,{year:d,i:M,props:S}))??b(I,$({key:"month"},S),null)})])]),[[se,{handler:v},null,{once:!0}]])),{}}}),Je=E({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...j(we(),["active","monthText","yearText"]),...Me({weeksInMonth:"static"}),...j(Pe(),["modelValue"]),...j(Ye(),["modelValue"]),...Ee({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Ze=J()({name:"VDatePicker",props:Je(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=K(),{t:c}=le(),{rtlClasses:m}=Ne(),s=W(e,"modelValue",void 0,o=>H(o).map(f=>t.date(f)),o=>e.multiple?o:o[0]),u=W(e,"viewMode"),{minDate:k,maxDate:v,clampDate:w}=xe(e),d=P(()=>{var V;const o=t.date(),f=(V=s.value)!=null&&V[0]?t.date(s.value[0]):w(o);return f&&t.isValid(f)?f:o}),M=L(()=>e.headerColor??e.color),S=W(e,"month"),n=P({get:()=>Number(S.value??t.getMonth(t.startOfMonth(d.value))),set:o=>S.value=o}),h=W(e,"year"),i=P({get:()=>Number(h.value??t.getYear(t.startOfYear(t.setMonth(d.value,n.value)))),set:o=>h.value=o}),A=Z(!1),T=P(()=>{if(e.multiple&&s.value.length>1)return c("$vuetify.datePicker.itemsSelected",s.value.length);const o=s.value[0]&&t.isValid(s.value[0])?t.format(t.date(s.value[0]),e.headerDateFormat):c(e.header);return e.landscape&&o.split(" ").length===3?o.replace(" ",` -`):o}),_=L(()=>{let o=t.date();return o=t.setDate(o,1),o=t.setMonth(o,n.value),o=t.setYear(o,i.value),o}),R=L(()=>t.format(_.value,"monthAndYear")),y=L(()=>t.format(_.value,"monthShort")),r=L(()=>t.format(_.value,"year")),g=L(()=>`date-picker-header${A.value?"-reverse":""}-transition`),C=P(()=>{if(e.disabled)return!0;const o=[];if(u.value!=="month")o.push("prev-month","next-month","prev-year","next-year");else{let f=t.date();if(f=t.startOfMonth(f),f=t.setMonth(f,n.value),f=t.setYear(f,i.value),k.value){const V=t.addDays(t.startOfMonth(f),-1),N=t.addDays(t.startOfYear(f),-1);t.isAfter(k.value,V)&&o.push("prev-month"),t.isAfter(k.value,N)&&o.push("prev-year")}if(v.value){const V=t.addDays(t.endOfMonth(f),1),N=t.addDays(t.endOfYear(f),1);t.isAfter(V,v.value)&&o.push("next-month"),t.isAfter(N,v.value)&&o.push("next-year")}}return o}),O=P(()=>e.allowedYears||te),U=P(()=>e.allowedMonths||Se);function ee(o,f){const V=e.allowedDates;if(typeof V!="function")return!0;const N=1+We(t,o,f);for(let B=0;B0?n.value--:(i.value--,n.value=11,F()),X()}function Ce(){if(i.value++,v.value){const o=String(n.value+1).padStart(2,"0"),f=t.parseISO(`${i.value}-${o}-01`);t.isAfter(f,v.value)&&(n.value=t.getMonth(v.value))}F()}function _e(){if(i.value--,k.value){const o=String(n.value+1).padStart(2,"0"),f=t.endOfMonth(t.parseISO(`${i.value}-${o}-01`));t.isAfter(k.value,f)&&(n.value=t.getMonth(k.value))}F()}function Oe(){u.value="month"}function ie(){u.value=u.value==="months"?"month":"months"}function oe(){u.value=u.value==="year"?"month":"year"}function X(){u.value==="months"&&ie()}function F(){u.value==="year"&&oe()}return be(s,(o,f)=>{const V=H(f),N=H(o);if(!N.length)return;const B=t.date(V[V.length-1]),p=t.date(N[N.length-1]);if(t.isSameDay(B,p))return;const z=t.getMonth(p),Y=t.getYear(p);z!==n.value&&(n.value=z,X()),Y!==i.value&&(i.value=Y,F()),A.value=t.isBefore(B,p)}),q(()=>{const o=ce.filterProps(e),f=j(ve.filterProps(e),["viewMode"]),V=fe.filterProps(e),N=he.filterProps(e),B=j(ye.filterProps(e),["modelValue"]),p=j(me.filterProps(e),["modelValue"]),z={color:M.value,header:T.value,transition:g.value};return b(ce,$(o,{color:M.value,class:["v-date-picker",`v-date-picker--${u.value}`,{"v-date-picker--show-week":e.showWeek},m.value,e.class],style:[{"--v-date-picker-landscape-header-width":ne(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var Y;return((Y=l.title)==null?void 0:Y.call(l))??x("div",{class:"v-date-picker__title"},[c(e.title)])},header:()=>l.header?b(re,{defaults:{VDatePickerHeader:{...z}}},{default:()=>{var Y;return[(Y=l.header)==null?void 0:Y.call(l,z)]}}):b(fe,$({key:"header"},V,z,{onClick:u.value!=="month"?Oe:void 0}),{prepend:l.prepend,append:l.append}),default:()=>x(G,null,[b(ve,$(f,{disabled:C.value,viewMode:u.value,text:R.value,monthText:y.value,yearText:r.value,"onClick:next":Ve,"onClick:prev":Ae,"onClick:nextYear":Ce,"onClick:prevYear":_e,"onClick:month":ie,"onClick:year":oe}),{default:l.controls}),b($e,{hideOnLeave:!0},{default:()=>[u.value==="months"?b(ye,$({key:"date-picker-months"},B,{modelValue:n.value,"onUpdate:modelValue":[Y=>n.value=Y,X],min:k.value,max:v.value,year:i.value,allowedMonths:U.value}),{month:l.month}):u.value==="year"?b(me,$({key:"date-picker-years"},p,{modelValue:i.value,"onUpdate:modelValue":[Y=>i.value=Y,F],min:k.value,max:v.value,allowedYears:O.value}),{year:l.year}):b(he,$({key:"date-picker-month"},N,{modelValue:s.value,"onUpdate:modelValue":Y=>s.value=Y,month:n.value,"onUpdate:month":[Y=>n.value=Y,X],year:i.value,"onUpdate:year":[Y=>i.value=Y,F],min:k.value,max:v.value}),{day:l.day})]})]),actions:l.actions})}),{}}});export{Ze as V}; +import{j as q,an as le,u as J,a as ne,p as E,I as ae,ag as Ie,aR as K,q as W,w as H,a5 as j,aS as Te,aH as ke,X as de,A as Ne,aT as We}from"./vendor-vuetify-KiFW-YAv.js";import{h as I,g as ue,ac as re,H as Be,P as ge,ax as se,aq as $e}from"./index-BvGH7GyK.js";import{j as b,k as x,F as G,n as Q,e as P,N as Re,o as be,a1 as Fe,s as Z,b as Le,t as L,w as De,m as $,R as He}from"./vendor-vue-Hxtt57UU.js";import{V as je}from"./VTooltip-CvIsrMQ_.js";import{V as ce,m as Ee}from"./VPicker-DssJ0SqJ.js";const we=E({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=q()({name:"VDatePickerControls",props:we(),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:D,slots:l}=a;const{t}=le(),c=P(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),m=P(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),s=P(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),u=P(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),k=P(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),v=P(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function w(){D("click:prev")}function d(){D("click:next")}function M(){D("click:prev-year")}function S(){D("click:next-year")}function n(){D("click:year")}function h(){D("click:month")}return J(()=>{const i={VBtn:{density:"comfortable",variant:"text"}},A=b(I,{"data-testid":"prev-month",disabled:s.value,icon:e.prevIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:w},null),T=b(I,{"data-testid":"next-month",disabled:u.value,icon:e.nextIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:d},null),_=b(I,{"data-testid":"prev-year",disabled:k.value,icon:e.prevIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.previousYear"),onClick:M},null),R=b(I,{"data-testid":"next-year",disabled:v.value,icon:e.nextIcon,"aria-label":t("$vuetify.datePicker.ariaLabel.nextYear"),onClick:S},null),y=b(I,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:c.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:h},null),r=b(I,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:m.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),g=b(I,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:m.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectYear"),onClick:n},null),C=x(G,null,[b(I,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:c.value,text:e.text,rounded:!0,"aria-label":t("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:h},null),b(I,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:m.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:h,openYears:n,prevMonth:w,nextMonth:d,prevYear:M,nextYear:S},U=x(G,null,[e.noMonthPicker?g:C,b(ue,null,null),x("div",{class:"v-date-picker-controls__month"},[A,T])]),ee=x(G,null,[x("div",{class:"v-date-picker-controls__month"},[A,y,T]),b(ue,null,null),x("div",{class:"v-date-picker-controls__year"},[_,r,R])]);return b(re,{defaults:i},{default:()=>{var te;return[x("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))??x(G,null,[e.controlVariant==="modal"&&U,e.controlVariant==="docked"&&ee])])]}})}),{}}}),Ue=E({appendIcon:ae,color:String,header:String,transition:String,onClick:Ie()},"VDatePickerHeader"),fe=q()({name:"VDatePickerHeader",props:Ue(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,a){let{emit:D,slots:l}=a;const{backgroundColorClasses:t,backgroundColorStyles:c}=Be(()=>e.color);function m(){D("click")}function s(){D("click:append")}return J(()=>{const u=!!(l.default||e.header),k=!!(l.append||e.appendIcon);return x("div",{class:Q(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},t.value]),style:Re(c.value),onClick:m},[l.prepend&&x("div",{key:"prepend",class:"v-date-picker-header__prepend"},[l.prepend()]),u&&b(ge,{key:"content",name:e.transition},{default:()=>{var v;return[x("div",{key:e.header,class:"v-date-picker-header__content"},[((v=l.default)==null?void 0:v.call(l))??e.header])]}}),k&&x("div",{class:"v-date-picker-header__append"},[l.append?b(re,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var v;return[(v=l.append)==null?void 0:v.call(l)]}}):b(I,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:s},null)])])}),{}}}),pe=E({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 ze(e){const a=K(),D=W(e,"modelValue",[],n=>H(n).map(h=>a.date(h))),l=P(()=>e.displayValue?a.date(e.displayValue):D.value.length>0?a.date(D.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 h=n!=null?Number(n):a.getYear(l.value);return a.startOfYear(a.setYear(a.date(),h))},n=>a.getYear(n)),c=W(e,"month",void 0,n=>{const h=n!=null?Number(n):a.getMonth(l.value),i=a.setYear(a.startOfMonth(a.date()),a.getYear(t.value));return a.setMonth(i,h)},n=>a.getMonth(n)),m=P(()=>{const n=a.toJsDate(a.startOfWeek(a.date(),e.firstDayOfWeek)).getDay();return a.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((h,i)=>e.weekdays.includes((i+n)%7))}),s=P(()=>{const n=a.getWeekArray(c.value,e.firstDayOfWeek),h=n.flat(),i=6*7;if(e.weeksInMonth==="static"&&h.lengthe.weekdays.includes(a.toJsDate(i).getDay())).map((i,A)=>{const T=a.toISO(i),_=!a.isSameMonth(i,c.value),R=a.isSameDay(i,a.startOfMonth(c.value)),y=a.isSameDay(i,a.endOfMonth(c.value)),r=a.isSameDay(i,c.value),g=e.weekdays.length;return{date:i,formatted:a.format(i,"keyboardDate"),isAdjacent:_,isDisabled:S(i),isEnd:y,isHidden:_&&!e.showAdjacentMonths,isSame:r,isSelected:D.value.some(C=>a.isSameDay(i,C)),isStart:R,isToday:a.isSameDay(i,h),isWeekEnd:A%g===g-1,isWeekStart:A%g===0,isoDate:T,localized:a.format(i,"dayOfMonth"),month:a.getMonth(i),year:a.getYear(i)}})}const k=P(()=>{const n=a.startOfWeek(l.value,e.firstDayOfWeek),h=[];for(let A=0;A<=6;A++)h.push(a.addDays(n,A));const i=a.date();return u(h,i)}),v=P(()=>{const n=s.value.flat(),h=a.date();return u(n,h)}),w=P(()=>s.value.map(n=>n.length?a.getWeek(n[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:d,maxDate:M}=xe(e);function S(n){if(e.disabled)return!0;const h=a.date(n);return d.value&&a.isBefore(a.endOfDay(h),d.value)||M.value&&a.isAfter(h,M.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(i=>a.isSameDay(a.date(i),h)):typeof e.allowedDates=="function"?!e.allowedDates(h):!1}return{displayValue:l,daysInMonth:v,daysInWeek:k,genDays:u,model:D,weeksInMonth:s,weekdayLabels:m,weekNumbers:w}}function xe(e){const a=K(),D=P(()=>{if(!e.min)return null;const m=a.date(e.min);return a.isValid(m)?m:null}),l=P(()=>{if(!e.max)return null;const m=a.date(e.max);return a.isValid(m)?m:null});function t(m){return D.value&&a.isBefore(m,D.value)?D.value:l.value&&a.isAfter(m,l.value)?l.value:m}function c(m){return(!D.value||a.isAfter(m,D.value))&&(!l.value||a.isBefore(m,l.value))}return{minDate:D,maxDate:l,clampDate:t,isInAllowedRange:c}}const Me=E({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},...j(pe(),["displayValue"])},"VDatePickerMonth"),he=q()({name:"VDatePickerMonth",props:Me(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=Le(),{t:c}=le(),{daysInMonth:m,model:s,weekNumbers:u,weekdayLabels:k}=ze(e),v=K(),w=Z(),d=Z(),M=Z(!1),S=L(()=>M.value?e.reverseTransition:e.transition);e.multiple==="range"&&s.value.length>0&&(w.value=s.value[0],s.value.length>1&&(d.value=s.value[s.value.length-1]));const n=P(()=>{const y=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return s.value.length>=y});be(m,(y,r)=>{r&&(M.value=v.isBefore(y[0].date,r[0].date))});function h(y){const r=v.startOfDay(y);if(s.value.length===0?w.value=void 0:s.value.length===1&&(w.value=s.value[0],d.value=void 0),!w.value)w.value=r,s.value=[w.value];else if(d.value)w.value=y,d.value=void 0,s.value=[w.value];else{if(v.isSameDay(r,w.value)){w.value=void 0,s.value=[];return}else v.isBefore(r,w.value)?(d.value=v.endOfDay(w.value),w.value=r):d.value=v.endOfDay(r);s.value=Te(v,w.value,d.value)}}function i(y){const r=v.format(y.date,"fullDateWithWeekday"),g=y.isToday?"currentDate":"selectDate";return c(`$vuetify.datePicker.ariaLabel.${g}`,r)}function A(y){const r=s.value.findIndex(g=>v.isSameDay(g,y));if(r===-1)s.value=[...s.value,y];else{const g=[...s.value];g.splice(r,1),s.value=g}}function T(y){e.multiple==="range"?h(y):e.multiple?A(y):s.value=[y]}function _(y){const{events:r,eventColor:g}=e;let C,O=[];if(Array.isArray(r)?C=r.includes(y):r instanceof Function?C=r(y)||!1:r?C=r[y]||!1:C=!1,C)C!==!0?O=H(C):typeof g=="string"?O=[g]:typeof g=="function"?O=H(g(y)):Array.isArray(g)?O=g:typeof g=="object"&&g!==null&&(O=H(g[y]));else return[];return O.length?O.filter(Boolean).map(U=>typeof U=="string"?U:"surface-variant"):["surface-variant"]}function R(y){const r=_(y);return r.length?x("div",{class:"v-date-picker-month__events"},[r.map(g=>b(je,{dot:!0,color:g},null))]):null}J(()=>x("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&x("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&x("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[Fe(" ")]),u.value.map(y=>x("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[y]))]),b(ge,{name:S.value},{default:()=>{var y;return[x("div",{ref:t,key:(y=m.value[0].date)==null?void 0:y.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&k.value.map(r=>x("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__weekday"])},[r])),m.value.map((r,g)=>{var O;const C={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:g};return n.value&&!r.isSelected&&(r.isDisabled=!0),x("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,C))??b(I,C.props,{default:()=>[r.localized,R(r.isoDate)]}))])})])]}})]))}}),Pe=E({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),ye=q()({name:"VDatePickerMonths",props:Pe(),emits:{"update:modelValue":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=K(),c=W(e,"modelValue"),m=P(()=>{let u=t.startOfYear(t.date());return e.year&&(u=t.setYear(u,e.year)),ke(12).map(k=>{const v=t.format(u,"monthShort"),w=t.format(u,"month"),d=!!(!s(k)||e.min&&t.isAfter(t.startOfMonth(t.date(e.min)),u)||e.max&&t.isAfter(u,t.startOfMonth(t.date(e.max))));return u=t.getNextMonth(u),{isDisabled:d,text:v,label:w,value:k}})});De(()=>{c.value=c.value??t.getMonth(t.date())});function s(u){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(u):typeof e.allowedMonths=="function"?e.allowedMonths(u):!0}return J(()=>x("div",{class:"v-date-picker-months",style:{height:ne(e.height)}},[x("div",{class:"v-date-picker-months__content"},[m.value.map((u,k)=>{var d;const v={active:c.value===k,ariaLabel:u.label,color:c.value===k?e.color:void 0,disabled:u.isDisabled,rounded:!0,text:u.text,variant:c.value===u.value?"flat":"text",onClick:()=>w(k)};function w(M){if(c.value===M){D("update:modelValue",c.value);return}c.value=M}return((d=l.month)==null?void 0:d.call(l,{month:u,i:k,props:v}))??b(I,$({key:"month"},v),null)})])])),{}}}),Ye=E({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),me=q()({name:"VDatePickerYears",props:Ye(),directives:{vIntersect:se},emits:{"update:modelValue":e=>!0},setup(e,a){let{emit:D,slots:l}=a;const t=K(),c=W(e,"modelValue"),m=Z(!1),s=P(()=>{const d=t.getYear(t.date());let M=d-100,S=d+52;e.min&&(M=t.getYear(t.date(e.min))),e.max&&(S=t.getYear(t.date(e.max)));let n=t.startOfYear(t.date());return n=t.setYear(n,M),ke(S-M+1,M).map(h=>{const i=t.format(n,"year");return n=t.setYear(n,t.getYear(n)+1),{text:i,value:h,isDisabled:!w(h)}})});De(()=>{c.value=c.value??t.getYear(t.date())});const u=de(),k=de();function v(){const d=u.el,M=k.el;if(!d||!M)return;const S=d.getBoundingClientRect(),n=M.getBoundingClientRect();d.scrollTop+=n.top-S.top-d.clientHeight/2+n.height/2}function w(d){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(d):typeof e.allowedYears=="function"?e.allowedYears(d):!0}return J(()=>He(x("div",{class:"v-date-picker-years",ref:u,style:{height:ne(e.height)}},[x("div",{class:"v-date-picker-years__content",onFocus:()=>{var d;return(d=k.el)==null?void 0:d.focus()},onFocusin:()=>m.value=!0,onFocusout:()=>m.value=!1,tabindex:m.value?-1:0},[s.value.map((d,M)=>{var n;const S={ref:c.value===d.value?k:void 0,active:c.value===d.value,color:c.value===d.value?e.color:void 0,rounded:!0,text:d.text,disabled:d.isDisabled,variant:c.value===d.value?"flat":"text",onClick:()=>{if(c.value===d.value){D("update:modelValue",c.value);return}c.value=d.value}};return((n=l.year)==null?void 0:n.call(l,{year:d,i:M,props:S}))??b(I,$({key:"month"},S),null)})])]),[[se,{handler:v},null,{once:!0}]])),{}}}),qe=E({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...j(we(),["active","monthText","yearText"]),...Me({weeksInMonth:"static"}),...j(Pe(),["modelValue"]),...j(Ye(),["modelValue"]),...Ee({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Ze=q()({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:D,slots:l}=a;const t=K(),{t:c}=le(),{rtlClasses:m}=Ne(),s=W(e,"modelValue",void 0,o=>H(o).map(f=>t.date(f)),o=>e.multiple?o:o[0]),u=W(e,"viewMode"),{minDate:k,maxDate:v,clampDate:w}=xe(e),d=P(()=>{var V;const o=t.date(),f=(V=s.value)!=null&&V[0]?t.date(s.value[0]):w(o);return f&&t.isValid(f)?f:o}),M=L(()=>e.headerColor??e.color),S=W(e,"month"),n=P({get:()=>Number(S.value??t.getMonth(t.startOfMonth(d.value))),set:o=>S.value=o}),h=W(e,"year"),i=P({get:()=>Number(h.value??t.getYear(t.startOfYear(t.setMonth(d.value,n.value)))),set:o=>h.value=o}),A=Z(!1),T=P(()=>{if(e.multiple&&s.value.length>1)return c("$vuetify.datePicker.itemsSelected",s.value.length);const o=s.value[0]&&t.isValid(s.value[0])?t.format(t.date(s.value[0]),e.headerDateFormat):c(e.header);return e.landscape&&o.split(" ").length===3?o.replace(" ",` +`):o}),_=L(()=>{let o=t.date();return o=t.setDate(o,1),o=t.setMonth(o,n.value),o=t.setYear(o,i.value),o}),R=L(()=>t.format(_.value,"monthAndYear")),y=L(()=>t.format(_.value,"monthShort")),r=L(()=>t.format(_.value,"year")),g=L(()=>`date-picker-header${A.value?"-reverse":""}-transition`),C=P(()=>{if(e.disabled)return!0;const o=[];if(u.value!=="month")o.push("prev-month","next-month","prev-year","next-year");else{let f=t.date();if(f=t.startOfMonth(f),f=t.setMonth(f,n.value),f=t.setYear(f,i.value),k.value){const V=t.addDays(t.startOfMonth(f),-1),N=t.addDays(t.startOfYear(f),-1);t.isAfter(k.value,V)&&o.push("prev-month"),t.isAfter(k.value,N)&&o.push("prev-year")}if(v.value){const V=t.addDays(t.endOfMonth(f),1),N=t.addDays(t.endOfYear(f),1);t.isAfter(V,v.value)&&o.push("next-month"),t.isAfter(N,v.value)&&o.push("next-year")}}return o}),O=P(()=>e.allowedYears||te),U=P(()=>e.allowedMonths||Se);function ee(o,f){const V=e.allowedDates;if(typeof V!="function")return!0;const N=1+We(t,o,f);for(let B=0;B0?n.value--:(i.value--,n.value=11,F()),X()}function Ce(){if(i.value++,v.value){const o=String(n.value+1).padStart(2,"0"),f=t.parseISO(`${i.value}-${o}-01`);t.isAfter(f,v.value)&&(n.value=t.getMonth(v.value))}F()}function _e(){if(i.value--,k.value){const o=String(n.value+1).padStart(2,"0"),f=t.endOfMonth(t.parseISO(`${i.value}-${o}-01`));t.isAfter(k.value,f)&&(n.value=t.getMonth(k.value))}F()}function Oe(){u.value="month"}function ie(){u.value=u.value==="months"?"month":"months"}function oe(){u.value=u.value==="year"?"month":"year"}function X(){u.value==="months"&&ie()}function F(){u.value==="year"&&oe()}return be(s,(o,f)=>{const V=H(f),N=H(o);if(!N.length)return;const B=t.date(V[V.length-1]),p=t.date(N[N.length-1]);if(t.isSameDay(B,p))return;const z=t.getMonth(p),Y=t.getYear(p);z!==n.value&&(n.value=z,X()),Y!==i.value&&(i.value=Y,F()),A.value=t.isBefore(B,p)}),J(()=>{const o=ce.filterProps(e),f=j(ve.filterProps(e),["viewMode"]),V=fe.filterProps(e),N=he.filterProps(e),B=j(ye.filterProps(e),["modelValue"]),p=j(me.filterProps(e),["modelValue"]),z={color:M.value,header:T.value,transition:g.value};return b(ce,$(o,{color:M.value,class:["v-date-picker",`v-date-picker--${u.value}`,{"v-date-picker--show-week":e.showWeek},m.value,e.class],style:[{"--v-date-picker-landscape-header-width":ne(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var Y;return((Y=l.title)==null?void 0:Y.call(l))??x("div",{class:"v-date-picker__title"},[c(e.title)])},header:()=>l.header?b(re,{defaults:{VDatePickerHeader:{...z}}},{default:()=>{var Y;return[(Y=l.header)==null?void 0:Y.call(l,z)]}}):b(fe,$({key:"header"},V,z,{onClick:u.value!=="month"?Oe:void 0}),{prepend:l.prepend,append:l.append}),default:()=>x(G,null,[b(ve,$(f,{disabled:C.value,viewMode:u.value,text:R.value,monthText:y.value,yearText:r.value,"onClick:next":Ve,"onClick:prev":Ae,"onClick:nextYear":Ce,"onClick:prevYear":_e,"onClick:month":ie,"onClick:year":oe}),{default:l.controls}),b($e,{hideOnLeave:!0},{default:()=>[u.value==="months"?b(ye,$({key:"date-picker-months"},B,{modelValue:n.value,"onUpdate:modelValue":[Y=>n.value=Y,X],min:k.value,max:v.value,year:i.value,allowedMonths:U.value}),{month:l.month}):u.value==="year"?b(me,$({key:"date-picker-years"},p,{modelValue:i.value,"onUpdate:modelValue":[Y=>i.value=Y,F],min:k.value,max:v.value,allowedYears:O.value}),{year:l.year}):b(he,$({key:"date-picker-month"},N,{modelValue:s.value,"onUpdate:modelValue":Y=>s.value=Y,month:n.value,"onUpdate:month":[Y=>n.value=Y,X],year:i.value,"onUpdate:year":[Y=>i.value=Y,F],min:k.value,max:v.value}),{day:l.day})]})]),actions:l.actions})}),{}}});export{Ze as V}; diff --git a/assets/VExpansionPanels-BpKtUPdA.js b/assets/VExpansionPanels-D75JoFxE.js similarity index 88% rename from assets/VExpansionPanels-BpKtUPdA.js rename to assets/VExpansionPanels-D75JoFxE.js index fb2e14a..8768878 100644 --- a/assets/VExpansionPanels-BpKtUPdA.js +++ b/assets/VExpansionPanels-D75JoFxE.js @@ -1 +1 @@ -import{d as B,j as c,R as A,V as $,k as v,N as b,n as p,e as P,t as l,p as F}from"./vendor-vue-BiQC5iF7.js";import{a8 as H,a1 as O,a9 as q,ao as C,H as R,f as J,ac as _,b as K,a as M,a7 as Q,N as U,af as W,m as D,R as X,aa as Y,ag as Z,a6 as ee,ar as ae}from"./index-D042plwv.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-DpmmaPkh.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}=H(e,a.isSelected);return V(()=>c(O,{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)])]),[[$,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(),...M()},"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}=R(()=>e.color),{dimensionStyles:o}=K(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(_,{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(J,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=Q(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=R(()=>e.bgColor),{elevationClasses:o}=W(e),{roundedClasses:r}=U(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),N=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(_,{defaults:{VExpansionPanelTitle:{...k},VExpansionPanelText:{...N}}},{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}; +import{d as B,j as c,R as A,V as $,k as v,N as b,n as p,e as P,t as l,p as F}from"./vendor-vue-Hxtt57UU.js";import{a8 as H,a1 as O,a9 as q,ao as C,H as R,f as J,ac as _,b as K,a as M,a7 as Q,N as U,af as W,m as D,R as X,aa as Y,ag as Z,a6 as ee,ar as ae}from"./index-BvGH7GyK.js";import{j as y,u as V,p as g,n as S,I as T,k as ne,l as le,m as te,aj as se}from"./vendor-vuetify-KiFW-YAv.js";const f=Symbol.for("vuetify:v-expansion-panel"),j=g({...S(),...q()},"VExpansionPanelText"),h=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}=H(e,a.isSelected);return V(()=>c(O,{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)])]),[[$,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,...S(),...M()},"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}=R(()=>e.color),{dimensionStyles:o}=K(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(_,{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(J,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=Q(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=R(()=>e.bgColor),{elevationClasses:o}=W(e),{roundedClasses:r}=U(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),N=h.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(_,{defaults:{VExpansionPanelTitle:{...k},VExpansionPanelText:{...N}}},{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,...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,h as c}; diff --git a/assets/VFileInput-BJbMPOVg.js b/assets/VFileInput-BJbMPOVg.js deleted file mode 100644 index 4b40c5c..0000000 --- a/assets/VFileInput-BJbMPOVg.js +++ /dev/null @@ -1 +0,0 @@ -import{u as he,b as L,c as O,d as ge,e as ke,m as Fe}from"./VTextField-BoJUR4Xs.js";import{p as W,f as be,an as we,n as Ie,w as K,u as Ce,aB as De,aE as Se,aG as G,a5 as Ve}from"./vendor-vuetify-DpmmaPkh.js";import{e as m,o as Be,j as b,k as h,F as V,m as B,n as Ae,b as A,t as Pe,I as Re,s as Te}from"./vendor-vue-BiQC5iF7.js";import{I as ze}from"./index-D042plwv.js";import{V as $e}from"./VChip-nQelUOZI.js";function Ee(){function e(o){var a,n;return[...((a=o.dataTransfer)==null?void 0:a.items)??[]].filter(s=>s.kind==="file").map(s=>s.webkitGetAsEntry()).filter(Boolean).length>0||[...((n=o.dataTransfer)==null?void 0:n.files)??[]].length>0}async function r(o){var n,s;const u=[],a=[...((n=o.dataTransfer)==null?void 0:n.items)??[]].filter(i=>i.kind==="file").map(i=>i.webkitGetAsEntry()).filter(Boolean);if(a.length)for(const i of a){const d=await U(i,_(".",i));u.push(...d.map(y=>y.file))}else u.push(...((s=o.dataTransfer)==null?void 0:s.files)??[]);return u}return{handleDrop:r,hasFilesOrFolders:e}}function U(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,u)=>{e.isFile?e.file(n=>o([{file:n,path:r}]),u):e.isDirectory&&e.createReader().readEntries(async n=>{const s=[];for(const i of n)s.push(...await U(i,_(r,i)));o(s)})})}function _(e,r){return r.isDirectory?`${e}/${r.name}`:e}const je=W({filterByType:String},"file-accept");function Ne(e){const r=m(()=>e.filterByType?xe(e.filterByType):null);function o(u){if(r.value){const a=u.filter(r.value);return{accepted:a,rejected:u.filter(n=>!a.includes(n))}}return{accepted:u,rejected:[]}}return{filterAccepted:o}}function xe(e){const r=e.split(",").map(n=>n.trim().toLowerCase()),o=r.filter(n=>n.startsWith(".")),u=r.filter(n=>n.endsWith("/*")),a=r.filter(n=>!o.includes(n)&&!u.includes(n));return n=>{var d,y;const s=((d=n.name.split(".").at(-1))==null?void 0:d.toLowerCase())??"",i=((y=n.type.split("/").at(0))==null?void 0:y.toLowerCase())??"";return a.includes(n.type)||o.includes(`.${s}`)||u.includes(`${i}/*`)}}const Me=W({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:e=>typeof e=="boolean"||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...Ve(Fe({prependIcon:"$file"}),["direction"]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>K(e).every(r=>r!=null&&typeof r=="object")},...je(),...ke({clearable:!0})},"VFileInput"),Ue=be()({name:"VFileInput",inheritAttrs:!1,props:Me(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,r){let{attrs:o,emit:u,slots:a}=r;const{t:n}=we(),{filterAccepted:s}=Ne(e),i=Ie(e,"modelValue",e.modelValue,t=>K(t),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:d,focus:y,blur:q}=he(e),P=m(()=>typeof e.showSize!="boolean"?e.showSize:void 0),R=m(()=>(i.value??[]).reduce((t,l)=>{let{size:f=0}=l;return t+f},0)),T=m(()=>G(R.value,P.value)),w=m(()=>(i.value??[]).map(t=>{const{name:l="",size:f=0}=t,p=ne(l);return e.showSize?`${p} (${G(f,P.value)})`:p})),H=m(()=>{var l;const t=((l=i.value)==null?void 0:l.length)??0;return e.showSize?n(e.counterSizeString,t,T.value):n(e.counterString,t)}),z=A(),$=A(),c=A(),J=Pe(()=>d.value||e.active),E=m(()=>["plain","underlined"].includes(e.variant)),k=Te(!1),{handleDrop:Q,hasFilesOrFolders:X}=Ee();function I(){var t;c.value!==document.activeElement&&((t=c.value)==null||t.focus()),d.value||y()}function Y(t){var l;(l=c.value)==null||l.click()}function Z(t){u("mousedown:control",t)}function ee(t){var l;(l=c.value)==null||l.click(),u("click:control",t)}function te(t){t.stopPropagation(),I(),Re(()=>{i.value=[],Se(e["onClick:clear"],t)})}function ne(t){if(t.length{(!Array.isArray(t)||!t.length)&&c.value&&(c.value.value="")}),Ce(()=>{const t=!!(a.counter||e.counter),l=!!(t||a.details),[f,p]=De(o),{modelValue:C,...D}=L.filterProps(e),oe={...O.filterProps(e),"onClick:clear":te},ue=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,se=o.accept?String(o.accept):void 0,ce=ue?void 0:e.filterByType??se;return b(L,B({ref:z,modelValue:e.multiple?i.value:i.value[0],class:["v-file-input",{"v-file-input--chips":!!e.chips,"v-file-input--dragging":k.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":E.value},e.class],style:e.style,"onClick:prepend":Y},f,D,{centerAffix:!E.value,focused:d.value}),{...a,default:S=>{let{id:F,isDisabled:g,isDirty:N,isReadonly:x,isValid:de,hasDetails:fe}=S;return b(O,B({ref:$,prependIcon:e.prependIcon,onMousedown:Z,onClick:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},oe,{id:F.value,active:J.value||N.value,dirty:N.value||e.dirty,disabled:g.value,focused:d.value,details:fe.value,error:de.value===!1,onDragover:le,onDrop:ie}),{...a,default:pe=>{var M;let{props:{class:ve,...me},controlRef:ye}=pe;return h(V,null,[h("input",B({ref:v=>c.value=ye.value=v,type:"file",accept:ce,readonly:x.value,disabled:g.value,multiple:e.multiple,name:e.name,onClick:v=>{v.stopPropagation(),x.value&&v.preventDefault(),I()},onChange:re,onDragleave:ae,onFocus:I,onBlur:q},me,p),null),h("div",{class:Ae(ve)},[!!((M=i.value)!=null&&M.length)&&!e.hideInput&&(a.selection?a.selection({fileNames:w.value,totalBytes:R.value,totalBytesReadable:T.value}):e.chips?w.value.map(v=>b($e,{key:v,size:"small",text:v},null)):w.value.join(", "))])])}})},details:l?S=>{var F,g;return h(V,null,[(F=a.details)==null?void 0:F.call(a,S),t&&h(V,null,[h("span",null,null),b(ge,{active:!!((g=i.value)!=null&&g.length),value:H.value,disabled:e.disabled},a.counter)])])}:void 0})}),ze({},z,$,c)}});export{Ue as V}; diff --git a/assets/VFileInput-Ch1sS0Fm.js b/assets/VFileInput-Ch1sS0Fm.js new file mode 100644 index 0000000..74bb405 --- /dev/null +++ b/assets/VFileInput-Ch1sS0Fm.js @@ -0,0 +1 @@ +import{u as ge,b as O,c as G,d as ke,e as Fe,m as be}from"./VTextField-jDykTfh9.js";import{p as q,j as we,an as De,q as Ie,w as K,u as Ce,aB as Se,aE as Ve,aG as W,a5 as Be}from"./vendor-vuetify-KiFW-YAv.js";import{e as m,o as Ae,j as b,k as h,F as V,m as B,n as Pe,b as A,t as Re,I as Te,s as ze}from"./vendor-vue-Hxtt57UU.js";import{I as $e}from"./index-BvGH7GyK.js";import{V as je}from"./VChip-CyVmT8se.js";function Ee(){function e(o){var i,n;return[...((i=o.dataTransfer)==null?void 0:i.items)??[]].filter(s=>s.kind==="file").map(s=>s.webkitGetAsEntry()).filter(Boolean).length>0||[...((n=o.dataTransfer)==null?void 0:n.files)??[]].length>0}async function r(o){var n,s;const u=[],i=[...((n=o.dataTransfer)==null?void 0:n.items)??[]].filter(a=>a.kind==="file").map(a=>a.webkitGetAsEntry()).filter(Boolean);if(i.length)for(const a of i){const d=await U(a,_(".",a));u.push(...d.map(y=>y.file))}else u.push(...((s=o.dataTransfer)==null?void 0:s.files)??[]);return u}return{handleDrop:r,hasFilesOrFolders:e}}function U(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,u)=>{e.isFile?e.file(n=>o([{file:n,path:r}]),u):e.isDirectory&&e.createReader().readEntries(async n=>{const s=[];for(const a of n)s.push(...await U(a,_(r,a)));o(s)})})}function _(e,r){return r.isDirectory?`${e}/${r.name}`:e}const Ne=q({filterByType:String},"file-accept");function xe(e){const r=m(()=>e.filterByType?Me(e.filterByType):null);function o(u){if(r.value){const i=u.filter(r.value);return{accepted:i,rejected:u.filter(n=>!i.includes(n))}}return{accepted:u,rejected:[]}}return{filterAccepted:o}}function Me(e){const r=e.split(",").map(n=>n.trim().toLowerCase()),o=r.filter(n=>n.startsWith(".")),u=r.filter(n=>n.endsWith("/*")),i=r.filter(n=>!o.includes(n)&&!u.includes(n));return n=>{var d,y;const s=((d=n.name.split(".").at(-1))==null?void 0:d.toLowerCase())??"",a=((y=n.type.split("/").at(0))==null?void 0:y.toLowerCase())??"";return i.includes(n.type)||o.includes(`.${s}`)||u.includes(`${a}/*`)}}const Le=q({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:e=>typeof e=="boolean"||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...Be(be({prependIcon:"$file"}),["direction"]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>K(e).every(r=>r!=null&&typeof r=="object")},...Ne(),...Fe({clearable:!0})},"VFileInput"),Ue=we()({name:"VFileInput",inheritAttrs:!1,props:Le(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,r){let{attrs:o,emit:u,slots:i}=r;const{t:n}=De(),{filterAccepted:s}=xe(e),a=Ie(e,"modelValue",e.modelValue,t=>K(t),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:d,focus:y,blur:H}=ge(e),P=m(()=>typeof e.showSize!="boolean"?e.showSize:void 0),R=m(()=>(a.value??[]).reduce((t,l)=>{let{size:f=0}=l;return t+f},0)),T=m(()=>W(R.value,P.value)),w=m(()=>(a.value??[]).map(t=>{const{name:l="",size:f=0}=t,v=le(l);return e.showSize?`${v} (${W(f,P.value)})`:v})),J=m(()=>{var l;const t=((l=a.value)==null?void 0:l.length)??0;return e.showSize?n(e.counterSizeString,t,T.value):n(e.counterString,t)}),z=A(),$=A(),c=A(),Q=Re(()=>d.value||e.active),j=m(()=>["plain","underlined"].includes(e.variant)),k=ze(!1),{handleDrop:X,hasFilesOrFolders:Y}=Ee();function D(){var t;c.value!==document.activeElement&&((t=c.value)==null||t.focus()),d.value||y()}function Z(t){var l;(l=c.value)==null||l.click()}function ee(t){u("mousedown:control",t)}function te(t){var l;(l=c.value)==null||l.click(),u("click:control",t)}function ne(t){t.stopPropagation(),D(),Te(()=>{a.value=[],Ve(e["onClick:clear"],t)})}function le(t){if(t.length{(!Array.isArray(t)||!t.length)&&c.value&&(c.value.value="")}),Ce(()=>{var N;const t=!!(i.counter||e.counter),l=e.hideDetails!==!0&&!!(i.details||t&&(e.hideDetails===!1||(N=a.value)!=null&&N.length)),[f,v]=Se(o),{modelValue:I,...C}=O.filterProps(e),ue={...G.filterProps(e),"onClick:clear":ne},se=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,ce=o.accept?String(o.accept):void 0,de=se?void 0:e.filterByType??ce;return b(O,B({ref:z,modelValue:e.multiple?a.value:a.value[0],class:["v-file-input",{"v-file-input--chips":!!e.chips,"v-file-input--dragging":k.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":j.value},e.class],style:e.style,"onClick:prepend":Z},f,C,{centerAffix:!j.value,focused:d.value}),{...i,default:S=>{let{id:F,isDisabled:g,isDirty:x,isReadonly:M,isValid:fe,hasDetails:ve}=S;return b(G,B({ref:$,prependIcon:e.prependIcon,onMousedown:ee,onClick:te,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},ue,{id:F.value,active:Q.value||x.value,dirty:x.value||e.dirty,disabled:g.value,focused:d.value,details:ve.value,error:fe.value===!1,onDragover:ae,onDrop:re}),{...i,default:pe=>{var L;let{props:{class:me,...ye},controlRef:he}=pe;return h(V,null,[h("input",B({ref:p=>c.value=he.value=p,type:"file",accept:de,readonly:M.value,disabled:g.value,multiple:e.multiple,name:e.name,onClick:p=>{p.stopPropagation(),M.value&&p.preventDefault(),D()},onChange:oe,onDragleave:ie,onFocus:D,onBlur:H},ye,v),null),h("div",{class:Pe(me)},[!!((L=a.value)!=null&&L.length)&&!e.hideInput&&(i.selection?i.selection({fileNames:w.value,totalBytes:R.value,totalBytesReadable:T.value}):e.chips?w.value.map(p=>b(je,{key:p,size:"small",text:p},null)):w.value.join(", "))])])}})},details:l?S=>{var F,g;return h(V,null,[(F=i.details)==null?void 0:F.call(i,S),t&&h(V,null,[h("span",null,null),b(ke,{active:!!((g=a.value)!=null&&g.length),value:J.value,disabled:e.disabled},i.counter)])])}:void 0})}),$e({},z,$,c)}});export{Ue as V}; diff --git a/assets/VForm-DrJP9yK2.js b/assets/VForm-DrJP9yK2.js new file mode 100644 index 0000000..a12940a --- /dev/null +++ b/assets/VForm-DrJP9yK2.js @@ -0,0 +1 @@ +import{j as p,u as b,p as v,n as y}from"./vendor-vuetify-KiFW-YAv.js";import{j as F,k as V}from"./VTextField-jDykTfh9.js";import{I as h}from"./index-BvGH7GyK.js";import{k,N as R,n as P,b as C}from"./vendor-vue-Hxtt57UU.js";const S=v({...y(),...V()},"VForm"),g=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:n,emit:l}=i;const r=F(o),s=C();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=s.value)==null||m.submit())}),a.preventDefault()}return b(()=>{var t;return k("form",{ref:s,class:P(["v-form",o.class]),style:R(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=n.default)==null?void 0:t.call(n,r)])}),h(r,s)}});export{g as V}; diff --git a/assets/VForm-IEFsJ4YW.js b/assets/VForm-IEFsJ4YW.js deleted file mode 100644 index fd03002..0000000 --- a/assets/VForm-IEFsJ4YW.js +++ /dev/null @@ -1 +0,0 @@ -import{f as p,u as b,p as v,k as y}from"./vendor-vuetify-DpmmaPkh.js";import{j as F,k as V}from"./VTextField-BoJUR4Xs.js";import{I as k}from"./index-D042plwv.js";import{k as h,N as R,n as P,b as C}from"./vendor-vue-BiQC5iF7.js";const S=v({...y(),...V()},"VForm"),j=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=C();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 h("form",{ref:n,class:P(["v-form",o.class]),style:R(o.style),novalidate:!0,onReset:l,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),k(r,n)}});export{j as V}; diff --git a/assets/VMenu-CEn1TBeC.js b/assets/VMenu-CEn1TBeC.js new file mode 100644 index 0000000..8f8ce8a --- /dev/null +++ b/assets/VMenu-CEn1TBeC.js @@ -0,0 +1 @@ +import{L as C,ab as g,D as A,ac as x,I as R,U as I,ad as M}from"./index-BvGH7GyK.js";import{j as T,q as L,A as S,u as K,aw as O,$ as U,p as j,a5 as F,ak as m,ax as B}from"./vendor-vuetify-KiFW-YAv.js";import{E as H,d as N,A as $,G as q,o as z,j as b,m as k,e as G,t as J,b as Q,s as W,p as X}from"./vendor-vue-Hxtt57UU.js";const Y=j({id:String,submenu:Boolean,...F(I({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:M}}),["absolute"])},"VMenu"),ae=T()({name:"VMenu",props:Y(),emits:{"update:modelValue":t=>!0},setup(t,E){let{slots:i}=E;const n=L(t,"modelValue"),{scopeId:V}=C(),{isRtl:c}=S(),v=H(),f=J(()=>t.id||`v-menu-${v}`),s=Q(),a=N(g,null),d=W(new Set);X(g,{register(){d.value.add(v)},unregister(){d.value.delete(v)},closeParents(e){setTimeout(()=>{var o;!d.value.size&&!t.persistent&&(e==null||(o=s.value)!=null&&o.contentEl&&!B(e,s.value.contentEl))&&(n.value=!1,a==null||a.closeParents(e))},40)}}),$(()=>a==null?void 0:a.unregister()),q(()=>n.value=!1),z(n,e=>{e?a==null||a.register():a==null||a.unregister()},{immediate:!0});function P(e){a==null||a.closeParents(e)}function h(e){var o,l,r,u,w;if(!t.disabled)if(e.key==="Tab"||e.key==="Enter"&&!t.closeOnContentClick){if(e.key==="Enter"&&(e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLInputElement&&e.target.closest("form")))return;e.key==="Enter"&&e.preventDefault(),!O(U((o=s.value)==null?void 0:o.contentEl,!1),e.shiftKey?"prev":"next",p=>p.tabIndex>=0)&&!t.retainFocus&&(n.value=!1,(r=(l=s.value)==null?void 0:l.activatorEl)==null||r.focus())}else t.submenu&&e.key===(c.value?"ArrowRight":"ArrowLeft")&&(n.value=!1,(w=(u=s.value)==null?void 0:u.activatorEl)==null||w.focus())}function y(e){var l;if(t.disabled)return;const o=(l=s.value)==null?void 0:l.contentEl;o&&n.value?e.key==="ArrowDown"?(e.preventDefault(),e.stopImmediatePropagation(),m(o,"next")):e.key==="ArrowUp"?(e.preventDefault(),e.stopImmediatePropagation(),m(o,"prev")):t.submenu&&(e.key===(c.value?"ArrowRight":"ArrowLeft")?n.value=!1:e.key===(c.value?"ArrowLeft":"ArrowRight")&&(e.preventDefault(),m(o,"first"))):(t.submenu?e.key===(c.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(e.key))&&(n.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>y(e))))}const D=G(()=>k({"aria-haspopup":"menu","aria-expanded":String(n.value),"aria-controls":f.value,"aria-owns":f.value,onKeydown:y},t.activatorProps));return K(()=>{const e=A.filterProps(t);return b(A,k({ref:s,id:f.value,class:["v-menu",t.class],style:t.style},e,{modelValue:n.value,"onUpdate:modelValue":o=>n.value=o,absolute:!0,activatorProps:D.value,location:t.location??(t.submenu?"end":"bottom"),"onClick:outside":P,onKeydown:h},V),{activator:i.activator,default:function(){for(var o=arguments.length,l=new Array(o),r=0;r{var u;return[(u=i.default)==null?void 0:u.call(i,...l)]}})}})}),R({id:f,ΨopenChildren:d},s)}});export{ae as V}; diff --git a/assets/VMenu-Ps4XkZIl.js b/assets/VMenu-Ps4XkZIl.js deleted file mode 100644 index 29cb7da..0000000 --- a/assets/VMenu-Ps4XkZIl.js +++ /dev/null @@ -1 +0,0 @@ -import{L as C,ab as g,D as A,ac as x,I as R,U as I,ad as M}from"./index-D042plwv.js";import{f as T,n as L,A as S,u as K,aw as O,$ as U,p as F,a5 as j,ak as m,ax as B}from"./vendor-vuetify-DpmmaPkh.js";import{E as H,d as N,A as $,G as z,o as G,j as b,m as k,e as q,t as J,b as Q,s as W,p as X}from"./vendor-vue-BiQC5iF7.js";const Y=F({id:String,submenu:Boolean,...j(I({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:M}}),["absolute"])},"VMenu"),ae=T()({name:"VMenu",props:Y(),emits:{"update:modelValue":t=>!0},setup(t,E){let{slots:i}=E;const n=L(t,"modelValue"),{scopeId:V}=C(),{isRtl:c}=S(),v=H(),f=J(()=>t.id||`v-menu-${v}`),s=Q(),a=N(g,null),d=W(new Set);X(g,{register(){d.value.add(v)},unregister(){d.value.delete(v)},closeParents(e){setTimeout(()=>{var o;!d.value.size&&!t.persistent&&(e==null||(o=s.value)!=null&&o.contentEl&&!B(e,s.value.contentEl))&&(n.value=!1,a==null||a.closeParents())},40)}}),$(()=>a==null?void 0:a.unregister()),z(()=>n.value=!1),G(n,e=>{e?a==null||a.register():a==null||a.unregister()},{immediate:!0});function P(e){a==null||a.closeParents(e)}function h(e){var o,l,r,u,w;if(!t.disabled)if(e.key==="Tab"||e.key==="Enter"&&!t.closeOnContentClick){if(e.key==="Enter"&&(e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLInputElement&&e.target.closest("form")))return;e.key==="Enter"&&e.preventDefault(),!O(U((o=s.value)==null?void 0:o.contentEl,!1),e.shiftKey?"prev":"next",p=>p.tabIndex>=0)&&!t.retainFocus&&(n.value=!1,(r=(l=s.value)==null?void 0:l.activatorEl)==null||r.focus())}else t.submenu&&e.key===(c.value?"ArrowRight":"ArrowLeft")&&(n.value=!1,(w=(u=s.value)==null?void 0:u.activatorEl)==null||w.focus())}function y(e){var l;if(t.disabled)return;const o=(l=s.value)==null?void 0:l.contentEl;o&&n.value?e.key==="ArrowDown"?(e.preventDefault(),e.stopImmediatePropagation(),m(o,"next")):e.key==="ArrowUp"?(e.preventDefault(),e.stopImmediatePropagation(),m(o,"prev")):t.submenu&&(e.key===(c.value?"ArrowRight":"ArrowLeft")?n.value=!1:e.key===(c.value?"ArrowLeft":"ArrowRight")&&(e.preventDefault(),m(o,"first"))):(t.submenu?e.key===(c.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(e.key))&&(n.value=!0,e.preventDefault(),setTimeout(()=>setTimeout(()=>y(e))))}const D=q(()=>k({"aria-haspopup":"menu","aria-expanded":String(n.value),"aria-controls":f.value,"aria-owns":f.value,onKeydown:y},t.activatorProps));return K(()=>{const e=A.filterProps(t);return b(A,k({ref:s,id:f.value,class:["v-menu",t.class],style:t.style},e,{modelValue:n.value,"onUpdate:modelValue":o=>n.value=o,absolute:!0,activatorProps:D.value,location:t.location??(t.submenu?"end":"bottom"),"onClick:outside":P,onKeydown:h},V),{activator:i.activator,default:function(){for(var o=arguments.length,l=new Array(o),r=0;r{var u;return[(u=i.default)==null?void 0:u.call(i,...l)]}})}})}),R({id:f,ΨopenChildren:d},s)}});export{ae as V}; diff --git a/assets/VPagination-LhWLJTqu.js b/assets/VPagination-DC48wzod.js similarity index 92% rename from assets/VPagination-LhWLJTqu.js rename to assets/VPagination-DC48wzod.js index 5e3abc4..c99271a 100644 --- a/assets/VPagination-LhWLJTqu.js +++ b/assets/VPagination-DC48wzod.js @@ -1 +1 @@ -import{h as P,am as K,m as W,av as q,R as G,ag as H,M as J,ah as O}from"./index-D042plwv.js";import{f as U,n as X,an as Q,A as Y,h as Z,a0 as aa,j as R,y as ea,u as ta,aJ as B,p as la,I as V,m as ia,k as na,aH as L}from"./vendor-vuetify-DpmmaPkh.js";import{ai as sa,b as ra,j as g,k as b,m as k,n as N,N as ua,s as oa,e as m,I as $,t as d}from"./vendor-vue-BiQC5iF7.js";function va(){const a=ra([]);sa(()=>a.value=[]);function _(r,I){a.value[I]=r}return{refs:a,updateRef:_}}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:V,default:"$first"},prevIcon:{type:V,default:"$prev"},nextIcon:{type:V,default:"$next"},lastIcon:{type:V,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,...O(),...na(),...J(),...H(),...G(),...q(),...W({tag:"nav"}),...ia(),...K({variant:"text"})},"VPagination"),ba=U()({name:"VPagination",props:ca(),emits:{"update:modelValue":a=>!0,first:a=>!0,prev:a=>!0,next:a=>!0,last:a=>!0},setup(a,_){let{slots:r,emit:I}=_;const i=X(a,"modelValue"),{t:f,n:C}=Q(),{isRtl:x}=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)}),n=m(()=>parseInt(a.length,10)),s=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(n.value<=0||isNaN(n.value)||n.value>Number.MAX_SAFE_INTEGER)return[];if(a.totalVisible==null&&n.value<3)return L(n.value,s.value);if(v.value<=0)return[];if(v.value===1)return[i.value];if(n.value<=v.value)return L(n.value,s.value);const e=v.value%2===0,t=e?v.value/2:Math.floor(v.value/2),l=e?t:t+1,u=n.value-t;if(l-i.value>=0)return[...L(Math.max(1,v.value-1),s.value),a.ellipsis,n.value];if(i.value-u>=(e?1:0)){const o=v.value-1,h=n.value-o+s.value;return[s.value,a.ellipsis,...L(o,h)]}else{const o=Math.max(1,v.value-2),h=o===1?i.value:i.value-Math.ceil(o/2)+s.value;return[s.value,a.ellipsis,...L(o,h),a.ellipsis,n.value]}});function y(e,t,l){e.preventDefault(),i.value=t,l&&I(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<=s.value,t=!!a.disabled||i.value>=s.value+n.value-1;return{first:a.showFirstLastPage?{icon:x.value?a.lastIcon:a.firstIcon,onClick:l=>y(l,s.value,"first"),disabled:e,"aria-label":f(a.firstAriaLabel),"aria-disabled":e}:void 0,prev:{icon:x.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:x.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:x.value?a.firstIcon:a.lastIcon,onClick:l=>y(l,s.value+n.value-1,"last"),disabled:t,"aria-label":f(a.lastAriaLabel),"aria-disabled":t}:void 0}});function A(){var t;const e=i.value-s.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"},[r.first?r.first(c.value.first):g(P,k({_as:"VPaginationBtn"},c.value.first),null)]),b("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[r.prev?r.prev(c.value.prev):g(P,k({_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"},[r.item?r.item(e):g(P,k({_as:"VPaginationBtn"},e.props),{default:()=>[e.page]})])),b("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[r.next?r.next(c.value.next):g(P,k({_as:"VPaginationBtn"},c.value.next),null)]),a.showFirstLastPage&&b("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[r.last?r.last(c.value.last):g(P,k({_as:"VPaginationBtn"},c.value.last),null)])])]})),{}}});export{ba as V}; +import{h as P,am as q,m as K,av as W,R as G,ag as H,M as J,ah as O}from"./index-BvGH7GyK.js";import{j as U,q as X,an as Q,A as Y,k as Z,a0 as aa,l as R,y as ea,u as ta,aJ as B,p as la,I as V,m as ia,n as na,aH as L}from"./vendor-vuetify-KiFW-YAv.js";import{ai as sa,b as ra,j as g,k as b,m as k,n as N,N as ua,s as oa,e as m,I as $,t as d}from"./vendor-vue-Hxtt57UU.js";function va(){const a=ra([]);sa(()=>a.value=[]);function _(r,I){a.value[I]=r}return{refs:a,updateRef:_}}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:V,default:"$first"},prevIcon:{type:V,default:"$prev"},nextIcon:{type:V,default:"$next"},lastIcon:{type:V,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,...O(),...na(),...J(),...H(),...G(),...W(),...K({tag:"nav"}),...ia(),...q({variant:"text"})},"VPagination"),ba=U()({name:"VPagination",props:ca(),emits:{"update:modelValue":a=>!0,first:a=>!0,prev:a=>!0,next:a=>!0,last:a=>!0},setup(a,_){let{slots:r,emit:I}=_;const i=X(a,"modelValue"),{t:f,n:C}=Q(),{isRtl:x}=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)}),n=m(()=>parseInt(a.length,10)),s=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(n.value<=0||isNaN(n.value)||n.value>Number.MAX_SAFE_INTEGER)return[];if(a.totalVisible==null&&n.value<3)return L(n.value,s.value);if(v.value<=0)return[];if(v.value===1)return[i.value];if(n.value<=v.value)return L(n.value,s.value);const e=v.value%2===0,t=e?v.value/2:Math.floor(v.value/2),l=e?t:t+1,u=n.value-t;if(l-i.value>=0)return[...L(Math.max(1,v.value-1),s.value),a.ellipsis,n.value];if(i.value-u>=(e?1:0)){const o=v.value-1,h=n.value-o+s.value;return[s.value,a.ellipsis,...L(o,h)]}else{const o=Math.max(1,v.value-2),h=o===1?i.value:i.value-Math.ceil(o/2)+s.value;return[s.value,a.ellipsis,...L(o,h),a.ellipsis,n.value]}});function y(e,t,l){e.preventDefault(),i.value=t,l&&I(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<=s.value,t=!!a.disabled||i.value>=s.value+n.value-1;return{first:a.showFirstLastPage?{icon:x.value?a.lastIcon:a.firstIcon,onClick:l=>y(l,s.value,"first"),disabled:e,"aria-label":f(a.firstAriaLabel),"aria-disabled":e}:void 0,prev:{icon:x.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:x.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:x.value?a.firstIcon:a.lastIcon,onClick:l=>y(l,s.value+n.value-1,"last"),disabled:t,"aria-label":f(a.lastAriaLabel),"aria-disabled":t}:void 0}});function A(){var t;const e=i.value-s.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"},[r.first?r.first(c.value.first):g(P,k({_as:"VPaginationBtn"},c.value.first),null)]),b("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[r.prev?r.prev(c.value.prev):g(P,k({_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"},[r.item?r.item(e):g(P,k({_as:"VPaginationBtn"},e.props),{default:()=>[e.page]})])),b("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[r.next?r.next(c.value.next):g(P,k({_as:"VPaginationBtn"},c.value.next),null)]),a.showFirstLastPage&&b("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[r.last?r.last(c.value.last):g(P,k({_as:"VPaginationBtn"},c.value.last),null)])])]})),{}}});export{ba as V}; diff --git a/assets/VPicker-DGiUlCzb.js b/assets/VPicker-DssJ0SqJ.js similarity index 80% rename from assets/VPicker-DGiUlCzb.js rename to assets/VPicker-DssJ0SqJ.js index fee6844..891ae59 100644 --- a/assets/VPicker-DGiUlCzb.js +++ b/assets/VPicker-DssJ0SqJ.js @@ -1 +1 @@ -import{aa as m,f as v,u,p as h}from"./vendor-vuetify-DpmmaPkh.js";import{H as p,ac as V}from"./index-D042plwv.js";import{V as s,m as f}from"./VSheet-BWNNvcYw.js";import{j as i,k as t,N as P,n as g,m as y}from"./vendor-vue-BiQC5iF7.js";const C=m("v-picker-title"),_=h({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...f()},"VPicker"),H=v()({name:"VPicker",props:_(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:c,backgroundColorStyles:d}=p(()=>a.color);return u(()=>{const n=s.filterProps(a),k=!a.hideTitle&&!!(a.title||e.title);return i(s,y(n,{color:a.bgColor,class:["v-picker",{"v-picker--divided":a.divided,"v-picker--landscape":a.landscape,"v-picker--with-actions":!!e.actions},a.class],style:a.style}),{default:()=>{var r;return[!a.hideHeader&&t("div",{key:"header",class:g(["v-picker__header-wrapper",c.value]),style:P([d.value])},[k&&i(C,{key:"picker-title"},{default:()=>{var l;return[((l=e.title)==null?void 0:l.call(e))??a.title]}}),e.header&&t("div",{class:"v-picker__header"},[e.header()])]),t("div",{class:"v-picker__body"},[(r=e.default)==null?void 0:r.call(e)]),e.actions&&i(V,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[t("div",{class:"v-picker__actions"},[e.actions()])]})]}})}),{}}});export{H as V,_ as m}; +import{aa as m,j as v,u,p as h}from"./vendor-vuetify-KiFW-YAv.js";import{H as p,ac as V}from"./index-BvGH7GyK.js";import{V as s,m as f}from"./VSheet-PSmzyJOR.js";import{j as i,k as t,N as P,n as g,m as y}from"./vendor-vue-Hxtt57UU.js";const C=m("v-picker-title"),_=h({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...f()},"VPicker"),H=v()({name:"VPicker",props:_(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:c,backgroundColorStyles:d}=p(()=>a.color);return u(()=>{const n=s.filterProps(a),k=!a.hideTitle&&!!(a.title||e.title);return i(s,y(n,{color:a.bgColor,class:["v-picker",{"v-picker--divided":a.divided,"v-picker--landscape":a.landscape,"v-picker--with-actions":!!e.actions},a.class],style:a.style}),{default:()=>{var r;return[!a.hideHeader&&t("div",{key:"header",class:g(["v-picker__header-wrapper",c.value]),style:P([d.value])},[k&&i(C,{key:"picker-title"},{default:()=>{var l;return[((l=e.title)==null?void 0:l.call(e))??a.title]}}),e.header&&t("div",{class:"v-picker__header"},[e.header()])]),t("div",{class:"v-picker__body"},[(r=e.default)==null?void 0:r.call(e)]),e.actions&&i(V,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[t("div",{class:"v-picker__actions"},[e.actions()])]})]}})}),{}}});export{H as V,_ as m}; diff --git a/assets/VRow-CH6EAfU_.js b/assets/VRow-CFI96Yew.js similarity index 80% rename from assets/VRow-CH6EAfU_.js rename to assets/VRow-CFI96Yew.js index dfdad39..a9a1608 100644 --- a/assets/VRow-CH6EAfU_.js +++ b/assets/VRow-CFI96Yew.js @@ -1 +1 @@ -import{f as C,p as S,k as b,aA as i}from"./vendor-vuetify-DpmmaPkh.js";import{m as k}from"./index-D042plwv.js";import{h as N,e as j,a as u}from"./vendor-vue-BiQC5iF7.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}; +import{j as C,p as S,n as b,aA as i}from"./vendor-vuetify-KiFW-YAv.js";import{m as j}from"./index-BvGH7GyK.js";import{h as k,e as N,a as u}from"./vendor-vue-Hxtt57UU.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(),...j()},"VCol"),J=C()({name:"VCol",props:I(),setup(t,a){let{slots:e}=a;const s=N(()=>{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 k(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(),...j()},"VRow"),W=C()({name:"VRow",props:F(),setup(t,a){let{slots:e}=a;const s=N(()=>{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 k(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-BdFWh1xd.js b/assets/VSelect-BdFWh1xd.js new file mode 100644 index 0000000..2a01fe8 --- /dev/null +++ b/assets/VSelect-BdFWh1xd.js @@ -0,0 +1 @@ +import{f as at,l as ot,h as ut,V as _e,i as rt}from"./VTextField-jDykTfh9.js";import{j as Re,y as ze,u as Te,p as oe,n as He,a0 as st,z as ke,aP as it,ai as Ne,E as Ue,o as ct,C as ft,a3 as dt,a as ge,$ as je,w as Fe,an as vt,q as Se,aQ as mt,aL as ht,r as pe,aM as Ee,_ as Le,a5 as gt,I as pt}from"./vendor-vuetify-KiFW-YAv.js";import{o as ae,k as F,F as se,m as W,w as Pe,s as Q,q as Ge,b as te,e as N,I as We,D as yt,j as R,N as bt,n as ye,t as be,l as xe,u as ce,E as wt,a1 as Vt}from"./vendor-vue-Hxtt57UU.js";import{b as kt,a as St,aD as It,f as Be,p as Ct,q as Ke,i as Ft,a2 as Pt,o as xt,ac as Rt,I as Tt,Q as At,ad as Mt,aF as Dt}from"./index-BvGH7GyK.js";import{V as Ot}from"./VMenu-CEn1TBeC.js";import{V as _t}from"./VSheet-PSmzyJOR.js";import{V as Et}from"./VCheckboxBtn-D_PchAC2.js";import{V as $e}from"./VChip-CyVmT8se.js";const Lt=oe({renderless:Boolean,...He()},"VVirtualScrollItem"),Bt=Re()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Lt(),emits:{"update:height":e=>!0},setup(e,a){let{attrs:n,emit:t,slots:r}=a;const{resizeRef:s,contentRect:d}=ze(void 0,"border");ae(()=>{var o;return(o=d.value)==null?void 0:o.height},o=>{o!=null&&t("update:height",o)}),Te(()=>{var o,u;return e.renderless?F(se,null,[(o=r.default)==null?void 0:o.call(r,{itemRef:s})]):F("div",W({ref:s,class:["v-virtual-scroll__item",e.class],style:e.style},n),[(u=r.default)==null?void 0:u.call(r)])})}}),Kt=-1,$t=1,Ie=100,zt=oe({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Ht(e,a){const n=st(),t=Q(0);Pe(()=>{t.value=parseFloat(e.itemHeight||0)});const r=Q(0),s=Q(Math.ceil((parseInt(e.height)||n.height.value)/(t.value||16))||1),d=Q(0),o=Q(0),u=te(),p=te();let y=0;const{resizeRef:b,contentRect:S}=ze();Pe(()=>{b.value=u.value});const g=N(()=>{var c;return u.value===document.documentElement?n.height.value:((c=S.value)==null?void 0:c.height)||parseInt(e.height)||0}),v=N(()=>!!(u.value&&p.value&&g.value&&t.value));let m=Array.from({length:a.value.length}),i=Array.from({length:a.value.length});const I=Q(0);let P=-1;function q(c){return m[c]||t.value}const B=it(()=>{const c=performance.now();i[0]=0;const k=a.value.length;for(let x=1;x<=k;x++)i[x]=(i[x-1]||0)+q(x-1);I.value=Math.max(I.value,performance.now()-c),G()},I),A=ae(v,c=>{c&&(A(),y=p.value.offsetTop,B.immediate(),G(),~P&&We(()=>{Ue&&window.requestAnimationFrame(()=>{fe(P),P=-1})}))});Ge(()=>{B.clear()});function Y(c,k){const x=m[c],D=t.value;t.value=D?Math.min(t.value,k):k,(x!==k||D!==t.value)&&(m[c]=k,B())}function U(c){c=ke(c,0,a.value.length);const k=Math.floor(c),x=c%1,D=k+1,ee=i[k]||0,X=i[D]||ee;return ee+(X-ee)*x}function z(c){return Nt(i,c)}let j=0,J=0,Z=0;ae(g,(c,k)=>{G(),c{J=0,G()})});let M=-1;function ie(){if(!u.value||!p.value)return;const c=u.value.scrollTop,k=performance.now();k-Z>500?(J=Math.sign(c-j),y=p.value.offsetTop):J=c-j,j=c,Z=k,window.clearTimeout(M),M=window.setTimeout(ue,500),G()}function ue(){!u.value||!p.value||(J=0,Z=0,window.clearTimeout(M),G())}let C=-1;function G(){cancelAnimationFrame(C),C=requestAnimationFrame(we)}function we(){if(!u.value||!g.value||!t.value)return;const c=j-y,k=Math.sign(J),x=Math.max(0,c-Ie),D=ke(z(x),0,a.value.length),ee=c+g.value+Ie,X=ke(z(ee)+1,D+1,a.value.length);if((k!==Kt||Ds.value)){const Ve=U(r.value)-U(D),ve=U(X)-U(s.value);Math.max(Ve,ve)>Ie?(r.value=D,s.value=X):(D<=0&&(r.value=D),X>=a.value.length&&(s.value=X,r.value=D))}d.value=U(r.value),o.value=U(a.value.length)-U(s.value)}function fe(c){const k=U(c);!u.value||c&&!k?P=c:u.value.scrollTop=k}const de=N(()=>a.value.slice(r.value,s.value).map((c,k)=>{const x=k+r.value;return{raw:c,index:x,key:Ne(c,e.itemKey,x)}}));return ae(a,()=>{m=Array.from({length:a.value.length}),i=Array.from({length:a.value.length}),B.immediate(),G()},{deep:1}),{calculateVisibleItems:G,containerRef:u,markerRef:p,computedItems:de,paddingTop:d,paddingBottom:o,scrollToIndex:fe,handleScroll:ie,handleScrollend:ue,handleItemResize:Y}}function Nt(e,a){let n=e.length-1,t=0,r=0,s=null,d=-1;if(e[n]>1,s=e[r],s>a)n=r-1;else if(s[]},renderless:Boolean,...zt(),...He(),...St()},"VVirtualScroll"),jt=Re()({name:"VVirtualScroll",props:Ut(),setup(e,a){let{slots:n}=a;const t=ct("VVirtualScroll"),{dimensionStyles:r}=kt(e),{calculateVisibleItems:s,containerRef:d,markerRef:o,handleScroll:u,handleScrollend:p,handleItemResize:y,scrollToIndex:b,paddingTop:S,paddingBottom:g,computedItems:v}=Ht(e,be(()=>e.items));return ft(()=>e.renderless,()=>{function m(){var P,q;const I=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";d.value===document.documentElement?(document[I]("scroll",u,{passive:!0}),document[I]("scrollend",p)):((P=d.value)==null||P[I]("scroll",u,{passive:!0}),(q=d.value)==null||q[I]("scrollend",p))}yt(()=>{d.value=dt(t.vnode.el,!0),m(!0)}),Ge(m)}),Te(()=>{const m=v.value.map(i=>R(Bt,{key:i.key,renderless:e.renderless,"onUpdate:height":I=>y(i.index,I)},{default:I=>{var P;return(P=n.default)==null?void 0:P.call(n,{item:i.raw,index:i.index,...I})}}));return e.renderless?F(se,null,[F("div",{ref:o,class:"v-virtual-scroll__spacer",style:{paddingTop:ge(S.value)}},null),m,F("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:ge(g.value)}},null)]):F("div",{ref:d,class:ye(["v-virtual-scroll",e.class]),onScrollPassive:u,onScrollend:p,style:bt([r.value,e.style])},[F("div",{ref:o,class:"v-virtual-scroll__container",style:{paddingTop:ge(S.value),paddingBottom:ge(g.value)}},[m])])}),{calculateVisibleItems:s,scrollToIndex:b}}});function Gt(e,a,n){return function(r){return!r.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;const s=a(),d=(s&&je(s)[0])??n();d==null||d.focus({preventScroll:!0})}),!0):!1}}function Wt(e,a){const n=Q(!1);let t;function r(o){cancelAnimationFrame(t),n.value=!0,t=requestAnimationFrame(()=>{t=requestAnimationFrame(()=>{n.value=!1})})}async function s(){await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>{if(n.value){const u=ae(n,()=>{u(),o()})}else o()})}async function d(o){var y,b;if(o.key==="Tab"&&((y=a.value)==null||y.focus()),!["PageDown","PageUp","Home","End"].includes(o.key))return;const u=(b=e.value)==null?void 0:b.$el;if(!u)return;(o.key==="Home"||o.key==="End")&&u.scrollTo({top:o.key==="Home"?0:u.scrollHeight,behavior:"smooth"}),await s();const p=u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(o.key==="PageDown"||o.key==="Home"){const S=u.getBoundingClientRect().top;for(const g of p)if(g.getBoundingClientRect().top>=S){g.focus();break}}else{const S=u.getBoundingClientRect().bottom;for(const g of[...p].reverse())if(g.getBoundingClientRect().bottom<=S){g.focus();break}}}return{onScrollPassive:r,onKeydown:d}}function Qt(e){let{groups:a,onLeave:n}=e;function t(o){var u;return o.type==="list"?(u=o.contentRef.value)==null?void 0:u.$el:o.contentRef.value}function r(o){const u=t(o);return u?je(u):[]}function s(o){var g;const u=o.target,p=o.shiftKey?"backward":"forward",y=a.map(r),b=a.map(v=>{var m;return v.type==="list"?(m=v.contentRef.value)==null?void 0:m.$el:v.contentRef.value}).findIndex(v=>v==null?void 0:v.contains(u)),S=d(y,b,p,u);if(S===null){const v=a[b],m=y[b];(v.type==="list"||(p==="forward"?m.at(-1)===o.target:m.at(0)===o.target))&&n()}else{o.preventDefault(),o.stopImmediatePropagation();const v=a[S];if(v.type==="list"&&xe(v.displayItemsCount)>0)(g=v.contentRef.value)==null||g.focus(0);else{const m=p==="forward";y[S].at(m?0:-1).focus()}}}function d(o,u,p,y){const b=a[u],S=o[u];if(b.type!=="list"&&!(p==="forward"?S.at(-1)===y:S.at(0)===y))return null;const g=p==="forward"?1:-1;for(let v=u+g;v>=0&&v0||m.type==="list"&&xe(m.displayItemsCount)>0)return v}return null}return{onTabKeydown:s}}const qt=(e,a,n)=>{if(e==null||a==null)return-1;if(!a.length)return 0;e=e.toString().toLocaleLowerCase(),a=a.toString().toLocaleLowerCase();const t=[];let r=e.indexOf(a);for(;~r;)t.push([r,r+a.length]),r=e.indexOf(a,r+a.length);return t.length?t:-1};function Ce(e,a){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+a.length]]:Array.isArray(e[0])?e:[e]}const Xt=oe({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Yt(e,a,n){var u,p;const t=[],r=(n==null?void 0:n.default)??qt,s=n!=null&&n.filterKeys?Fe(n.filterKeys):!1,d=Object.keys((n==null?void 0:n.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return t;let o=[];e:for(let y=0;y0)&&!(n!=null&&n.noFilter)){let i=!1;if(typeof b=="object"){if(b.type==="divider"||b.type==="subheader"){(((u=o.at(-1))==null?void 0:u.type)!=="divider"||b.type!=="subheader")&&(o=[]),o.push({index:y,matches:{},type:b.type});continue}const q=s||Object.keys(S);i=q.length===d;for(const B of q){const A=Ne(S,B),Y=(p=n==null?void 0:n.customKeyFilter)==null?void 0:p[B];if(m=Y?Y(A,a,b):r(A,a,b),m!==-1&&m!==!1)Y?g[B]=Ce(m,a):v[B]=Ce(m,a);else if((n==null?void 0:n.filterMode)==="every")continue e}}else m=r(b,a,b),m!==-1&&m!==!1&&(v.title=Ce(m,a));const I=Object.keys(v).length,P=Object.keys(g).length;if(!I&&!P||(n==null?void 0:n.filterMode)==="union"&&P!==d&&!I||(n==null?void 0:n.filterMode)==="intersection"&&(P!==d||!I&&d>0&&!i))continue}o.length&&(t.push(...o),o=[]),t.push({index:y,matches:{...v,...g}})}return t}function Jt(e,a,n,t){const r=Q([]),s=Q(new Map),d=N(()=>t!=null&&t.transform?ce(a).map(u=>[u,t.transform(u)]):ce(a));Pe(()=>{const u=typeof n=="function"?n():ce(n),p=typeof u!="string"&&typeof u!="number"?"":String(u),y=Yt(d.value,p,{customKeyFilter:{...e.customKeyFilter,...ce(t==null?void 0:t.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),b=ce(a),S=[],g=new Map;y.forEach(v=>{let{index:m,matches:i}=v;const I=b[m];S.push(I),g.set(I.value,i)}),r.value=S,s.value=g});function o(u){return s.value.get(u.value)}return{filteredItems:r,filteredMatches:s,getMatches:o}}function Zt(e,a,n){return n==null||!n.length?a:n.map((t,r)=>{const s=r===0?0:n[r-1][1],d=[F("span",{class:ye(`${e}__unmask`)},[a.slice(s,t[0])]),F("span",{class:ye(`${e}__mask`)},[a.slice(t[0],t[1])])];return r===n.length-1&&d.push(F("span",{class:ye(`${e}__unmask`)},[a.slice(t[1])])),F(se,null,[d])})}const el=oe({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function tl(e,a){const n=wt(),t=N(()=>`menu-${n}`),r=be(()=>xe(a)),s=be(()=>t.value);return{menuId:t,ariaExpanded:r,ariaControls:s}}const ll=oe({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:pt,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...el(),...Dt({itemChildren:!1})},"Select"),nl=oe({search:String,...Xt({filterKeys:["title"]}),...ll(),...gt(rt({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...At({transition:{component:Mt}})},"VSelect"),dl=Re()({name:"VSelect",props:nl(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0,"item:added":e=>!0,"item:removed":e=>!0},setup(e,a){let{emit:n,slots:t}=a;const{t:r}=vt(),s=te(),d=te(),o=te(),u=te(),p=te(),{items:y,transformIn:b,transformOut:S}=It(e),g=Se(e,"search",""),{filteredItems:v,getMatches:m}=Jt(e,y,()=>g.value),i=Se(e,"modelValue",[],l=>b(l===null?[null]:Fe(l)),l=>{const f=S(l);return e.multiple?f:f[0]??null}),I=N(()=>typeof e.counterValue=="function"?e.counterValue(i.value):typeof e.counterValue=="number"?e.counterValue:i.value.length),P=at(e),q=ot(e),B=N(()=>i.value.map(l=>l.value)),A=Q(!1),Y=be(()=>e.closableChips&&!P.isReadonly.value&&!P.isDisabled.value),{InputIcon:U}=ut(e);let z="",j=0,J,Z=!1;const M=N(()=>{const l=g.value?v.value:y.value;return e.hideSelected?l.filter(f=>!i.value.some(V=>(e.valueComparator||pe)(V,f))):l}),ie=N(()=>e.hideNoData&&!M.value.length||P.isReadonly.value||P.isDisabled.value),ue=Se(e,"menu"),C=N({get:()=>ue.value,set:l=>{var f;ue.value&&!l&&((f=d.value)!=null&&f.ΨopenChildren.size)||l&&ie.value||(ue.value=l)}}),{menuId:G,ariaExpanded:we,ariaControls:fe}=tl(e,C),de=N(()=>{var l;return{...e.menuProps,activatorProps:{...((l=e.menuProps)==null?void 0:l.activatorProps)||{},"aria-haspopup":"listbox"}}}),c=te(),k=Wt(c,s),x=Gt(C,()=>{var l;return(l=d.value)==null?void 0:l.contentEl},()=>{var l;return(l=s.value)==null?void 0:l.controlRef}),{onTabKeydown:D}=Qt({groups:[{type:"element",contentRef:o},{type:"list",contentRef:c,displayItemsCount:()=>M.value.length},{type:"element",contentRef:u}],onLeave:()=>{var l;C.value=!1,(l=s.value)==null||l.focus()}});function ee(l){e.openOnClear&&(C.value=!0)}function X(){ie.value||(Z=!1,C.value=!C.value)}function Ve(l){var f;l.key==="Tab"&&D(l),(f=c.value)!=null&&f.$el.contains(l.target)&&Ee(l)&&ve(l)}function ve(l){var $,H,ne;if(!l.key||P.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"," "].includes(l.key)&&(Z=!0,C.value=!0),["Escape","Tab"].includes(l.key)&&(C.value=!1),e.clearable&&l.key==="Backspace"){l.preventDefault();for(const h of i.value)n("item:removed",h);i.value=[],ee();return}l.key==="Home"?($=c.value)==null||$.focus("first"):l.key==="End"&&((H=c.value)==null||H.focus("last"));const f=1e3;if(!Ee(l))return;const V=performance.now();V-J>f&&(z="",j=0),z+=l.key.toLowerCase(),J=V;const O=M.value;function T(){let h=K();return h||z.at(-1)===z.at(-2)&&(z=z.slice(0,-1),j++,h=K(),h)||(j=0,h=K(),h)?h:(z=l.key.toLowerCase(),K())}function K(){for(let h=j;h1&&arguments[1]!==void 0?arguments[1]:!0;if(l.props.disabled)return;const V=e.valueComparator||pe;if(e.multiple){const O=i.value.findIndex(K=>V(K.value,l.value)),T=f??!~O;if(~O){const K=T?[...i.value,l]:[...i.value],[_]=K.splice(O,1);T||n("item:removed",_),i.value=K}else T&&(n("item:added",l),i.value=[...i.value,l])}else{const O=f!==!1,T=i.value[0];O?(T&&!V(T.value,l.value)?(n("item:removed",T),n("item:added",l)):T||n("item:added",l),i.value=[l]):(T&&n("item:removed",T),i.value=[]),We(()=>{C.value=!1})}}function Qe(l){var V;const f=l.target;(V=s.value)!=null&&V.$el.contains(f)||(C.value=!1)}function qe(){return M.value.findIndex(l=>i.value.some(f=>(e.valueComparator||pe)(f.value,l.value)))}function Xe(){if(!i.value.length)return-1;const l=e.valueComparator||pe;let f=0;for(const V of M.value){if(i.value.some(T=>l(T.value,V.value)))return V.props.disabled?-1:f;V.props.disabled||f++}return-1}function Ye(){var l;if(e.eager&&((l=p.value)==null||l.calculateVisibleItems()),c.value&&A.value){const f=Xe();f>=0?c.value.focus(f,{focusVisible:!1,preventScroll:e.noAutoScroll}):Z&&c.value.focus("first",{focusVisible:!1,preventScroll:e.noAutoScroll})}}function Je(){var l,f,V,O;g.value="",A.value&&((V=(f=(l=d.value)==null?void 0:l.contentEl)==null?void 0:f._clickOutside)!=null&&V.lastMousedownWasOutside?A.value=!1:(O=s.value)==null||O.focus())}function Ze(l){A.value=!0}function et(l){var f;if(!((f=s.value)!=null&&f.$el.contains(l.relatedTarget))){if(x(l))return;A.value=!1}}function tt(l){if(l==null){for(const f of i.value)n("item:removed",f);i.value=[]}else if(Le(s.value,":autofill")||Le(s.value,":-webkit-autofill")){const f=y.value.find(V=>V.title===l);f&&re(f)}else s.value&&(s.value.value="")}return ae(C,l=>{if(l||(Z=!1),!e.hideSelected&&C.value&&i.value.length){const f=qe();Ue&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var V;f>=0&&((V=p.value)==null||V.scrollToIndex(f))})}}),ae(y,(l,f)=>{C.value||A.value&&e.hideNoData&&!f.length&&l.length&&(C.value=!0)}),Te(()=>{const l=!!(e.chips||t.chip),f=!!(!e.hideNoData||M.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),V=i.value.length>0,O=_e.filterProps(e),T=V||!A.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder,K={search:g,filteredItems:v.value};return R(_e,W({ref:s},O,{modelValue:i.value.map(_=>_.props.title).join(", "),name:void 0,"onUpdate:modelValue":tt,focused:A.value,"onUpdate:focused":_=>A.value=_,validationValue:i.externalValue,counterValue:I.value,dirty:V,class:["v-select",{"v-select--active-menu":C.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":i.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:T,"onClick:clear":ee,"onMousedown:control":X,onBlur:Qe,onKeydown:ve,"aria-expanded":we.value,"aria-controls":fe.value}),{...t,default:_=>{let{id:le}=_;return F(se,null,[F("select",{hidden:!0,multiple:e.multiple,name:q.fieldName.value},[y.value.map(w=>F("option",{key:w.value,value:w.value,selected:B.value.includes(w.value)},null))]),R(Ot,W({id:G.value,ref:d,modelValue:C.value,"onUpdate:modelValue":w=>C.value=w,activator:"parent",captureFocus:!1,disabled:ie.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:Ye,onAfterLeave:Je},de.value,{contentClass:["v-select__content",de.value.contentClass]}),{default:()=>[R(_t,{onFocusin:Ze,onFocusout:et,onKeydown:Ve},{default:()=>[t["menu-header"]&&F("header",{ref:o},[t["menu-header"](K)]),f&&R(Ct,W({key:"select-list",ref:c,selected:B.value,selectStrategy:e.multiple?"independent":"single-independent",tabindex:"-1",selectable:!!M.value.length,"aria-live":"polite","aria-labelledby":`${le.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},k,e.listProps),{default:()=>{var w,$,H;return[(w=t["prepend-item"])==null?void 0:w.call(t),!M.value.length&&!e.hideNoData&&((($=t["no-data"])==null?void 0:$.call(t))??R(Ke,{key:"no-data",title:r(e.noDataText)},null)),R(jt,{ref:p,renderless:!0,items:M.value,itemKey:"value"},{default:ne=>{var Me,De,Oe;let{item:h,index:E,itemRef:L}=ne;const me=mt(h.props),Ae=W(h.props,{ref:L,key:h.value,onClick:()=>re(h,null),"aria-posinset":E+1,"aria-setsize":M.value.length});return h.type==="divider"?((Me=t.divider)==null?void 0:Me.call(t,{props:h.raw,index:E}))??R(Ft,W(h.props,{key:`divider-${E}`}),null):h.type==="subheader"?((De=t.subheader)==null?void 0:De.call(t,{props:h.raw,index:E}))??R(Pt,W(h.props,{key:`subheader-${E}`}),null):((Oe=t.item)==null?void 0:Oe.call(t,{item:h,index:E,props:Ae}))??R(Ke,W(Ae,{role:"option"}),{prepend:he=>{let{isSelected:lt}=he;return F(se,null,[e.multiple&&!e.hideSelected?R(Et,{key:h.value,modelValue:lt,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:nt=>nt.preventDefault()},null):void 0,me.prependAvatar&&R(xt,{image:me.prependAvatar},null),me.prependIcon&&R(Be,{icon:me.prependIcon},null)])},title:()=>{var he;return g.value?Zt("v-select",h.title,(he=m(h))==null?void 0:he.title):h.title}})}}),(H=t["append-item"])==null?void 0:H.call(t)]}}),t["menu-footer"]&&F("footer",{ref:u},[t["menu-footer"](K)])]})]}),i.value.map((w,$)=>{function H(L){L.stopPropagation(),L.preventDefault(),re(w,!1)}const ne=W($e.filterProps(w.props),{"onClick:close":H,onKeydown(L){L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),L.stopPropagation(),H(L))},onMousedown(L){L.preventDefault(),L.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),h=l?!!t.chip:!!t.selection,E=h?ht(l?t.chip({item:w,index:$,props:ne}):t.selection({item:w,index:$})):void 0;if(!(h&&!E))return F("div",{key:w.value,class:"v-select__selection"},[l?t.chip?R(Rt,{key:"chip-defaults",defaults:{VChip:{closable:Y.value,size:"small",text:w.title}}},{default:()=>[E]}):R($e,W({key:"chip",closable:Y.value,size:"small",text:w.title,disabled:w.props.disabled},ne),null):E??F("span",{class:"v-select__selection-text"},[w.title,e.multiple&&$!0},setup(e,n){let{attrs:t,emit:s,slots:a}=n;const{resizeRef:c,contentRect:d}=ze(void 0,"border");oe(()=>{var o;return(o=d.value)==null?void 0:o.height},o=>{o!=null&&s("update:height",o)}),Re(()=>{var o,r;return e.renderless?C(se,null,[(o=a.default)==null?void 0:o.call(a,{itemRef:c})]):C("div",U({ref:c,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(r=a.default)==null?void 0:r.call(a)])})}}),Et=-1,Bt=1,Ie=100,Kt=ue({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function $t(e,n){const t=ut(),s=j(0);Fe(()=>{s.value=parseFloat(e.itemHeight||0)});const a=j(0),c=j(Math.ceil((parseInt(e.height)||t.height.value)/(s.value||16))||1),d=j(0),o=j(0),r=X(),h=X();let V=0;const{resizeRef:y,contentRect:p}=ze();Fe(()=>{y.value=r.value});const g=$(()=>{var f;return r.value===document.documentElement?t.height.value:((f=p.value)==null?void 0:f.height)||parseInt(e.height)||0}),v=$(()=>!!(r.value&&h.value&&g.value&&s.value));let u=Array.from({length:n.value.length}),S=Array.from({length:n.value.length});const b=j(0);let A=-1;function z(f){return u[f]||s.value}const P=rt(()=>{const f=performance.now();S[0]=0;const k=n.value.length;for(let x=1;x<=k;x++)S[x]=(S[x-1]||0)+z(x-1);b.value=Math.max(b.value,performance.now()-f)},b),Y=oe(v,f=>{f&&(Y(),V=h.value.offsetTop,P.immediate(),G(),~A&&Qe(()=>{Ue&&window.requestAnimationFrame(()=>{O(A),A=-1})}))});Ge(()=>{P.clear()});function q(f,k){const x=u[f],D=s.value;s.value=D?Math.min(s.value,k):k,(x!==k||D!==s.value)&&(u[f]=k,P())}function R(f){f=Ve(f,0,n.value.length);const k=Math.floor(f),x=f%1,D=k+1,te=S[k]||0,H=S[D]||te;return te+(H-te)*x}function Q(f){return zt(S,f)}let J=0,M=0,Z=0;oe(g,(f,k)=>{G(),f{M=0,G()})});let ee=-1;function F(){if(!r.value||!h.value)return;const f=r.value.scrollTop,k=performance.now();k-Z>500?(M=Math.sign(f-J),V=h.value.offsetTop):M=f-J,J=f,Z=k,window.clearTimeout(ee),ee=window.setTimeout(ce,500),G()}function ce(){!r.value||!h.value||(M=0,Z=0,window.clearTimeout(ee),G())}let fe=-1;function G(){cancelAnimationFrame(fe),fe=requestAnimationFrame(de)}function de(){if(!r.value||!g.value||!s.value)return;const f=J-V,k=Math.sign(M),x=Math.max(0,f-Ie),D=Ve(Q(x),0,n.value.length),te=f+g.value+Ie,H=Ve(Q(te)+1,D+1,n.value.length);if((k!==Et||Dc.value)){const re=R(a.value)-R(D),we=R(H)-R(c.value);Math.max(re,we)>Ie?(a.value=D,c.value=H):(D<=0&&(a.value=D),H>=n.value.length&&(c.value=H))}d.value=R(a.value),o.value=R(n.value.length)-R(c.value)}function O(f){const k=R(f);!r.value||f&&!k?A=f:r.value.scrollTop=k}const be=$(()=>n.value.slice(a.value,c.value).map((f,k)=>{const x=k+a.value;return{raw:f,index:x,key:Ne(f,e.itemKey,x)}}));return oe(n,()=>{u=Array.from({length:n.value.length}),S=Array.from({length:n.value.length}),P.immediate(),G()},{deep:1}),{calculateVisibleItems:G,containerRef:r,markerRef:h,computedItems:be,paddingTop:d,paddingBottom:o,scrollToIndex:O,handleScroll:F,handleScrollend:ce,handleItemResize:q}}function zt(e,n){let t=e.length-1,s=0,a=0,c=null,d=-1;if(e[t]>1,c=e[a],c>n)t=a-1;else if(c[]},renderless:Boolean,...Kt(),...He(),...Vt()},"VVirtualScroll"),Nt=xe()({name:"VVirtualScroll",props:Ht(),setup(e,n){let{slots:t}=n;const s=st("VVirtualScroll"),{dimensionStyles:a}=wt(e),{calculateVisibleItems:c,containerRef:d,markerRef:o,handleScroll:r,handleScrollend:h,handleItemResize:V,scrollToIndex:y,paddingTop:p,paddingBottom:g,computedItems:v}=$t(e,ye(()=>e.items));return it(()=>e.renderless,()=>{function u(){var A,z;const b=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";d.value===document.documentElement?(document[b]("scroll",r,{passive:!0}),document[b]("scrollend",h)):((A=d.value)==null||A[b]("scroll",r,{passive:!0}),(z=d.value)==null||z[b]("scrollend",h))}gt(()=>{d.value=ct(s.vnode.el,!0),u(!0)}),Ge(u)}),Re(()=>{const u=v.value.map(S=>T(Ot,{key:S.key,renderless:e.renderless,"onUpdate:height":b=>V(S.index,b)},{default:b=>{var A;return(A=t.default)==null?void 0:A.call(t,{item:S.raw,index:S.index,...b})}}));return e.renderless?C(se,null,[C("div",{ref:o,class:"v-virtual-scroll__spacer",style:{paddingTop:he(p.value)}},null),u,C("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:he(g.value)}},null)]):C("div",{ref:d,class:pe(["v-virtual-scroll",e.class]),onScrollPassive:r,onScrollend:h,style:pt([a.value,e.style])},[C("div",{ref:o,class:"v-virtual-scroll__container",style:{paddingTop:he(p.value),paddingBottom:he(g.value)}},[u])])}),{calculateVisibleItems:c,scrollToIndex:y}}});function Ut(e,n,t){return function(a){return!a.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;const c=n(),d=(c&&je(c)[0])??t();d==null||d.focus({preventScroll:!0})}),!0):!1}}function jt(e,n){const t=j(!1);let s;function a(o){cancelAnimationFrame(s),t.value=!0,s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{t.value=!1})})}async function c(){await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>{if(t.value){const r=oe(t,()=>{r(),o()})}else o()})}async function d(o){var V,y;if(o.key==="Tab"&&((V=n.value)==null||V.focus()),!["PageDown","PageUp","Home","End"].includes(o.key))return;const r=(y=e.value)==null?void 0:y.$el;if(!r)return;(o.key==="Home"||o.key==="End")&&r.scrollTo({top:o.key==="Home"?0:r.scrollHeight,behavior:"smooth"}),await c();const h=r.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(o.key==="PageDown"||o.key==="Home"){const p=r.getBoundingClientRect().top;for(const g of h)if(g.getBoundingClientRect().top>=p){g.focus();break}}else{const p=r.getBoundingClientRect().bottom;for(const g of[...h].reverse())if(g.getBoundingClientRect().bottom<=p){g.focus();break}}}return{onScrollPassive:a,onKeydown:d}}function Gt(e){let{groups:n,onLeave:t}=e;function s(o){var r;return o.type==="list"?(r=o.contentRef.value)==null?void 0:r.$el:o.contentRef.value}function a(o){const r=s(o);return r?je(r):[]}function c(o){var g;const r=o.target,h=o.shiftKey?"backward":"forward",V=n.map(a),y=n.map(v=>{var u;return v.type==="list"?(u=v.contentRef.value)==null?void 0:u.$el:v.contentRef.value}).findIndex(v=>v==null?void 0:v.contains(r)),p=d(V,y,h,r);if(p===null){const v=n[y],u=V[y];(v.type==="list"||(h==="forward"?u.at(-1)===o.target:u.at(0)===o.target))&&t()}else{o.preventDefault(),o.stopImmediatePropagation();const v=n[p];if(v.type==="list"&&Pe(v.displayItemsCount)>0)(g=v.contentRef.value)==null||g.focus(0);else{const u=h==="forward";V[p].at(u?0:-1).focus()}}}function d(o,r,h,V){const y=n[r],p=o[r];if(y.type!=="list"&&!(h==="forward"?p.at(-1)===V:p.at(0)===V))return null;const g=h==="forward"?1:-1;for(let v=r+g;v>=0&&v0||u.type==="list"&&Pe(u.displayItemsCount)>0)return v}return null}return{onTabKeydown:c}}const Qt=(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 a=e.indexOf(n);for(;~a;)s.push([a,a+n.length]),a=e.indexOf(n,a+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 Wt=ue({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Xt(e,n,t){var r,h;const s=[],a=(t==null?void 0:t.default)??Qt,c=t!=null&&t.filterKeys?Ce(t.filterKeys):!1,d=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return s;let o=[];e:for(let V=0;V0)&&!(t!=null&&t.noFilter)){let S=!1;if(typeof y=="object"){if(y.type==="divider"||y.type==="subheader"){(((r=o.at(-1))==null?void 0:r.type)!=="divider"||y.type!=="subheader")&&(o=[]),o.push({index:V,matches:{},type:y.type});continue}const z=c||Object.keys(p);S=z.length===d;for(const P of z){const Y=Ne(p,P),q=(h=t==null?void 0:t.customKeyFilter)==null?void 0:h[P];if(u=q?q(Y,n,y):a(Y,n,y),u!==-1&&u!==!1)q?g[P]=Se(u,n):v[P]=Se(u,n);else if((t==null?void 0:t.filterMode)==="every")continue e}}else u=a(y,n,y),u!==-1&&u!==!1&&(v.title=Se(u,n));const b=Object.keys(v).length,A=Object.keys(g).length;if(!b&&!A||(t==null?void 0:t.filterMode)==="union"&&A!==d&&!b||(t==null?void 0:t.filterMode)==="intersection"&&(A!==d||!b&&d>0&&!S))continue}o.length&&(s.push(...o),o=[]),s.push({index:V,matches:{...v,...g}})}return s}function Yt(e,n,t,s){const a=j([]),c=j(new Map),d=$(()=>s!=null&&s.transform?ie(n).map(r=>[r,s.transform(r)]):ie(n));Fe(()=>{const r=typeof t=="function"?t():ie(t),h=typeof r!="string"&&typeof r!="number"?"":String(r),V=Xt(d.value,h,{customKeyFilter:{...e.customKeyFilter,...ie(s==null?void 0:s.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),y=ie(n),p=[],g=new Map;V.forEach(v=>{let{index:u,matches:S}=v;const b=y[u];p.push(b),g.set(b.value,S)}),a.value=p,c.value=g});function o(r){return c.value.get(r.value)}return{filteredItems:a,filteredMatches:c,getMatches:o}}function qt(e,n,t){return t==null||!t.length?n:t.map((s,a)=>{const c=a===0?0:t[a-1][1],d=[C("span",{class:pe(`${e}__unmask`)},[n.slice(c,s[0])]),C("span",{class:pe(`${e}__mask`)},[n.slice(s[0],s[1])])];return a===t.length-1&&d.push(C("span",{class:pe(`${e}__unmask`)},[n.slice(s[1])])),C(se,null,[d])})}const Jt=ue({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function Zt(e,n){const t=yt(),s=$(()=>`menu-${t}`),a=ye(()=>Pe(n)),c=ye(()=>s.value);return{menuId:s,ariaExpanded:a,ariaControls:c}}const el=ue({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,...Jt(),...At({itemChildren:!1})},"Select"),tl=ue({search:String,...Wt({filterKeys:["title"]}),...el(),...mt(ot({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...Rt({transition:{component:Tt}})},"VSelect"),cl=xe()({name:"VSelect",props:tl(),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(),a=X(),c=X(),d=X(),o=X(),r=X(),{items:h,transformIn:V,transformOut:y}=kt(e),p=ke(e,"search",""),{filteredItems:g,getMatches:v}=Yt(e,h,()=>p.value),u=ke(e,"modelValue",[],l=>V(l===null?[null]:Ce(l)),l=>{const i=y(l);return e.multiple?i:i[0]??null}),S=$(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:u.value.length),b=lt(e),A=nt(e),z=$(()=>u.value.map(l=>l.value)),P=j(!1),Y=ye(()=>e.closableChips&&!b.isReadonly.value&&!b.isDisabled.value),{InputIcon:q}=at(e);let R="",Q=0,J;const M=$(()=>{const l=p.value?g.value:h.value;return e.hideSelected?l.filter(i=>!u.value.some(I=>(e.valueComparator||ge)(I,i))):l}),Z=$(()=>e.hideNoData&&!M.value.length||b.isReadonly.value||b.isDisabled.value),ee=ke(e,"menu"),F=$({get:()=>ee.value,set:l=>{var i;ee.value&&!l&&((i=c.value)!=null&&i.ΨopenChildren.size)||l&&Z.value||(ee.value=l)}}),{menuId:ce,ariaExpanded:fe,ariaControls:G}=Zt(e,F),de=$(()=>{var l;return{...e.menuProps,activatorProps:{...((l=e.menuProps)==null?void 0:l.activatorProps)||{},"aria-haspopup":"listbox"}}}),O=X(),be=jt(O,a),f=Ut(F,()=>{var l;return(l=c.value)==null?void 0:l.contentEl},()=>{var l;return(l=a.value)==null?void 0:l.controlRef}),{onTabKeydown:k}=Gt({groups:[{type:"element",contentRef:d},{type:"list",contentRef:O,displayItemsCount:()=>M.value.length},{type:"element",contentRef:o}],onLeave:()=>{var l;F.value=!1,(l=a.value)==null||l.focus()}});function x(l){e.openOnClear&&(F.value=!0)}function D(){Z.value||(F.value=!F.value)}function te(l){var i;l.key==="Tab"&&k(l),(i=O.value)!=null&&i.$el.contains(l.target)&&Oe(l)&&H(l)}function H(l){var E,K,ae;if(!l.key||b.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"," "].includes(l.key)&&(F.value=!0),["Escape","Tab"].includes(l.key)&&(F.value=!1),e.clearable&&l.key==="Backspace"){l.preventDefault(),u.value=[],x();return}l.key==="Home"?(E=O.value)==null||E.focus("first"):l.key==="End"&&((K=O.value)==null||K.focus("last"));const i=1e3;if(!Oe(l))return;const I=performance.now();I-J>i&&(R="",Q=0),R+=l.key.toLowerCase(),J=I;const W=M.value;function N(){let m=le();return m||R.at(-1)===R.at(-2)&&(R=R.slice(0,-1),Q++,m=le(),m)||(Q=0,m=le(),m)?m:(R=l.key.toLowerCase(),le())}function le(){for(let m=Q;m1&&arguments[1]!==void 0?arguments[1]:!0;if(!l.props.disabled)if(e.multiple){const I=u.value.findIndex(N=>(e.valueComparator||ge)(N.value,l.value)),W=i??!~I;if(~I){const N=W?[...u.value,l]:[...u.value];N.splice(I,1),u.value=N}else W&&(u.value=[...u.value,l])}else{const I=i!==!1;u.value=I?[l]:[],Qe(()=>{F.value=!1})}}function we(l){var I;const i=l.target;(I=a.value)!=null&&I.$el.contains(i)||(F.value=!1)}function Te(){return M.value.findIndex(l=>u.value.some(i=>(e.valueComparator||ge)(i.value,l.value)))}function We(){if(!u.value.length)return-1;const l=e.valueComparator||ge;let i=0;for(const I of M.value){if(u.value.some(N=>l(N.value,I.value)))return I.props.disabled?-1:i;I.props.disabled||i++}return-1}function Xe(){var l;if(e.eager&&((l=r.value)==null||l.calculateVisibleItems()),O.value&&P.value){const i=We();O.value.focus(i>=0?i:"first",{focusVisible:!1,preventScroll:e.noAutoScroll})}}function Ye(){var l;p.value="",P.value&&((l=a.value)==null||l.focus())}function qe(l){P.value=!0}function Je(l){var i;if(!((i=a.value)!=null&&i.$el.contains(l.relatedTarget))){if(f(l))return;P.value=!1}}function Ze(l){if(l==null)u.value=[];else if(Ee(a.value,":autofill")||Ee(a.value,":-webkit-autofill")){const i=h.value.find(I=>I.title===l);i&&re(i)}else a.value&&(a.value.value="")}return oe(F,()=>{if(!e.hideSelected&&F.value&&u.value.length){const l=Te();Ue&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var i;l>=0&&((i=r.value)==null||i.scrollToIndex(l))})}}),oe(h,(l,i)=>{F.value||P.value&&e.hideNoData&&!i.length&&l.length&&(F.value=!0)}),Re(()=>{const l=!!(e.chips||t.chip),i=!!(!e.hideNoData||M.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),I=u.value.length>0,W=Le.filterProps(e),N=I||!P.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder,le={search:p,filteredItems:g.value};return T(Le,U({ref:a},W,{modelValue:u.value.map(B=>B.props.title).join(", "),name:void 0,"onUpdate:modelValue":Ze,focused:P.value,"onUpdate:focused":B=>P.value=B,validationValue:u.externalValue,counterValue:S.value,dirty:I,class:["v-select",{"v-select--active-menu":F.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":u.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:N,"onClick:clear":x,"onMousedown:control":D,onBlur:we,onKeydown:H,"aria-expanded":fe.value,"aria-controls":G.value}),{...t,default:B=>{let{id:ne}=B;return C(se,null,[C("select",{hidden:!0,multiple:e.multiple,name:A.fieldName.value},[h.value.map(w=>C("option",{key:w.value,value:w.value,selected:z.value.includes(w.value)},null))]),T(Mt,U({id:ce.value,ref:c,modelValue:F.value,"onUpdate:modelValue":w=>F.value=w,activator:"parent",disabled:Z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:Xe,onAfterLeave:Ye},de.value,{contentClass:["v-select__content",de.value.contentClass]}),{default:()=>[T(Dt,{onFocusin:qe,onFocusout:Je,onKeydown:te},{default:()=>[t["menu-header"]&&C("header",{ref:d},[t["menu-header"](le)]),i&&T(It,U({key:"select-list",ref:O,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},be,e.listProps),{default:()=>{var w,E,K;return[(w=t["prepend-item"])==null?void 0:w.call(t),!M.value.length&&!e.hideNoData&&(((E=t["no-data"])==null?void 0:E.call(t))??T(Ke,{key:"no-data",title:s(e.noDataText)},null)),T(Nt,{ref:r,renderless:!0,items:M.value,itemKey:"value"},{default:ae=>{var Me,De,_e;let{item:m,index:_,itemRef:L}=ae;const ve=dt(m.props),Ae=U(m.props,{ref:L,key:m.value,onClick:()=>re(m,null),"aria-posinset":_+1,"aria-setsize":M.value.length});return m.type==="divider"?((Me=t.divider)==null?void 0:Me.call(t,{props:m.raw,index:_}))??T(St,U(m.props,{key:`divider-${_}`}),null):m.type==="subheader"?((De=t.subheader)==null?void 0:De.call(t,{props:m.raw,index:_}))??T(Ct,U(m.props,{key:`subheader-${_}`}),null):((_e=t.item)==null?void 0:_e.call(t,{item:m,index:_,props:Ae}))??T(Ke,U(Ae,{role:"option"}),{prepend:me=>{let{isSelected:et}=me;return C(se,null,[e.multiple&&!e.hideSelected?T(_t,{key:m.value,modelValue:et,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:tt=>tt.preventDefault()},null):void 0,ve.prependAvatar&&T(Ft,{image:ve.prependAvatar},null),ve.prependIcon&&T(Be,{icon:ve.prependIcon},null)])},title:()=>{var me;return p.value?qt("v-select",m.title,(me=v(m))==null?void 0:me.title):m.title}})}}),(K=t["append-item"])==null?void 0:K.call(t)]}}),t["menu-footer"]&&C("footer",{ref:o},[t["menu-footer"](le)])]})]}),u.value.map((w,E)=>{function K(L){L.stopPropagation(),L.preventDefault(),re(w,!1)}const ae=U($e.filterProps(w.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}),m=l?!!t.chip:!!t.selection,_=m?vt(l?t.chip({item:w,index:E,props:ae}):t.selection({item:w,index:E})):void 0;if(!(m&&!_))return C("div",{key:w.value,class:"v-select__selection"},[l?t.chip?T(Pt,{key:"chip-defaults",defaults:{VChip:{closable:Y.value,size:"small",text:w.title}}},{default:()=>[_]}):T($e,U({key:"chip",closable:Y.value,size:"small",text:w.title,disabled:w.props.disabled},ae),null):_??C("span",{class:"v-select__selection-text"},[w.title,e.multiple&&Ee.color),{borderClasses:l}=k(e),{dimensionStyles:r}=h(e),{elevationClasses:m}=S(e),{locationStyles:i}=v(e),{positionClasses:u}=C(e),{roundedClasses:c}=P(e);return N(()=>L(e.tag,{class:x(["v-sheet",o.value,t.value,l.value,m.value,u.value,c.value,e.class]),style:j([n.value,r.value,i.value,e.style])},a)),{}}});export{w as V,F as m}; diff --git a/assets/VSheet-PSmzyJOR.js b/assets/VSheet-PSmzyJOR.js new file mode 100644 index 0000000..bc41d9b --- /dev/null +++ b/assets/VSheet-PSmzyJOR.js @@ -0,0 +1 @@ +import{H as d,ae as k,O as v,ak as C,N as P,b as h,af as S,m as g,R as y,an as V,T as b,ag as f,a as p,ah as R}from"./index-BvGH7GyK.js";import{j as T,k as B,u as N,p as j,m as z,n as D}from"./vendor-vuetify-KiFW-YAv.js";import{j as E,N as L,n as x}from"./vendor-vue-Hxtt57UU.js";const F=j({color:String,...R(),...D(),...p(),...f(),...b(),...V(),...y(),...g(),...z()},"VSheet"),w=T()({name:"VSheet",props:F(),setup(e,s){let{slots:a}=s;const{themeClasses:o}=B(e),{backgroundColorClasses:n,backgroundColorStyles:t}=d(()=>e.color),{borderClasses:l}=k(e),{dimensionStyles:r}=h(e),{elevationClasses:m}=S(e),{locationStyles:i}=v(e),{positionClasses:u}=C(e),{roundedClasses:c}=P(e);return N(()=>E(e.tag,{class:x(["v-sheet",o.value,n.value,l.value,m.value,u.value,c.value,e.class]),style:L([t.value,r.value,i.value,e.style])},a)),{}}});export{w as V,F as m}; diff --git a/assets/VSkeletonLoader-B7fDa9ID.js b/assets/VSkeletonLoader-B7fDa9ID.js deleted file mode 100644 index 3dc55ad..0000000 --- a/assets/VSkeletonLoader-B7fDa9ID.js +++ /dev/null @@ -1 +0,0 @@ -import{H as f,b as k,af as x,ag as y,a as S}from"./index-D042plwv.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-DpmmaPkh.js";import{k as r,m as A,F as _,e as F,n as D}from"./vendor-vue-BiQC5iF7.js";const E={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:D(["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=E[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"),N=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=F(()=>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{N as V}; diff --git a/assets/VSkeletonLoader-BwErr64p.js b/assets/VSkeletonLoader-BwErr64p.js new file mode 100644 index 0000000..092f2c0 --- /dev/null +++ b/assets/VSkeletonLoader-BwErr64p.js @@ -0,0 +1 @@ +import{H as k,b as x,af as S,ag as w,a as C}from"./index-BvGH7GyK.js";import{j as L,k as B,an as P,u as V,w as y,p as T,m as A}from"./vendor-vuetify-KiFW-YAv.js";import{k as r,m as _,F as j,e as F,n as D}from"./vendor-vue-Hxtt57UU.js";const E={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","chip-group":"chip@8","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":"heading, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"table-cell@6","table-cell":"text","table-tfoot":"text@2, avatar@2",text:"text"};function s(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:D(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function d(e,a){const[t,n]=e.split("@");return Array.from({length:n}).map(()=>i(t,a))}function i(e,a){if(!e)return[];if(e.includes(","))return c(e,a);if(e.includes("@"))return d(e,a);if(!(e in a))return[s(e)];const t=a[e];let n=[];return e===t||(t.includes(",")?n=c(t,a):t.includes("@")?n=d(t,a):n.push(i(t,a))),[s(e,n)]}function c(e,a){return e.replace(/\s/g,"").split(",").map(t=>i(t,a))}const $=T({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},types:Object,...C(),...w(),...A()},"VSkeletonLoader"),N=L()({name:"VSkeletonLoader",inheritAttrs:!1,props:$(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:u,backgroundColorStyles:g}=k(()=>e.color),{dimensionStyles:m}=x(e),{elevationClasses:v}=S(e),{themeClasses:b}=B(e),{t:h}=P(),p=F(()=>i(y(e.type).join(","),{...E,...e.types}));return V(()=>{var l;const o=!n.default||e.loading,f=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:h(e.loadingText),role:"alert"};return o?r("div",_({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},b.value,u.value,v.value],style:[g.value,m.value]},f,t),[p.value]):r(j,null,[(l=n.default)==null?void 0:l.call(n)])}),{}}});export{N as V}; diff --git a/assets/VSkeletonLoader-C11ZEozu.css b/assets/VSkeletonLoader-D4TcJTqz.css similarity index 61% rename from assets/VSkeletonLoader-C11ZEozu.css rename to assets/VSkeletonLoader-D4TcJTqz.css index decb9dd..ae51e89 100644 --- a/assets/VSkeletonLoader-C11ZEozu.css +++ b/assets/VSkeletonLoader-D4TcJTqz.css @@ -1 +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-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}@media (forced-colors: active){.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:canvastext}}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}@media (forced-colors: active) and (pointer: fine){.v-skeleton-loader__bone{cursor:progress}}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-thead{justify-content:space-between}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{margin-top:16px;max-width:16px}.v-skeleton-loader__table-tfoot{flex-wrap:nowrap}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-row{align-items:baseline;margin:0 8px;justify-content:space-evenly;flex-wrap:nowrap}.v-skeleton-loader__table-row>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-inline:8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}} +.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-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}@media (forced-colors: active){.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:canvastext}}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}@media (forced-colors: active) and (pointer: fine){.v-skeleton-loader__bone{cursor:progress}}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__chip-group{flex-wrap:wrap;padding:16px;gap:12px}.v-skeleton-loader__chip-group>.v-skeleton-loader__chip{flex:0 0 auto;margin:0}.v-skeleton-loader__chip-group>.v-skeleton-loader__chip:nth-child(5n+1){min-width:60px}.v-skeleton-loader__chip-group>.v-skeleton-loader__chip:nth-child(5n+2){min-width:160px}.v-skeleton-loader__chip-group>.v-skeleton-loader__chip:nth-child(5n+3){min-width:85px}.v-skeleton-loader__chip-group>.v-skeleton-loader__chip:nth-child(5n+4){min-width:55px}.v-skeleton-loader__chip-group>.v-skeleton-loader__chip:nth-child(5n+5){min-width:110px}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-heading{align-items:center;display:flex;justify-content:space-between}.v-skeleton-loader__table-heading>.v-skeleton-loader__heading{max-width:15%;height:32px}.v-skeleton-loader__table-heading>.v-skeleton-loader__text{max-width:40%}.v-skeleton-loader__table-thead{align-items:baseline;display:grid;grid-auto-columns:1fr;grid-auto-flow:column;margin:0 8px}.v-skeleton-loader__table-thead>.v-skeleton-loader__heading{margin-top:16px;margin-inline:8px;max-width:100px}.v-skeleton-loader__table-tfoot{justify-content:flex-end;flex-wrap:nowrap;min-height:62px}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__avatar{min-height:36px;min-width:36px;height:36px;width:36px;flex-grow:0}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone:nth-child(1){max-width:170px}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone:nth-child(2){max-width:64px}.v-skeleton-loader__table-row{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;margin:0 8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell>.v-skeleton-loader__text{margin-inline:8px}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}} diff --git a/assets/VSlider-ClZx8sEW.js b/assets/VSlider-D5-S_tyd.js similarity index 97% rename from assets/VSlider-ClZx8sEW.js rename to assets/VSlider-D5-S_tyd.js index ff7d880..12b28df 100644 --- a/assets/VSlider-ClZx8sEW.js +++ b/assets/VSlider-D5-S_tyd.js @@ -1 +1 @@ -import{q as Ce,t as B,e as n,b as le,s as ae,I as Ve,p as _e,d as ye,o as Te,k as f,N as Y,n as D,R as fe,j as G,V as Fe,m as be,F as xe}from"./vendor-vue-BiQC5iF7.js";import{ag as Re,R as Le,ao as he,G as Ne,H as oe,ap as Pe,af as ze,N as Ee,I as Me}from"./index-D042plwv.js";import{f as Be,u as De,b as ke,a as Ke,m as Ie,g as Ae}from"./VTextField-BoJUR4Xs.js";import{A as ie,z as ue,aH as qe,p as se,aI as pe,f as de,aJ as Oe,u as ce,s as j,k as Se,n as je,aB as $e}from"./vendor-vuetify-DpmmaPkh.js";const ve=Symbol.for("vuetify:v-slider");function He(e,l,s){const u=s==="vertical",c=l.getBoundingClientRect(),m="touches"in e?e.touches[0]:e;return u?m.clientY-(c.top+c.height/2):m.clientX-(c.left+c.width/2)}function Ue(e,l){return"touches"in e&&e.touches.length?e.touches[0][l]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][l]:e[l]}const Xe=se({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"||e==="hover"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,noKeyboard:Boolean,...Le(),...Re({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),Ye=e=>{const l=n(()=>parseFloat(e.min)),s=n(()=>parseFloat(e.max)),u=n(()=>Number(e.step)>0?parseFloat(e.step):0),c=n(()=>Math.max(pe(u.value),pe(l.value)));function m(p){if(p=parseFloat(p),u.value<=0)return p;const i=ue(p,l.value,s.value),b=l.value%u.value;let d=Math.round((i-b)/u.value)*u.value+b;return i>d&&d+u.value>s.value&&(d=s.value),parseFloat(Math.min(d,s.value).toFixed(c.value))}return{min:l,max:s,step:u,decimals:c,roundValue:m}},Ge=e=>{let{props:l,steps:s,onSliderStart:u,onSliderMove:c,onSliderEnd:m,getActiveThumb:p}=e;const i=Be(l),{isRtl:b}=ie(),d=B(()=>l.reverse),z=n(()=>l.direction==="vertical"),_=n(()=>z.value!==d.value),{min:v,max:S,step:g,decimals:A,roundValue:K}=s,q=n(()=>parseInt(l.thumbSize,10)),I=n(()=>parseInt(l.tickSize,10)),T=n(()=>parseInt(l.trackSize,10)),k=n(()=>(S.value-v.value)/g.value),E=n(()=>l.error||i.isDisabled.value?void 0:l.thumbColor??l.color),F=n(()=>l.error||i.isDisabled.value?void 0:l.thumbColor),M=n(()=>l.error||i.isDisabled.value?void 0:l.trackColor??l.color),R=n(()=>l.error||i.isDisabled.value?void 0:l.trackFillColor??l.color),L=ae(!1),o=ae(0),w=le(),r=le();function N(t){var me;const a=(me=w.value)==null?void 0:me.$el;if(!a)return;const h=l.direction==="vertical",U=h?"top":"left",Z=h?"height":"width",ee=h?"clientY":"clientX",{[U]:te,[Z]:ge}=a.getBoundingClientRect(),we=Ue(t,ee);let ne=ue((we-te-o.value)/ge)||0;return(h?_.value:_.value!==b.value)&&(ne=1-ne),K(v.value+ne*(S.value-v.value))}const C=t=>{const a=N(t);a!=null&&m({value:a}),L.value=!1,o.value=0},y=t=>{const a=N(t);r.value=p(t),r.value&&(L.value=!0,r.value.contains(t.target)?o.value=He(t,r.value,l.direction):(o.value=0,a!=null&&c({value:a})),a!=null&&u({value:a}),Ve(()=>{var h;return(h=r.value)==null?void 0:h.focus()}))},V={passive:!0,capture:!0};function x(t){const a=N(t);a!=null&&c({value:a})}function $(t){t.stopPropagation(),t.preventDefault(),C(t),window.removeEventListener("mousemove",x,V),window.removeEventListener("mouseup",$)}function O(t){var a;C(t),window.removeEventListener("touchmove",x,V),(a=t.target)==null||a.removeEventListener("touchend",O)}function H(t){var a;y(t),window.addEventListener("touchmove",x,V),(a=t.target)==null||a.addEventListener("touchend",O,{passive:!1})}function X(t){t.button===0&&(t.preventDefault(),y(t),window.addEventListener("mousemove",x,V),window.addEventListener("mouseup",$,{passive:!1}))}Ce(()=>{window.removeEventListener("touchmove",x),window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",$)});const P=t=>{const a=(t-v.value)/(S.value-v.value)*100;return ue(isNaN(a)?0:a,0,100)},J=B(()=>l.showTicks),W=n(()=>J.value?l.ticks?Array.isArray(l.ticks)?l.ticks.map(t=>({value:t,position:P(t),label:t.toString()})):Object.keys(l.ticks).map(t=>({value:parseFloat(t),position:P(parseFloat(t)),label:l.ticks[t]})):k.value!==1/0?qe(k.value+1).map(t=>{const a=v.value+t*g.value;return{value:a,position:P(a)}}):[]:[]),re=n(()=>W.value.some(t=>{let{label:a}=t;return!!a})),Q={activeThumbRef:r,color:B(()=>l.color),decimals:A,disabled:i.isDisabled,direction:B(()=>l.direction),elevation:B(()=>l.elevation),hasLabels:re,isReversed:d,indexFromEnd:_,min:v,max:S,mousePressed:L,noKeyboard:B(()=>l.noKeyboard),numTicks:k,onSliderMousedown:X,onSliderTouchstart:H,parsedTicks:W,parseMouseMove:N,position:P,readonly:i.isReadonly,rounded:B(()=>l.rounded),roundValue:K,showTicks:J,startOffset:o,step:g,thumbSize:q,thumbColor:E,thumbLabelColor:F,thumbLabel:B(()=>l.thumbLabel),ticks:B(()=>l.ticks),tickSize:I,trackColor:M,trackContainerRef:w,trackFillColor:R,trackSize:T,vertical:z};return _e(ve,Q),Q},Je=se({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,noKeyboard:Boolean,...Se()},"VSliderThumb"),We=de()({name:"VSliderThumb",directives:{vRipple:he},props:Je(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:s,emit:u}=l;const c=ye(ve),{isRtl:m,rtlClasses:p}=ie();if(!c)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{min:i,max:b,thumbColor:d,thumbLabelColor:z,step:_,disabled:v,thumbSize:S,thumbLabel:g,direction:A,isReversed:K,vertical:q,readonly:I,elevation:T,mousePressed:k,decimals:E,indexFromEnd:F}=c,M=ae(!1),R=ae(!1),L=n(()=>v.value?void 0:T.value),{elevationClasses:o}=ze(L),{textColorClasses:w,textColorStyles:r}=Ne(d),{backgroundColorClasses:N,backgroundColorStyles:C}=oe(z),{pageup:y,pagedown:V,end:x,home:$,left:O,right:H,down:X,up:P}=Oe,J=[y,V,x,$,O,H,X,P],W=n(()=>_.value?[1,2,3]:[1,5,10]);function re(t,a){if(e.noKeyboard||v.value||!J.includes(t.key))return;t.preventDefault();const h=_.value||.1,U=(b.value-i.value)/h;if([O,H,X,P].includes(t.key)){const ee=(q.value?[m.value?O:H,K.value?X:P]:F.value!==m.value?[O,P]:[H,P]).includes(t.key)?1:-1,te=t.shiftKey?2:t.ctrlKey?1:0;ee===-1&&a===b.value&&!te&&!Number.isInteger(U)?a=a-U%1*h:a=a+ee*h*W.value[te]}else if(t.key===$)a=i.value;else if(t.key===x)a=b.value;else{const Z=t.key===V?1:-1;a=a-Z*h*(U>100?U/10:10)}return Math.max(e.min,Math.min(e.max,a))}function Q(t){const a=re(t,e.modelValue);a!=null&&(R.value=!1,u("update:modelValue",a))}return Te(()=>e.focused,t=>{t&&(R.value=!1)}),ce(()=>{const t=j(F.value?100-e.position:e.position,"%"),a=g.value==="always"||g.value===!0&&e.focused||g.value==="hover"&&(M.value||e.focused&&!R.value);return f("div",{class:D(["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&k.value},e.class,p.value]),style:Y([{"--v-slider-thumb-position":t,"--v-slider-thumb-size":j(S.value)},e.style]),role:"slider",tabindex:v.value?-1:0,"aria-label":e.name,"aria-valuemin":i.value,"aria-valuemax":b.value,"aria-valuenow":e.modelValue,"aria-readonly":!!I.value,"aria-orientation":A.value,onKeydown:I.value?void 0:Q,onMouseenter:()=>{M.value=!0},onMouseleave:()=>{M.value=!1,R.value=!0}},[f("div",{class:D(["v-slider-thumb__surface",w.value,o.value]),style:Y(r.value)},null),fe(f("div",{class:D(["v-slider-thumb__ripple",w.value]),style:Y(r.value)},null),[[he,e.ripple,null,{circle:!0,center:!0}]]),G(Pe,{origin:"bottom center"},{default:()=>{var h;return[fe(f("div",{class:"v-slider-thumb__label-container"},[f("div",{class:D(["v-slider-thumb__label",N.value]),style:Y(C.value)},[f("div",null,[((h=s["thumb-label"])==null?void 0:h.call(s,{modelValue:e.modelValue}))??e.modelValue.toFixed(_.value?E.value:1)]),f("div",{class:"v-slider-thumb__label-wedge"},null)])]),[[Fe,a]])]}})])}),{}}}),Qe=se({start:{type:Number,required:!0},stop:{type:Number,required:!0},...Se()},"VSliderTrack"),Ze=de()({name:"VSliderTrack",props:Qe(),emits:{},setup(e,l){let{slots:s}=l;const u=ye(ve);if(!u)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:c,parsedTicks:m,rounded:p,showTicks:i,tickSize:b,trackColor:d,trackFillColor:z,trackSize:_,vertical:v,min:S,max:g,indexFromEnd:A}=u,{roundedClasses:K}=Ee(p),{backgroundColorClasses:q,backgroundColorStyles:I}=oe(z),{backgroundColorClasses:T,backgroundColorStyles:k}=oe(d),E=n(()=>`inset-${v.value?"block":"inline"}-${A.value?"end":"start"}`),F=n(()=>v.value?"height":"width"),M=n(()=>({[E.value]:"0%",[F.value]:"100%"})),R=n(()=>e.stop-e.start),L=n(()=>({[E.value]:j(e.start,"%"),[F.value]:j(R.value,"%")})),o=n(()=>i.value?(v.value?m.value.slice().reverse():m.value).map((r,N)=>{var y;const C=r.value!==S.value&&r.value!==g.value?j(r.position,"%"):void 0;return f("div",{key:r.value,class:D(["v-slider-track__tick",{"v-slider-track__tick--filled":r.position>=e.start&&r.position<=e.stop,"v-slider-track__tick--first":r.value===S.value,"v-slider-track__tick--last":r.value===g.value}]),style:{[E.value]:C}},[(r.label||s["tick-label"])&&f("div",{class:"v-slider-track__tick-label"},[((y=s["tick-label"])==null?void 0:y.call(s,{tick:r,index:N}))??r.label])])}):[]);return ce(()=>f("div",{class:D(["v-slider-track",K.value,e.class]),style:Y([{"--v-slider-track-size":j(_.value),"--v-slider-tick-size":j(b.value)},e.style])},[f("div",{class:D(["v-slider-track__background",T.value,{"v-slider-track__background--opacity":!!c.value||!z.value}]),style:{...M.value,...k.value}},null),f("div",{class:D(["v-slider-track__fill",q.value]),style:{...L.value,...I.value}},null),i.value&&f("div",{class:D(["v-slider-track__ticks",{"v-slider-track__ticks--always-show":i.value==="always"}])},[o.value])])),{}}}),et=se({...Ae(),...Xe(),...Ie(),modelValue:{type:[Number,String],default:0}},"VSlider"),rt=de()({name:"VSlider",inheritAttrs:!1,props:et(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,l){let{slots:s,emit:u,attrs:c}=l;const m=le(),p=le(),{rtlClasses:i}=ie(),b=Ye(e),d=je(e,"modelValue",void 0,o=>b.roundValue(o??b.min.value)),{min:z,max:_,mousePressed:v,roundValue:S,onSliderMousedown:g,onSliderTouchstart:A,trackContainerRef:K,position:q,hasLabels:I,disabled:T,readonly:k,noKeyboard:E}=Ge({props:e,steps:b,onSliderStart:()=>{!T.value&&!k.value&&u("start",d.value)},onSliderEnd:o=>{let{value:w}=o;const r=S(w);!T.value&&!k.value&&(d.value=r),u("end",r)},onSliderMove:o=>{let{value:w}=o;!T.value&&!k.value&&(d.value=S(w))},getActiveThumb:()=>{var o;return(o=m.value)==null?void 0:o.$el}}),{isFocused:F,focus:M,blur:R}=De(e),L=n(()=>q(d.value));return ce(()=>{const o=ke.filterProps(e),[w,r]=$e(c),N=!!(e.label||s.label||s.prepend);return G(ke,be({ref:p,class:["v-slider",{"v-slider--has-labels":!!s["tick-label"]||I.value,"v-slider--focused":F.value,"v-slider--pressed":v.value,"v-slider--disabled":T.value},i.value,e.class],style:e.style},o,w,{focused:F.value}),{...s,prepend:N?C=>{var y,V;return f(xe,null,[((y=s.label)==null?void 0:y.call(s,C))??(e.label?G(Ke,{id:C.id.value,class:"v-slider__label",text:e.label},null):void 0),(V=s.prepend)==null?void 0:V.call(s,C)])}:void 0,default:C=>{let{id:y,messagesId:V}=C;return f("div",{class:"v-slider__container",onMousedown:k.value?void 0:g,onTouchstartPassive:k.value?void 0:A},[f("input",{id:y.value,name:e.name||y.value,disabled:T.value,readonly:k.value,tabindex:"-1",value:d.value},null),G(Ze,{ref:K,start:0,stop:L.value},{"tick-label":s["tick-label"]}),G(We,be({ref:m,"aria-describedby":V.value,focused:F.value,noKeyboard:E.value,min:z.value,max:_.value,modelValue:d.value,"onUpdate:modelValue":x=>d.value=x,position:L.value,elevation:e.elevation,onFocus:M,onBlur:R,ripple:e.ripple,name:e.name},r),{"thumb-label":s["thumb-label"]})])}})}),Me({focus:()=>{var o;return(o=m.value)==null?void 0:o.$el.focus()}},p)}});export{rt as V}; +import{q as Ce,t as B,e as n,b as le,s as ae,I as Ve,p as _e,d as ye,o as Te,k as f,N as Y,n as D,R as fe,j as G,V as Fe,m as be,F as xe}from"./vendor-vue-Hxtt57UU.js";import{ag as Re,R as Le,ao as he,G as Ne,H as oe,ap as Pe,af as ze,N as Ee,I as Me}from"./index-BvGH7GyK.js";import{f as Be,u as De,b as ke,a as Ke,m as Ie,g as Ae}from"./VTextField-jDykTfh9.js";import{A as ie,z as ue,aH as qe,p as se,aI as pe,j as de,aJ as Oe,u as ce,a as j,n as Se,q as je,aB as $e}from"./vendor-vuetify-KiFW-YAv.js";const ve=Symbol.for("vuetify:v-slider");function He(e,l,s){const u=s==="vertical",c=l.getBoundingClientRect(),m="touches"in e?e.touches[0]:e;return u?m.clientY-(c.top+c.height/2):m.clientX-(c.left+c.width/2)}function Ue(e,l){return"touches"in e&&e.touches.length?e.touches[0][l]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][l]:e[l]}const Xe=se({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"||e==="hover"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,noKeyboard:Boolean,...Le(),...Re({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),Ye=e=>{const l=n(()=>parseFloat(e.min)),s=n(()=>parseFloat(e.max)),u=n(()=>Number(e.step)>0?parseFloat(e.step):0),c=n(()=>Math.max(pe(u.value),pe(l.value)));function m(p){if(p=parseFloat(p),u.value<=0)return p;const i=ue(p,l.value,s.value),b=l.value%u.value;let d=Math.round((i-b)/u.value)*u.value+b;return i>d&&d+u.value>s.value&&(d=s.value),parseFloat(Math.min(d,s.value).toFixed(c.value))}return{min:l,max:s,step:u,decimals:c,roundValue:m}},Ge=e=>{let{props:l,steps:s,onSliderStart:u,onSliderMove:c,onSliderEnd:m,getActiveThumb:p}=e;const i=Be(l),{isRtl:b}=ie(),d=B(()=>l.reverse),z=n(()=>l.direction==="vertical"),_=n(()=>z.value!==d.value),{min:v,max:S,step:g,decimals:A,roundValue:K}=s,q=n(()=>parseInt(l.thumbSize,10)),I=n(()=>parseInt(l.tickSize,10)),T=n(()=>parseInt(l.trackSize,10)),k=n(()=>(S.value-v.value)/g.value),E=n(()=>l.error||i.isDisabled.value?void 0:l.thumbColor??l.color),F=n(()=>l.error||i.isDisabled.value?void 0:l.thumbColor),M=n(()=>l.error||i.isDisabled.value?void 0:l.trackColor??l.color),R=n(()=>l.error||i.isDisabled.value?void 0:l.trackFillColor??l.color),L=ae(!1),o=ae(0),w=le(),r=le();function N(t){var me;const a=(me=w.value)==null?void 0:me.$el;if(!a)return;const h=l.direction==="vertical",U=h?"top":"left",Z=h?"height":"width",ee=h?"clientY":"clientX",{[U]:te,[Z]:ge}=a.getBoundingClientRect(),we=Ue(t,ee);let ne=ue((we-te-o.value)/ge)||0;return(h?_.value:_.value!==b.value)&&(ne=1-ne),K(v.value+ne*(S.value-v.value))}const C=t=>{const a=N(t);a!=null&&m({value:a}),L.value=!1,o.value=0},y=t=>{const a=N(t);r.value=p(t),r.value&&(L.value=!0,r.value.contains(t.target)?o.value=He(t,r.value,l.direction):(o.value=0,a!=null&&c({value:a})),a!=null&&u({value:a}),Ve(()=>{var h;return(h=r.value)==null?void 0:h.focus()}))},V={passive:!0,capture:!0};function x(t){const a=N(t);a!=null&&c({value:a})}function $(t){t.stopPropagation(),t.preventDefault(),C(t),window.removeEventListener("mousemove",x,V),window.removeEventListener("mouseup",$)}function O(t){var a;C(t),window.removeEventListener("touchmove",x,V),(a=t.target)==null||a.removeEventListener("touchend",O)}function H(t){var a;y(t),window.addEventListener("touchmove",x,V),(a=t.target)==null||a.addEventListener("touchend",O,{passive:!1})}function X(t){t.button===0&&(t.preventDefault(),y(t),window.addEventListener("mousemove",x,V),window.addEventListener("mouseup",$,{passive:!1}))}Ce(()=>{window.removeEventListener("touchmove",x),window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",$)});const P=t=>{const a=(t-v.value)/(S.value-v.value)*100;return ue(isNaN(a)?0:a,0,100)},J=B(()=>l.showTicks),W=n(()=>J.value?l.ticks?Array.isArray(l.ticks)?l.ticks.map(t=>({value:t,position:P(t),label:t.toString()})):Object.keys(l.ticks).map(t=>({value:parseFloat(t),position:P(parseFloat(t)),label:l.ticks[t]})):k.value!==1/0?qe(k.value+1).map(t=>{const a=v.value+t*g.value;return{value:a,position:P(a)}}):[]:[]),re=n(()=>W.value.some(t=>{let{label:a}=t;return!!a})),Q={activeThumbRef:r,color:B(()=>l.color),decimals:A,disabled:i.isDisabled,direction:B(()=>l.direction),elevation:B(()=>l.elevation),hasLabels:re,isReversed:d,indexFromEnd:_,min:v,max:S,mousePressed:L,noKeyboard:B(()=>l.noKeyboard),numTicks:k,onSliderMousedown:X,onSliderTouchstart:H,parsedTicks:W,parseMouseMove:N,position:P,readonly:i.isReadonly,rounded:B(()=>l.rounded),roundValue:K,showTicks:J,startOffset:o,step:g,thumbSize:q,thumbColor:E,thumbLabelColor:F,thumbLabel:B(()=>l.thumbLabel),ticks:B(()=>l.ticks),tickSize:I,trackColor:M,trackContainerRef:w,trackFillColor:R,trackSize:T,vertical:z};return _e(ve,Q),Q},Je=se({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,noKeyboard:Boolean,...Se()},"VSliderThumb"),We=de()({name:"VSliderThumb",directives:{vRipple:he},props:Je(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:s,emit:u}=l;const c=ye(ve),{isRtl:m,rtlClasses:p}=ie();if(!c)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{min:i,max:b,thumbColor:d,thumbLabelColor:z,step:_,disabled:v,thumbSize:S,thumbLabel:g,direction:A,isReversed:K,vertical:q,readonly:I,elevation:T,mousePressed:k,decimals:E,indexFromEnd:F}=c,M=ae(!1),R=ae(!1),L=n(()=>v.value?void 0:T.value),{elevationClasses:o}=ze(L),{textColorClasses:w,textColorStyles:r}=Ne(d),{backgroundColorClasses:N,backgroundColorStyles:C}=oe(z),{pageup:y,pagedown:V,end:x,home:$,left:O,right:H,down:X,up:P}=Oe,J=[y,V,x,$,O,H,X,P],W=n(()=>_.value?[1,2,3]:[1,5,10]);function re(t,a){if(e.noKeyboard||v.value||!J.includes(t.key))return;t.preventDefault();const h=_.value||.1,U=(b.value-i.value)/h;if([O,H,X,P].includes(t.key)){const ee=(q.value?[m.value?O:H,K.value?X:P]:F.value!==m.value?[O,P]:[H,P]).includes(t.key)?1:-1,te=t.shiftKey?2:t.ctrlKey?1:0;ee===-1&&a===b.value&&!te&&!Number.isInteger(U)?a=a-U%1*h:a=a+ee*h*W.value[te]}else if(t.key===$)a=i.value;else if(t.key===x)a=b.value;else{const Z=t.key===V?1:-1;a=a-Z*h*(U>100?U/10:10)}return Math.max(e.min,Math.min(e.max,a))}function Q(t){const a=re(t,e.modelValue);a!=null&&(R.value=!1,u("update:modelValue",a))}return Te(()=>e.focused,t=>{t&&(R.value=!1)}),ce(()=>{const t=j(F.value?100-e.position:e.position,"%"),a=g.value==="always"||g.value===!0&&e.focused||g.value==="hover"&&(M.value||e.focused&&!R.value);return f("div",{class:D(["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&k.value},e.class,p.value]),style:Y([{"--v-slider-thumb-position":t,"--v-slider-thumb-size":j(S.value)},e.style]),role:"slider",tabindex:v.value?-1:0,"aria-label":e.name,"aria-valuemin":i.value,"aria-valuemax":b.value,"aria-valuenow":e.modelValue,"aria-readonly":!!I.value,"aria-orientation":A.value,onKeydown:I.value?void 0:Q,onMouseenter:()=>{M.value=!0},onMouseleave:()=>{M.value=!1,R.value=!0}},[f("div",{class:D(["v-slider-thumb__surface",w.value,o.value]),style:Y(r.value)},null),fe(f("div",{class:D(["v-slider-thumb__ripple",w.value]),style:Y(r.value)},null),[[he,e.ripple,null,{circle:!0,center:!0}]]),G(Pe,{origin:"bottom center"},{default:()=>{var h;return[fe(f("div",{class:"v-slider-thumb__label-container"},[f("div",{class:D(["v-slider-thumb__label",N.value]),style:Y(C.value)},[f("div",null,[((h=s["thumb-label"])==null?void 0:h.call(s,{modelValue:e.modelValue}))??e.modelValue.toFixed(_.value?E.value:1)]),f("div",{class:"v-slider-thumb__label-wedge"},null)])]),[[Fe,a]])]}})])}),{}}}),Qe=se({start:{type:Number,required:!0},stop:{type:Number,required:!0},...Se()},"VSliderTrack"),Ze=de()({name:"VSliderTrack",props:Qe(),emits:{},setup(e,l){let{slots:s}=l;const u=ye(ve);if(!u)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:c,parsedTicks:m,rounded:p,showTicks:i,tickSize:b,trackColor:d,trackFillColor:z,trackSize:_,vertical:v,min:S,max:g,indexFromEnd:A}=u,{roundedClasses:K}=Ee(p),{backgroundColorClasses:q,backgroundColorStyles:I}=oe(z),{backgroundColorClasses:T,backgroundColorStyles:k}=oe(d),E=n(()=>`inset-${v.value?"block":"inline"}-${A.value?"end":"start"}`),F=n(()=>v.value?"height":"width"),M=n(()=>({[E.value]:"0%",[F.value]:"100%"})),R=n(()=>e.stop-e.start),L=n(()=>({[E.value]:j(e.start,"%"),[F.value]:j(R.value,"%")})),o=n(()=>i.value?(v.value?m.value.slice().reverse():m.value).map((r,N)=>{var y;const C=r.value!==S.value&&r.value!==g.value?j(r.position,"%"):void 0;return f("div",{key:r.value,class:D(["v-slider-track__tick",{"v-slider-track__tick--filled":r.position>=e.start&&r.position<=e.stop,"v-slider-track__tick--first":r.value===S.value,"v-slider-track__tick--last":r.value===g.value}]),style:{[E.value]:C}},[(r.label||s["tick-label"])&&f("div",{class:"v-slider-track__tick-label"},[((y=s["tick-label"])==null?void 0:y.call(s,{tick:r,index:N}))??r.label])])}):[]);return ce(()=>f("div",{class:D(["v-slider-track",K.value,e.class]),style:Y([{"--v-slider-track-size":j(_.value),"--v-slider-tick-size":j(b.value)},e.style])},[f("div",{class:D(["v-slider-track__background",T.value,{"v-slider-track__background--opacity":!!c.value||!z.value}]),style:{...M.value,...k.value}},null),f("div",{class:D(["v-slider-track__fill",q.value]),style:{...L.value,...I.value}},null),i.value&&f("div",{class:D(["v-slider-track__ticks",{"v-slider-track__ticks--always-show":i.value==="always"}])},[o.value])])),{}}}),et=se({...Ae(),...Xe(),...Ie(),modelValue:{type:[Number,String],default:0}},"VSlider"),rt=de()({name:"VSlider",inheritAttrs:!1,props:et(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,l){let{slots:s,emit:u,attrs:c}=l;const m=le(),p=le(),{rtlClasses:i}=ie(),b=Ye(e),d=je(e,"modelValue",void 0,o=>b.roundValue(o??b.min.value)),{min:z,max:_,mousePressed:v,roundValue:S,onSliderMousedown:g,onSliderTouchstart:A,trackContainerRef:K,position:q,hasLabels:I,disabled:T,readonly:k,noKeyboard:E}=Ge({props:e,steps:b,onSliderStart:()=>{!T.value&&!k.value&&u("start",d.value)},onSliderEnd:o=>{let{value:w}=o;const r=S(w);!T.value&&!k.value&&(d.value=r),u("end",r)},onSliderMove:o=>{let{value:w}=o;!T.value&&!k.value&&(d.value=S(w))},getActiveThumb:()=>{var o;return(o=m.value)==null?void 0:o.$el}}),{isFocused:F,focus:M,blur:R}=De(e),L=n(()=>q(d.value));return ce(()=>{const o=ke.filterProps(e),[w,r]=$e(c),N=!!(e.label||s.label||s.prepend);return G(ke,be({ref:p,class:["v-slider",{"v-slider--has-labels":!!s["tick-label"]||I.value,"v-slider--focused":F.value,"v-slider--pressed":v.value,"v-slider--disabled":T.value},i.value,e.class],style:e.style},o,w,{focused:F.value}),{...s,prepend:N?C=>{var y,V;return f(xe,null,[((y=s.label)==null?void 0:y.call(s,C))??(e.label?G(Ke,{id:C.id.value,class:"v-slider__label",text:e.label},null):void 0),(V=s.prepend)==null?void 0:V.call(s,C)])}:void 0,default:C=>{let{id:y,messagesId:V}=C;return f("div",{class:"v-slider__container",onMousedown:k.value?void 0:g,onTouchstartPassive:k.value?void 0:A},[f("input",{id:y.value,name:e.name||y.value,disabled:T.value,readonly:k.value,tabindex:"-1",value:d.value},null),G(Ze,{ref:K,start:0,stop:L.value},{"tick-label":s["tick-label"]}),G(We,be({ref:m,"aria-describedby":V.value,focused:F.value,noKeyboard:E.value,min:z.value,max:_.value,modelValue:d.value,"onUpdate:modelValue":x=>d.value=x,position:L.value,elevation:e.elevation,onFocus:M,onBlur:R,ripple:e.ripple,name:e.name},r),{"thumb-label":s["thumb-label"]})])}})}),Me({focus:()=>{var o;return(o=m.value)==null?void 0:o.$el.focus()}},p)}});export{rt as V}; diff --git a/assets/VSwitch-CEojN9Vi.js b/assets/VSwitch-DEARo61Y.js similarity index 78% rename from assets/VSwitch-CEojN9Vi.js rename to assets/VSwitch-DEARo61Y.js index 1fc49cf..4ebb165 100644 --- a/assets/VSwitch-CEojN9Vi.js +++ b/assets/VSwitch-DEARo61Y.js @@ -1 +1 @@ -import{M as ie,ao as J,f as Z,K as se,G as re,H as ce,a3 as de,ac as ve,ap as fe,a4 as me,V as ye,I as Ce}from"./index-D042plwv.js";import{a as Ve,u as be,b as Q,m as ke}from"./VTextField-BoJUR4Xs.js";import{p as U,o as ge,I as W,m as Se,k as p,f as q,n as D,j as he,u as O,aB as ee,_ as we,w as H,aC as Ie}from"./vendor-vuetify-DpmmaPkh.js";import{E as K,t as n,k as r,N as G,n as R,p as Pe,q as _e,m as M,R as Ae,F as le,j as C,d as Be,b as $,I as Fe,s as X,e as x}from"./vendor-vue-BiQC5iF7.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:ge},...p(),...ie(),...Se()},"SelectionControlGroup"),xe=U({...te({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");q()({name:"VSelectionControlGroup",props:xe(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:f}=i;const l=D(e,"modelValue"),a=K(),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:R(["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=U({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...p(),...te()},"VSelectionControl");function Re(e){const i=Be(ae,void 0),{densityClasses:f}=se(e),l=D(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?H(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?[...H(l.value),s]:H(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 Y=q()({name:"VSelectionControl",directives:{vRipple:J},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}=Re(e),m=K(),s=X(!1),y=X(!1),d=$(),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 z(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,[N,j]=ee(f),T=r("input",M({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},j),null);return r("div",M({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]},N,{style:e.style}),[r("div",{class:R(["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:R(["v-selection-control__input"])},[((_=l.input)==null?void 0:_.call(l,{model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:b,backgroundColorStyles:k,inputNode:T,icon:c.value,props:{onFocus:S,onBlur:h,id:P.value}}))??r(le,null,[c.value&&C(Z,{key:"icon",icon:c.value},null),T])]),[[J,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&C(Ve,{for:P.value,onClick:z},{default:()=>[v]})])}),{isFocused:s,input:d}}}),Te=U({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ke(),...ne()},"VSwitch"),ze=q()({name:"VSwitch",inheritAttrs:!1,props:Te(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const a=D(e,"indeterminate"),u=D(e,"modelValue"),{loaderClasses:c}=de(e),{isFocused:t,focus:o,blur:w}=be(e),b=$(),k=$(),I=Ie&&window.matchMedia("(forced-colors: active)").matches,m=n(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),s=K(),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=Q.filterProps(e),z=Y.filterProps(e);return C(Q,M({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:N,isDisabled:j,isReadonly:T,isValid:B}=A;const _={model:u,isValid:B};return C(Y,M({ref:b},z,{modelValue:u.value,"onUpdate:modelValue":[F=>u.value=F,d],id:v.value,"aria-describedby":N.value,type:"checkbox","aria-checked":a.value?"mixed":void 0,disabled:j.value,readonly:T.value,onFocus:o,onBlur:w},S),{...l,default:F=>{let{backgroundColorClasses:E,backgroundColorStyles:V}=F;return r("div",{class:R(["v-switch__track",I?void 0:E.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:E,icon:V,backgroundColorClasses:oe,backgroundColorStyles:ue}=F;return r(le,null,[E,r("div",{class:R(["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:L=>l.loader?l.loader(L):C(ye,{active:L.isActive,color:L.color,indeterminate:!0,size:"16",width:"2"},null)}):V&&C(Z,{key:String(V),icon:V,size:"x-small"},null)]})])])}})}})}),Ce({},k)}});export{ze as V,Y as a,ne as m}; +import{M as ie,ao as J,f as Z,K as se,G as re,H as ce,a3 as de,ac as ve,ap as fe,a4 as me,V as ye,I as Ce}from"./index-BvGH7GyK.js";import{a as Ve,u as be,b as Q,m as ge}from"./VTextField-jDykTfh9.js";import{p as U,r as ke,I as W,m as Se,n as p,j as $,q as D,l as he,u as O,aB as ee,_ as we,w as q,aC as Ie}from"./vendor-vuetify-KiFW-YAv.js";import{E as K,t as n,k as r,N as G,n as R,p as Pe,q as _e,m as M,R as Ae,F as le,j as C,d as Be,b as H,I as Fe,s as X,e as x}from"./vendor-vue-Hxtt57UU.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:ke},...p(),...ie(),...Se()},"SelectionControlGroup"),xe=U({...te({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");$()({name:"VSelectionControlGroup",props:xe(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:f}=i;const l=D(e,"modelValue"),a=K(),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:R(["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=U({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...p(),...te()},"VSelectionControl");function Re(e){const i=Be(ae,void 0),{densityClasses:f}=se(e),l=D(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?q(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?[...q(l.value),s]:q(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: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:b,backgroundColorStyles:g,icon:I}}const Y=$()({name:"VSelectionControl",directives:{vRipple:J},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:g,trueValue:I}=Re(e),m=K(),s=X(!1),y=X(!1),d=H(),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,we(v.target,":focus-visible")!==!1&&(y.value=!0))}function h(){s.value=!1,y.value=!1}function z(v){v.stopPropagation()}function A(v){if(!k.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,[N,j]=ee(f),T=r("input",M({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},j),null);return r("div",M({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]},N,{style:e.style}),[r("div",{class:R(["v-selection-control__wrapper",o.value]),style:G(w.value)},[(B=l.default)==null?void 0:B.call(l,{backgroundColorClasses:b,backgroundColorStyles:g}),Ae(r("div",{class:R(["v-selection-control__input"])},[((_=l.input)==null?void 0:_.call(l,{model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:b,backgroundColorStyles:g,inputNode:T,icon:c.value,props:{onFocus:S,onBlur:h,id:P.value}}))??r(le,null,[c.value&&C(Z,{key:"icon",icon:c.value},null),T])]),[[J,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&C(Ve,{for:P.value,onClick:z},{default:()=>[v]})])}),{isFocused:s,input:d}}}),Te=U({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ge(),...ne()},"VSwitch"),ze=$()({name:"VSwitch",inheritAttrs:!1,props:Te(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const a=D(e,"indeterminate"),u=D(e,"modelValue"),{loaderClasses:c}=de(e),{isFocused:t,focus:o,blur:w}=be(e),b=H(),g=H(),I=Ie&&window.matchMedia("(forced-colors: active)").matches,m=n(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),s=K(),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=b.value)==null?void 0:S.input)==null||h.click()}return O(()=>{const[k,S]=ee(f),h=Q.filterProps(e),z=Y.filterProps(e);return C(Q,M({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:N,isDisabled:j,isReadonly:T,isValid:B}=A;const _={model:u,isValid:B};return C(Y,M({ref:b},z,{modelValue:u.value,"onUpdate:modelValue":[F=>u.value=F,d],id:v.value,"aria-describedby":N.value,type:"checkbox","aria-checked":a.value?"mixed":void 0,disabled:j.value,readonly:T.value,onFocus:o,onBlur:w},S),{...l,default:F=>{let{backgroundColorClasses:E,backgroundColorStyles:V}=F;return r("div",{class:R(["v-switch__track",I?void 0:E.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:E,icon:V,backgroundColorClasses:oe,backgroundColorStyles:ue}=F;return r(le,null,[E,r("div",{class:R(["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:L=>l.loader?l.loader(L):C(ye,{active:L.isActive,color:L.color,indeterminate:!0,size:"16",width:"2"},null)}):V&&C(Z,{key:String(V),icon:V,size:"x-small"},null)]})])])}})}})}),Ce({},g)}});export{ze as V,Y as a,ne as m}; diff --git a/assets/VTable-C8JDgtcy.js b/assets/VTable-C8JDgtcy.js new file mode 100644 index 0000000..72b3c0e --- /dev/null +++ b/assets/VTable-C8JDgtcy.js @@ -0,0 +1 @@ +import{av as C,j as b,k as N,A as ae,an as se,E as $,a3 as ie,u as T,P as le,a as B,p as V,m as U,n as H,q as ue,a5 as re}from"./vendor-vuetify-KiFW-YAv.js";import{o as ce,I as x,R as K,j as g,k as w,n as E,N as X,b as F,s as R,e as m,t as O,p as de,d as q,m as J,V as ve}from"./vendor-vue-Hxtt57UU.js";import{a6 as fe,h as j,m as Q,a7 as he,u as me,a8 as we,P as ge,a9 as ye,aa as be,K as Te,M as Ve}from"./index-BvGH7GyK.js";const Se=Symbol.for("vuetify:v-tabs"),Ie=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:s}=e,u=.5,a=16;e.offsetX=t-o,e.offsetY=s-n,Math.abs(e.offsetY)o+a&&e.right(e)),Math.abs(e.offsetX)n+a&&e.down(e))};function _e(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function xe(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),Ie(o)}function Be(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function Ee(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={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:t=>_e(t,o),touchend:t=>xe(t,o),touchmove:t=>Be(t,o)}}function We(e,o){var r;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,s=(t==null?void 0:t.options)??{passive:!0},u=(r=o.instance)==null?void 0:r.$.uid;if(!n||u===void 0)return;const a=Ee(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[u]=a,C(a).forEach(d=>{n.addEventListener(d,a[d],s)})}function ke(e,o){var u,a;const t=(u=o.value)!=null&&u.parent?e.parentElement:e,n=(a=o.instance)==null?void 0:a.$.uid;if(!(t!=null&&t._touchHandlers)||n===void 0)return;const s=t._touchHandlers[n];s&&(C(s).forEach(r=>{t.removeEventListener(r,s[r])}),delete t._touchHandlers[n],C(t._touchHandlers).length||delete t._touchHandlers)}const Y={mounted:We,unmounted:ke},Z=Symbol.for("vuetify:v-window"),p=Symbol.for("vuetify:v-window-group"),ee=V({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,...H(),...Q(),...U()},"VWindow"),z=b()({name:"VWindow",directives:{vTouch:Y},props:ee(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=N(e),{isRtl:s}=ae(),{t:u}=se(),a=fe(e,p),r=F(),d=m(()=>s.value?!e.reverse:e.reverse),f=R(!1),S=m(()=>{if(e.crossfade)return"v-window-crossfade-transition";const i=e.direction==="vertical"?"y":"x",l=(d.value?!f.value:f.value)?"-reverse":"";return`v-window-${i}${l}-transition`}),W=R(0),I=F(void 0),y=m(()=>a.items.value.findIndex(i=>a.selected.value.includes(i.id)));ce(y,(i,c)=>{let l;const h={left:0,top:0};$&&c>=0&&(l=ie(r.value),h.left=l==null?void 0:l.scrollLeft,h.top=l==null?void 0:l.scrollTop);const L=a.items.value.length,M=L-1;L<=2?f.value=i{if(!$||!l)return;l.scrollTop!==h.top&&l.scrollTo({...h,behavior:"instant"}),requestAnimationFrame(()=>{if(!l)return;l.scrollTop!==h.top&&l.scrollTo({...h,behavior:"instant"})})})},{flush:"sync"}),de(Z,{transition:S,isReversed:f,transitionCount:W,transitionHeight:I,rootRef:r});const v=O(()=>e.continuous||y.value!==0),k=O(()=>e.continuous||y.value!==a.items.value.length-1);function P(){v.value&&a.prev()}function A(){k.value&&a.next()}const D=m(()=>{const i=[],c={icon:s.value?e.nextIcon:e.prevIcon,class:`v-window__${d.value?"right":"left"}`,onClick:a.prev,"aria-label":u("$vuetify.carousel.prev")};i.push(v.value?t.prev?t.prev({props:c}):g(j,c,null):w("div",null,null));const l={icon:s.value?e.prevIcon:e.nextIcon,class:`v-window__${d.value?"left":"right"}`,onClick:a.next,"aria-label":u("$vuetify.carousel.next")};return i.push(k.value?t.next?t.next({props:l}):g(j,l,null):w("div",null,null)),i}),ne=m(()=>e.touch===!1?e.touch:{...{left:()=>{d.value?P():A()},right:()=>{d.value?A():P()},start:c=>{let{originalEvent:l}=c;l.stopPropagation()}},...e.touch===!0?{}:e.touch});function oe(i){(e.direction==="horizontal"&&i.key==="ArrowLeft"||e.direction==="vertical"&&i.key==="ArrowUp")&&(i.preventDefault(),P(),x(()=>{v.value?_(0):_(1)})),(e.direction==="horizontal"&&i.key==="ArrowRight"||e.direction==="vertical"&&i.key==="ArrowDown")&&(i.preventDefault(),A(),x(()=>{k.value?_(1):_(0)}))}function _(i){var h;const c=D.value[i];if(!c)return;(h=(Array.isArray(c)?c[0]:c).el)==null||h.focus()}return T(()=>K(g(e.tag,{ref:r,class:E(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:X([e.style,{"--v-window-transition-duration":le()?null:B(e.transitionDuration,"ms")}])},{default:()=>{var i,c;return[w("div",{class:"v-window__container",style:{height:I.value}},[(i=t.default)==null?void 0:i.call(t,{group:a}),e.showArrows!==!1&&w("div",{class:E(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}]),onKeydown:oe},[D.value])]),(c=t.additional)==null?void 0:c.call(t,{group:a})]}}),[[Y,ne.value]])),{group:a}}}),Pe=V({...re(ee(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Le=b()({name:"VTabsWindow",props:Pe(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const n=q(Se,null),s=ue(e,"modelValue"),u=m({get(){var a;return s.value!=null||!n?s.value:(a=n.items.value.find(r=>n.selected.value.includes(r.id)))==null?void 0:a.value},set(a){s.value=a}});return T(()=>{const a=z.filterProps(e);return g(z,J({_as:"VTabsWindow"},a,{modelValue:u.value,"onUpdate:modelValue":r=>u.value=r,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),te=V({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...H(),...be(),...ye()},"VWindowItem"),G=b()({name:"VWindowItem",directives:{vTouch:Y},props:te(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=q(Z),s=he(e,p),{isBooted:u}=me();if(!n||!s)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const a=R(!1),r=m(()=>u.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function d(){!a.value||!n||(a.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function f(){var v;a.value||!n||(a.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=B((v=n.rootRef.value)==null?void 0:v.clientHeight)),n.transitionCount.value+=1)}function S(){d()}function W(v){a.value&&x(()=>{!r.value||!a.value||!n||(n.transitionHeight.value=B(v.clientHeight))})}const I=m(()=>{const v=n.isReversed.value?e.reverseTransition:e.transition;return r.value?{name:typeof v!="string"?n.transition.value:v,onBeforeEnter:f,onAfterEnter:d,onEnterCancelled:S,onBeforeLeave:f,onAfterLeave:d,onLeaveCancelled:S,onEnter:W}:!1}),{hasContent:y}=we(e,s.isSelected);return T(()=>g(ge,{transition:I.value,disabled:!u.value},{default:()=>{var v;return[K(w("div",{class:E(["v-window-item",s.selectedClass.value,e.class]),style:X(e.style)},[y.value&&((v=t.default)==null?void 0:v.call(t))]),[[ve,s.isSelected.value]])]}})),{groupItem:s}}}),Ae=V({...te()},"VTabsWindowItem"),Me=b()({name:"VTabsWindowItem",props:Ae(),setup(e,o){let{slots:t}=o;return T(()=>{const n=G.filterProps(e);return g(G,J({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),t)}),{}}}),Ce=V({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...H(),...Ve(),...Q(),...U()},"VTable"),$e=b()({name:"VTable",props:Ce(),setup(e,o){let{slots:t,emit:n}=o;const{themeClasses:s}=N(e),{densityClasses:u}=Te(e);return T(()=>g(e.tag,{class:E(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},s.value,u.value,e.class]),style:X(e.style)},{default:()=>{var a,r,d;return[(a=t.top)==null?void 0:a.call(t),t.default?w("div",{class:"v-table__wrapper",style:{height:B(e.height)}},[w("table",null,[t.default()])]):(r=t.wrapper)==null?void 0:r.call(t),(d=t.bottom)==null?void 0:d.call(t)]}})),{}}});export{Le as V,Me as a,$e as b,z as c,G as d,Se as e,Ce as m}; diff --git a/assets/VTable-DH4Drwun.js b/assets/VTable-DH4Drwun.js deleted file mode 100644 index 156c0e9..0000000 --- a/assets/VTable-DH4Drwun.js +++ /dev/null @@ -1 +0,0 @@ -import{av as G,f as b,h as N,A as ae,an as se,E as M,a3 as ie,u as T,P as le,s as B,p as V,m as U,k as Y,n as ue,a5 as re}from"./vendor-vuetify-DpmmaPkh.js";import{o as ce,I as _,R as K,j as g,k as w,n as E,N as H,b as $,s as C,e as m,t as F,p as de,d as q,m as J,V as ve}from"./vendor-vue-BiQC5iF7.js";import{a6 as fe,h as O,m as Q,a7 as he,u as me,a8 as we,P as ge,a9 as ye,aa as be,K as Te,M as Ve}from"./index-D042plwv.js";const Se=Symbol.for("vuetify:v-tabs"),Ie=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:i}=e,u=.5,a=16;e.offsetX=t-o,e.offsetY=i-n,Math.abs(e.offsetY)o+a&&e.right(e)),Math.abs(e.offsetX)n+a&&e.down(e))};function xe(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function _e(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),Ie(o)}function Be(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function Ee(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={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:t=>xe(t,o),touchend:t=>_e(t,o),touchmove:t=>Be(t,o)}}function We(e,o){var r;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,i=(t==null?void 0:t.options)??{passive:!0},u=(r=o.instance)==null?void 0:r.$.uid;if(!n||u===void 0)return;const a=Ee(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[u]=a,G(a).forEach(d=>{n.addEventListener(d,a[d],i)})}function ke(e,o){var u,a;const t=(u=o.value)!=null&&u.parent?e.parentElement:e,n=(a=o.instance)==null?void 0:a.$.uid;if(!(t!=null&&t._touchHandlers)||n===void 0)return;const i=t._touchHandlers[n];G(i).forEach(r=>{t.removeEventListener(r,i[r])}),delete t._touchHandlers[n]}const R={mounted:We,unmounted:ke},Z=Symbol.for("vuetify:v-window"),p=Symbol.for("vuetify:v-window-group"),ee=V({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,...Y(),...Q(),...U()},"VWindow"),z=b()({name:"VWindow",directives:{vTouch:R},props:ee(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=N(e),{isRtl:i}=ae(),{t:u}=se(),a=fe(e,p),r=$(),d=m(()=>i.value?!e.reverse:e.reverse),f=C(!1),S=m(()=>{if(e.crossfade)return"v-window-crossfade-transition";const s=e.direction==="vertical"?"y":"x",l=(d.value?!f.value:f.value)?"-reverse":"";return`v-window-${s}${l}-transition`}),W=C(0),I=$(void 0),y=m(()=>a.items.value.findIndex(s=>a.selected.value.includes(s.id)));ce(y,(s,c)=>{let l;const h={left:0,top:0};M&&c>=0&&(l=ie(r.value),h.left=l==null?void 0:l.scrollLeft,h.top=l==null?void 0:l.scrollTop);const D=a.items.value.length,L=D-1;D<=2?f.value=s{if(!M||!l)return;l.scrollTop!==h.top&&l.scrollTo({...h,behavior:"instant"}),requestAnimationFrame(()=>{if(!l)return;l.scrollTop!==h.top&&l.scrollTo({...h,behavior:"instant"})})})},{flush:"sync"}),de(Z,{transition:S,isReversed:f,transitionCount:W,transitionHeight:I,rootRef:r});const v=F(()=>e.continuous||y.value!==0),k=F(()=>e.continuous||y.value!==a.items.value.length-1);function P(){v.value&&a.prev()}function A(){k.value&&a.next()}const X=m(()=>{const s=[],c={icon:i.value?e.nextIcon:e.prevIcon,class:`v-window__${d.value?"right":"left"}`,onClick:a.prev,"aria-label":u("$vuetify.carousel.prev")};s.push(v.value?t.prev?t.prev({props:c}):g(O,c,null):w("div",null,null));const l={icon:i.value?e.prevIcon:e.nextIcon,class:`v-window__${d.value?"left":"right"}`,onClick:a.next,"aria-label":u("$vuetify.carousel.next")};return s.push(k.value?t.next?t.next({props:l}):g(O,l,null):w("div",null,null)),s}),ne=m(()=>e.touch===!1?e.touch:{...{left:()=>{d.value?P():A()},right:()=>{d.value?A():P()},start:c=>{let{originalEvent:l}=c;l.stopPropagation()}},...e.touch===!0?{}:e.touch});function oe(s){(e.direction==="horizontal"&&s.key==="ArrowLeft"||e.direction==="vertical"&&s.key==="ArrowUp")&&(s.preventDefault(),P(),_(()=>{v.value?x(0):x(1)})),(e.direction==="horizontal"&&s.key==="ArrowRight"||e.direction==="vertical"&&s.key==="ArrowDown")&&(s.preventDefault(),A(),_(()=>{k.value?x(1):x(0)}))}function x(s){var h;const c=X.value[s];if(!c)return;(h=(Array.isArray(c)?c[0]:c).el)==null||h.focus()}return T(()=>K(g(e.tag,{ref:r,class:E(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:H([e.style,{"--v-window-transition-duration":le()?null:B(e.transitionDuration,"ms")}])},{default:()=>{var s,c;return[w("div",{class:"v-window__container",style:{height:I.value}},[(s=t.default)==null?void 0:s.call(t,{group:a}),e.showArrows!==!1&&w("div",{class:E(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}]),onKeydown:oe},[X.value])]),(c=t.additional)==null?void 0:c.call(t,{group:a})]}}),[[R,ne.value]])),{group:a}}}),Pe=V({...re(ee(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Le=b()({name:"VTabsWindow",props:Pe(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const n=q(Se,null),i=ue(e,"modelValue"),u=m({get(){var a;return i.value!=null||!n?i.value:(a=n.items.value.find(r=>n.selected.value.includes(r.id)))==null?void 0:a.value},set(a){i.value=a}});return T(()=>{const a=z.filterProps(e);return g(z,J({_as:"VTabsWindow"},a,{modelValue:u.value,"onUpdate:modelValue":r=>u.value=r,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),te=V({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...Y(),...be(),...ye()},"VWindowItem"),j=b()({name:"VWindowItem",directives:{vTouch:R},props:te(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=q(Z),i=he(e,p),{isBooted:u}=me();if(!n||!i)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const a=C(!1),r=m(()=>u.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function d(){!a.value||!n||(a.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function f(){var v;a.value||!n||(a.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=B((v=n.rootRef.value)==null?void 0:v.clientHeight)),n.transitionCount.value+=1)}function S(){d()}function W(v){a.value&&_(()=>{!r.value||!a.value||!n||(n.transitionHeight.value=B(v.clientHeight))})}const I=m(()=>{const v=n.isReversed.value?e.reverseTransition:e.transition;return r.value?{name:typeof v!="string"?n.transition.value:v,onBeforeEnter:f,onAfterEnter:d,onEnterCancelled:S,onBeforeLeave:f,onAfterLeave:d,onLeaveCancelled:S,onEnter:W}:!1}),{hasContent:y}=we(e,i.isSelected);return T(()=>g(ge,{transition:I.value,disabled:!u.value},{default:()=>{var v;return[K(w("div",{class:E(["v-window-item",i.selectedClass.value,e.class]),style:H(e.style)},[y.value&&((v=t.default)==null?void 0:v.call(t))]),[[ve,i.isSelected.value]])]}})),{groupItem:i}}}),Ae=V({...te()},"VTabsWindowItem"),Me=b()({name:"VTabsWindowItem",props:Ae(),setup(e,o){let{slots:t}=o;return T(()=>{const n=j.filterProps(e);return g(j,J({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),t)}),{}}}),Ce=V({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Y(),...Ve(),...Q(),...U()},"VTable"),$e=b()({name:"VTable",props:Ce(),setup(e,o){let{slots:t,emit:n}=o;const{themeClasses:i}=N(e),{densityClasses:u}=Te(e);return T(()=>g(e.tag,{class:E(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},i.value,u.value,e.class]),style:H(e.style)},{default:()=>{var a,r,d;return[(a=t.top)==null?void 0:a.call(t),t.default?w("div",{class:"v-table__wrapper",style:{height:B(e.height)}},[w("table",null,[t.default()])]):(r=t.wrapper)==null?void 0:r.call(t),(d=t.bottom)==null?void 0:d.call(t)]}})),{}}});export{Le as V,Me as a,$e as b,z as c,j as d,Se as e,Ce as m}; diff --git a/assets/VTabs-5YWz7myv.js b/assets/VTabs-DTqS4Kso.js similarity index 85% rename from assets/VTabs-5YWz7myv.js rename to assets/VTabs-DTqS4Kso.js index 037e6f4..78cabac 100644 --- a/assets/VTabs-5YWz7myv.js +++ b/assets/VTabs-DTqS4Kso.js @@ -1 +1 @@ -import{G as q,H as I,h as M,I as J,J as K,K as L,L as Q,m as Z,M as p}from"./index-D042plwv.js";import{e as j,a as ee,V as te}from"./VTable-DH4Drwun.js";import{f as F,u as W,a4 as ae,p as X,a5 as ne,a6 as se,n as le,j as ie,s as E,aj as oe,F as re}from"./vendor-vuetify-DpmmaPkh.js";import{j as T,k as D,N as de,n as ue,F as Y,m as P,b as R,e as N,t as r}from"./vendor-vue-BiQC5iF7.js";import{b as G,m as ce}from"./VChip-nQelUOZI.js";const _=X({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...ne(K({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),ve=F()({name:"VTab",props:_(),setup(e,d){let{slots:C,attrs:t}=d;const{textColorClasses:g,textColorStyles:k}=q(()=>e.sliderColor),{backgroundColorClasses:V,backgroundColorStyles:w}=I(()=>e.sliderColor),h=R(),x=R(),u=N(()=>e.direction==="horizontal"),m=N(()=>{var s,n;return((n=(s=h.value)==null?void 0:s.group)==null?void 0:n.isSelected.value)??!1});function a(s,n){return{opacity:[0,1]}}function l(s,n){return e.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function c(s,n){const i=n.getBoundingClientRect(),o=s.getBoundingClientRect(),v=u.value?"x":"y",b=u.value?"X":"Y",S=u.value?"right":"bottom",f=u.value?"width":"height",$=i[v],H=o[v],y=$>H?i[S]-o[S]:i[v]-o[v],U=Math.sign(y)>0?u.value?"right":"bottom":Math.sign(y)<0?u.value?"left":"top":"center",A=(Math.abs(y)+(Math.sign(y)<0?i[f]:o[f]))/Math.max(i[f],o[f])||0,O=i[f]/o[f]||0,z=1.5;return{transform:[`translate${b}(${y}px) scale${b}(${O})`,`translate${b}(${y/z}px) scale${b}(${(A-1)/z+1})`,"none"],transformOrigin:Array(3).fill(U)}}function B(s){var i,o;let{value:n}=s;if(n){const v=(o=(i=h.value)==null?void 0:i.$el.parentElement)==null?void 0:o.querySelector(".v-tab--selected .v-tab__slider"),b=x.value;if(!v||!b)return;const S=getComputedStyle(v).backgroundColor,f={fade:a,grow:l,shift:c}[e.sliderTransition??"shift"]??c,$=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??"shift"]??225);ae(b,{backgroundColor:[S,S],...f(b,v)},{duration:$,easing:se})}}return W(()=>{const s=M.filterProps(e);return T(M,P({symbol:j,ref:h,class:["v-tab",e.class,m.value&&e.inset?V.value:[]],style:[e.style,m.value&&e.inset?w.value:[],{backgroundColor:m.value&&e.inset?"transparent !important":void 0}],tabindex:m.value?0:-1,role:"tab","aria-selected":String(m.value),active:!1},s,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":B}),{...C,default:()=>{var n;return D(Y,null,[((n=C.default)==null?void 0:n.call(C))??e.text,!e.hideSlider&&D("div",{ref:x,class:ue(["v-tab__slider",e.inset?V.value:g.value]),style:de([k.value,e.inset?w.value:g.value])},null)])}})}),J({},h)}});function be(e){return e?e.map(d=>re(d)?d:{text:d,value:d}):[]}const fe=X({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,...oe(_(),["spaced","sliderTransition","sliderTransitionDuration"]),...ce({mandatory:"force",selectedClass:"v-tab-item--selected"}),...p(),...Z()},"VTabs"),Se=F()({name:"VTabs",props:fe(),emits:{"update:modelValue":e=>!0},setup(e,d){let{attrs:C,slots:t}=d;const g=le(e,"modelValue"),k=N(()=>be(e.items)),{densityClasses:V}=L(e),{backgroundColorClasses:w,backgroundColorStyles:h}=I(()=>e.bgColor),{scopeId:x}=Q();return ie({VTab:{color:r(e,"color"),direction:r(e,"direction"),stacked:r(e,"stacked"),fixed:r(e,"fixedTabs"),inset:r(e,"inset"),sliderColor:r(e,"sliderColor"),sliderTransition:r(e,"sliderTransition"),sliderTransitionDuration:r(e,"sliderTransitionDuration"),hideSlider:r(e,"hideSlider")}}),W(()=>{const u=G.filterProps(e),m=!!(t.window||e.items.length>0);return D(Y,null,[T(G,P(u,{modelValue:g.value,"onUpdate:modelValue":a=>g.value=a,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},V.value,w.value,e.class],style:[{"--v-tabs-height":E(e.height),"--v-tabs-inset-padding":e.inset?E(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?E(e.insetRadius):void 0},h.value,e.style],role:"tablist",symbol:j},x,C),{default:t.default??(()=>k.value.map(a=>{var l;return((l=t.tab)==null?void 0:l.call(t,{item:a}))??T(ve,P(a,{key:a.text,value:a.value,spaced:e.spaced}),{default:t[`tab.${a.value}`]?()=>{var c;return(c=t[`tab.${a.value}`])==null?void 0:c.call(t,{item:a})}:void 0})})),prev:t.prev,next:t.next}),m&&T(te,P({modelValue:g.value,"onUpdate:modelValue":a=>g.value=a,key:"tabs-window"},x),{default:()=>{var a;return[k.value.map(l=>{var c;return((c=t.item)==null?void 0:c.call(t,{item:l}))??T(ee,{value:l.value},{default:()=>{var B;return(B=t[`item.${l.value}`])==null?void 0:B.call(t,{item:l})}})}),(a=t.window)==null?void 0:a.call(t)]}})])}),{}}});export{Se as V,ve as a}; +import{G as O,H as I,h as M,I as J,J as K,K as L,L as Q,m as Z,M as p}from"./index-BvGH7GyK.js";import{e as j,a as ee,V as te}from"./VTable-C8JDgtcy.js";import{j as F,u as W,a4 as ae,p as X,a5 as ne,a6 as se,q as le,l as ie,a as E,aj as oe,F as re}from"./vendor-vuetify-KiFW-YAv.js";import{j as T,k as D,N as de,n as ue,F as Y,m as P,b as R,e as N,t as r}from"./vendor-vue-Hxtt57UU.js";import{b as G,m as ce}from"./VChip-CyVmT8se.js";const _=X({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...ne(K({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),ve=F()({name:"VTab",props:_(),setup(e,d){let{slots:C,attrs:t}=d;const{textColorClasses:g,textColorStyles:k}=O(()=>e.sliderColor),{backgroundColorClasses:V,backgroundColorStyles:w}=I(()=>e.sliderColor),h=R(),x=R(),u=N(()=>e.direction==="horizontal"),m=N(()=>{var s,n;return((n=(s=h.value)==null?void 0:s.group)==null?void 0:n.isSelected.value)??!1});function a(s,n){return{opacity:[0,1]}}function l(s,n){return e.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function c(s,n){const i=n.getBoundingClientRect(),o=s.getBoundingClientRect(),v=u.value?"x":"y",b=u.value?"X":"Y",S=u.value?"right":"bottom",f=u.value?"width":"height",$=i[v],H=o[v],y=$>H?i[S]-o[S]:i[v]-o[v],U=Math.sign(y)>0?u.value?"right":"bottom":Math.sign(y)<0?u.value?"left":"top":"center",q=(Math.abs(y)+(Math.sign(y)<0?i[f]:o[f]))/Math.max(i[f],o[f])||0,A=i[f]/o[f]||0,z=1.5;return{transform:[`translate${b}(${y}px) scale${b}(${A})`,`translate${b}(${y/z}px) scale${b}(${(q-1)/z+1})`,"none"],transformOrigin:Array(3).fill(U)}}function B(s){var i,o;let{value:n}=s;if(n){const v=(o=(i=h.value)==null?void 0:i.$el.parentElement)==null?void 0:o.querySelector(".v-tab--selected .v-tab__slider"),b=x.value;if(!v||!b)return;const S=getComputedStyle(v).backgroundColor,f={fade:a,grow:l,shift:c}[e.sliderTransition??"shift"]??c,$=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??"shift"]??225);ae(b,{backgroundColor:[S,S],...f(b,v)},{duration:$,easing:se})}}return W(()=>{const s=M.filterProps(e);return T(M,P({symbol:j,ref:h,class:["v-tab",e.class,m.value&&e.inset?V.value:[]],style:[e.style,m.value&&e.inset?w.value:[],{backgroundColor:m.value&&e.inset?"transparent !important":void 0}],tabindex:m.value?0:-1,role:"tab","aria-selected":String(m.value),active:!1},s,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":B}),{...C,default:()=>{var n;return D(Y,null,[((n=C.default)==null?void 0:n.call(C))??e.text,!e.hideSlider&&D("div",{ref:x,class:ue(["v-tab__slider",e.inset?V.value:g.value]),style:de([k.value,e.inset?w.value:g.value])},null)])}})}),J({},h)}});function be(e){return e?e.map(d=>re(d)?d:{text:d,value:d}):[]}const fe=X({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,...oe(_(),["spaced","sliderTransition","sliderTransitionDuration"]),...ce({mandatory:"force",selectedClass:"v-tab-item--selected"}),...p(),...Z()},"VTabs"),Se=F()({name:"VTabs",props:fe(),emits:{"update:modelValue":e=>!0},setup(e,d){let{attrs:C,slots:t}=d;const g=le(e,"modelValue"),k=N(()=>be(e.items)),{densityClasses:V}=L(e),{backgroundColorClasses:w,backgroundColorStyles:h}=I(()=>e.bgColor),{scopeId:x}=Q();return ie({VTab:{color:r(e,"color"),direction:r(e,"direction"),stacked:r(e,"stacked"),fixed:r(e,"fixedTabs"),inset:r(e,"inset"),sliderColor:r(e,"sliderColor"),sliderTransition:r(e,"sliderTransition"),sliderTransitionDuration:r(e,"sliderTransitionDuration"),hideSlider:r(e,"hideSlider")}}),W(()=>{const u=G.filterProps(e),m=!!(t.window||e.items.length>0);return D(Y,null,[T(G,P(u,{modelValue:g.value,"onUpdate:modelValue":a=>g.value=a,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},V.value,w.value,e.class],style:[{"--v-tabs-height":E(e.height),"--v-tabs-inset-padding":e.inset?E(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?E(e.insetRadius):void 0},h.value,e.style],role:"tablist",symbol:j},x,C),{default:t.default??(()=>k.value.map(a=>{var l;return((l=t.tab)==null?void 0:l.call(t,{item:a}))??T(ve,P(a,{key:a.text,value:a.value,spaced:e.spaced}),{default:t[`tab.${a.value}`]?()=>{var c;return(c=t[`tab.${a.value}`])==null?void 0:c.call(t,{item:a})}:void 0})})),prev:t.prev,next:t.next}),m&&T(te,P({modelValue:g.value,"onUpdate:modelValue":a=>g.value=a,key:"tabs-window"},x),{default:()=>{var a;return[k.value.map(l=>{var c;return((c=t.item)==null?void 0:c.call(t,{item:l}))??T(ee,{value:l.value},{default:()=>{var B;return(B=t[`item.${l.value}`])==null?void 0:B.call(t,{item:l})}})}),(a=t.window)==null?void 0:a.call(t)]}})])}),{}}});export{Se as V,ve as a}; diff --git a/assets/VTextField-BoJUR4Xs.js b/assets/VTextField-jDykTfh9.js similarity index 55% rename from assets/VTextField-BoJUR4Xs.js rename to assets/VTextField-jDykTfh9.js index e638e9f..2e582bf 100644 --- a/assets/VTextField-BoJUR4Xs.js +++ b/assets/VTextField-jDykTfh9.js @@ -1 +1 @@ -import{j as C,R as ve,V as Ce,k as r,N as Z,n as Q,t as V,m as U,E as re,o as J,F as ie,b as H,e as m,d as Ve,s as oe,p as Oe,ag as ze,a0 as je,A as Ue,D as He,I as se,u as Ke,ah as We}from"./vendor-vue-BiQC5iF7.js";import{P as xe,Q as ke,v as Ie,f as qe,a3 as Ge,N as Qe,H as Xe,G as Se,a4 as Ye,ac as pe,au as Je,R as Ze,a5 as ea,K as aa,b as la,a as na,M as ta,ax as me,I as ia}from"./index-D042plwv.js";import{f as X,u as Y,p as $,k as ee,m as fe,ag as G,an as sa,aE as _e,g as Pe,n as de,h as Be,A as we,P as ua,T as oa,G as ra,a4 as da,s as ca,I as ae,a6 as va,w as ue,l as fa,C as ye,aj as ga,aB as ma,a5 as Fe}from"./vendor-vuetify-DpmmaPkh.js";const ya=$({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...ee(),...ke({transition:{component:Ie}})},"VCounter"),ba=X()({name:"VCounter",functional:!0,props:ya(),setup(e,t){let{slots:u}=t;const n=V(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return Y(()=>C(xe,{transition:e.transition},{default:()=>[ve(r("div",{class:Q(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:Z(e.style)},[u.default?u.default({counter:n.value,max:e.max,value:e.value}):n.value]),[[Ce,e.active]])]})),{}}}),ha=$({text:String,onClick:G(),...ee(),...fe()},"VLabel"),Ca=X()({name:"VLabel",props:ha(),setup(e,t){let{slots:u}=t;return Y(()=>{var n;return r("label",{class:Q(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:Z(e.style),onClick:e.onClick},[e.text,(n=u.default)==null?void 0:n.call(u)])}),{}}}),Va=$({floating:Boolean,...ee()},"VFieldLabel"),te=X()({name:"VFieldLabel",props:Va(),setup(e,t){let{slots:u}=t;return Y(()=>C(Ca,{class:Q(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:Z(e.style)},u)),{}}});function Me(e){const{t}=sa();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(),_e(x,new PointerEvent("click",s)))}const o=x&&b?t(`$vuetify.input.${b}`,e.label??""):void 0;return C(qe,U({icon:e[`${l}Icon`],"aria-label":o,onClick:x,onKeydown:I,color:a},y),null)}return{InputIcon:u}}const Ae=$({focused:Boolean,"onUpdate:focused":G()},"focus");function De(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Pe();const u=de(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 xa=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Re=$({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=>xa.includes(e)},"onClick:clear":G(),"onClick:appendInner":G(),"onClick:prependInner":G(),...ee(),...ea(),...Ze(),...fe()},"VField"),be=X()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...Ae(),...Re()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:l}=t;const{themeClasses:a}=Be(e),{loaderClasses:y}=Ge(e),{focusClasses:b,isFocused:x,focus:I,blur:o}=De(e),{InputIcon:s}=Me(e),{roundedClasses:c}=Qe(e),{rtlClasses:v}=we(),k=V(()=>e.dirty||e.active),B=V(()=>!!(e.label||l.label)),h=V(()=>!e.singleLine&&B.value),T=re(),_=m(()=>e.id||`input-${T}`),P=V(()=>e.details?`${_.value}-messages`:void 0),i=H(),g=H(),A=H(),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}=Xe(()=>e.bgColor),{textColorClasses:O,textColorStyles:R}=Se(f);J(k,F=>{if(h.value&&!ua()){const L=i.value.$el,z=g.value.$el;requestAnimationFrame(()=>{const j=oa(L),M=new ra(z),q=M.x-j.x,p=M.y-j.y-(j.height/2-M.height/2),le=M.width/.75,ne=Math.abs(le-j.width)>1?{maxWidth:ca(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",da(L,{transform:`translate(${q}px, ${p}px) scale(${Te})`,color:Ne,...ne},{duration:Le,easing:va,direction:F?"normal":"reverse"}).finished.then(()=>{L.style.removeProperty("visibility"),z.style.removeProperty("visibility")})})}},{flush:"post"});const S=m(()=>({isActive:k,isFocused:x,controlRef:A,iconColor:w,blur:o,focus:I})),D=V(()=>{const F=!k.value;return{"aria-hidden":F,for:F?void 0:_.value}}),K=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 Y(()=>{var q;const F=e.variant==="outlined",L=!!(l["prepend-inner"]||e.prependInnerIcon),z=!!(e.clearable||l.clear)&&!e.disabled,j=!!(l["append-inner"]||e.appendInnerIcon||z),M=()=>l.label?l.label({...S.value,label:e.label,props:{for:_.value}}):e.label;return r("div",U({class:["v-field",{"v-field--active":k.value,"v-field--appended":j,"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":!M(),[`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(Ye,{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,U({key:"floating-label",ref:g,class:[O.value],floating:!0},D.value,{style:R.value}),{default:()=>[M()]}),B.value&&C(te,U({key:"label",ref:i,id:e.labelId},K.value),{default:()=>[M()]}),((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(Je,{key:"clear"},{default:()=>[ve(r("div",{class:"v-field__clearable",onMousedown:p=>{p.preventDefault(),p.stopPropagation()}},[C(pe,{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)]})]),[[Ce,e.dirty]])]}),j&&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:Q(["v-field__outline",O.value]),style:Z(R.value)},[F&&r(ie,null,[r("div",{class:"v-field__outline__start"},null),h.value&&r("div",{class:"v-field__outline__notch"},[C(te,U({ref:g,floating:!0},D.value),{default:()=>[M()]})]),r("div",{class:"v-field__outline__end"},null)]),d.value&&h.value&&C(te,U({ref:g,floating:!0},D.value),{default:()=>[M()]})])])}),{controlRef:A,fieldIconColor:w}}}),ka=$({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...ee(),...ke({transition:{component:Ie,leaveAbsolute:!0,group:!0}})},"VMessages"),Ia=X()({name:"VMessages",props:ka(),setup(e,t){let{slots:u}=t;const n=m(()=>ue(e.messages)),{textColorClasses:l,textColorStyles:a}=Se(()=>e.color);return Y(()=>C(xe,{transition:e.transition,tag:"div",class:Q(["v-messages",l.value,e.class]),style:Z([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]))]})),{}}}),$e=Symbol.for("vuetify:form"),Ta=$({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Na(e){const t=de(e,"modelValue"),u=V(()=>e.disabled),n=V(()=>e.readonly),l=oe(!1),a=H([]),y=H([]);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 J(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"}),Oe($e,{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:ze(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 Sa(e){const t=Ve($e,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 _a=Symbol.for("vuetify:rules");function Pa(e){const t=Ve(_a,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 Ba=$({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,...Ae()},"validation");function wa(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Pe(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:re();const n=de(e,"modelValue"),l=m(()=>e.validationValue===void 0?n.value:e.validationValue),a=Sa(e),y=Pa(()=>e.rules),b=H([]),x=oe(!0),I=m(()=>!!(ue(n.value===""?null:n.value).length||ue(l.value===""?null:l.value).length)),o=m(()=>{var i;return(i=e.errorMessages)!=null&&i.length?ue(e.errorMessages).concat(b.value).slice(0,Math.max(0,Number(e.maxErrors))):b.value}),s=m(()=>{var A;let i=(e.validateOn??((A=a.validateOn)==null?void 0:A.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=fa("validation"),h=m(()=>e.name??Ke(u));je(()=>{var i;(i=a.register)==null||i.call(a,{id:h.value,vm:B,validate:P,reset:T,resetValidation:_})}),Ue(()=>{var i;(i=a.unregister)==null||i.call(a,h.value)}),He(async()=>{var i;s.value.lazy||await P(!s.value.eager),(i=a.update)==null||i.call(a,h.value,c.value,o.value)}),ye(()=>s.value.input||s.value.invalidInput&&c.value===!1,()=>{J(l,()=>{if(l.value!=null)P();else if(e.focused){const i=J(()=>e.focused,g=>{g||P(),i()})}})}),ye(()=>s.value.blur,()=>{J(()=>e.focused,i=>{i||P()})}),J([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 A of y.value){if(g.length>=Number(e.maxErrors??1))break;const f=await(typeof A=="function"?A:()=>A)(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 Ee=$({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":G(),"onClick:append":G(),...ee(),...ta(),...ga(na(),["maxWidth","minWidth","width"]),...fe(),...Ba()},"VInput"),he=X()({name:"VInput",props:{...Ee()},emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:u,slots:n,emit:l}=t;const{densityClasses:a}=aa(e),{dimensionStyles:y}=la(e),{themeClasses:b}=Be(e),{rtlClasses:x}=we(),{InputIcon:I}=Me(e),o=re(),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:A}=wa(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),R=V(()=>{if(e.iconColor)return e.iconColor===!0?O.value:e.iconColor});return Y(()=>{var K,W;const S=!!(n.prepend||e.prependIcon),D=!!(n.append||e.appendIcon);return r("div",{class:Q(["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,A.value,e.class]),style:Z([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:R.value},null)]),n.default&&r("div",{class:"v-input__control"},[(K=n.default)==null?void 0:K.call(n,E.value)]),D&&r("div",{key:"append",class:"v-input__append"},[n.append?n.append(E.value):e.appendIcon&&C(I,{key:"append-icon",name:"append",color:R.value},null)]),w.value&&r("div",{id:N.value,class:"v-input__details",role:"alert","aria-live":"polite"},[C(Ia,{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}}}),Fa=$({autocomplete:String},"autocomplete");function Ma(e){const t=re(),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 Aa(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"],Ra=$({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,...Fa(),...Fe(Ee(),["direction"]),...Re()},"VTextField"),Oa=X()({name:"VTextField",directives:{vIntersect:me},inheritAttrs:!1,props:Ra(),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=de(e,"modelValue",void 0,d=>Object.is(d,-0)?"-0":d),{isFocused:y,focus:b,blur:x}=De(e),{onIntersect:I}=Aa(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=H(),k=H(),B=H(),h=Ma(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(),_e(e["onClick:clear"],d)})}function A(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 R=0;w.trimStart().length===f.value.length&&(R=w.length-f.value.length),N!=null&&(f.selectionStart=N-R),E!=null&&(f.selectionEnd=E-R)})}return Y(()=>{const d=!!(l.counter||e.counter!==!1&&e.counter!=null),f=!!(d||l.details),[w,N]=ma(u),{modelValue:E,...O}=he.filterProps(e),R=be.filterProps(e);return C(he,U({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:D,isDisabled:K,isDirty:W,isReadonly:F,isValid:L,hasDetails:z,reset:j}=S;return C(be,U({ref:k,onMousedown:P,onClick:i,"onClick:clear":M=>g(M,j),role:e.role},Fe(R,["onClick:clear"]),{id:D.value,labelId:`${D.value}-label`,active:T.value||W.value,dirty:W.value||e.dirty,disabled:K.value,focused:y.value,details:z.value,error:L.value===!1}),{...l,default:M=>{let{props:{class:q,...p},controlRef:le}=M;const ne=r("input",U({ref:ce=>B.value=le.value=ce,value:a.value,onInput:A,autofocus:e.autofocus,readonly:F.value,disabled:K.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":`${D.value}-label`},p,N),null);return r(ie,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),ve(l.default?r("div",{class:Q(q),"data-no-activator":""},[l.default({id:D}),ne]):We(ne,{class:q}),[[me,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 D;return r(ie,null,[(D=l.details)==null?void 0:D.call(l,S),d&&r(ie,null,[r("span",null,null),C(ba,{active:e.persistentCounter||y.value,value:o.value,max:s.value,disabled:e.disabled},l.counter)])])}:void 0})}),ia({},v,k,B)}});export{Oa as V,Ca as a,he as b,be as c,ba as d,Re as e,Sa as f,Ae as g,Me as h,Ra as i,Na as j,Ta as k,Ma as l,Ee as m,Aa as n,Fa as o,De as u}; +import{j as C,R as ve,V as Ce,k as r,N as p,n as Q,t as V,m as U,E as re,o as Z,F as ie,b as H,e as y,d as Ve,s as oe,p as Oe,ag as ze,a0 as je,A as Ue,D as He,I as se,u as Ke,ah as qe}from"./vendor-vue-Hxtt57UU.js";import{P as xe,Q as ke,v as Ie,f as We,a3 as Ge,N as Qe,H as Xe,G as Se,a4 as Ye,ac as Je,au as Ze,R as pe,a5 as ea,K as aa,b as la,a as na,M as ta,ax as me,I as ia}from"./index-BvGH7GyK.js";import{j as X,u as Y,p as $,n as ee,m as fe,ag as G,an as sa,aE as _e,g as Pe,q as de,k as Be,A as we,P as ua,T as oa,G as ra,a4 as da,a as ca,I as ae,a6 as va,w as ue,o as fa,C as ye,aj as ga,aB as ma,a5 as Fe}from"./vendor-vuetify-KiFW-YAv.js";const ya=$({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...ee(),...ke({transition:{component:Ie}})},"VCounter"),ba=X()({name:"VCounter",functional:!0,props:ya(),setup(e,t){let{slots:u}=t;const n=V(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return Y(()=>C(xe,{transition:e.transition},{default:()=>[ve(r("div",{class:Q(["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]),[[Ce,e.active]])]})),{}}}),ha=$({text:String,onClick:G(),...ee(),...fe()},"VLabel"),Ca=X()({name:"VLabel",props:ha(),setup(e,t){let{slots:u}=t;return Y(()=>{var n;return r("label",{class:Q(["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)])}),{}}}),Va=$({floating:Boolean,...ee()},"VFieldLabel"),te=X()({name:"VFieldLabel",props:Va(),setup(e,t){let{slots:u}=t;return Y(()=>C(Ca,{class:Q(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:p(e.style)},u)),{}}});function De(e){const{t}=sa();function u(n){let{name:l,color:a,...g}=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(),_e(x,new PointerEvent("click",s)))}const o=x&&b?t(`$vuetify.input.${b}`,e.label??""):void 0;return C(We,U({icon:e[`${l}Icon`],"aria-label":o,onClick:x,onKeydown:I,color:a},g),null)}return{InputIcon:u}}const Me=$({focused:Boolean,"onUpdate:focused":G()},"focus");function Ae(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Pe();const u=de(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 xa=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Re=$({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=>xa.includes(e)},"onClick:clear":G(),"onClick:appendInner":G(),"onClick:prependInner":G(),...ee(),...ea(),...pe(),...fe()},"VField"),be=X()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...Me(),...Re()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:u,emit:n,slots:l}=t;const{themeClasses:a}=Be(e),{loaderClasses:g}=Ge(e),{focusClasses:b,isFocused:x,focus:I,blur:o}=Ae(e),{InputIcon:s}=De(e),{roundedClasses:c}=Qe(e),{rtlClasses:v}=we(),k=V(()=>e.dirty||e.active),B=V(()=>!!(e.label||l.label)),h=V(()=>!e.singleLine&&B.value),T=re(),_=y(()=>e.id||`input-${T}`),P=V(()=>e.details?`${_.value}-messages`:void 0),i=H(),m=H(),M=H(),d=y(()=>["plain","underlined"].includes(e.variant)),f=y(()=>e.error||e.disabled?void 0:k.value&&x.value?e.color:e.baseColor),w=y(()=>{if(!(!e.iconColor||e.glow&&!x.value))return e.iconColor===!0?f.value:e.iconColor}),{backgroundColorClasses:N,backgroundColorStyles:E}=Xe(()=>e.bgColor),{textColorClasses:O,textColorStyles:R}=Se(f);Z(k,F=>{if(h.value&&!ua()){const L=i.value.$el,z=m.value.$el;requestAnimationFrame(()=>{const j=oa(L),D=new ra(z),W=D.x-j.x,J=D.y-j.y-(j.height/2-D.height/2),le=D.width/.75,ne=Math.abs(le-j.width)>1?{maxWidth:ca(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",da(L,{transform:`translate(${W}px, ${J}px) scale(${Te})`,color:Ne,...ne},{duration:Le,easing:va,direction:F?"normal":"reverse"}).finished.then(()=>{L.style.removeProperty("visibility"),z.style.removeProperty("visibility")})})}},{flush:"post"});const S=y(()=>({isActive:k,isFocused:x,controlRef:M,iconColor:w,blur:o,focus:I})),A=V(()=>{const F=!k.value;return{"aria-hidden":F,for:F?void 0:_.value}}),K=V(()=>{const F=h.value&&k.value;return{"aria-hidden":F,for:F?void 0:_.value}});function q(F){F.target!==document.activeElement&&F.preventDefault()}return Y(()=>{var W;const F=e.variant==="outlined",L=!!(l["prepend-inner"]||e.prependInnerIcon),z=!!(e.clearable||l.clear)&&!e.disabled,j=!!(l["append-inner"]||e.appendInnerIcon||z),D=()=>l.label?l.label({...S.value,label:e.label,props:{for:_.value}}):e.label;return r("div",U({class:["v-field",{"v-field--active":k.value,"v-field--appended":j,"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":!D(),[`v-field--variant-${e.variant}`]:!0},a.value,N.value,b.value,g.value,c.value,v.value,e.class],style:[E.value,e.style],onClick:q},u),[r("div",{class:"v-field__overlay"},null),C(Ye,{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,U({key:"floating-label",ref:m,class:[O.value],floating:!0},A.value,{style:R.value}),{default:()=>[D()]}),B.value&&C(te,U({key:"label",ref:i,id:e.labelId},K.value),{default:()=>[D()]}),((W=l.default)==null?void 0:W.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(Ze,{key:"clear"},{default:()=>[ve(r("div",{class:"v-field__clearable",onMousedown:J=>{J.preventDefault(),J.stopPropagation()}},[C(Je,{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)]})]),[[Ce,e.dirty]])]}),j&&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:Q(["v-field__outline",O.value]),style:p(R.value)},[F&&r(ie,null,[r("div",{class:"v-field__outline__start"},null),h.value&&r("div",{class:"v-field__outline__notch"},[C(te,U({ref:m,floating:!0},A.value),{default:()=>[D()]})]),r("div",{class:"v-field__outline__end"},null)]),d.value&&h.value&&C(te,U({ref:m,floating:!0},A.value),{default:()=>[D()]})])])}),{controlRef:M,fieldIconColor:w}}}),ka=$({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...ee(),...ke({transition:{component:Ie,leaveAbsolute:!0,group:!0}})},"VMessages"),Ia=X()({name:"VMessages",props:ka(),setup(e,t){let{slots:u}=t;const n=y(()=>ue(e.messages)),{textColorClasses:l,textColorStyles:a}=Se(()=>e.color);return Y(()=>C(xe,{transition:e.transition,tag:"div",class:Q(["v-messages",l.value,e.class]),style:p([a.value,e.style])},{default:()=>[e.active&&n.value.map((g,b)=>r("div",{class:"v-messages__message",key:`${b}-${n.value}`},[u.message?u.message({message:g}):g]))]})),{}}}),$e=Symbol.for("vuetify:form"),Ta=$({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Na(e){const t=de(e,"modelValue"),u=V(()=>e.disabled),n=V(()=>e.readonly),l=oe(!1),a=H([]),g=H([]);async function b(){const o=[];let s=!0;g.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 g.value=o,l.value=!1,{valid:s,errors:g.value}}function x(){a.value.forEach(o=>o.reset())}function I(){a.value.forEach(o=>o.resetValidation())}return Z(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++;g.value=c,t.value=s>0?!1:o===a.value.length?!0:null},{deep:!0,flush:"post"}),Oe($e,{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:ze(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:g,isDisabled:u,isReadonly:n,isValidating:l,isValid:t,items:a,validate:b,reset:x,resetValidation:I}}function Sa(e){const t=Ve($e,null);return{...t,isReadonly:y(()=>!!((e==null?void 0:e.readonly)??(t==null?void 0:t.isReadonly.value))),isDisabled:y(()=>!!((e==null?void 0:e.disabled)??(t==null?void 0:t.isDisabled.value)))}}const _a=Symbol.for("vuetify:rules");function Pa(e){const t=Ve(_a,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 Ba=$({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,...Me()},"validation");function wa(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Pe(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:re();const n=de(e,"modelValue"),l=y(()=>e.validationValue===void 0?n.value:e.validationValue),a=Sa(e),g=Pa(()=>e.rules),b=H([]),x=oe(!0),I=y(()=>!!(ue(n.value===""?null:n.value).length||ue(l.value===""?null:l.value).length)),o=y(()=>{var i;return(i=e.errorMessages)!=null&&i.length?ue(e.errorMessages).concat(b.value).slice(0,Math.max(0,Number(e.maxErrors))):b.value}),s=y(()=>{var M;let i=(e.validateOn??((M=a.validateOn)==null?void 0:M.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const m=new Set((i==null?void 0:i.split(" "))??[]);return{input:m.has("input"),blur:m.has("blur")||m.has("input")||m.has("invalid-input"),invalidInput:m.has("invalid-input"),lazy:m.has("lazy"),eager:m.has("eager")}}),c=y(()=>{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=y(()=>({[`${t}--error`]:c.value===!1,[`${t}--dirty`]:I.value,[`${t}--disabled`]:a.isDisabled.value,[`${t}--readonly`]:a.isReadonly.value})),B=fa("validation"),h=y(()=>e.name??Ke(u));je(()=>{var i;(i=a.register)==null||i.call(a,{id:h.value,vm:B,validate:P,reset:T,resetValidation:_})}),Ue(()=>{var i;(i=a.unregister)==null||i.call(a,h.value)}),He(async()=>{var i;s.value.lazy||await P(!s.value.eager),(i=a.update)==null||i.call(a,h.value,c.value,o.value)}),ye(()=>s.value.input||s.value.invalidInput&&c.value===!1,()=>{Z(l,()=>{if(l.value!=null)P();else if(e.focused){const i=Z(()=>e.focused,m=>{m||P(),i()})}})}),ye(()=>s.value.blur,()=>{Z(()=>e.focused,i=>{i||P()})}),Z([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 m=[];v.value=!0;for(const M of g.value){if(m.length>=Number(e.maxErrors??1))break;const f=await(typeof M=="function"?M:()=>M)(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}m.push(f||"")}}return b.value=m,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 Ee=$({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":G(),"onClick:append":G(),...ee(),...ta(),...ga(na(),["maxWidth","minWidth","width"]),...fe(),...Ba()},"VInput"),he=X()({name:"VInput",props:{...Ee()},emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:u,slots:n,emit:l}=t;const{densityClasses:a}=aa(e),{dimensionStyles:g}=la(e),{themeClasses:b}=Be(e),{rtlClasses:x}=we(),{InputIcon:I}=De(e),o=re(),s=y(()=>e.id||`input-${o}`),{errorMessages:c,isDirty:v,isDisabled:k,isReadonly:B,isPristine:h,isValid:T,isValidating:_,reset:P,resetValidation:i,validate:m,validationClasses:M}=wa(e,"v-input",s),d=y(()=>{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=y(()=>w.value?`${s.value}-messages`:void 0),E=y(()=>({id:s,messagesId:N,isDirty:v,isDisabled:k,isReadonly:B,isPristine:h,isValid:T,isValidating:_,hasDetails:w,reset:P,resetValidation:i,validate:m})),O=V(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),R=V(()=>{if(e.iconColor)return e.iconColor===!0?O.value:e.iconColor});return Y(()=>{var K,q;const S=!!(n.prepend||e.prependIcon),A=!!(n.append||e.appendIcon);return r("div",{class:Q(["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,M.value,e.class]),style:p([g.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:R.value},null)]),n.default&&r("div",{class:"v-input__control"},[(K=n.default)==null?void 0:K.call(n,E.value)]),A&&r("div",{key:"append",class:"v-input__append"},[n.append?n.append(E.value):e.appendIcon&&C(I,{key:"append-icon",name:"append",color:R.value},null)]),w.value&&r("div",{id:N.value,class:"v-input__details",role:"alert","aria-live":"polite"},[C(Ia,{active:f.value,messages:d.value},{message:n.message}),(q=n.details)==null?void 0:q.call(n,E.value)])])}),{reset:P,resetValidation:i,validate:m,isValid:T,errorMessages:c}}}),Fa=$({autocomplete:String},"autocomplete");function Da(e){const t=re(),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 Ma(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 Aa=["color","file","time","date","datetime-local","week","month"],Ra=$({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,...Fa(),...Fe(Ee(),["direction"]),...Re()},"VTextField"),Oa=X()({name:"VTextField",directives:{vIntersect:me},inheritAttrs:!1,props:Ra(),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=de(e,"modelValue",void 0,d=>Object.is(d,-0)?"-0":d),{isFocused:g,focus:b,blur:x}=Ae(e),{onIntersect:I}=Ma(e),o=y(()=>typeof e.counterValue=="function"?e.counterValue(a.value):typeof e.counterValue=="number"?e.counterValue:(a.value??"").toString().length),s=y(()=>{if(u.maxlength)return u.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),c=y(()=>["plain","underlined"].includes(e.variant)),v=H(),k=H(),B=H(),h=Da(e),T=y(()=>Aa.includes(e.type)||e.persistentPlaceholder||g.value||e.active);function _(){h.isSuppressing.value&&h.update(),g.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 m(d,f){d.stopPropagation(),_(),se(()=>{f(),_e(e["onClick:clear"],d)})}function M(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 R=0;w.trimStart().length===f.value.length&&(R=w.length-f.value.length),N!=null&&(f.selectionStart=N-R),E!=null&&(f.selectionEnd=E-R)})}return Y(()=>{const d=!!(l.counter||e.counter!==!1&&e.counter!=null),f=e.hideDetails!==!0&&!!(l.details||d&&(e.persistentCounter||e.hideDetails===!1||g.value)),[w,N]=ma(u),{modelValue:E,...O}=he.filterProps(e),R=be.filterProps(e);return C(he,U({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:g.value}),{...l,default:S=>{let{id:A,isDisabled:K,isDirty:q,isReadonly:F,isValid:L,hasDetails:z,reset:j}=S;return C(be,U({ref:k,onMousedown:P,onClick:i,"onClick:clear":D=>m(D,j),role:e.role},Fe(R,["onClick:clear"]),{id:A.value,labelId:`${A.value}-label`,active:T.value||q.value,dirty:q.value||e.dirty,disabled:K.value,focused:g.value,details:z.value,error:L.value===!1}),{...l,default:D=>{let{props:{class:W,...J},controlRef:le}=D;const ne=r("input",U({ref:ce=>B.value=le.value=ce,value:a.value,onInput:M,autofocus:e.autofocus,readonly:F.value,disabled:K.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":`${A.value}-label`},J,N),null);return r(ie,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),ve(l.default?r("div",{class:Q(W),"data-no-activator":""},[l.default({id:A}),ne]):qe(ne,{class:W}),[[me,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 A;return r(ie,null,[(A=l.details)==null?void 0:A.call(l,S),d&&r(ie,null,[r("span",null,null),C(ba,{active:e.persistentCounter||g.value,value:o.value,max:s.value,disabled:e.disabled},l.counter)])])}:void 0})}),ia({},v,k,B)}});export{Oa as V,Ca as a,he as b,be as c,ba as d,Re as e,Sa as f,Me as g,De as h,Ra as i,Na as j,Ta as k,Da as l,Ee as m,Ma as n,Fa as o,Ae as u}; diff --git a/assets/VTextarea-CCvrj_Hr.js b/assets/VTextarea-CCvrj_Hr.js new file mode 100644 index 0000000..4a51a91 --- /dev/null +++ b/assets/VTextarea-CCvrj_Hr.js @@ -0,0 +1 @@ +import{b as y,w as re,D as se,o as f,A as ce,j as A,k as r,F as B,m as M,R as j,aj as de,n as fe,I as C,e as P,s as ve}from"./vendor-vue-Hxtt57UU.js";import{u as me,l as xe,b as $,c as O,d as he,n as ge,e as we,m as ye,o as Ve}from"./VTextField-jDykTfh9.js";import{ax as W,I as be}from"./index-BvGH7GyK.js";import{j as Fe,q as Ce,a0 as Pe,u as Ie,aB as ke,a as z,z as Re,aE as Ne,p as Se,a5 as He}from"./vendor-vuetify-KiFW-YAv.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(ye(),["direction"]),...we()},"VTextarea"),Te=Fe()({name:"VTextarea",directives:{vIntersect:W},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,q){let{attrs:I,emit:k,slots:o}=q;const l=Ce(e,"modelValue"),{isFocused:v,focus:p,blur:J}=me(e),{onIntersect:K}=ge(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=y(),b=y(),T=ve(""),m=y(),R=y(0),{platform:X}=Pe(),F=xe(e),Y=P(()=>e.persistentPlaceholder||v.value||e.active);function N(){var t;F.isSuppressing.value&&F.update(),m.value!==document.activeElement&&((t=m.value)==null||t.focus()),v.value||p()}function Z(t){N(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),N(),C(()=>{l.value="",Ne(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,h=a.selectionStart,c=a.selectionEnd;l.value=n,C(()=>{let d=0;n.trimStart().length===a.value.length&&(d=n.length-a.value.length),h!=null&&(a.selectionStart=h-d),c!=null&&(a.selectionEnd=c-d)})}const x=y(),V=y(Number(e.rows)),S=P(()=>["plain","underlined"].includes(e.variant));re(()=>{e.autoGrow||(V.value=Number(e.rows))});function s(){C(()=>{if(!m.value)return;if(X.value.firefox){R.value=12;return}const{offsetWidth:t,clientWidth:a}=m.value;R.value=Math.max(0,t-a)}),e.autoGrow&&C(()=>{if(!x.value||!b.value)return;const t=getComputedStyle(x.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")),h=x.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=Re(h??0,g,d);V.value=Math.floor((i-n)/c),T.value=z(i)})}se(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(x,t=>{t?(u=new ResizeObserver(s),u.observe(x.value)):u==null||u.disconnect()}),ce(()=>{u==null||u.disconnect()}),Ie(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=e.hideDetails!==!0&&!!(o.details||t&&(e.persistentCounter||e.hideDetails===!1||v.value)),[n,h]=ke(I),{modelValue:c,...g}=$.filterProps(e),d={...O.filterProps(e),"onClick:clear":te};return A($,M({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?z(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":z(R.value)},e.style]},n,g,{centerAffix:V.value===1&&!S.value,focused:v.value}),{...o,default:i=>{let{id:w,isDisabled:_,isDirty:E,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(O,M({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:w.value,active:Y.value||E.value,labelId:`${w.value}-label`,centerAffix:V.value===1&&!S.value,dirty:E.value||e.dirty,disabled:_.value,focused:v.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:G,...U},controlRef:ie}=ue;return r(B,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),j(r("textarea",M({ref:H=>m.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:F.fieldName.value,autocomplete:F.fieldAutocomplete.value,onFocus:N,onBlur:J,"aria-labelledby":`${w.value}-label`},U,h),null),[[W,{handler:K},null,{once:!0}]]),e.autoGrow&&j(r("textarea",{class:fe([G,"v-textarea__sizer"]),id:`${U.id}-sizer`,"onUpdate:modelValue":H=>l.value=H,ref:x,readonly:!0,"aria-hidden":"true"},null),[[de,l.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:a?i=>{var w;return r(B,null,[(w=o.details)==null?void 0:w.call(o,i),t&&r(B,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,m)}});export{Te as V}; diff --git a/assets/VTextarea-CnWToSV7.js b/assets/VTextarea-CnWToSV7.js deleted file mode 100644 index 6a9a0d4..0000000 --- a/assets/VTextarea-CnWToSV7.js +++ /dev/null @@ -1 +0,0 @@ -import{b as w,w as re,D as se,o as f,A as ce,j as A,k as r,F as B,m as M,R as U,aj as de,n as fe,I as C,e as P,s as ve}from"./vendor-vue-BiQC5iF7.js";import{u as me,l as xe,b as $,c as j,d as ge,n as he,e as we,m as ye,o as Ve}from"./VTextField-BoJUR4Xs.js";import{ax as O,I as be}from"./index-D042plwv.js";import{f as Fe,n as Ce,a0 as Pe,u as Ie,aB as ke,s as z,z as Re,aE as Ne,p as Se,a5 as He}from"./vendor-vuetify-DpmmaPkh.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(ye(),["direction"]),...we()},"VTextarea"),Te=Fe()({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=Ce(e,"modelValue"),{isFocused:y,focus:q,blur:J}=me(e),{onIntersect:K}=he(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(),F=xe(e),Y=P(()=>e.persistentPlaceholder||y.value||e.active);function N(){var t;F.isSuppressing.value&&F.update(),v.value!==document.activeElement&&((t=v.value)==null||t.focus()),y.value||q()}function Z(t){N(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),N(),C(()=>{l.value="",Ne(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));re(()=>{e.autoGrow||(V.value=Number(e.rows))});function s(){C(()=>{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&&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=Re(x??0,g,d);V.value=Math.floor((i-n)/c),T.value=z(i)})}se(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()}),ce(()=>{u==null||u.disconnect()}),Ie(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=!!(t||o.details),[n,x]=ke(I),{modelValue:c,...g}=$.filterProps(e),d={...j.filterProps(e),"onClick:clear":te};return A($,M({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?z(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":z(R.value)},e.style]},n,g,{centerAffix:V.value===1&&!S.value,focused:y.value}),{...o,default:i=>{let{id:h,isDisabled:_,isDirty:E,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(j,M({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:h.value,active:Y.value||E.value,labelId:`${h.value}-label`,centerAffix:V.value===1&&!S.value,dirty:E.value||e.dirty,disabled:_.value,focused:y.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:G,...p},controlRef:ie}=ue;return r(B,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),U(r("textarea",M({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:F.fieldName.value,autocomplete:F.fieldAutocomplete.value,onFocus:N,onBlur:J,"aria-labelledby":`${h.value}-label`},p,x),null),[[O,{handler:K},null,{once:!0}]]),e.autoGrow&&U(r("textarea",{class:fe([G,"v-textarea__sizer"]),id:`${p.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 h;return r(B,null,[(h=o.details)==null?void 0:h.call(o,i),t&&r(B,null,[r("span",null,null),A(ge,{active:e.persistentCounter||y.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/VTimePicker-DQGiZZlL.js b/assets/VTimePicker-D1xrFTMs.js similarity index 98% rename from assets/VTimePicker-DQGiZZlL.js rename to assets/VTimePicker-D1xrFTMs.js index 31c461e..7ed915a 100644 --- a/assets/VTimePicker-DQGiZZlL.js +++ b/assets/VTimePicker-D1xrFTMs.js @@ -1 +1 @@ -import{G as be,H as xe,I as Ne,h as me,K as Ce,M as He}from"./index-D042plwv.js";import{f as p,u as ee,p as Q,aP as Ae,an as ge,n as X,z as ve,a5 as le}from"./vendor-vuetify-DpmmaPkh.js";import{o as L,q as Te,k as A,N as ae,n as z,b as y,e as V,j as $,s as De,a1 as fe,F as Be,I as Ie,D as Fe,m as ne,t as $e}from"./vendor-vue-BiQC5iF7.js";import{V as Ue}from"./VTextField-BoJUR4Xs.js";import{V as ke,m as Re}from"./VPicker-DGiUlCzb.js";const Le=Q({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"),we=p()({name:"VTimePickerClock",props:Le(),emits:{change:e=>!0,input:e=>!0},setup(e,d){let{emit:f}=d;const k=y(null),x=y(null),v=y(void 0),u=y(!1),o=y(null),i=y(null),_=Ae(n=>f("change",n),750),{textColorClasses:N,textColorStyles:S}=be(()=>e.color),{backgroundColorClasses:h,backgroundColorStyles:a}=xe(()=>e.color),b=V(()=>e.max-e.min+1),g=V(()=>e.double?b.value/2:b.value),s=V(()=>360/g.value),T=V(()=>s.value*Math.PI/180),I=V(()=>e.modelValue==null?e.min:e.modelValue),q=V(()=>.62),j=V(()=>{const n=[];for(let c=e.min;c<=e.max;c=c+e.step)n.push(c);return n});L(()=>e.modelValue,n=>{v.value=n});function D(n){v.value!==n&&(v.value=n),f("input",n)}function B(n){return!e.allowedValues||e.allowedValues(n)}function E(n){if(!e.scrollable||e.disabled)return;n.preventDefault();const c=Math.sign(-n.deltaY||1);let w=I.value;do w=w+c,w=(w-e.min+b.value)%b.value+e.min;while(!B(w)&&w!==I.value);w!==e.displayedValue&&D(w),_(w)}function K(n){return e.double&&n-e.min>=g.value}function U(n){return K(n)?q.value:1}function r(n){const c=e.rotate*Math.PI/180;return{x:Math.sin((n-e.min)*T.value+c)*U(n),y:-Math.cos((n-e.min)*T.value+c)*U(n)}}function M(n,c){const w=(Math.round(n/s.value)+(c?g.value:0))%b.value+e.min;return n<360-s.value/2?w:c?e.max-g.value+1:e.min}function R(n){const{x:c,y:w}=r(n);return{left:`${Math.round(50+c*50)}%`,top:`${Math.round(50+w*50)}%`}}function t(n,c){const w=c.x-n.x,W=c.y-n.y;return Math.sqrt(w*w+W*W)}function l(n,c){const w=2*Math.atan2(c.y-n.y-t(n,c),c.x-n.x);return Math.abs(w*180/Math.PI)}function C(n){o.value===null&&(o.value=n),i.value=n,D(n)}function m(n){var de,se;if(n.preventDefault(),!u.value&&n.type!=="click"||!k.value)return;const{width:c,top:w,left:W}=(de=k.value)==null?void 0:de.getBoundingClientRect(),{width:te}=((se=x.value)==null?void 0:se.getBoundingClientRect())??{width:0},{clientX:Me,clientY:Se}="touches"in n?n.touches[0]:n,ie={x:c/2,y:-c/2},oe={x:Me-W,y:w-Se},re=Math.round(l(ie,oe)-e.rotate+360)%360,ce=e.double&&t(ie,oe)<(te+te*q.value)/4,Pe=Math.ceil(15/s.value);let Y;for(let Z=0;ZA("div",{class:z([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:P,onTouchstart:P,onWheel:E,ref:k},[A("div",{class:"v-time-picker-clock__inner",ref:x},[A("div",{class:z([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":K(e.modelValue)},N.value]),style:ae([{transform:`rotate(${e.rotate+s.value*(I.value-e.min)}deg) scaleY(${U(I.value)})`},S.value])},null),j.value.map(n=>{const c=n===I.value;return A("div",{class:z([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":c,"v-time-picker-clock__item--disabled":e.disabled||!B(n)},c&&h.value]),style:ae([R(n),c&&a.value])},[A("span",null,[e.format(n)])])})])]))}}),Ee=Q({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,error:String,showHint:Boolean,readonly:Boolean},"VTimePickerField"),ue=p()({name:"VTimePickerField",props:Ee(),emits:{"update:modelValue":e=>!0},setup(e,d){let{emit:f}=d;const{textColorClasses:k,textColorStyles:x}=be(()=>e.color),v=y(),u=De(!1);function o(i){if(["Backspace","Delete"].includes(i.key)){i.preventDefault();const _=i.target;_.value="",f("update:modelValue",null)}}return ee(()=>$(Ue,{ref:v,_as:"VTimePickerField",autocomplete:"off",class:z(["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?k.value:[]]),style:ae(e.active?x.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??(u.value?"":"--"),"onUpdate:modelValue":i=>f("update:modelValue",i),onKeydown:o,onFocus:()=>u.value=!0,onBlur:()=>u.value=!1},null)),Ne({},v)}});function H(e){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(d,"0")}function ye(e){return e?(e-1)%12+1:12}function J(e,d){return e%12+(d==="pm"?12:0)}function G(e){const d=e.replaceAll(/\D/g,"");return d.length>0?Number(d):null}function Ke(e,d,f){{if(e===23&&d)return{value:0};if(e===0&&!d)return{value:23}}return{value:e+(d?1:-1)}}function ze(e,d){return e===59&&d?0:e===0&&!d?59:e+(d?1:-1)}const Ve=Q({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],max:String,min:String},"time-validation");function _e(e){const d=V(()=>{const v=e.min?Number(e.min.split(":")[0]):0,u=e.max?Number(e.max.split(":")[0]):23;return o=>ou?!1:Array.isArray(e.allowedHours)?e.allowedHours.includes(o):typeof e.allowedHours=="function"?e.allowedHours(o):!0}),f=V(()=>{const[v,u]=e.min?e.min.split(":").map(Number):[0,0],[o,i]=e.max?e.max.split(":").map(Number):[23,59],_=v*60+u,N=o*60+i;return(S,h)=>{if(S!==null){const a=60*S+h;if(a<_||a>N)return!1}return Array.isArray(e.allowedMinutes)?e.allowedMinutes.includes(h):typeof e.allowedMinutes=="function"?e.allowedMinutes(h):!0}}),k=V(()=>{const[v,u,o]=e.min?e.min.split(":").map(Number):[0,0,0],[i,_,N]=e.max?e.max.split(":").map(Number):[23,59,59],S=v*3600+u*60+(o||0),h=i*3600+_*60+(N||0);return(a,b,g)=>{if(a!==null&&b!==null){const s=3600*a+60*b+g;if(sh)return!1}return Array.isArray(e.allowedSeconds)?e.allowedSeconds.includes(g):typeof e.allowedSeconds=="function"?e.allowedSeconds(g):!0}});function x(v,u,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;const N=v==="hour"?d.value:v==="minute"?a=>f.value(i,a):a=>k.value(i,_,a),S=v==="hour"?a=>Ke(a,o).value:a=>ze(a,o),h=v==="hour"?24:60;for(let a=1;a<=h&&(u=S(u),!N(u));a++);return u}return{isAllowedHour:d,isAllowedMinute:f,isAllowedSecond:k,findNextAllowed:x}}const qe=Q({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,...Ve()},"VTimePickerControls"),he=p()({name:"VTimePickerControls",props:qe(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,d){let{emit:f}=d;const{t:k}=ge(),{isAllowedHour:x,isAllowedMinute:v,isAllowedSecond:u,findNextAllowed:o}=_e(e),i=V(()=>e.hour!==null?e.ampm?J(Number(e.hour),e.period??"am"):Number(e.hour):null),_=V(()=>e.minute!==null?Number(e.minute):null),N=V(()=>{var t;return e.hour===null?!0:((t=x.value)==null?void 0:t.call(x,Number(i.value)))??!0}),S=V(()=>{var t;return e.minute===null?!0:((t=v.value)==null?void 0:t.call(v,i.value,Number(e.minute)))??!0}),h=V(()=>{var t;return e.second===null?!0:((t=u.value)==null?void 0:t.call(u,i.value,_.value,Number(e.second)))??!0}),a={in:t=>{if(t==null||isNaN(Number(t)))return null;const l=Number(t);return e.ampm?H(ye(l)):H(l)},out:t=>{if(isNaN(Number(t))||t==null||t==="")return null;const l=typeof t=="string"?G(t):Number(t);return l===null?null:e.ampm?J(l,e.period??"am"):ve(l,0,23)}},b=X(e,"hour",void 0,a.in,a.out),g={in:t=>t!=null&&!isNaN(Number(t))?H(`${t}`):null,out:t=>{if(isNaN(Number(t))||t==null||t==="")return null;const l=typeof t=="string"?G(t):Number(t);return l!==null?ve(l,0,59):null}},s=X(e,"minute",void 0,g.in,g.out),T=X(e,"second",void 0,g.in,g.out);function I(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const l=e.period==="am",C=e.ampm?J(Number(b.value??0),l?"am":"pm"):Number(b.value??0),m=o("hour",C,t.key==="ArrowUp"),P=l&&m>=12||!l&&m<12;e.ampm&&P?(f("update:period",e.period==="am"?"pm":"am"),Ie(()=>b.value=H(m))):b.value=H(m)}function q(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const l=Number(s.value??0),C=o("minute",l,t.key==="ArrowUp",i.value);s.value=H(C)}function j(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const l=Number(T.value??0),C=o("second",l,t.key==="ArrowUp",i.value,_.value);T.value=H(C)}function D(t,l,C){return m=>{if(!m.data)return;const P=m.target,{value:F,selectionStart:O,selectionEnd:n}=P??{};if(G(m.data)===null){m.preventDefault();return}const c=F?F.slice(0,O)+m.data+F.slice(n):m.data;if(c.length>2){if(O===n&&n===0&&m.data.trim().startsWith("0")){m.preventDefault(),P.value=c.trim().substring(0,2),C(P.value),m.data.trim().length===1&&P.setSelectionRange(1,1);return}if(O===n&&n===1&&F.startsWith("0")){m.preventDefault(),P.value=c.trim().substring(0,2),C(P.value);return}const W=e.viewMode==="hour"?e.ampm?12:23:59;if(G(c)>W){m.preventDefault(),P.value=H(String(G(m.data)).substring(0,2)),C(P.value);return}}const w=t(c);l(w)&&m.preventDefault()}}function B(t){f("update:period",t)}const E=y(),K=y(),U=y();L(()=>e.viewMode,(t,l)=>{switch(l){case"hour":E.value.blur();break;case"minute":K.value.blur();break;case"second":U.value.blur();break}});const r=D(a.out,t=>a.in(t)===b.value,t=>b.value=t),M=D(g.out,t=>g.in(t)===s.value,t=>s.value=t),R=D(g.out,t=>g.in(t)===T.value,t=>T.value=t);return ee(()=>A("div",{class:"v-time-picker-controls"},[A("div",{class:z({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[$(ue,{ref:E,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.hour"),showHint:e.inputHints,error:N.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:b.value,"onUpdate:modelValue":t=>b.value=t,onKeydown:I,onBeforeinput:r,onFocus:()=>f("update:viewMode","hour")},null),A("span",{class:"v-time-picker-controls__time__separator"},[fe(":")]),$(ue,{ref:K,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.minute"),showHint:e.inputHints,error:S.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,onKeydown:q,onBeforeinput:M,onFocus:()=>f("update:viewMode","minute")},null),e.useSeconds&&A("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[fe(":")]),e.useSeconds&&A(Be,null,[$(ue,{key:"secondsVal",ref:U,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.second"),showHint:e.inputHints,error:h.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:T.value,"onUpdate:modelValue":t=>T.value=t,onKeydown:j,onBeforeinput:R,onFocus:()=>f("update:viewMode","second")},null)]),e.ampm&&A("div",{class:"v-time-picker-controls__ampm"},[$(me,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:z({"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:k("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?B("am"):null},null),$(me,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:z({"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:k("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?B("pm"):null},null)])])])),{}}}),Oe=Q({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"},...Ve(),...le(Re({title:"$vuetify.timePicker.title"}),["landscape"]),...He()},"VTimePicker"),Je=p()({name:"VTimePicker",props:Oe(),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,d){let{emit:f,slots:k}=d;const{t:x}=ge(),{densityClasses:v}=Ce(e),u=y(null),o=y(null),i=y(null),_=y(null),N=y(null),S=y(null),h=X(e,"period","am"),a=X(e,"viewMode","hour"),b=y(null),g=y(null),s=V(()=>e.format==="ampm"),{isAllowedHour:T,isAllowedMinute:I,isAllowedSecond:q}=_e(e),j=$e(()=>e.modelValue!==null&&u.value===null&&o.value===null&&(!e.useSeconds||i.value===null));function D(){const r=B();r!==null&&r!==e.modelValue&&f("update:modelValue",r),j.value&&f("update:modelValue",null)}L(u,D),L(o,D),L(i,D),L(h,(r,M)=>{u.value==null||r===M||(r==="pm"&&u.value<12?u.value=u.value+12:r==="am"&&u.value>=12&&(u.value=u.value-12))}),L(()=>e.modelValue,r=>E(r)),L(()=>e.useSeconds,(r,M)=>{M&&!r&&a.value==="second"&&(a.value="minute"),!r&&i.value!==null&&(i.value=null)}),Fe(()=>{E(e.modelValue)});function B(){return u.value!=null&&o.value!=null&&(!e.useSeconds||i.value!=null)?`${H(u.value)}:${H(o.value)}`+(e.useSeconds?`:${H(i.value)}`:""):null}function E(r){if(r==null||r==="")u.value=null,o.value=null,i.value=null;else if(r instanceof Date)u.value=r.getHours(),o.value=r.getMinutes(),i.value=r.getSeconds();else{const[M,,R,,t,l]=r.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);u.value=l?J(parseInt(M,10),l):parseInt(M,10),o.value=parseInt(R,10),i.value=parseInt(t||0,10)}h.value=u.value==null||u.value<12?"am":"pm"}function K(r){a.value==="hour"?u.value=s.value?J(r,h.value):r:a.value==="minute"?o.value=r:i.value=r}function U(r){switch(a.value||"hour"){case"hour":f("update:hour",r);break;case"minute":f("update:minute",r);break;case"second":f("update:second",r);break}const M=u.value!==null&&o.value!==null&&(e.useSeconds?i.value!==null:!0);a.value==="hour"?a.value="minute":e.useSeconds&&a.value==="minute"&&(a.value="second"),!(u.value===_.value&&o.value===N.value&&(!e.useSeconds||i.value===S.value)||B()===null)&&(_.value=u.value,N.value=o.value,e.useSeconds&&(S.value=i.value),M&&D())}ee(()=>{const r=le(ke.filterProps(e),["hideHeader"]),M=he.filterProps(e),R=we.filterProps(le(e,["format","modelValue","min","max"])),t=a.value==="hour"?T.value:a.value==="minute"?l=>I.value(u.value,l):l=>q.value(u.value,o.value,l);return $(ke,ne(r,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,v.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var l;return((l=k.title)==null?void 0:l.call(k))??A("div",{class:"v-time-picker__title"},[x(e.title)])},header:()=>$(he,ne(M,{ampm:s.value,hour:u.value,minute:o.value,period:h.value,second:i.value,viewMode:a.value,inputHints:e.variant==="input","onUpdate:hour":l=>u.value=l,"onUpdate:minute":l=>o.value=l,"onUpdate:second":l=>i.value=l,"onUpdate:period":l=>h.value=l,"onUpdate:viewMode":l=>a.value=l,ref:b}),null),default:()=>$(we,ne(R,{allowedValues:t,double:a.value==="hour"&&!s.value,format:a.value==="hour"?s.value?ye:l=>l:l=>H(l,2),max:a.value==="hour"?s.value&&h.value==="am"?11:23:59,min:a.value==="hour"&&s.value&&h.value==="pm"?12:0,size:20,step:a.value==="hour"?1:5,modelValue:a.value==="hour"?u.value:a.value==="minute"?o.value:i.value,onChange:U,onInput:K,ref:g}),null),actions:k.actions})})}});export{Je as V}; +import{G as be,H as xe,I as Ne,h as me,K as Ce,M as He}from"./index-BvGH7GyK.js";import{j as p,u as ee,p as Q,aP as Ae,an as ge,q as X,z as ve,a5 as le}from"./vendor-vuetify-KiFW-YAv.js";import{o as L,q as Te,k as A,N as ae,n as z,b as y,e as V,j as $,s as De,a1 as fe,F as Be,I as Ie,D as Fe,m as ne,t as $e}from"./vendor-vue-Hxtt57UU.js";import{V as Ue}from"./VTextField-jDykTfh9.js";import{V as ke,m as Re}from"./VPicker-DssJ0SqJ.js";const Le=Q({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"),we=p()({name:"VTimePickerClock",props:Le(),emits:{change:e=>!0,input:e=>!0},setup(e,d){let{emit:f}=d;const k=y(null),x=y(null),v=y(void 0),u=y(!1),o=y(null),i=y(null),_=Ae(n=>f("change",n),750),{textColorClasses:N,textColorStyles:S}=be(()=>e.color),{backgroundColorClasses:h,backgroundColorStyles:a}=xe(()=>e.color),b=V(()=>e.max-e.min+1),g=V(()=>e.double?b.value/2:b.value),s=V(()=>360/g.value),T=V(()=>s.value*Math.PI/180),I=V(()=>e.modelValue==null?e.min:e.modelValue),q=V(()=>.62),j=V(()=>{const n=[];for(let c=e.min;c<=e.max;c=c+e.step)n.push(c);return n});L(()=>e.modelValue,n=>{v.value=n});function D(n){v.value!==n&&(v.value=n),f("input",n)}function B(n){return!e.allowedValues||e.allowedValues(n)}function E(n){if(!e.scrollable||e.disabled)return;n.preventDefault();const c=Math.sign(-n.deltaY||1);let w=I.value;do w=w+c,w=(w-e.min+b.value)%b.value+e.min;while(!B(w)&&w!==I.value);w!==e.displayedValue&&D(w),_(w)}function K(n){return e.double&&n-e.min>=g.value}function U(n){return K(n)?q.value:1}function r(n){const c=e.rotate*Math.PI/180;return{x:Math.sin((n-e.min)*T.value+c)*U(n),y:-Math.cos((n-e.min)*T.value+c)*U(n)}}function M(n,c){const w=(Math.round(n/s.value)+(c?g.value:0))%b.value+e.min;return n<360-s.value/2?w:c?e.max-g.value+1:e.min}function R(n){const{x:c,y:w}=r(n);return{left:`${Math.round(50+c*50)}%`,top:`${Math.round(50+w*50)}%`}}function t(n,c){const w=c.x-n.x,W=c.y-n.y;return Math.sqrt(w*w+W*W)}function l(n,c){const w=2*Math.atan2(c.y-n.y-t(n,c),c.x-n.x);return Math.abs(w*180/Math.PI)}function C(n){o.value===null&&(o.value=n),i.value=n,D(n)}function m(n){var de,se;if(n.preventDefault(),!u.value&&n.type!=="click"||!k.value)return;const{width:c,top:w,left:W}=(de=k.value)==null?void 0:de.getBoundingClientRect(),{width:te}=((se=x.value)==null?void 0:se.getBoundingClientRect())??{width:0},{clientX:Me,clientY:Se}="touches"in n?n.touches[0]:n,ie={x:c/2,y:-c/2},oe={x:Me-W,y:w-Se},re=Math.round(l(ie,oe)-e.rotate+360)%360,ce=e.double&&t(ie,oe)<(te+te*q.value)/4,Pe=Math.ceil(15/s.value);let Y;for(let Z=0;ZA("div",{class:z([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:P,onTouchstart:P,onWheel:E,ref:k},[A("div",{class:"v-time-picker-clock__inner",ref:x},[A("div",{class:z([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":K(e.modelValue)},N.value]),style:ae([{transform:`rotate(${e.rotate+s.value*(I.value-e.min)}deg) scaleY(${U(I.value)})`},S.value])},null),j.value.map(n=>{const c=n===I.value;return A("div",{class:z([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":c,"v-time-picker-clock__item--disabled":e.disabled||!B(n)},c&&h.value]),style:ae([R(n),c&&a.value])},[A("span",null,[e.format(n)])])})])]))}}),Ee=Q({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,error:String,showHint:Boolean,readonly:Boolean},"VTimePickerField"),ue=p()({name:"VTimePickerField",props:Ee(),emits:{"update:modelValue":e=>!0},setup(e,d){let{emit:f}=d;const{textColorClasses:k,textColorStyles:x}=be(()=>e.color),v=y(),u=De(!1);function o(i){if(["Backspace","Delete"].includes(i.key)){i.preventDefault();const _=i.target;_.value="",f("update:modelValue",null)}}return ee(()=>$(Ue,{ref:v,_as:"VTimePickerField",autocomplete:"off",class:z(["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?k.value:[]]),style:ae(e.active?x.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??(u.value?"":"--"),"onUpdate:modelValue":i=>f("update:modelValue",i),onKeydown:o,onFocus:()=>u.value=!0,onBlur:()=>u.value=!1},null)),Ne({},v)}});function H(e){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(d,"0")}function ye(e){return e?(e-1)%12+1:12}function J(e,d){return e%12+(d==="pm"?12:0)}function G(e){const d=e.replaceAll(/\D/g,"");return d.length>0?Number(d):null}function Ke(e,d,f){{if(e===23&&d)return{value:0};if(e===0&&!d)return{value:23}}return{value:e+(d?1:-1)}}function ze(e,d){return e===59&&d?0:e===0&&!d?59:e+(d?1:-1)}const Ve=Q({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],max:String,min:String},"time-validation");function _e(e){const d=V(()=>{const v=e.min?Number(e.min.split(":")[0]):0,u=e.max?Number(e.max.split(":")[0]):23;return o=>ou?!1:Array.isArray(e.allowedHours)?e.allowedHours.includes(o):typeof e.allowedHours=="function"?e.allowedHours(o):!0}),f=V(()=>{const[v,u]=e.min?e.min.split(":").map(Number):[0,0],[o,i]=e.max?e.max.split(":").map(Number):[23,59],_=v*60+u,N=o*60+i;return(S,h)=>{if(S!==null){const a=60*S+h;if(a<_||a>N)return!1}return Array.isArray(e.allowedMinutes)?e.allowedMinutes.includes(h):typeof e.allowedMinutes=="function"?e.allowedMinutes(h):!0}}),k=V(()=>{const[v,u,o]=e.min?e.min.split(":").map(Number):[0,0,0],[i,_,N]=e.max?e.max.split(":").map(Number):[23,59,59],S=v*3600+u*60+(o||0),h=i*3600+_*60+(N||0);return(a,b,g)=>{if(a!==null&&b!==null){const s=3600*a+60*b+g;if(sh)return!1}return Array.isArray(e.allowedSeconds)?e.allowedSeconds.includes(g):typeof e.allowedSeconds=="function"?e.allowedSeconds(g):!0}});function x(v,u,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;const N=v==="hour"?d.value:v==="minute"?a=>f.value(i,a):a=>k.value(i,_,a),S=v==="hour"?a=>Ke(a,o).value:a=>ze(a,o),h=v==="hour"?24:60;for(let a=1;a<=h&&(u=S(u),!N(u));a++);return u}return{isAllowedHour:d,isAllowedMinute:f,isAllowedSecond:k,findNextAllowed:x}}const qe=Q({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,...Ve()},"VTimePickerControls"),he=p()({name:"VTimePickerControls",props:qe(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,d){let{emit:f}=d;const{t:k}=ge(),{isAllowedHour:x,isAllowedMinute:v,isAllowedSecond:u,findNextAllowed:o}=_e(e),i=V(()=>e.hour!==null?e.ampm?J(Number(e.hour),e.period??"am"):Number(e.hour):null),_=V(()=>e.minute!==null?Number(e.minute):null),N=V(()=>{var t;return e.hour===null?!0:((t=x.value)==null?void 0:t.call(x,Number(i.value)))??!0}),S=V(()=>{var t;return e.minute===null?!0:((t=v.value)==null?void 0:t.call(v,i.value,Number(e.minute)))??!0}),h=V(()=>{var t;return e.second===null?!0:((t=u.value)==null?void 0:t.call(u,i.value,_.value,Number(e.second)))??!0}),a={in:t=>{if(t==null||isNaN(Number(t)))return null;const l=Number(t);return e.ampm?H(ye(l)):H(l)},out:t=>{if(isNaN(Number(t))||t==null||t==="")return null;const l=typeof t=="string"?G(t):Number(t);return l===null?null:e.ampm?J(l,e.period??"am"):ve(l,0,23)}},b=X(e,"hour",void 0,a.in,a.out),g={in:t=>t!=null&&!isNaN(Number(t))?H(`${t}`):null,out:t=>{if(isNaN(Number(t))||t==null||t==="")return null;const l=typeof t=="string"?G(t):Number(t);return l!==null?ve(l,0,59):null}},s=X(e,"minute",void 0,g.in,g.out),T=X(e,"second",void 0,g.in,g.out);function I(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const l=e.period==="am",C=e.ampm?J(Number(b.value??0),l?"am":"pm"):Number(b.value??0),m=o("hour",C,t.key==="ArrowUp"),P=l&&m>=12||!l&&m<12;e.ampm&&P?(f("update:period",e.period==="am"?"pm":"am"),Ie(()=>b.value=H(m))):b.value=H(m)}function q(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const l=Number(s.value??0),C=o("minute",l,t.key==="ArrowUp",i.value);s.value=H(C)}function j(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const l=Number(T.value??0),C=o("second",l,t.key==="ArrowUp",i.value,_.value);T.value=H(C)}function D(t,l,C){return m=>{if(!m.data)return;const P=m.target,{value:F,selectionStart:O,selectionEnd:n}=P??{};if(G(m.data)===null){m.preventDefault();return}const c=F?F.slice(0,O)+m.data+F.slice(n):m.data;if(c.length>2){if(O===n&&n===0&&m.data.trim().startsWith("0")){m.preventDefault(),P.value=c.trim().substring(0,2),C(P.value),m.data.trim().length===1&&P.setSelectionRange(1,1);return}if(O===n&&n===1&&F.startsWith("0")){m.preventDefault(),P.value=c.trim().substring(0,2),C(P.value);return}const W=e.viewMode==="hour"?e.ampm?12:23:59;if(G(c)>W){m.preventDefault(),P.value=H(String(G(m.data)).substring(0,2)),C(P.value);return}}const w=t(c);l(w)&&m.preventDefault()}}function B(t){f("update:period",t)}const E=y(),K=y(),U=y();L(()=>e.viewMode,(t,l)=>{switch(l){case"hour":E.value.blur();break;case"minute":K.value.blur();break;case"second":U.value.blur();break}});const r=D(a.out,t=>a.in(t)===b.value,t=>b.value=t),M=D(g.out,t=>g.in(t)===s.value,t=>s.value=t),R=D(g.out,t=>g.in(t)===T.value,t=>T.value=t);return ee(()=>A("div",{class:"v-time-picker-controls"},[A("div",{class:z({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[$(ue,{ref:E,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.hour"),showHint:e.inputHints,error:N.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:b.value,"onUpdate:modelValue":t=>b.value=t,onKeydown:I,onBeforeinput:r,onFocus:()=>f("update:viewMode","hour")},null),A("span",{class:"v-time-picker-controls__time__separator"},[fe(":")]),$(ue,{ref:K,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.minute"),showHint:e.inputHints,error:S.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,onKeydown:q,onBeforeinput:M,onFocus:()=>f("update:viewMode","minute")},null),e.useSeconds&&A("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[fe(":")]),e.useSeconds&&A(Be,null,[$(ue,{key:"secondsVal",ref:U,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.second"),showHint:e.inputHints,error:h.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:T.value,"onUpdate:modelValue":t=>T.value=t,onKeydown:j,onBeforeinput:R,onFocus:()=>f("update:viewMode","second")},null)]),e.ampm&&A("div",{class:"v-time-picker-controls__ampm"},[$(me,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:z({"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:k("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?B("am"):null},null),$(me,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:z({"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:k("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?B("pm"):null},null)])])])),{}}}),Oe=Q({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"},...Ve(),...le(Re({title:"$vuetify.timePicker.title"}),["landscape"]),...He()},"VTimePicker"),Je=p()({name:"VTimePicker",props:Oe(),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,d){let{emit:f,slots:k}=d;const{t:x}=ge(),{densityClasses:v}=Ce(e),u=y(null),o=y(null),i=y(null),_=y(null),N=y(null),S=y(null),h=X(e,"period","am"),a=X(e,"viewMode","hour"),b=y(null),g=y(null),s=V(()=>e.format==="ampm"),{isAllowedHour:T,isAllowedMinute:I,isAllowedSecond:q}=_e(e),j=$e(()=>e.modelValue!==null&&u.value===null&&o.value===null&&(!e.useSeconds||i.value===null));function D(){const r=B();r!==null&&r!==e.modelValue&&f("update:modelValue",r),j.value&&f("update:modelValue",null)}L(u,D),L(o,D),L(i,D),L(h,(r,M)=>{u.value==null||r===M||(r==="pm"&&u.value<12?u.value=u.value+12:r==="am"&&u.value>=12&&(u.value=u.value-12))}),L(()=>e.modelValue,r=>E(r)),L(()=>e.useSeconds,(r,M)=>{M&&!r&&a.value==="second"&&(a.value="minute"),!r&&i.value!==null&&(i.value=null)}),Fe(()=>{E(e.modelValue)});function B(){return u.value!=null&&o.value!=null&&(!e.useSeconds||i.value!=null)?`${H(u.value)}:${H(o.value)}`+(e.useSeconds?`:${H(i.value)}`:""):null}function E(r){if(r==null||r==="")u.value=null,o.value=null,i.value=null;else if(r instanceof Date)u.value=r.getHours(),o.value=r.getMinutes(),i.value=r.getSeconds();else{const[M,,R,,t,l]=r.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);u.value=l?J(parseInt(M,10),l):parseInt(M,10),o.value=parseInt(R,10),i.value=parseInt(t||0,10)}h.value=u.value==null||u.value<12?"am":"pm"}function K(r){a.value==="hour"?u.value=s.value?J(r,h.value):r:a.value==="minute"?o.value=r:i.value=r}function U(r){switch(a.value||"hour"){case"hour":f("update:hour",r);break;case"minute":f("update:minute",r);break;case"second":f("update:second",r);break}const M=u.value!==null&&o.value!==null&&(e.useSeconds?i.value!==null:!0);a.value==="hour"?a.value="minute":e.useSeconds&&a.value==="minute"&&(a.value="second"),!(u.value===_.value&&o.value===N.value&&(!e.useSeconds||i.value===S.value)||B()===null)&&(_.value=u.value,N.value=o.value,e.useSeconds&&(S.value=i.value),M&&D())}ee(()=>{const r=le(ke.filterProps(e),["hideHeader"]),M=he.filterProps(e),R=we.filterProps(le(e,["format","modelValue","min","max"])),t=a.value==="hour"?T.value:a.value==="minute"?l=>I.value(u.value,l):l=>q.value(u.value,o.value,l);return $(ke,ne(r,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,v.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var l;return((l=k.title)==null?void 0:l.call(k))??A("div",{class:"v-time-picker__title"},[x(e.title)])},header:()=>$(he,ne(M,{ampm:s.value,hour:u.value,minute:o.value,period:h.value,second:i.value,viewMode:a.value,inputHints:e.variant==="input","onUpdate:hour":l=>u.value=l,"onUpdate:minute":l=>o.value=l,"onUpdate:second":l=>i.value=l,"onUpdate:period":l=>h.value=l,"onUpdate:viewMode":l=>a.value=l,ref:b}),null),default:()=>$(we,ne(R,{allowedValues:t,double:a.value==="hour"&&!s.value,format:a.value==="hour"?s.value?ye:l=>l:l=>H(l,2),max:a.value==="hour"?s.value&&h.value==="am"?11:23:59,min:a.value==="hour"&&s.value&&h.value==="pm"?12:0,size:20,step:a.value==="hour"?1:5,modelValue:a.value==="hour"?u.value:a.value==="minute"?o.value:i.value,onChange:U,onInput:K,ref:g}),null),actions:k.actions})})}});export{Je as V}; diff --git a/assets/VTooltip-DMSltD5A.js b/assets/VTooltip-CvIsrMQ_.js similarity index 67% rename from assets/VTooltip-DMSltD5A.js rename to assets/VTooltip-CvIsrMQ_.js index 13aaa42..43b4560 100644 --- a/assets/VTooltip-DMSltD5A.js +++ b/assets/VTooltip-CvIsrMQ_.js @@ -1 +1 @@ -import{j as m,k as C,R as I,V as R,m as g,E as O,e as P,t as h,b as w}from"./vendor-vue-BiQC5iF7.js";import{H as A,N as D,G as F,O as L,P as $,f as G,b as H,a as M,Q as U,m as W,R as X,T as Y,L as j,D as B,I as E,U as Q}from"./index-D042plwv.js";import{f as N,an as _,t as q,u as T,ao as z,p as x,I as J,m as K,k as Z,n as p,a5 as ee}from"./vendor-vuetify-DpmmaPkh.js";const te=x({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:J,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...Z(),...Y({location:"top end"}),...X(),...W(),...K(),...U({transition:"scale-rotate-transition"}),...M()},"VBadge"),le=N()({name:"VBadge",inheritAttrs:!1,props:te(),setup(e,o){const{backgroundColorClasses:n,backgroundColorStyles:l}=A(()=>e.color),{roundedClasses:v}=D(e),{t:f}=_(),{textColorClasses:r,textColorStyles:u}=F(()=>e.textColor),{themeClasses:b}=q(),{locationStyles:V}=L(e,!0,t=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(t)?Number(e.offsetY??0):["left","right"].includes(t)?Number(e.offsetX??0):0)),{dimensionStyles:y}=H(e);return T(()=>{const t=Number(e.content),c=!e.max||isNaN(t)?e.content:t<=Number(e.max)?t:`${e.max}+`,[i,d]=z(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return m(e.tag,g({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 a,s;return[C("div",{class:"v-badge__wrapper"},[(s=(a=o.slots).default)==null?void 0:s.call(a),m($,{transition:e.transition},{default:()=>{var S,k;return[I(C("span",g({class:["v-badge__badge",b.value,n.value,v.value,r.value],style:[l.value,u.value,y.value,e.inline?{}:V.value],"aria-atomic":"true","aria-label":f(e.label,t),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(k=(S=o.slots).badge)==null?void 0:k.call(S):e.icon?m(G,{icon:e.icon},null):c]),[[R,e.modelValue]])]}})])]}})}),{}}}),ae=x({id:String,interactive:Boolean,text:String,...ee(Q({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"),se=N()({name:"VTooltip",props:ae(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=p(e,"modelValue"),{scopeId:v}=j(),f=O(),r=h(()=>e.id||`v-tooltip-${f}`),u=w(),b=P(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=P(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=h(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),t=P(()=>g({"aria-describedby":r.value},e.activatorProps));return T(()=>{const c=B.filterProps(e);return m(B,g({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:b.value,origin:V.value,role:"tooltip",activatorProps:t.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),a=0;ae.color),{roundedClasses:v}=D(e),{t:b}=Q(),{textColorClasses:r,textColorStyles:u}=F(()=>e.textColor),{themeClasses:f}=_(),{locationStyles:V}=L(e,!0,t=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(t)?Number(e.offsetY??0):["left","right"].includes(t)?Number(e.offsetX??0):0)),{dimensionStyles:y}=G(e);return T(()=>{const t=Number(e.content),c=!e.max||isNaN(t)?e.content:t<=Number(e.max)?t:`${e.max}+`,[i,d]=z(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return m(e.tag,g({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 a,s;return[C("div",{class:"v-badge__wrapper"},[(s=(a=o.slots).default)==null?void 0:s.call(a),m($,{transition:e.transition},{default:()=>{var S,k;return[I(C("span",g({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,t),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(k=(S=o.slots).badge)==null?void 0:k.call(S):e.icon?m(j,{icon:e.icon},null):c]),[[R,e.modelValue]])]}})])]}})}),{}}}),ae=x({id:String,interactive:Boolean,text:String,...ee(E({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"),se=N()({name:"VTooltip",props:ae(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=p(e,"modelValue"),{scopeId:v}=Y(),b=O(),r=h(()=>e.id||`v-tooltip-${b}`),u=w(),f=P(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=P(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=h(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),t=P(()=>g({"aria-describedby":r.value},e.activatorProps));return T(()=>{const c=B.filterProps(e);return m(B,g({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:t.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),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 Ce=z(ee,[["render",de]]);export{Ce as default}; +import{d as h}from"./dataProvider-oxZzGARG.js";import{j as i,N as T,n as _,X as d,_ as u,Z as l,Y as p,a1 as o,S as f,k as B,ae as U,F as y,a2 as J,aa as O,$ as b}from"./vendor-vue-Hxtt57UU.js";import{m as F,_ as z,h as r,f as I,e as c,c as D,g as k,F as M,d as V,p as R,q as C,t as v,l as N,k as A,r as S}from"./index-BvGH7GyK.js";import{V as E,a as P}from"./VAppBarTitle-CA6uS5-F.js";import{V as x}from"./VTextField-jDykTfh9.js";import{j as K,u as j,p as q,n as W}from"./vendor-vuetify-KiFW-YAv.js";import{V as X}from"./VCheckboxBtn-D_PchAC2.js";import{V as Y}from"./VChip-CyVmT8se.js";import{V as Z}from"./VTextarea-CCvrj_Hr.js";import{V as G}from"./VSwitch-DEARo61Y.js";import{V as H}from"./VContainer-Cz0t7N-s.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";const Q=q({start:Boolean,end:Boolean,...W(),...F()},"VListItemAction"),$=K()({name:"VListItemAction",props:Q(),setup(t,e){let{slots:n}=e;return j(()=>i(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 Ce=z(ee,[["render",de]]);export{Ce as default}; diff --git a/assets/_id_-DsDVMSJc.js b/assets/_id_-Bxg-njK4.js similarity index 56% rename from assets/_id_-DsDVMSJc.js rename to assets/_id_-Bxg-njK4.js index 839474f..a841572 100644 --- a/assets/_id_-DsDVMSJc.js +++ b/assets/_id_-Bxg-njK4.js @@ -1 +1 @@ -import f from"./ExamConfigEditor-DnZpqRBI.js";import{_ as u,g as v,h as n}from"./index-D042plwv.js";import{a as _,V as g}from"./VAppBarTitle-D2mhaxek.js";import{V as p}from"./VContainer-MApP1Vz1.js";import{X as m,Y as d,Z as o,j as i,a1 as l,$ as x}from"./vendor-vue-BiQC5iF7.js";import"./dataProvider-CBH3Lw3D.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./VAlert-ZP8s_5ha.js";import"./vendor-vuetify-DpmmaPkh.js";import"./VSkeletonLoader-B7fDa9ID.js";import"./VTooltip-DMSltD5A.js";import"./VChip-nQelUOZI.js";import"./VRow-CH6EAfU_.js";import"./VTextField-BoJUR4Xs.js";import"./VTextarea-CnWToSV7.js";import"./VSwitch-CEojN9Vi.js";import"./VAutocomplete-6kKJB-90.js";import"./VSelect-mQ_XLRnU.js";import"./VMenu-Ps4XkZIl.js";import"./VSheet-BWNNvcYw.js";import"./VCheckboxBtn-64kBGXnq.js";import"./VDatePicker-DBOVlJXM.js";import"./VPicker-DGiUlCzb.js";import"./VTimePicker-DQGiZZlL.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:f},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(r){this.id=r}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var r,t;(t=(r=this.$toast)==null?void 0:r.success)==null||t.call(r,"保存成功")},onError(r){var t,e;(e=(t=this.$toast)==null?void 0:t.error)==null||e.call(t,r||"保存失败")}}};function V(r,t,e,h,a,s){const c=f;return m(),d(p,{class:"pa-0"},{default:o(()=>[i(_,{elevation:"1"},{prepend:o(()=>[i(n,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=C=>r.$router.back())})]),default:o(()=>[i(g,{class:"text-h6"},{default:o(()=>[...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:o(()=>[...t[2]||(t[2]=[l(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),i(p,{class:"py-4",style:{"max-width":"1200px"}},{default:o(()=>[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 M=u(E,[["render",V]]);export{M as default}; +import f from"./ExamConfigEditor-Bp6Liu2C.js";import{_ as u,g as v,h as n}from"./index-BvGH7GyK.js";import{a as _,V as g}from"./VAppBarTitle-CA6uS5-F.js";import{V as p}from"./VContainer-Cz0t7N-s.js";import{X as m,Y as d,Z as o,j as i,a1 as l,$ as x}from"./vendor-vue-Hxtt57UU.js";import"./dataProvider-oxZzGARG.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";import"./VAlert-DdY_LS-W.js";import"./vendor-vuetify-KiFW-YAv.js";import"./VSkeletonLoader-BwErr64p.js";import"./VTooltip-CvIsrMQ_.js";import"./VChip-CyVmT8se.js";import"./VRow-CFI96Yew.js";import"./VTextField-jDykTfh9.js";import"./VTextarea-CCvrj_Hr.js";import"./VSwitch-DEARo61Y.js";import"./VAutocomplete-bB7Ga8jP.js";import"./VSelect-BdFWh1xd.js";import"./VMenu-CEn1TBeC.js";import"./VSheet-PSmzyJOR.js";import"./VCheckboxBtn-D_PchAC2.js";import"./VDatePicker-B6PZcrmX.js";import"./VPicker-DssJ0SqJ.js";import"./VTimePicker-D1xrFTMs.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:f},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(r){this.id=r}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var r,t;(t=(r=this.$toast)==null?void 0:r.success)==null||t.call(r,"保存成功")},onError(r){var t,e;(e=(t=this.$toast)==null?void 0:t.error)==null||e.call(t,r||"保存失败")}}};function V(r,t,e,h,a,s){const c=f;return m(),d(p,{class:"pa-0"},{default:o(()=>[i(_,{elevation:"1"},{prepend:o(()=>[i(n,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=C=>r.$router.back())})]),default:o(()=>[i(g,{class:"text-h6"},{default:o(()=>[...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:o(()=>[...t[2]||(t[2]=[l(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),i(p,{class:"py-4",style:{"max-width":"1200px"}},{default:o(()=>[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 M=u(E,[["render",V]]);export{M as default}; diff --git a/assets/authorize-CN-o-75y.js b/assets/authorize-C7nlDpAi.js similarity index 84% rename from assets/authorize-CN-o-75y.js rename to assets/authorize-C7nlDpAi.js index e552caf..a6affe5 100644 --- a/assets/authorize-CN-o-75y.js +++ b/assets/authorize-C7nlDpAi.js @@ -1 +1 @@ -import{ab as V,ac as g,D as _,X as u,Y as l,Z as e,j as a,a1 as c,S as i,$ as d,k,b as m}from"./vendor-vue-BiQC5iF7.js";import{s as p,n as y,e as C,c as h,d as x,j as S,l as T,g as B,h as N}from"./index-D042plwv.js";import{V as b,a as j}from"./VRow-CH6EAfU_.js";import{V as R}from"./VContainer-MApP1Vz1.js";import"./vendor-vuetify-DpmmaPkh.js";const H={__name:"authorize",setup(w){const f=V(),n=g(),s=m("processing"),r=m("正在验证授权信息...");_(async()=>{try{const t=f.query.token;if(!t){s.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="授权成功!",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(R,{class:"fill-height",fluid:""},{default:e(()=>[a(b,{align:"center",justify:"center"},{default:e(()=>[a(j,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(C,null,{default:e(()=>[a(h,{class:"text-h5"},{default:e(()=>[c(i(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(x,null,{default:e(()=>[s.value==="processing"?(u(),l(S,{key:0,class:"mb-4",color:"primary",indeterminate:""})):d("",!0),k("p",null,i(r.value),1)]),_:1}),s.value!=="processing"?(u(),l(T,{key:0},{default:e(()=>[a(B),a(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}; +import{ab as V,ac as g,D as _,X as u,Y as l,Z as e,j as a,a1 as c,S as i,$ as d,k,b as m}from"./vendor-vue-Hxtt57UU.js";import{s as p,n as y,e as C,c as h,d as x,j as S,l as T,g as B,h as N}from"./index-BvGH7GyK.js";import{V as b,a as j}from"./VRow-CFI96Yew.js";import{V as R}from"./VContainer-Cz0t7N-s.js";import"./vendor-vuetify-KiFW-YAv.js";const H={__name:"authorize",setup(w){const f=V(),n=g(),s=m("processing"),r=m("正在验证授权信息...");_(async()=>{try{const t=f.query.token;if(!t){s.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="授权成功!",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(R,{class:"fill-height",fluid:""},{default:e(()=>[a(b,{align:"center",justify:"center"},{default:e(()=>[a(j,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(C,null,{default:e(()=>[a(h,{class:"text-h5"},{default:e(()=>[c(i(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(x,null,{default:e(()=>[s.value==="processing"?(u(),l(S,{key:0,class:"mb-4",color:"primary",indeterminate:""})):d("",!0),k("p",null,i(r.value),1)]),_:1}),s.value!=="processing"?(u(),l(T,{key:0},{default:e(()=>[a(B),a(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/cses2wakeup-CQ4ZDX6t.js b/assets/cses2wakeup-x4hLziBw.js similarity index 96% rename from assets/cses2wakeup-CQ4ZDX6t.js rename to assets/cses2wakeup-x4hLziBw.js index 32fc120..ae03c21 100644 --- a/assets/cses2wakeup-CQ4ZDX6t.js +++ b/assets/cses2wakeup-x4hLziBw.js @@ -1,4 +1,4 @@ -import{_ as J,e as j,c as N,f as k,E as I,d as P,F as q,h as V,l as Z,g as G}from"./index-D042plwv.js";import{V as R,a as C}from"./VRow-CH6EAfU_.js";import{V as E}from"./VAlert-ZP8s_5ha.js";import{V as U,a as W}from"./VTabs-5YWz7myv.js";import{a as L,V as Y}from"./VTooltip-DMSltD5A.js";import{c as z,d as M,b as X}from"./VTable-DH4Drwun.js";import{V as K}from"./VTextarea-CnWToSV7.js";import{V as Q}from"./VFileInput-BJbMPOVg.js";import{a as $,V as v}from"./VChip-nQelUOZI.js";import{V as O}from"./VSwitch-CEojN9Vi.js";import{V as ee}from"./VTextField-BoJUR4Xs.js";import{V as te}from"./VSkeletonLoader-B7fDa9ID.js";import{V as se}from"./VDataTable-Dnwt1bQQ.js";import{X as u,Y as g,Z as l,j as r,a1 as n,k as c,S as p,$ as b,_ as h,F as D,a2 as x,ad as le,m as B}from"./vendor-vue-BiQC5iF7.js";import{V as re}from"./VCheckbox-BPfe_uCD.js";import{V as ie}from"./VContainer-MApP1Vz1.js";import"./vendor-vuetify-DpmmaPkh.js";import"./VPagination-LhWLJTqu.js";import"./VSelect-mQ_XLRnU.js";import"./VMenu-Ps4XkZIl.js";import"./VSheet-BWNNvcYw.js";import"./VCheckboxBtn-64kBGXnq.js";const F=()=>new Promise((i,e)=>{if(typeof window.jsyaml<"u")return i(window.jsyaml);const d=document.createElement("script");d.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",d.async=!0,d.onload=()=>i(window.jsyaml),d.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(d)});class H{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 o of e)this.subjects.push({name:o.name,simplified_name:o.simplified_name||null,teacher:o.teacher||null,room:o.room||null});const d=this.data.schedules||[];for(const o of d){const t=[];for(const a of o.classes||[])t.push({subject:a.subject,start_time:a.start_time,end_time:a.end_time});this.schedules.push({name:o.name,enable_day:o.enable_day,weeks:o.weeks||"all",classes:t})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const d=this.schedules.find(o=>o.enable_day===e);return d?d.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const ae={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 i=[],e=this.processedData.tableData.filter(o=>this.exportPeriods.includes(o.period)),d={};return e.sort((o,t)=>o.period-t.period).forEach((o,t)=>{d[o.period]=t+1}),e.forEach(o=>{for(let t=1;t<=7;t++){if(!this.selectedDays.includes(t))continue;const a=o[t];if(a)if(Array.isArray(a))a.forEach(s=>{!s||!s.name||i.push({originalPeriod:o.period,period:d[o.period],subject:s.name,day:this.dayNames[t],startTime:s.startTime,endTime:s.endTime,teacher:this.settings.hideTeacherName?"":s.teacher||"",room:this.settings.hideRoom?"":s.room||"",weeks:s.weekType?`1-${this.settings.totalWeeks}${s.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!a.name)continue;i.push({originalPeriod:o.period,period:d[o.period],subject:a.name,day:this.dayNames[t],startTime:a.startTime,endTime:a.endTime,teacher:this.settings.hideTeacherName?"":a.teacher||"",room:this.settings.hideRoom?"":a.room||"",weeks:a.weekType?`1-${this.settings.totalWeeks}${a.weekType}`:`1-${this.settings.totalWeeks}`})}}}),i.sort((o,t)=>{if(o.period!==t.period)return o.period-t.period;const a={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return a[o.day]-a[t.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const i=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&i.push(e);return i}},async mounted(){try{await F(),this.yamlLibLoaded=!0}catch(i){this.error=i.message}this.$watch("daysWithSchedule",i=>{i.length>0&&!this.activeDay&&(this.activeDay=i[0])})},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const i=this.file.name.toLowerCase();if(i.endsWith(".json")||i.endsWith(".js"))this.formatMode="json";else if((i.endsWith(".yml")||i.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await F(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async d=>{try{this.jsonText=d.target.result,await this.processInput()}catch(o){this.error=`文件读取失败: ${o.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 i;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const d=this.parseYaml(this.jsonText);i=new H(d).toCsesData()}else i=JSON.parse(this.jsonText)}catch(d){throw new Error(`格式解析错误: ${d.message}`)}if(!this.validateCsesFormat(i))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(i);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(d=>d.period))}catch(i){this.error="数据处理失败:"+i.message,console.error(i)}finally{this.loading=!1}},validateCsesFormat(i){return i instanceof H?i.version===1&&Array.isArray(i.subjects)&&Array.isArray(i.schedules):!(!i||typeof i!="object"||i.version!==1||!Array.isArray(i.subjects)||!Array.isArray(i.schedules))},processCsesData(i){const{schedules:e,subjects:d}=i,o=Object.fromEntries(d.map(s=>[s.name,s])),t=[];let a=0;e.forEach(s=>{s.classes&&s.classes.length>a&&(a=s.classes.length)});for(let s=1;s<=a;s++)t.push({period:s,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(s=>{const m=s.enable_day;if(!m||m<1||m>7)return;let f="";s.weeks==="odd"?f="单":s.weeks==="even"&&(f="双"),s.classes.forEach((y,T)=>{if(!y.subject)return;const w=T+1;if(w>a)return;const _=o[y.subject]||{},A={name:y.subject,teacher:_.teacher||"",room:_.room||"",period:w,startTime:y.start_time,endTime:y.end_time,day:m,weekType:f},S=t[w-1][m];S?f&&S.weekType&&f!==S.weekType?(Array.isArray(t[w-1][m])||(t[w-1][m]=[S]),t[w-1][m].push(A)):f===S.weekType?t[w-1][m]=A:f||(t[w-1][m]=A):t[w-1][m]=A})}),{tableData:t,originalData:i}},updateSelectedPeriods(i){this.exportPeriods=[],i&&i.length>0&&(this.exportPeriods=[...new Set(i.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var t;if(!((t=this.processedData)!=null&&t.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let i=`课程名称,星期,开始节数,结束节数,老师,地点,周数 +import{_ as J,e as j,c as N,f as k,E as I,d as P,F as q,h as V,l as Z,g as G}from"./index-BvGH7GyK.js";import{V as R,a as C}from"./VRow-CFI96Yew.js";import{V as E}from"./VAlert-DdY_LS-W.js";import{V as U,a as W}from"./VTabs-DTqS4Kso.js";import{a as L,V as Y}from"./VTooltip-CvIsrMQ_.js";import{c as z,d as M,b as X}from"./VTable-C8JDgtcy.js";import{V as K}from"./VTextarea-CCvrj_Hr.js";import{V as Q}from"./VFileInput-Ch1sS0Fm.js";import{a as $,V as v}from"./VChip-CyVmT8se.js";import{V as O}from"./VSwitch-DEARo61Y.js";import{V as ee}from"./VTextField-jDykTfh9.js";import{V as te}from"./VSkeletonLoader-BwErr64p.js";import{V as se}from"./VDataTable-C0z5sFU7.js";import{X as u,Y as g,Z as l,j as r,a1 as n,k as c,S as p,$ as b,_ as h,F as D,a2 as x,ad as le,m as B}from"./vendor-vue-Hxtt57UU.js";import{V as re}from"./VCheckbox-VrkfbZWi.js";import{V as ie}from"./VContainer-Cz0t7N-s.js";import"./vendor-vuetify-KiFW-YAv.js";import"./VPagination-DC48wzod.js";import"./VSelect-BdFWh1xd.js";import"./VMenu-CEn1TBeC.js";import"./VSheet-PSmzyJOR.js";import"./VCheckboxBtn-D_PchAC2.js";const F=()=>new Promise((i,e)=>{if(typeof window.jsyaml<"u")return i(window.jsyaml);const d=document.createElement("script");d.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",d.async=!0,d.onload=()=>i(window.jsyaml),d.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(d)});class H{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 o of e)this.subjects.push({name:o.name,simplified_name:o.simplified_name||null,teacher:o.teacher||null,room:o.room||null});const d=this.data.schedules||[];for(const o of d){const t=[];for(const a of o.classes||[])t.push({subject:a.subject,start_time:a.start_time,end_time:a.end_time});this.schedules.push({name:o.name,enable_day:o.enable_day,weeks:o.weeks||"all",classes:t})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const d=this.schedules.find(o=>o.enable_day===e);return d?d.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const ae={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 i=[],e=this.processedData.tableData.filter(o=>this.exportPeriods.includes(o.period)),d={};return e.sort((o,t)=>o.period-t.period).forEach((o,t)=>{d[o.period]=t+1}),e.forEach(o=>{for(let t=1;t<=7;t++){if(!this.selectedDays.includes(t))continue;const a=o[t];if(a)if(Array.isArray(a))a.forEach(s=>{!s||!s.name||i.push({originalPeriod:o.period,period:d[o.period],subject:s.name,day:this.dayNames[t],startTime:s.startTime,endTime:s.endTime,teacher:this.settings.hideTeacherName?"":s.teacher||"",room:this.settings.hideRoom?"":s.room||"",weeks:s.weekType?`1-${this.settings.totalWeeks}${s.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!a.name)continue;i.push({originalPeriod:o.period,period:d[o.period],subject:a.name,day:this.dayNames[t],startTime:a.startTime,endTime:a.endTime,teacher:this.settings.hideTeacherName?"":a.teacher||"",room:this.settings.hideRoom?"":a.room||"",weeks:a.weekType?`1-${this.settings.totalWeeks}${a.weekType}`:`1-${this.settings.totalWeeks}`})}}}),i.sort((o,t)=>{if(o.period!==t.period)return o.period-t.period;const a={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return a[o.day]-a[t.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const i=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&i.push(e);return i}},async mounted(){try{await F(),this.yamlLibLoaded=!0}catch(i){this.error=i.message}this.$watch("daysWithSchedule",i=>{i.length>0&&!this.activeDay&&(this.activeDay=i[0])})},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const i=this.file.name.toLowerCase();if(i.endsWith(".json")||i.endsWith(".js"))this.formatMode="json";else if((i.endsWith(".yml")||i.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await F(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async d=>{try{this.jsonText=d.target.result,await this.processInput()}catch(o){this.error=`文件读取失败: ${o.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 i;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const d=this.parseYaml(this.jsonText);i=new H(d).toCsesData()}else i=JSON.parse(this.jsonText)}catch(d){throw new Error(`格式解析错误: ${d.message}`)}if(!this.validateCsesFormat(i))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(i);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(d=>d.period))}catch(i){this.error="数据处理失败:"+i.message,console.error(i)}finally{this.loading=!1}},validateCsesFormat(i){return i instanceof H?i.version===1&&Array.isArray(i.subjects)&&Array.isArray(i.schedules):!(!i||typeof i!="object"||i.version!==1||!Array.isArray(i.subjects)||!Array.isArray(i.schedules))},processCsesData(i){const{schedules:e,subjects:d}=i,o=Object.fromEntries(d.map(s=>[s.name,s])),t=[];let a=0;e.forEach(s=>{s.classes&&s.classes.length>a&&(a=s.classes.length)});for(let s=1;s<=a;s++)t.push({period:s,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(s=>{const m=s.enable_day;if(!m||m<1||m>7)return;let f="";s.weeks==="odd"?f="单":s.weeks==="even"&&(f="双"),s.classes.forEach((y,T)=>{if(!y.subject)return;const w=T+1;if(w>a)return;const _=o[y.subject]||{},A={name:y.subject,teacher:_.teacher||"",room:_.room||"",period:w,startTime:y.start_time,endTime:y.end_time,day:m,weekType:f},S=t[w-1][m];S?f&&S.weekType&&f!==S.weekType?(Array.isArray(t[w-1][m])||(t[w-1][m]=[S]),t[w-1][m].push(A)):f===S.weekType?t[w-1][m]=A:f||(t[w-1][m]=A):t[w-1][m]=A})}),{tableData:t,originalData:i}},updateSelectedPeriods(i){this.exportPeriods=[],i&&i.length>0&&(this.exportPeriods=[...new Set(i.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var t;if(!((t=this.processedData)!=null&&t.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let i=`课程名称,星期,开始节数,结束节数,老师,地点,周数 `;for(const a of this.daysWithSchedule){const s=this.groupByPeriod(this.getDaySchedule(a));for(const m of s)for(const f of m.items){const y={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[f.day],T=this.settings.hideTeacherName?"":f.teacher||"",w=this.settings.hideRoom?"":f.room||"";i+=`${f.subject},${y},${f.period},${f.period},${T},${w},${f.weeks} `}}const e="\uFEFF",d=new Blob([e+i],{type:"text/csv;charset=utf-8"}),o=document.createElement("a");o.href=URL.createObjectURL(d),o.download=`course_schedule_${this.totalClassHours}课时.csv`,o.click(),URL.revokeObjectURL(o.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const i=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` `);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): diff --git a/assets/dataProvider-CBH3Lw3D.js b/assets/dataProvider-oxZzGARG.js similarity index 93% rename from assets/dataProvider-CBH3Lw3D.js rename to assets/dataProvider-oxZzGARG.js index 5fa3c0c..69565f0 100644 --- a/assets/dataProvider-CBH3Lw3D.js +++ b/assets/dataProvider-oxZzGARG.js @@ -1 +1 @@ -import{a as ge,g as he}from"./vendor-utils-2lvrqI0-.js";import{n as d,ai as Se,s as B}from"./index-D042plwv.js";import{i as j,t as x,g as q}from"./serverRotation-CbFrj566.js";const J=(e,t)=>t.some(r=>e instanceof r);let Y,ee;function pe(){return Y||(Y=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function De(){return ee||(ee=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const M=new WeakMap,P=new WeakMap,K=new WeakMap;function be(e){const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("success",a),e.removeEventListener("error",o)},a=()=>{r(O(e.result)),s()},o=()=>{n(e.error),s()};e.addEventListener("success",a),e.addEventListener("error",o)});return K.set(t,e),t}function ke(e){if(M.has(e))return;const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",o),e.removeEventListener("abort",o)},a=()=>{r(),s()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",a),e.addEventListener("error",o),e.addEventListener("abort",o)});M.set(e,t)}let W={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return M.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return O(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 ie(e){W=e(W)}function Ee(e){return De().includes(e)?function(...t){return e.apply(H(this),t),O(this.request)}:function(...t){return O(e.apply(H(this),t))}}function Ie(e){return typeof e=="function"?Ee(e):(e instanceof IDBTransaction&&ke(e),J(e,pe())?new Proxy(e,W):e)}function O(e){if(e instanceof IDBRequest)return be(e);if(P.has(e))return P.get(e);const t=Ie(e);return t!==e&&(P.set(e,t),K.set(t,e)),t}const H=e=>K.get(e);function ue(e,t,{blocked:r,upgrade:n,blocking:s,terminated:a}={}){const o=indexedDB.open(e,t),i=O(o);return n&&o.addEventListener("upgradeneeded",c=>{n(O(o.result),c.oldVersion,c.newVersion,O(o.transaction),c)}),r&&o.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),i.then(c=>{a&&c.addEventListener("close",()=>a()),s&&c.addEventListener("versionchange",u=>s(u.oldVersion,u.newVersion,u))}).catch(()=>{}),i}const Ne=["get","getKey","getAll","getAllKeys","count"],Oe=["put","add","delete","clear"],F=new Map;function te(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(F.get(t))return F.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,s=Oe.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(s||Ne.includes(r)))return;const a=async function(o,...i){const c=this.transaction(o,s?"readwrite":"readonly");let u=c.store;return n&&(u=u.index(i.shift())),(await Promise.all([u[r](...i),s&&c.done]))[0]};return F.set(t,a),a}ie(e=>({...e,get:(t,r,n)=>te(t,r)||e.get(t,r,n),has:(t,r)=>!!te(t,r)||e.has(t,r)}));const Te=["continue","continuePrimaryKey","advance"],re={},z=new WeakMap,de=new WeakMap,Re={get(e,t){if(!Te.includes(t))return e[t];let r=re[t];return r||(r=re[t]=function(...n){z.set(this,de.get(this)[t](...n))}),r}};async function*_e(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const r=new Proxy(t,Re);for(de.set(r,t),K.set(r,H(t));t;)yield r,t=await(z.get(r)||t.continue()),z.delete(r)}function ne(e,t){return t===Symbol.asyncIterator&&J(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&J(e,[IDBIndex,IDBObjectStore])}ie(e=>({...e,get(t,r,n){return ne(t,r)?_e:e.get(t,r,n)},has(t,r){return ne(t,r)||e.has(t,r)}}));const je="ClassworksDB",xe=3,E=async()=>ue(je,xe,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system"),e.objectStoreNames.contains("syncQueue")||e.createObjectStore("syncQueue")}}),S={async loadData(e){try{const r=await(await E()).get("kv",e);return r?v(JSON.parse(r)):f("数据不存在","NOT_FOUND")}catch(t){return f("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await E()).put("kv",JSON.stringify(t),e),v(!0)}catch(r){return f("保存本地数据失败:"+r)}},async loadKeys(e={}){try{const s=await(await E()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:a="asc",limit:o=100,skip:i=0}=e,c=s.sort((h,y)=>a==="desc"?y.localeCompare(h):h.localeCompare(y)),u=c.length,l=c.slice(i,i+o),g={keys:l,total_rows:u,current_page:{limit:o,skip:i,count:l.length},load_more:null};return v(g)}catch(t){return f("获取本地键名列表失败:"+t.message)}},async addToSyncQueue(e){try{return await(await E()).put("syncQueue",JSON.stringify(e),e.key),v(!0)}catch(t){return f("添加同步队列失败:"+t)}},async getSyncQueue(){try{const e=await E(),t=await e.getAllKeys("syncQueue"),r=[];for(const n of t){const s=await e.get("syncQueue",n);s&&r.push(JSON.parse(s))}return r.sort((n,s)=>n.timestamp-s.timestamp),v(r)}catch(e){return f("获取同步队列失败:"+e)}},async removeFromSyncQueue(e){try{return await(await E()).delete("syncQueue",e),v(!0)}catch(t){return f("删除同步队列项失败:"+t)}},async deleteByPrefix(e){try{const r=(await E()).transaction("kv","readwrite"),n=r.objectStore("kv"),s=await n.getAllKeys();let a=0;for(const o of s)o.startsWith(e)&&(await n.delete(o),a++);return await r.done,a}catch(t){return console.warn("kvLocalProvider.deleteByPrefix 失败:",t),0}}};function Le(e,t){return"headers"in e&&typeof e.headers=="object"&&!Array.isArray(e.headers)?U(e.headers):"getHeaders"in e&&typeof e.getHeaders=="function"?U(e.getHeaders()):U(e)}function U(e,t){const r=D(e,"ratelimit");if(r)return $e(r);let n;if(D(e,"ratelimit-remaining"))n="ratelimit-";else if(D(e,"x-ratelimit-remaining"))n="x-ratelimit-";else if(D(e,"x-rate-limit-remaining"))n="x-rate-limit-";else return;const s=p(D(e,`${n}limit`)),a=p(D(e,`${n}used`))||p(D(e,`${n}observed`)),o=p(D(e,`${n}remaining`));let i;const c=D(e,`${n}reset`);switch(void 0){case"date":{i=fe(c??"");break}case"unix":{i=G(c??"");break}case"seconds":{i=le(c??"");break}case"milliseconds":{i=Be(c??"");break}default:if(c)i=Fe(c);else{const l=D(e,"retry-after");l&&(i=G(l))}}return{limit:Number.isNaN(s)?a+o:s,used:Number.isNaN(a)?s-o:a,remaining:o,reset:i}}var Ae=/limit\s*=\s*(\d+)/i,Ce=/remaining\s*=\s*(\d+)/i,Ke=/reset\s*=\s*(\d+)/i;function $e(e){var t,r,n;const s=p((t=Ae.exec(e))==null?void 0:t[1]),a=p((r=Ce.exec(e))==null?void 0:r[1]),o=p((n=Ke.exec(e))==null?void 0:n[1]),i=X(o);return{limit:s,used:s-a,remaining:a,reset:i}}function X(e){const t=new Date;return t.setSeconds(t.getSeconds()+e),t}function p(e){return typeof e=="number"?e:Number.parseInt(e??"",10)}function D(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 fe(e){return new Date(e)}function G(e){const t=p(e);return new Date(t*1e3)}function le(e){const t=p(e);return X(t)}function Be(e){const t=p(e);return X(t/1e3)}var Pe=/[a-z]/i;function Fe(e){if(Pe.test(e))return fe(e);const t=p(e);return t&&t>1e9?G(t):le(t)}const w=ge.create({timeout:1e4});w.interceptors.request.use(e=>{const t=d("server.provider");if(t==="kv-server"||t==="classworkscloud"){const r=d("server.kvToken");if(r)e.headers["x-app-token"]=r;else{const n=d("server.siteKey");n&&(e.headers["x-site-key"]=he.encode(n))}}return e},e=>(console.log(e),Promise.reject(e)));w.interceptors.response.use(e=>e,e=>{if(e.response&&e.response.status===429)try{const t=Le(e.response);t&&Se.show(t.reset,e.config.url,e.config.method.toUpperCase())}catch(t){console.error("解析限速头信息失败:",t)}return Promise.reject(e)});const nt=Object.freeze(Object.defineProperty({__proto__:null,default:w},Symbol.toStringTag,{value:"Module"})),b=()=>{const e={Accept:"application/json"},t=d("server.kvToken"),r=d("server.siteKey");return t?e["x-app-token"]=t:r&&(e["x-site-key"]=r),e},I={async loadNamespaceInfo(){var e,t;try{if(j())return await x(async s=>{const a=await w.get(`${s}/kv/_info`,{headers:b()});return v(a.data)});const r=d("server.domain"),n=await w.get(`${r}/kv/_info`,{headers:b()});return v(n.data)}catch(r){return console.error("获取命名空间信息失败:",r),f(((t=(e=r.response)==null?void 0:e.data)==null?void 0:t.message)||"获取命名空间信息失败","NAMESPACE_ERROR")}},async updateNamespaceInfo(e){var t,r;try{if(j())return await x(async a=>await w.put(`${a}/kv/_info`,e,{headers:b()}));const n=d("server.domain");return await w.put(`${n}/kv/_info`,e,{headers:b()})}catch(n){return f(((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(j())return await x(async o=>{const i=await w.get(`${o}/kv/${e}`,{headers:b()});return v(i.data)});const s=d("server.domain"),a=await w.get(`${s}/kv/${e}`,{headers:b()});return v(a.data)}catch(s){return((t=s.response)==null?void 0:t.status)===404?f("数据不存在","NOT_FOUND"):(console.log(s),f(((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(j())return await x(async a=>(await w.post(`${a}/kv/${e}`,t,{headers:b()}),v(!0)));const s=d("server.domain");return await w.post(`${s}/kv/${e}`,t,{headers:b()}),v(!0)}catch(s){return console.log(s),f(((n=(r=s.response)==null?void 0:r.data)==null?void 0:n.message)||"保存失败","SAVE_ERROR")}},async loadKeys(e={}){var t,r,n,s,a;try{const{sortBy:o="key",sortDir:i="asc",limit:c=100,skip:u=0}=e,l=new URLSearchParams({sortBy:o,sortDir:i,limit:c.toString(),skip:u.toString()});if(j())return await x(async y=>{const m=await w.get(`${y}/kv/_keys?${l}`,{headers:b()});return v(m.data)});const g=d("server.domain"),h=await w.get(`${g}/kv/_keys?${l}`,{headers:b()});return v(h.data)}catch(o){return((t=o.response)==null?void 0:t.status)===404?f("命名空间不存在","NOT_FOUND"):((r=o.response)==null?void 0:r.status)===403?f("无权限访问此命名空间","PERMISSION_DENIED"):((n=o.response)==null?void 0:n.status)===401?f("认证失败","UNAUTHORIZED"):(console.log(o),f(((a=(s=o.response)==null?void 0:s.data)==null?void 0:a.message)||"获取键名列表失败","NETWORK_ERROR"))}}};function T(e){return{vc:{[e]:0},ts:0,deviceId:e,_fieldTs:{},lastSyncedData:null,lastSyncedTs:0,lastSyncedVc:{[e]:0}}}function se(e,t){const r={...e.vc};return r[t]=(r[t]||0)+1,{...e,vc:r,ts:Date.now(),deviceId:t}}function Ue(e,t){const r={...e};for(const[n,s]of Object.entries(t))r[n]=Math.max(r[n]||0,s);return r}function R(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ve(e,t){if(!e&&!t)return{};if(!e)return{...t};if(!t)return{...e};const r={...e};for(const[n,s]of Object.entries(t)){const a=r[n];(!a||s.ts>a.ts||s.ts===a.ts&&s.deviceIdR(r)?r.id:JSON.stringify(r);if("name"in t)return r=>R(r)?r.name:JSON.stringify(r);if("key"in t)return r=>R(r)?r.key:JSON.stringify(r)}return null}function Qe(e,t,r){const n=ae(e)||ae(r)||(c=>JSON.stringify(c)),s=new Map,a=new Map;e.forEach(c=>{const u=n(c);s.has(u)||s.set(u,c)}),r.forEach(c=>{const u=n(c);a.has(u)||a.set(u,c)});const o=[],i=new Set;for(const[c,u]of s)i.has(c)||(i.add(c),o.push(u));for(const[c,u]of a)i.has(c)||(i.add(c),o.push(u));return o}function Je(e,t,r,n){var o,i;const s={},a=new Set([...Object.keys(e),...Object.keys(r)]);for(const c of a){const u=c in e,l=c in r;if(u&&!l)s[c]=e[c];else if(!u&&l)s[c]=r[c];else{const g=((o=t._fieldTs)==null?void 0:o[c])||{ts:t.ts,deviceId:t.deviceId},h=((i=n._fieldTs)==null?void 0:i[c])||{ts:n.ts,deviceId:n.deviceId};g.ts>h.ts?s[c]=e[c]:h.ts>g.ts?s[c]=r[c]:s[c]=g.deviceId<=h.deviceId?e[c]:r[c]}}return s}function Me(e,t,r,n){const s=Ue(t.vc||{},n.vc||{}),a=Math.max(t.ts||0,n.ts||0),o=Ve(t._fieldTs,n._fieldTs);let i;return R(e)&&R(r)?i=Je(e,t,r,n):Array.isArray(e)&&Array.isArray(r)?i=Qe(e,t,r):typeof e==typeof r&&typeof e!="object"?(t.ts||0)>(n.ts||0)?i=e:(n.ts||0)>(t.ts||0)?i=r:i=(t.deviceId||"")<=(n.deviceId||"")?e:r:i=(t.ts||0)>=(n.ts||0)?e:r,{data:i,meta:{vc:s,ts:a,deviceId:a===(t.ts||0)?t.deviceId:n.deviceId,_fieldTs:o,lastSyncedData:n.lastSyncedData??t.lastSyncedData??null,lastSyncedTs:Math.max(t.lastSyncedTs||0,n.lastSyncedTs||0),lastSyncedVc:s}}}const $="_cache:",We="ClassworksDB",ye=7*24*60*60*1e3,He=[{pattern:"*",ttl:ye}];async function Z(){return ue(We,void 0,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system"),e.objectStoreNames.contains("syncQueue")||e.createObjectStore("syncQueue")}})}function ze(e,t){const r="^"+e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")+"$";return new RegExp(r).test(t)}function Ge(e){return e&&typeof e=="object"&&!("meta"in e)&&!("cacheTimestamp"in e)}function me(e){return e&&typeof e=="object"&&"meta"in e&&"cacheTimestamp"in e}function ve(e){for(const{pattern:t,ttl:r}of He)if(ze(t,e))return r;return ye}async function A(e){try{const t=await Z(),r=$+e,n=await t.get("kv",r);if(!n)return null;let s;try{s=typeof n=="string"?JSON.parse(n):n}catch{return null}if(Ge(s)){const a=d("device.uuid")||"unknown",o=T(a);o.ts=Date.now(),o.lastSyncedData=s;const i={data:s,meta:o,cacheTimestamp:Date.now(),cacheTTL:ve(e)};return await t.put("kv",JSON.stringify(i),r),{data:i.data,meta:i.meta}}return me(s)?Date.now()-s.cacheTimestamp>s.cacheTTL?(await t.delete("kv",r),null):{data:s.data,meta:s.meta}:null}catch(t){return console.warn("cacheManager.getCacheEntry 失败:",t),null}}async function N(e,t,r){try{const n=await Z(),s=$+e,a={data:t,meta:r,cacheTimestamp:Date.now(),cacheTTL:ve(e)};return await n.put("kv",JSON.stringify(a),s),!0}catch(n){return console.warn("cacheManager.setCacheEntry 失败:",n),!1}}async function we(){let e=0;try{const r=(await Z()).transaction("kv","readwrite"),n=r.objectStore("kv"),s=await n.getAllKeys();for(const a of s){if(!a.startsWith($))continue;const o=await n.get(a);if(!o)continue;let i;try{i=typeof o=="string"?JSON.parse(o):o}catch{continue}me(i)&&Date.now()-i.cacheTimestamp>i.cacheTTL&&(await n.delete(a),e++)}await r.done}catch(t){console.warn("cacheManager.cleanupExpiredEntries 失败:",t)}return e}let _=null,V=!1;async function C(e={}){var n;if(V)return{synced:0,failed:0};V=!0;let t=0,r=0;try{const s=await S.getSyncQueue();if(s.success===!1||!Array.isArray(s)||s.length===0)return{synced:0,failed:0};for(const a of s)try{const o=await I.saveData(a.key,a.data);if(o.success!==!1){if(await S.removeFromSyncQueue(a.key),a.meta){const i=d("device.uuid")||"unknown",c=await A(a.key);if(c){const u={...c.meta};u.lastSyncedData=a.data,u.lastSyncedTs=Date.now(),u.lastSyncedVc={...u.vc},await N(a.key,c.data,u)}else{const u=a.meta||T(i);u.lastSyncedData=a.data,u.lastSyncedTs=Date.now(),u.lastSyncedVc={...u.vc},await N(a.key,a.data,u)}}t++}else r++,e.silent||console.warn(`smartSync: 跳过 key=${a.key}, 服务器错误:`,(n=o.error)==null?void 0:n.message)}catch{r++;break}t>0&&we()}finally{V=!1}return!e.silent&&t>0&&console.log(`smartSync: 同步完成,成功 ${t} 条,失败 ${r} 条`),{synced:t,failed:r}}async function Xe(){try{const e=await S.getSyncQueue();if(e.success===!1||!Array.isArray(e)||e.length===0)return;C({silent:!0})}catch{}}function Ze(){_||(_=()=>C(),window.addEventListener("online",_),we(),navigator.onLine&&C())}function qe(){_&&(window.removeEventListener("online",_),_=null)}const v=e=>e,f=(e,t="UNKNOWN_ERROR")=>({success:!1,error:{code:t,message:e}});function Ye(e){return e&&e.success===!1}function oe(e){var t;return Ye(e)&&((t=e.error)==null?void 0:t.code)==="NETWORK_ERROR"}function ce(){return d("device.uuid")||"unknown"}function L(e){return e&&typeof e=="object"&&!Array.isArray(e)&&"value"in e?e.value:e}const st={init:Ze,destroy:qe,flushNow:C};function Q(){const e=d("server.provider");return e==="kv-server"||e==="classworkscloud"}const at={loadData:async e=>{if(!Q())return S.loadData(e);const t=await I.loadData(e),r=L(t);if(!oe(r)){if(r.success!==!1){const a=await A(e),o=ce();if(a){const i=L(a.data),c=JSON.stringify(i),u=JSON.stringify(r),l=JSON.stringify(L(a.meta.lastSyncedData)??null);if(u===c)return i;if(u!==l){const g=a.meta.vc||{},h=a.meta.lastSyncedVc||{};if((g[o]||0)>(h[o]||0)){const m=T("server");m.ts=Date.now();const k=Me(i,a.meta,r,m);return await N(e,k.data,k.meta),I.saveData(e,k.data),k.data}else{const m=T(o);return m.ts=Date.now(),m.lastSyncedData=r,m.lastSyncedTs=Date.now(),m.lastSyncedVc={...m.vc},await N(e,r,m),r}}else return i}else{const i=T(o);return i.ts=Date.now(),i.lastSyncedData=r,i.lastSyncedTs=Date.now(),i.lastSyncedVc={...i.vc},await N(e,r,i),r}}return r}const n=await A(e);if(n){const a=L(n.data);return typeof a=="object"&&a!==null&&(a.fromCache=!0),a}const s=await S.loadData($+e);return s.success!==!1?{...s,fromCache:!0}:r},saveData:async(e,t)=>{if(!Q())return S.saveData(e,t);const r=ce(),n=await A(e);let s;n?s=se(n.meta,r):s=se(T(r),r),await N(e,t,s);const a=await I.saveData(e,t);return a.success!==!1?(s.lastSyncedData=t,s.lastSyncedTs=Date.now(),s.lastSyncedVc={...s.vc},await N(e,t,s),await S.removeFromSyncQueue(e),Xe(),a):(await S.addToSyncQueue({key:e,data:t,timestamp:Date.now(),meta:s}),{success:!0,queuedForSync:!0})},loadKeys:async(e={})=>{if(!Q())return S.loadKeys(e);const t=await I.loadKeys(e);return oe(t)?S.loadKeys(e):t},async getKeyCloudUrl(e,t={}){var s;const{migrateFromLocal:r=!0,autoConfigureCloud:n=!0}=t;try{const a=d("server.provider");let o;a==="classworkscloud"?o=q():o=d("server.domain");let i=d("server.siteKey");const c=d("device.uuid");let u=!1;if(!o||!c)if(n){const y={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""};o||(B("server.domain",y["server.domain"]),o=y["server.domain"],u=!0),i||(B("server.siteKey",y["server.siteKey"]),i=y["server.siteKey"]),B("server.provider","classworkscloud"),o=q()}else return f("云端配置无效,请检查服务器域名和设备UUID","CONFIG_ERROR");let l=!1;if(r)try{const y=await S.loadData(e);if(y&&y.success!==!1){const m=await I.loadData(e);if(m&&m.success===!1&&((s=m.error)==null?void 0:s.code)==="NOT_FOUND"){const k=await I.saveData(e,y);k&&k.success!==!1&&(l=!0,console.log(`已成功将键 ${e} 的数据从本地迁移到云端`))}}}catch(y){console.warn(`迁移键 ${e} 的数据时出错:`,y)}const g=d("server.kvToken");return{success:!0,url:`${o}/kv/${e}?token=${g}`,migrated:l,configured:u}}catch(a){return console.error("获取键云端地址时出错:",a),f(a.message||"获取键云端地址失败","CLOUD_URL_ERROR")}}};export{w as a,S as b,nt as c,at as d,I as k,ue as o,st as s}; +import{a as ge,g as he}from"./vendor-utils-SR2uUhRI.js";import{n as d,ai as Se,s as B}from"./index-BvGH7GyK.js";import{i as j,t as x,g as q}from"./serverRotation-CVerzUcJ.js";const J=(e,t)=>t.some(r=>e instanceof r);let Y,ee;function pe(){return Y||(Y=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function De(){return ee||(ee=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const M=new WeakMap,P=new WeakMap,K=new WeakMap;function be(e){const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("success",a),e.removeEventListener("error",o)},a=()=>{r(O(e.result)),s()},o=()=>{n(e.error),s()};e.addEventListener("success",a),e.addEventListener("error",o)});return K.set(t,e),t}function ke(e){if(M.has(e))return;const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",o),e.removeEventListener("abort",o)},a=()=>{r(),s()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",a),e.addEventListener("error",o),e.addEventListener("abort",o)});M.set(e,t)}let W={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return M.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return O(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 ie(e){W=e(W)}function Ee(e){return De().includes(e)?function(...t){return e.apply(H(this),t),O(this.request)}:function(...t){return O(e.apply(H(this),t))}}function Ie(e){return typeof e=="function"?Ee(e):(e instanceof IDBTransaction&&ke(e),J(e,pe())?new Proxy(e,W):e)}function O(e){if(e instanceof IDBRequest)return be(e);if(P.has(e))return P.get(e);const t=Ie(e);return t!==e&&(P.set(e,t),K.set(t,e)),t}const H=e=>K.get(e);function ue(e,t,{blocked:r,upgrade:n,blocking:s,terminated:a}={}){const o=indexedDB.open(e,t),i=O(o);return n&&o.addEventListener("upgradeneeded",c=>{n(O(o.result),c.oldVersion,c.newVersion,O(o.transaction),c)}),r&&o.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),i.then(c=>{a&&c.addEventListener("close",()=>a()),s&&c.addEventListener("versionchange",u=>s(u.oldVersion,u.newVersion,u))}).catch(()=>{}),i}const Ne=["get","getKey","getAll","getAllKeys","count"],Oe=["put","add","delete","clear"],F=new Map;function te(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(F.get(t))return F.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,s=Oe.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(s||Ne.includes(r)))return;const a=async function(o,...i){const c=this.transaction(o,s?"readwrite":"readonly");let u=c.store;return n&&(u=u.index(i.shift())),(await Promise.all([u[r](...i),s&&c.done]))[0]};return F.set(t,a),a}ie(e=>({...e,get:(t,r,n)=>te(t,r)||e.get(t,r,n),has:(t,r)=>!!te(t,r)||e.has(t,r)}));const Te=["continue","continuePrimaryKey","advance"],re={},z=new WeakMap,de=new WeakMap,Re={get(e,t){if(!Te.includes(t))return e[t];let r=re[t];return r||(r=re[t]=function(...n){z.set(this,de.get(this)[t](...n))}),r}};async function*_e(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const r=new Proxy(t,Re);for(de.set(r,t),K.set(r,H(t));t;)yield r,t=await(z.get(r)||t.continue()),z.delete(r)}function ne(e,t){return t===Symbol.asyncIterator&&J(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&J(e,[IDBIndex,IDBObjectStore])}ie(e=>({...e,get(t,r,n){return ne(t,r)?_e:e.get(t,r,n)},has(t,r){return ne(t,r)||e.has(t,r)}}));const je="ClassworksDB",xe=3,E=async()=>ue(je,xe,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system"),e.objectStoreNames.contains("syncQueue")||e.createObjectStore("syncQueue")}}),S={async loadData(e){try{const r=await(await E()).get("kv",e);return r?v(JSON.parse(r)):f("数据不存在","NOT_FOUND")}catch(t){return f("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await E()).put("kv",JSON.stringify(t),e),v(!0)}catch(r){return f("保存本地数据失败:"+r)}},async loadKeys(e={}){try{const s=await(await E()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:a="asc",limit:o=100,skip:i=0}=e,c=s.sort((h,y)=>a==="desc"?y.localeCompare(h):h.localeCompare(y)),u=c.length,l=c.slice(i,i+o),g={keys:l,total_rows:u,current_page:{limit:o,skip:i,count:l.length},load_more:null};return v(g)}catch(t){return f("获取本地键名列表失败:"+t.message)}},async addToSyncQueue(e){try{return await(await E()).put("syncQueue",JSON.stringify(e),e.key),v(!0)}catch(t){return f("添加同步队列失败:"+t)}},async getSyncQueue(){try{const e=await E(),t=await e.getAllKeys("syncQueue"),r=[];for(const n of t){const s=await e.get("syncQueue",n);s&&r.push(JSON.parse(s))}return r.sort((n,s)=>n.timestamp-s.timestamp),v(r)}catch(e){return f("获取同步队列失败:"+e)}},async removeFromSyncQueue(e){try{return await(await E()).delete("syncQueue",e),v(!0)}catch(t){return f("删除同步队列项失败:"+t)}},async deleteByPrefix(e){try{const r=(await E()).transaction("kv","readwrite"),n=r.objectStore("kv"),s=await n.getAllKeys();let a=0;for(const o of s)o.startsWith(e)&&(await n.delete(o),a++);return await r.done,a}catch(t){return console.warn("kvLocalProvider.deleteByPrefix 失败:",t),0}}};function Le(e,t){return"headers"in e&&typeof e.headers=="object"&&!Array.isArray(e.headers)?U(e.headers):"getHeaders"in e&&typeof e.getHeaders=="function"?U(e.getHeaders()):U(e)}function U(e,t){const r=D(e,"ratelimit");if(r)return $e(r);let n;if(D(e,"ratelimit-remaining"))n="ratelimit-";else if(D(e,"x-ratelimit-remaining"))n="x-ratelimit-";else if(D(e,"x-rate-limit-remaining"))n="x-rate-limit-";else return;const s=p(D(e,`${n}limit`)),a=p(D(e,`${n}used`))||p(D(e,`${n}observed`)),o=p(D(e,`${n}remaining`));let i;const c=D(e,`${n}reset`);switch(void 0){case"date":{i=fe(c??"");break}case"unix":{i=G(c??"");break}case"seconds":{i=le(c??"");break}case"milliseconds":{i=Be(c??"");break}default:if(c)i=Fe(c);else{const l=D(e,"retry-after");l&&(i=G(l))}}return{limit:Number.isNaN(s)?a+o:s,used:Number.isNaN(a)?s-o:a,remaining:o,reset:i}}var Ae=/limit\s*=\s*(\d+)/i,Ce=/remaining\s*=\s*(\d+)/i,Ke=/reset\s*=\s*(\d+)/i;function $e(e){var t,r,n;const s=p((t=Ae.exec(e))==null?void 0:t[1]),a=p((r=Ce.exec(e))==null?void 0:r[1]),o=p((n=Ke.exec(e))==null?void 0:n[1]),i=X(o);return{limit:s,used:s-a,remaining:a,reset:i}}function X(e){const t=new Date;return t.setSeconds(t.getSeconds()+e),t}function p(e){return typeof e=="number"?e:Number.parseInt(e??"",10)}function D(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 fe(e){return new Date(e)}function G(e){const t=p(e);return new Date(t*1e3)}function le(e){const t=p(e);return X(t)}function Be(e){const t=p(e);return X(t/1e3)}var Pe=/[a-z]/i;function Fe(e){if(Pe.test(e))return fe(e);const t=p(e);return t&&t>1e9?G(t):le(t)}const w=ge.create({timeout:1e4});w.interceptors.request.use(e=>{const t=d("server.provider");if(t==="kv-server"||t==="classworkscloud"){const r=d("server.kvToken");if(r)e.headers["x-app-token"]=r;else{const n=d("server.siteKey");n&&(e.headers["x-site-key"]=he.encode(n))}}return e},e=>(console.log(e),Promise.reject(e)));w.interceptors.response.use(e=>e,e=>{if(e.response&&e.response.status===429)try{const t=Le(e.response);t&&Se.show(t.reset,e.config.url,e.config.method.toUpperCase())}catch(t){console.error("解析限速头信息失败:",t)}return Promise.reject(e)});const nt=Object.freeze(Object.defineProperty({__proto__:null,default:w},Symbol.toStringTag,{value:"Module"})),b=()=>{const e={Accept:"application/json"},t=d("server.kvToken"),r=d("server.siteKey");return t?e["x-app-token"]=t:r&&(e["x-site-key"]=r),e},I={async loadNamespaceInfo(){var e,t;try{if(j())return await x(async s=>{const a=await w.get(`${s}/kv/_info`,{headers:b()});return v(a.data)});const r=d("server.domain"),n=await w.get(`${r}/kv/_info`,{headers:b()});return v(n.data)}catch(r){return console.error("获取命名空间信息失败:",r),f(((t=(e=r.response)==null?void 0:e.data)==null?void 0:t.message)||"获取命名空间信息失败","NAMESPACE_ERROR")}},async updateNamespaceInfo(e){var t,r;try{if(j())return await x(async a=>await w.put(`${a}/kv/_info`,e,{headers:b()}));const n=d("server.domain");return await w.put(`${n}/kv/_info`,e,{headers:b()})}catch(n){return f(((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(j())return await x(async o=>{const i=await w.get(`${o}/kv/${e}`,{headers:b()});return v(i.data)});const s=d("server.domain"),a=await w.get(`${s}/kv/${e}`,{headers:b()});return v(a.data)}catch(s){return((t=s.response)==null?void 0:t.status)===404?f("数据不存在","NOT_FOUND"):(console.log(s),f(((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(j())return await x(async a=>(await w.post(`${a}/kv/${e}`,t,{headers:b()}),v(!0)));const s=d("server.domain");return await w.post(`${s}/kv/${e}`,t,{headers:b()}),v(!0)}catch(s){return console.log(s),f(((n=(r=s.response)==null?void 0:r.data)==null?void 0:n.message)||"保存失败","SAVE_ERROR")}},async loadKeys(e={}){var t,r,n,s,a;try{const{sortBy:o="key",sortDir:i="asc",limit:c=100,skip:u=0}=e,l=new URLSearchParams({sortBy:o,sortDir:i,limit:c.toString(),skip:u.toString()});if(j())return await x(async y=>{const m=await w.get(`${y}/kv/_keys?${l}`,{headers:b()});return v(m.data)});const g=d("server.domain"),h=await w.get(`${g}/kv/_keys?${l}`,{headers:b()});return v(h.data)}catch(o){return((t=o.response)==null?void 0:t.status)===404?f("命名空间不存在","NOT_FOUND"):((r=o.response)==null?void 0:r.status)===403?f("无权限访问此命名空间","PERMISSION_DENIED"):((n=o.response)==null?void 0:n.status)===401?f("认证失败","UNAUTHORIZED"):(console.log(o),f(((a=(s=o.response)==null?void 0:s.data)==null?void 0:a.message)||"获取键名列表失败","NETWORK_ERROR"))}}};function T(e){return{vc:{[e]:0},ts:0,deviceId:e,_fieldTs:{},lastSyncedData:null,lastSyncedTs:0,lastSyncedVc:{[e]:0}}}function se(e,t){const r={...e.vc};return r[t]=(r[t]||0)+1,{...e,vc:r,ts:Date.now(),deviceId:t}}function Ue(e,t){const r={...e};for(const[n,s]of Object.entries(t))r[n]=Math.max(r[n]||0,s);return r}function R(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ve(e,t){if(!e&&!t)return{};if(!e)return{...t};if(!t)return{...e};const r={...e};for(const[n,s]of Object.entries(t)){const a=r[n];(!a||s.ts>a.ts||s.ts===a.ts&&s.deviceIdR(r)?r.id:JSON.stringify(r);if("name"in t)return r=>R(r)?r.name:JSON.stringify(r);if("key"in t)return r=>R(r)?r.key:JSON.stringify(r)}return null}function Qe(e,t,r){const n=ae(e)||ae(r)||(c=>JSON.stringify(c)),s=new Map,a=new Map;e.forEach(c=>{const u=n(c);s.has(u)||s.set(u,c)}),r.forEach(c=>{const u=n(c);a.has(u)||a.set(u,c)});const o=[],i=new Set;for(const[c,u]of s)i.has(c)||(i.add(c),o.push(u));for(const[c,u]of a)i.has(c)||(i.add(c),o.push(u));return o}function Je(e,t,r,n){var o,i;const s={},a=new Set([...Object.keys(e),...Object.keys(r)]);for(const c of a){const u=c in e,l=c in r;if(u&&!l)s[c]=e[c];else if(!u&&l)s[c]=r[c];else{const g=((o=t._fieldTs)==null?void 0:o[c])||{ts:t.ts,deviceId:t.deviceId},h=((i=n._fieldTs)==null?void 0:i[c])||{ts:n.ts,deviceId:n.deviceId};g.ts>h.ts?s[c]=e[c]:h.ts>g.ts?s[c]=r[c]:s[c]=g.deviceId<=h.deviceId?e[c]:r[c]}}return s}function Me(e,t,r,n){const s=Ue(t.vc||{},n.vc||{}),a=Math.max(t.ts||0,n.ts||0),o=Ve(t._fieldTs,n._fieldTs);let i;return R(e)&&R(r)?i=Je(e,t,r,n):Array.isArray(e)&&Array.isArray(r)?i=Qe(e,t,r):typeof e==typeof r&&typeof e!="object"?(t.ts||0)>(n.ts||0)?i=e:(n.ts||0)>(t.ts||0)?i=r:i=(t.deviceId||"")<=(n.deviceId||"")?e:r:i=(t.ts||0)>=(n.ts||0)?e:r,{data:i,meta:{vc:s,ts:a,deviceId:a===(t.ts||0)?t.deviceId:n.deviceId,_fieldTs:o,lastSyncedData:n.lastSyncedData??t.lastSyncedData??null,lastSyncedTs:Math.max(t.lastSyncedTs||0,n.lastSyncedTs||0),lastSyncedVc:s}}}const $="_cache:",We="ClassworksDB",ye=7*24*60*60*1e3,He=[{pattern:"*",ttl:ye}];async function Z(){return ue(We,void 0,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system"),e.objectStoreNames.contains("syncQueue")||e.createObjectStore("syncQueue")}})}function ze(e,t){const r="^"+e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")+"$";return new RegExp(r).test(t)}function Ge(e){return e&&typeof e=="object"&&!("meta"in e)&&!("cacheTimestamp"in e)}function me(e){return e&&typeof e=="object"&&"meta"in e&&"cacheTimestamp"in e}function ve(e){for(const{pattern:t,ttl:r}of He)if(ze(t,e))return r;return ye}async function A(e){try{const t=await Z(),r=$+e,n=await t.get("kv",r);if(!n)return null;let s;try{s=typeof n=="string"?JSON.parse(n):n}catch{return null}if(Ge(s)){const a=d("device.uuid")||"unknown",o=T(a);o.ts=Date.now(),o.lastSyncedData=s;const i={data:s,meta:o,cacheTimestamp:Date.now(),cacheTTL:ve(e)};return await t.put("kv",JSON.stringify(i),r),{data:i.data,meta:i.meta}}return me(s)?Date.now()-s.cacheTimestamp>s.cacheTTL?(await t.delete("kv",r),null):{data:s.data,meta:s.meta}:null}catch(t){return console.warn("cacheManager.getCacheEntry 失败:",t),null}}async function N(e,t,r){try{const n=await Z(),s=$+e,a={data:t,meta:r,cacheTimestamp:Date.now(),cacheTTL:ve(e)};return await n.put("kv",JSON.stringify(a),s),!0}catch(n){return console.warn("cacheManager.setCacheEntry 失败:",n),!1}}async function we(){let e=0;try{const r=(await Z()).transaction("kv","readwrite"),n=r.objectStore("kv"),s=await n.getAllKeys();for(const a of s){if(!a.startsWith($))continue;const o=await n.get(a);if(!o)continue;let i;try{i=typeof o=="string"?JSON.parse(o):o}catch{continue}me(i)&&Date.now()-i.cacheTimestamp>i.cacheTTL&&(await n.delete(a),e++)}await r.done}catch(t){console.warn("cacheManager.cleanupExpiredEntries 失败:",t)}return e}let _=null,V=!1;async function C(e={}){var n;if(V)return{synced:0,failed:0};V=!0;let t=0,r=0;try{const s=await S.getSyncQueue();if(s.success===!1||!Array.isArray(s)||s.length===0)return{synced:0,failed:0};for(const a of s)try{const o=await I.saveData(a.key,a.data);if(o.success!==!1){if(await S.removeFromSyncQueue(a.key),a.meta){const i=d("device.uuid")||"unknown",c=await A(a.key);if(c){const u={...c.meta};u.lastSyncedData=a.data,u.lastSyncedTs=Date.now(),u.lastSyncedVc={...u.vc},await N(a.key,c.data,u)}else{const u=a.meta||T(i);u.lastSyncedData=a.data,u.lastSyncedTs=Date.now(),u.lastSyncedVc={...u.vc},await N(a.key,a.data,u)}}t++}else r++,e.silent||console.warn(`smartSync: 跳过 key=${a.key}, 服务器错误:`,(n=o.error)==null?void 0:n.message)}catch{r++;break}t>0&&we()}finally{V=!1}return!e.silent&&t>0&&console.log(`smartSync: 同步完成,成功 ${t} 条,失败 ${r} 条`),{synced:t,failed:r}}async function Xe(){try{const e=await S.getSyncQueue();if(e.success===!1||!Array.isArray(e)||e.length===0)return;C({silent:!0})}catch{}}function Ze(){_||(_=()=>C(),window.addEventListener("online",_),we(),navigator.onLine&&C())}function qe(){_&&(window.removeEventListener("online",_),_=null)}const v=e=>e,f=(e,t="UNKNOWN_ERROR")=>({success:!1,error:{code:t,message:e}});function Ye(e){return e&&e.success===!1}function oe(e){var t;return Ye(e)&&((t=e.error)==null?void 0:t.code)==="NETWORK_ERROR"}function ce(){return d("device.uuid")||"unknown"}function L(e){return e&&typeof e=="object"&&!Array.isArray(e)&&"value"in e?e.value:e}const st={init:Ze,destroy:qe,flushNow:C};function Q(){const e=d("server.provider");return e==="kv-server"||e==="classworkscloud"}const at={loadData:async e=>{if(!Q())return S.loadData(e);const t=await I.loadData(e),r=L(t);if(!oe(r)){if(r.success!==!1){const a=await A(e),o=ce();if(a){const i=L(a.data),c=JSON.stringify(i),u=JSON.stringify(r),l=JSON.stringify(L(a.meta.lastSyncedData)??null);if(u===c)return i;if(u!==l){const g=a.meta.vc||{},h=a.meta.lastSyncedVc||{};if((g[o]||0)>(h[o]||0)){const m=T("server");m.ts=Date.now();const k=Me(i,a.meta,r,m);return await N(e,k.data,k.meta),I.saveData(e,k.data),k.data}else{const m=T(o);return m.ts=Date.now(),m.lastSyncedData=r,m.lastSyncedTs=Date.now(),m.lastSyncedVc={...m.vc},await N(e,r,m),r}}else return i}else{const i=T(o);return i.ts=Date.now(),i.lastSyncedData=r,i.lastSyncedTs=Date.now(),i.lastSyncedVc={...i.vc},await N(e,r,i),r}}return r}const n=await A(e);if(n){const a=L(n.data);return typeof a=="object"&&a!==null&&(a.fromCache=!0),a}const s=await S.loadData($+e);return s.success!==!1?{...s,fromCache:!0}:r},saveData:async(e,t)=>{if(!Q())return S.saveData(e,t);const r=ce(),n=await A(e);let s;n?s=se(n.meta,r):s=se(T(r),r),await N(e,t,s);const a=await I.saveData(e,t);return a.success!==!1?(s.lastSyncedData=t,s.lastSyncedTs=Date.now(),s.lastSyncedVc={...s.vc},await N(e,t,s),await S.removeFromSyncQueue(e),Xe(),a):(await S.addToSyncQueue({key:e,data:t,timestamp:Date.now(),meta:s}),{success:!0,queuedForSync:!0})},loadKeys:async(e={})=>{if(!Q())return S.loadKeys(e);const t=await I.loadKeys(e);return oe(t)?S.loadKeys(e):t},async getKeyCloudUrl(e,t={}){var s;const{migrateFromLocal:r=!0,autoConfigureCloud:n=!0}=t;try{const a=d("server.provider");let o;a==="classworkscloud"?o=q():o=d("server.domain");let i=d("server.siteKey");const c=d("device.uuid");let u=!1;if(!o||!c)if(n){const y={"server.domain":"https://kv-service.wuyuan.dev","server.siteKey":""};o||(B("server.domain",y["server.domain"]),o=y["server.domain"],u=!0),i||(B("server.siteKey",y["server.siteKey"]),i=y["server.siteKey"]),B("server.provider","classworkscloud"),o=q()}else return f("云端配置无效,请检查服务器域名和设备UUID","CONFIG_ERROR");let l=!1;if(r)try{const y=await S.loadData(e);if(y&&y.success!==!1){const m=await I.loadData(e);if(m&&m.success===!1&&((s=m.error)==null?void 0:s.code)==="NOT_FOUND"){const k=await I.saveData(e,y);k&&k.success!==!1&&(l=!0,console.log(`已成功将键 ${e} 的数据从本地迁移到云端`))}}}catch(y){console.warn(`迁移键 ${e} 的数据时出错:`,y)}const g=d("server.kvToken");return{success:!0,url:`${o}/kv/${e}?token=${g}`,migrated:l,configured:u}}catch(a){return console.error("获取键云端地址时出错:",a),f(a.message||"获取键云端地址失败","CLOUD_URL_ERROR")}}};export{w as a,S as b,nt as c,at as d,I as k,ue as o,st as s}; diff --git a/assets/debug-YVdPEXWc.js b/assets/debug-HIImqCSE.js similarity index 79% rename from assets/debug-YVdPEXWc.js rename to assets/debug-HIImqCSE.js index 2787f92..72d4fa2 100644 --- a/assets/debug-YVdPEXWc.js +++ b/assets/debug-HIImqCSE.js @@ -1 +1 @@ -import{getVisitorId as u,getFingerprintData as f}from"./visitorId-Fp9eGgHd.js";import{aa as m}from"./vendor-vuetify-DpmmaPkh.js";import{e as c,c as p,E as g,d as V,l as v,h as C}from"./index-D042plwv.js";import{V as b}from"./VContainer-MApP1Vz1.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-BiQC5iF7.js";const I=m("v-code","code"),F={__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",loading:r.value,onClick:n},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{F as default}; +import{getVisitorId as u,getFingerprintData as f}from"./visitorId-CmQTZ-fb.js";import{aa as m}from"./vendor-vuetify-KiFW-YAv.js";import{e as c,c as p,E as g,d as V,l as v,h as C}from"./index-BvGH7GyK.js";import{V as b}from"./VContainer-Cz0t7N-s.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-Hxtt57UU.js";const I=m("v-code","code"),F={__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",loading:r.value,onClick:n},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{F as default}; diff --git a/assets/debug-init-uVoko_XH.js b/assets/debug-init-M9fbfR7P.js similarity index 84% rename from assets/debug-init-uVoko_XH.js rename to assets/debug-init-M9fbfR7P.js index 1f8b523..b5967be 100644 --- a/assets/debug-init-uVoko_XH.js +++ b/assets/debug-init-M9fbfR7P.js @@ -1 +1 @@ -import{n as r,e as k,c as g,d as _,i as R,h as f,p as U,q as C,r as S,t as T,s}from"./index-D042plwv.js";import{k as N}from"./dataProvider-CBH3Lw3D.js";import{V as B,a as D}from"./VRow-CH6EAfU_.js";import{V as G}from"./VForm-IEFsJ4YW.js";import{V as n}from"./VTextField-BoJUR4Xs.js";import{V as F}from"./VContainer-MApP1Vz1.js";import{b as i,a4 as K,X as Y,Y as j,Z as t,j as e,a1 as o,S as c,e as y}from"./vendor-vue-BiQC5iF7.js";import"./vendor-vuetify-DpmmaPkh.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";const I="kvinit.redirecting",W={__name:"debug-init",setup(q){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=K("v-list-item-content");return Y(),j(F,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{W as default}; +import{n as r,e as k,c as g,d as _,i as R,h as f,p as U,q as C,r as S,t as T,s}from"./index-BvGH7GyK.js";import{k as N}from"./dataProvider-oxZzGARG.js";import{V as B,a as D}from"./VRow-CFI96Yew.js";import{V as G}from"./VForm-DrJP9yK2.js";import{V as n}from"./VTextField-jDykTfh9.js";import{V as F}from"./VContainer-Cz0t7N-s.js";import{b as i,a4 as K,X as Y,Y as j,Z as t,j as e,a1 as o,S as c,e as y}from"./vendor-vue-Hxtt57UU.js";import"./vendor-vuetify-KiFW-YAv.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";const I="kvinit.redirecting",W={__name:"debug-init",setup(q){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=K("v-list-item-content");return Y(),j(F,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{W as default}; diff --git a/assets/debug-socket-DG8GREI-.js b/assets/debug-socket-bY4DrRDB.js similarity index 91% rename from assets/debug-socket-DG8GREI-.js rename to assets/debug-socket-bY4DrRDB.js index bc53d7f..b52bffe 100644 --- a/assets/debug-socket-DG8GREI-.js +++ b/assets/debug-socket-bY4DrRDB.js @@ -1 +1 @@ -import{n as te,e as x,c as b,d as w,p as A,q as f,r as v,t as m,i as K,h as i,g as M,o as le}from"./index-D042plwv.js";import{g as U,b as J,j as O,a as p,c as ne,l as ae}from"./socketClient-D9GaxO-Q.js";import{s as oe,D as se}from"./deviceEvents-W5dhgmtc.js";import{V as j,a as _}from"./VRow-CH6EAfU_.js";import{V as re}from"./VChip-nQelUOZI.js";import{V as ue}from"./VTextField-BoJUR4Xs.js";import{V as ie}from"./VTextarea-CnWToSV7.js";import{V as de}from"./VContainer-MApP1Vz1.js";import{b as d,D as ce,A as fe,a4 as ve,X as c,Y as D,Z as l,j as t,a1 as o,S as u,_ as L,$ as me,k as B,F as R,a2 as Y,e as I}from"./vendor-vue-BiQC5iF7.js";import"./vendor-vuetify-DpmmaPkh.js";import"./vendor-socket-dm1FmSOd.js";import"./serverRotation-CbFrj566.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"}},Ie={__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()),q=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 H(){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 X(){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 Z(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(),H(),X(),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(),D(de,null,{default:l(()=>[t(j,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(w,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(),L("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(q.value),1)]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(j,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=>Z(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(j,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(w,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(j,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(w,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(),D(A,{key:0,density:"compact"},{default:l(()=>[(c(!0),L(R,null,Y(C.value,s=>(c(),D(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(),L("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(w,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[(c(!0),L(R,null,Y(y.value,(s,F)=>(c(),D(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{Ie as default}; +import{n as te,e as x,c as b,d as w,p as A,q as f,r as v,t as m,i as K,h as i,g as M,o as le}from"./index-BvGH7GyK.js";import{g as U,b as J,j as O,a as p,c as ne,l as ae}from"./socketClient-B3vfwKNR.js";import{s as oe,D as se}from"./deviceEvents-DDMVNIIy.js";import{V as j,a as _}from"./VRow-CFI96Yew.js";import{V as re}from"./VChip-CyVmT8se.js";import{V as ue}from"./VTextField-jDykTfh9.js";import{V as ie}from"./VTextarea-CCvrj_Hr.js";import{V as de}from"./VContainer-Cz0t7N-s.js";import{b as d,D as ce,A as fe,a4 as ve,X as c,Y as D,Z as l,j as t,a1 as o,S as u,_ as L,$ as me,k as B,F as R,a2 as Y,e as I}from"./vendor-vue-Hxtt57UU.js";import"./vendor-vuetify-KiFW-YAv.js";import"./vendor-socket-SYmKJpIj.js";import"./serverRotation-CVerzUcJ.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"}},Ie={__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()),q=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 H(){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 X(){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 Z(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(),H(),X(),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(),D(de,null,{default:l(()=>[t(j,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(w,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(),L("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(q.value),1)]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(j,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=>Z(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(j,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(w,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(j,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(w,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(),D(A,{key:0,density:"compact"},{default:l(()=>[(c(!0),L(R,null,Y(C.value,s=>(c(),D(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(),L("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(w,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[(c(!0),L(R,null,Y(y.value,(s,F)=>(c(),D(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{Ie as default}; diff --git a/assets/default-mc9dNPFd.js b/assets/default-BT9NXNf7.js similarity index 55% rename from assets/default-mc9dNPFd.js rename to assets/default-BT9NXNf7.js index 7bc38b5..97e1ae2 100644 --- a/assets/default-mc9dNPFd.js +++ b/assets/default-BT9NXNf7.js @@ -1 +1 @@ -import{p as c,k as i,f as u,a7 as _,u as p}from"./vendor-vuetify-DpmmaPkh.js";import{m as d,a as f,u as v,b as k}from"./index-D042plwv.js";import{j as l,N as y,n as B,k as V,Y as b,a4 as C,X as S,Z as g}from"./vendor-vue-BiQC5iF7.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}; +import{p as c,n as i,j as u,a7 as _,u as p}from"./vendor-vuetify-KiFW-YAv.js";import{m as d,a as f,u as v,b as y}from"./index-BvGH7GyK.js";import{j as l,N as k,n as B,k as V,Y as b,a4 as C,X as S,Z as g}from"./vendor-vue-Hxtt57UU.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}=y(e),{mainStyles:r}=_(),{ssrBootStyles:m}=v();return p(()=>l(e.tag,{class:B(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:k([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-W5dhgmtc.js b/assets/deviceEvents-DDMVNIIy.js similarity index 97% rename from assets/deviceEvents-W5dhgmtc.js rename to assets/deviceEvents-DDMVNIIy.js index 1c8c43c..912c841 100644 --- a/assets/deviceEvents-W5dhgmtc.js +++ b/assets/deviceEvents-DDMVNIIy.js @@ -1 +1 @@ -import{s as E}from"./socketClient-D9GaxO-Q.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-B3vfwKNR.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-BKcX0SWM.js b/assets/examschedule-B8cb1ydi.js similarity index 96% rename from assets/examschedule-BKcX0SWM.js rename to assets/examschedule-B8cb1ydi.js index 4c9fad4..4a3ff41 100644 --- a/assets/examschedule-BKcX0SWM.js +++ b/assets/examschedule-B8cb1ydi.js @@ -1,4 +1,4 @@ -import A from"./ExamConfigEditor-DnZpqRBI.js";import{d as C}from"./dataProvider-CBH3Lw3D.js";import{_ as J,e as y,c as V,f as g,E as R,d as v,h as u,p as z,q as F,r as O,t as H,o as L,k as S,l as T,g as k,n as P}from"./index-D042plwv.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 X,a2 as j,ae as B}from"./vendor-vue-BiQC5iF7.js";import{V as W,a as q}from"./VRow-CH6EAfU_.js";import{V as N}from"./VAlert-ZP8s_5ha.js";import{V as M}from"./VChip-nQelUOZI.js";import{V as K}from"./VSkeletonLoader-B7fDa9ID.js";import{V as Y}from"./VTextField-BoJUR4Xs.js";import{V as G}from"./VTextarea-CnWToSV7.js";import{V as Z}from"./VContainer-MApP1Vz1.js";import"./VTooltip-DMSltD5A.js";import"./vendor-vuetify-DpmmaPkh.js";import"./VSwitch-CEojN9Vi.js";import"./VAutocomplete-6kKJB-90.js";import"./VSelect-mQ_XLRnU.js";import"./VMenu-Ps4XkZIl.js";import"./VSheet-BWNNvcYw.js";import"./VCheckboxBtn-64kBGXnq.js";import"./VDatePicker-DBOVlJXM.js";import"./VPicker-DGiUlCzb.js";import"./VTimePicker-DQGiZZlL.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.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}},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-Bp6Liu2C.js";import{d as C}from"./dataProvider-oxZzGARG.js";import{_ as J,e as y,c as V,f as g,E as R,d as v,h as u,p as z,q as F,r as O,t as H,o as L,k as S,l as T,g as k,n as P}from"./index-BvGH7GyK.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 X,a2 as j,ae as B}from"./vendor-vue-Hxtt57UU.js";import{V as W,a as q}from"./VRow-CFI96Yew.js";import{V as N}from"./VAlert-DdY_LS-W.js";import{V as M}from"./VChip-CyVmT8se.js";import{V as K}from"./VSkeletonLoader-BwErr64p.js";import{V as Y}from"./VTextField-jDykTfh9.js";import{V as G}from"./VTextarea-CCvrj_Hr.js";import{V as Z}from"./VContainer-Cz0t7N-s.js";import"./VTooltip-CvIsrMQ_.js";import"./vendor-vuetify-KiFW-YAv.js";import"./VSwitch-DEARo61Y.js";import"./VAutocomplete-bB7Ga8jP.js";import"./VSelect-BdFWh1xd.js";import"./VMenu-CEn1TBeC.js";import"./VSheet-PSmzyJOR.js";import"./VCheckboxBtn-D_PchAC2.js";import"./VDatePicker-B6PZcrmX.js";import"./VPicker-DssJ0SqJ.js";import"./VTimePicker-D1xrFTMs.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.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}},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 diff --git a/assets/index-Yfd4JoUB.css b/assets/index-6fGyl4NU.css similarity index 91% rename from assets/index-Yfd4JoUB.css rename to assets/index-6fGyl4NU.css index 35f4e7a..aa85abc 100644 --- a/assets/index-Yfd4JoUB.css +++ b/assets/index-6fGyl4NU.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-navigation-drawer--rail:not(.v-navigation-drawer--expand-on-hover) .v-list-item__content,.v-navigation-drawer--rail.v-navigation-drawer--expand-on-hover:not(.v-navigation-drawer--is-hovering) .v-list-item__content{min-width:0}.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)}.app-background-image,.app-background-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none}.app-background-image{transform-origin:center center;will-change:transform,filter}.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--has-size{height:auto!important}.v-btn-group--has-size .v-btn--icon.v-btn--density-default{width:calc(var(--v-btn-height) + 0px);height:calc(var(--v-btn-height) + 0px)}.v-btn-group--has-size .v-btn--icon.v-btn--density-comfortable{width:calc(var(--v-btn-height) + -8px);height:calc(var(--v-btn-height) + -8px)}.v-btn-group--has-size .v-btn--icon.v-btn--density-compact{width:calc(var(--v-btn-height) + -12px);height:calc(var(--v-btn-height) + -12px)}.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-duration:inherit;transition-timing-function:inherit;transition-delay: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-property:width,left,right;transition-duration:inherit;transition-timing-function:inherit;transition-delay:inherit}.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-property:width,left,right;transition-duration:inherit;transition-timing-function:inherit;transition-delay:inherit}.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-navigation-drawer--rail:not(.v-navigation-drawer--expand-on-hover) .v-list-item__content,.v-navigation-drawer--rail.v-navigation-drawer--expand-on-hover:not(.v-navigation-drawer--is-hovering) .v-list-item__content{min-width:0}.v-list-item-action{align-self:center;display:flex;align-items:center;flex:none;transition-property:height,width;transition-duration:inherit;transition-timing-function:inherit;transition-delay:inherit}.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)}.app-background-image,.app-background-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none}.app-background-image{transform-origin:center center;will-change:transform,filter}.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-DdToQrR8.js b/assets/index-BGIq5yfq.js similarity index 99% rename from assets/index-DdToQrR8.js rename to assets/index-BGIq5yfq.js index ca1de0b..5fbcdf6 100644 --- a/assets/index-DdToQrR8.js +++ b/assets/index-BGIq5yfq.js @@ -1 +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 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"],T={一:"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ī"},Z={重:"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 T)for(let g in Z){const h=`${i}${g}`,u=`${T[i]} ${Z[g]}`;n[h]=u}return n}const C=hn(),un=Object.keys(C).map(n=>({zh:n,pinyin:C[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),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"},on=Object.keys(P).map(n=>({zh:n,pinyin:P[n],probability:1+d(n),length:d(n),priority:t.Surname,dict:Symbol("surname")})),M={"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(M).forEach(n=>{const i=M[n];for(let g of i)e.set(g,n)});const I={这个:"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"},yn=Object.keys(I).map(n=>({zh:n,pinyin:I[n],probability:2e-8,length:2,priority:t.Normal,dict:Symbol("dict2")})),N={为什么:"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"},ln=Object.keys(N).map(n=>({zh:n,pinyin:N[n],probability:2e-8,length:3,priority:t.Normal,dict:Symbol("dict3")})),v={成吉思汗:"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"},cn=Object.keys(v).map(n=>({zh:n,pinyin:v[n],probability:2e-8,length:4,priority:t.Normal,dict:Symbol("dict4")})),_={巴尔干半岛:"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"},tn=Object.keys(_).map(n=>({zh:n,pinyin:_[n],probability:2e-8,length:5,priority:t.Normal,dict:Symbol("dict5")}));function E(n,i){return n&&(n.decimali.probability)?n:i}function A(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function jn(n){return n.priority===t.Custom?-(n.length*n.length*100):n.priority===t.Surname?-(n.length*n.length*10):0}function dn(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+jn(u),patterns:z.patterns,concatPattern:u};A(o),g[c]=E(g[c],o),u=n[--h]}const y={probability:1e-13*z.probability,decimal:0,patterns:z.patterns};A(y),g[s]=E(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 R(n,i){return n&&n.count<=i.count?n:i}function xn(n){return n.priority===t.Custom?-(n.length*n.length*1e5):n.priority===t.Surname?-(n.length*n.length*100):1}function bn(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:xn(u)+z.count,patterns:z.patterns,concatPattern:u};g[c]=R(g[c],o),u=n[--h]}const y={count:1+z.count,patterns:z.patterns};g[s]=R(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 en(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function rn(n){const i=[];for(let g=n.length-1;g>=0;){const{index:h}=n[g];let u=g-1;for(;u>=0&&en(n[g],n[u]);)u--;(u<0||n[u].index+n[u].length<=h)&&i.push(n[g]),g=u}return i.reverse()}var $;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})($||($={}));class L{constructor(i,g="",h=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=h}}class wn{constructor(){this.dictMap=new Map,this.queues=[],this.root=new L(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?rn(u):h===3?bn(u,d(i)):dn(u,d(i))}}const fn=[...tn,...cn,...ln,...yn,...un,...on],B=new wn;B.build(fn);const qn=new U,mn=()=>qn,pn=[];function an(){return pn}const r=n=>{const i=e.get(n);return i?i.split(" ")[0]:n},kn=n=>{const i=[],g=an();for(let h=0;h{const s=u?kn(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=mn();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},Sn=(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(" ")},Dn=(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(" ")};function Tn(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 Zn(n,i){if(n==="了"&&(!i||!e.get(i)))return"liǎo"}function Cn(n,i){if(n==="々")return!i||!e.get(i)?"tóng":e.get(i).split(" ")[0]}function W(n,i,g){return Cn(n,i)||Zn(n,i)||Tn(n,i,g)||r(n)}const 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?Sn(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=Dn(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}=Pn(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,an as getTraditionalDict,$n as pinyin}; +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 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"],T={一:"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ī"},Z={重:"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 T)for(let g in Z){const h=`${i}${g}`,u=`${T[i]} ${Z[g]}`;n[h]=u}return n}const C=hn(),un=Object.keys(C).map(n=>({zh:n,pinyin:C[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),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"},on=Object.keys(P).map(n=>({zh:n,pinyin:P[n],probability:1+d(n),length:d(n),priority:t.Surname,dict:Symbol("surname")})),M={"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(M).forEach(n=>{const i=M[n];for(let g of i)e.set(g,n)});const I={这个:"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 zhǎ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"},yn=Object.keys(I).map(n=>({zh:n,pinyin:I[n],probability:2e-8,length:2,priority:t.Normal,dict:Symbol("dict2")})),N={为什么:"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"},ln=Object.keys(N).map(n=>({zh:n,pinyin:N[n],probability:2e-8,length:3,priority:t.Normal,dict:Symbol("dict3")})),v={成吉思汗:"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"},cn=Object.keys(v).map(n=>({zh:n,pinyin:v[n],probability:2e-8,length:4,priority:t.Normal,dict:Symbol("dict4")})),_={巴尔干半岛:"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"},tn=Object.keys(_).map(n=>({zh:n,pinyin:_[n],probability:2e-8,length:5,priority:t.Normal,dict:Symbol("dict5")}));function E(n,i){return n&&(n.decimali.probability)?n:i}function A(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function jn(n){return n.priority===t.Custom?-(n.length*n.length*100):n.priority===t.Surname?-(n.length*n.length*10):0}function dn(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+jn(u),patterns:z.patterns,concatPattern:u};A(o),g[c]=E(g[c],o),u=n[--h]}const y={probability:1e-13*z.probability,decimal:0,patterns:z.patterns};A(y),g[s]=E(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 R(n,i){return n&&n.count<=i.count?n:i}function xn(n){return n.priority===t.Custom?-(n.length*n.length*1e5):n.priority===t.Surname?-(n.length*n.length*100):1}function bn(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:xn(u)+z.count,patterns:z.patterns,concatPattern:u};g[c]=R(g[c],o),u=n[--h]}const y={count:1+z.count,patterns:z.patterns};g[s]=R(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 en(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function rn(n){const i=[];for(let g=n.length-1;g>=0;){const{index:h}=n[g];let u=g-1;for(;u>=0&&en(n[g],n[u]);)u--;(u<0||n[u].index+n[u].length<=h)&&i.push(n[g]),g=u}return i.reverse()}var $;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})($||($={}));class L{constructor(i,g="",h=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=h}}class wn{constructor(){this.dictMap=new Map,this.queues=[],this.root=new L(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?rn(u):h===3?bn(u,d(i)):dn(u,d(i))}}const fn=[...tn,...cn,...ln,...yn,...un,...on],B=new wn;B.build(fn);const qn=new U,mn=()=>qn,pn=[];function an(){return pn}const r=n=>{const i=e.get(n);return i?i.split(" ")[0]:n},kn=n=>{const i=[],g=an();for(let h=0;h{const s=u?kn(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=mn();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},Sn=(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(" ")},Dn=(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(" ")};function Tn(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 Zn(n,i){if(n==="了"&&(!i||!e.get(i)))return"liǎo"}function Cn(n,i){if(n==="々")return!i||!e.get(i)?"tóng":e.get(i).split(" ")[0]}function W(n,i,g){return Cn(n,i)||Zn(n,i)||Tn(n,i,g)||r(n)}const 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?Sn(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=Dn(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}=Pn(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,an as getTraditionalDict,$n as pinyin}; diff --git a/assets/index-CPp4eWTL.js b/assets/index-BiagDY7C.js similarity index 92% rename from assets/index-CPp4eWTL.js rename to assets/index-BiagDY7C.js index 5bd2341..991698f 100644 --- a/assets/index-CPp4eWTL.js +++ b/assets/index-BiagDY7C.js @@ -1 +1 @@ -import{d}from"./dataProvider-CBH3Lw3D.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,ae as C,aa as L,$ as x}from"./vendor-vue-BiQC5iF7.js";import{_ as I,h as r,e as k,c as g,d as V,p as b,q as _,r as A,f as p,k as B,l as E,g as F}from"./index-D042plwv.js";import{V as S,a as T}from"./VAppBarTitle-D2mhaxek.js";import{V as D}from"./VTextField-BoJUR4Xs.js";import{V as K}from"./VContainer-MApP1Vz1.js";import"./vendor-utils-2lvrqI0-.js";import"./serverRotation-CbFrj566.js";import"./vendor-vuetify-DpmmaPkh.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},P={key:1,class:"d-flex align-center w-100"},j={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",j,[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",P,[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 R=I(M,[["render",q]]);export{R as default}; +import{d}from"./dataProvider-oxZzGARG.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,ae as C,aa as L,$ as x}from"./vendor-vue-Hxtt57UU.js";import{_ as I,h as r,e as k,c as g,d as V,p as b,q as _,r as A,f as p,k as B,l as E,g as F}from"./index-BvGH7GyK.js";import{V as S,a as T}from"./VAppBarTitle-CA6uS5-F.js";import{V as D}from"./VTextField-jDykTfh9.js";import{V as K}from"./VContainer-Cz0t7N-s.js";import"./vendor-utils-SR2uUhRI.js";import"./serverRotation-CVerzUcJ.js";import"./vendor-vuetify-KiFW-YAv.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},P={key:1,class:"d-flex align-center w-100"},j={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",j,[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",P,[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 R=I(M,[["render",q]]);export{R as default}; diff --git a/assets/index-BvGH7GyK.js b/assets/index-BvGH7GyK.js new file mode 100644 index 0000000..3d5660e --- /dev/null +++ b/assets/index-BvGH7GyK.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-BT9NXNf7.js","./vendor-vuetify-KiFW-YAv.js","./vendor-vue-Hxtt57UU.js","./default-CmdaPMSp.css","./index-DkQ_Bflb.js","./dataProvider-oxZzGARG.js","./vendor-utils-SR2uUhRI.js","./serverRotation-CVerzUcJ.js","./VChip-CyVmT8se.js","./VChip-Dmz_1Lnv.css","./VTabs-DTqS4Kso.js","./VTable-C8JDgtcy.js","./VTable-CNLJxQof.css","./VTabs-566n5b08.css","./VAlert-DdY_LS-W.js","./VAlert-D_OX1cfW.css","./VTooltip-CvIsrMQ_.js","./VTooltip-D7EaNDeY.css","./VTextField-jDykTfh9.js","./VTextField-DTDEIDq0.css","./soundList-D9U-Grcp.js","./VSwitch-DEARo61Y.js","./VSwitch-Bk42mIwg.css","./VMenu-CEn1TBeC.js","./VMenu-C31D-C2L.css","./VContainer-Cz0t7N-s.js","./VContainer-B1KSavhG.css","./socketClient-B3vfwKNR.js","./vendor-socket-SYmKJpIj.js","./deviceEvents-DDMVNIIy.js","./VAppBarTitle-CA6uS5-F.js","./VAppBarTitle-CczdD-Q2.css","./VRow-CFI96Yew.js","./VRow-D2ArqUC2.css","./index-BFmbztHq.css","./404-DkBfuGQw.js","./authorize-C7nlDpAi.js","./CacheManagement-CX2R2zIQ.js","./VExpansionPanels-D75JoFxE.js","./VExpansionPanels-kEj4ZJQK.css","./VSkeletonLoader-BwErr64p.js","./VSkeletonLoader-D4TcJTqz.css","./cses2wakeup-x4hLziBw.js","./VTextarea-CCvrj_Hr.js","./VTextarea-_xVwaw_z.css","./VFileInput-Ch1sS0Fm.js","./VFileInput-CRcZ0Lr3.css","./VDataTable-C0z5sFU7.js","./VPagination-DC48wzod.js","./VPagination-BF2MZmld.css","./VSelect-BdFWh1xd.js","./VSheet-PSmzyJOR.js","./VSheet-DW_b51tO.css","./VCheckboxBtn-D_PchAC2.js","./VSelect-DHZViySU.css","./VDataTable-DhKfVIaU.css","./VCheckbox-VrkfbZWi.js","./VCheckbox-ZL-u1kGB.css","./cses2wakeup-Qc4GsQy3.css","./debug-HIImqCSE.js","./visitorId-CmQTZ-fb.js","./debug-CbS14biG.css","./debug-init-M9fbfR7P.js","./VForm-DrJP9yK2.js","./debug-socket-bY4DrRDB.js","./_id_-Bxg-njK4.js","./ExamConfigEditor-Bp6Liu2C.js","./VAutocomplete-bB7Ga8jP.js","./VAutocomplete-Ygy_KjMW.css","./VDatePicker-B6PZcrmX.js","./VPicker-DssJ0SqJ.js","./VPicker-Dm9DplUc.css","./VDatePicker-zglzEVGT.css","./VTimePicker-D1xrFTMs.js","./VTimePicker-BkWY3_8P.css","./ExamConfigEditor-HgNV6CVV.css","./examschedule-B8cb1ydi.js","./examschedule-D7wPNFui.css","./index-BiagDY7C.js","./_id_-BBXP8se1.js","./settings-IOzDL48d.js","./MessageLog-CK1yxPmJ.js","./MessageLog-BGkFwivK.css","./VSlider-D5-S_tyd.js","./VSlider-rdyojQMY.css","./VCombobox-D1qFxhIj.js","./VCombobox-r6cc1Iy_.css","./settings-CV-NY-Gt.css","./socket-debugger-CntG8haY.js","./socket-debugger-B22H3Il3.css"])))=>i.map(i=>d[i]); +import{c as bi,g as qe,p as T,d as bn,i as pi,a as B,b as jn,e as Si,f as wi,h as ki,j as G,k as ye,l as zt,u as Z,m as fe,n as ee,o as Ee,q as Pe,r as Je,w as pn,s as Ci,t as Sa,v as _i,x as xi,I as le,S as Sn,y as wa,P as Ot,z as et,A as Wt,B as an,C as ht,D as Gn,E as Ae,F as sn,G as It,H as wn,J as Ei,K as Ii,L as Bt,M as Pi,N as Un,O as Kn,Q as Kt,R as Xt,T as ka,U as Xn,V as Ai,W as Vi,X as Yn,Y as Li,Z as Ti,_ as Oi,$ as Pt,a0 as Bi,a1 as Ri,a2 as Ca,a3 as Ni,a4 as Fe,a5 as at,a6 as ln,a7 as $i,a8 as Di,a9 as Mi,aa as kn,ab as Jn,ac as Qn,ad as Fi,ae as zi,af as Wi,ag as ft,ah as on,ai as ke,aj as _a,ak as qi,al as Hi,am as ji}from"./vendor-vuetify-KiFW-YAv.js";import{J as Gi,K as Ui,L as Ki,e as C,t as k,M as rn,l as se,k as P,n as j,F as Ve,j as S,N as Y,E as Cn,p as He,d as Le,A as je,o as z,D as it,O as Xi,r as vt,u as Yi,m as Q,y as Ji,T as Qi,s as W,q as ve,b as D,w as Ne,P as $e,Q as xa,I as de,R as We,S as _e,v as Ea,x as ne,B as Ia,U as _n,h as xn,V as En,W as Zi,X as Ce,Y as ze,Z as ie,f as es,_ as In,$ as Rt,a0 as Pn,a1 as _t,a2 as ts,a3 as ns,a4 as as,a5 as is}from"./vendor-vue-Hxtt57UU.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 ss="modulepreload",ls=function(e,t){return new URL(e,t).href},Zn={},ae=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=ls(u,a),u in Zn)return;Zn[u]=!0;const c=u.endsWith(".css"),m=c?'[rel="stylesheet"]':"";if(!!a)for(let g=l.length-1;g>=0;g--){const d=l[g];if(d.href===u&&(!c||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${m}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":ss,c||(f.as="script"),f.crossOrigin="",f.href=u,r&&f.setAttribute("nonce",r),document.head.appendChild(f),c)return new Promise((g,d)=>{f.addEventListener("load",g),f.addEventListener("error",()=>d(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)})},os=bi({theme:{defaultTheme:"dark"}}),rs=Gi(),us=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>ae(()=>import("./default-BT9NXNf7.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(g=>{var d;return(g.path===""||g.path==="/")&&((d=g.meta)==null?void 0:d.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)},cs=[{path:"/",name:"/",component:()=>ae(()=>import("./index-DkQ_Bflb.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,24,25,26,27,28,29,30,31,32,33,34]),import.meta.url)},{path:"/404",name:"/404",component:()=>ae(()=>import("./404-DkBfuGQw.js"),__vite__mapDeps([35,32,1,2,33,25,26]),import.meta.url)},{path:"/authorize",name:"/authorize",component:()=>ae(()=>import("./authorize-C7nlDpAi.js"),__vite__mapDeps([36,2,32,1,33,25,26]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>ae(()=>import("./CacheManagement-CX2R2zIQ.js"),__vite__mapDeps([37,14,1,2,15,38,39,8,9,40,41,32,33,25,26]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>ae(()=>import("./cses2wakeup-x4hLziBw.js"),__vite__mapDeps([42,32,1,2,33,14,15,10,11,12,8,9,13,16,17,43,18,19,44,45,46,21,22,40,41,47,48,49,50,23,24,51,52,53,54,55,56,57,25,26,58]),import.meta.url)},{path:"/debug",name:"/debug",component:()=>ae(()=>import("./debug-HIImqCSE.js"),__vite__mapDeps([59,60,1,2,25,26,61]),import.meta.url)},{path:"/debug-init",name:"/debug-init",component:()=>ae(()=>import("./debug-init-M9fbfR7P.js"),__vite__mapDeps([62,5,6,7,32,1,2,33,63,18,19,25,26]),import.meta.url)},{path:"/debug-socket",name:"/debug-socket",component:()=>ae(()=>import("./debug-socket-bY4DrRDB.js"),__vite__mapDeps([64,27,28,7,29,32,1,2,33,8,9,18,19,43,44,25,26]),import.meta.url)},{path:"/exam-editor",children:[{path:":id",name:"/exam-editor/[id]",component:()=>ae(()=>import("./_id_-Bxg-njK4.js"),__vite__mapDeps([65,66,5,6,7,2,14,1,15,40,41,16,17,8,9,32,33,18,19,43,44,21,22,67,50,23,24,51,52,53,54,68,69,70,71,72,73,74,75,30,31,25,26]),import.meta.url)}]},{path:"/examschedule",name:"/examschedule",component:()=>ae(()=>import("./examschedule-B8cb1ydi.js"),__vite__mapDeps([76,66,5,6,7,2,14,1,15,40,41,16,17,8,9,32,33,18,19,43,44,21,22,67,50,23,24,51,52,53,54,68,69,70,71,72,73,74,75,25,26,77]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>ae(()=>import("./index-BiagDY7C.js"),__vite__mapDeps([78,5,6,7,2,30,1,31,18,19,25,26]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>ae(()=>import("./_id_-BBXP8se1.js"),__vite__mapDeps([79,5,6,7,2,30,1,31,18,19,53,21,22,8,9,43,44,25,26]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>ae(()=>import("./settings-IOzDL48d.js"),__vite__mapDeps([80,81,30,1,2,31,82,8,9,21,18,19,22,50,23,24,51,52,53,54,14,15,83,84,5,6,7,32,33,25,26,56,57,43,44,20,40,41,73,70,71,74,63,38,39,47,48,49,11,12,55,85,86,60,87]),import.meta.url)},{path:"/socket-debugger",name:"/socket-debugger",component:()=>ae(()=>import("./socket-debugger-CntG8haY.js"),__vite__mapDeps([88,27,28,7,32,1,2,33,8,9,18,19,43,44,21,22,14,15,25,26,89]),import.meta.url)}],An=Ui({history:Ki("./"),routes:us(cs)});An.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)});An.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function ds(e){e.use(os).use(An).use(rs)}async function fs(){return typeof Notification<"u"&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function vs(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}const Yt="Classworks_settings",xt="classworks:settings:changed",ea={"server.domain":"https://kv-service.wuyuan.dev","server.siteKey":""},Re={"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"},"noiseMonitor.enabled":{type:"boolean",default:!0,description:"启用环境噪音监测",icon:"mdi-microphone"},"noiseMonitor.autoStart":{type:"boolean",default:!0,description:"打开页面时自动开始监测",icon:"mdi-play-circle-outline"},"noiseMonitor.permissionDismissed":{type:"boolean",default:!1,description:"已跳过麦克风权限引导(不再弹出介绍弹框)",icon:"mdi-microphone-off"},"timeCard.enabled":{type:"boolean",default:!0,description:"启用时间卡片",icon:"mdi-clock-outline"},"timeCard.use12h":{type:"boolean",default:!1,description:"使用 12 小时制显示时间",icon:"mdi-clock-time-six-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.showUafTransfer":{type:"boolean",default:!0,description:"是否显示UAF作业导入导出",icon:"mdi-swap-vertical-bold"},"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"},"background.enabled":{type:"boolean",default:!1,description:"启用自定义背景",icon:"mdi-image"},"background.url":{type:"string",default:"",description:"背景图片地址",icon:"mdi-link"},"background.imageData":{type:"string",default:"",description:"本地背景图片(Base64)",icon:"mdi-image-area"},"background.blur":{type:"number",default:10,validate:e=>e>=0&&e<=50,description:"毛玻璃模糊幅度(px)",icon:"mdi-blur"},"background.opacity":{type:"number",default:30,validate:e=>e>=0&&e<=80,description:"遮罩暗色程度(%)",icon:"mdi-circle-half-full"},"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 ms{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(Yt):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(Re))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(Yt,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=Re[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&ea[t]!==void 0)return ea[t];const a=this.settingsCache[t];return a!==void 0?a:n.default}setSetting(t,n){this.isInitialized||this.init();const a=Re[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),typeof window<"u"&&window.dispatchEvent(new CustomEvent(xt,{detail:{key:t,value: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=Re[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings(),typeof window<"u"&&window.dispatchEvent(new CustomEvent(xt,{detail:{key:t,value:n.default}}))}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(Re))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=i=>{i.key===Yt&&(this.settingsCache=JSON.parse(i.newValue),t(this.settingsCache,null))},a=i=>{t(this.settingsCache,i)};return window.addEventListener("storage",n),window.addEventListener(xt,a),()=>{window.removeEventListener("storage",n),window.removeEventListener(xt,a)}}getSettingDefinition(t){return Re[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in Re)t[n]=this.getSetting(n);return t}}const Te=new ms;typeof window<"u"&&Te.init();const Ie=e=>Te.getSetting(e),gs=(e,t)=>Te.setSetting(e,t),ys=e=>Te.resetSetting(e),hs=()=>Te.resetAllSettings(),Pa=e=>Te.watchSettings(e),bs=e=>Te.getSettingDefinition(e),ps=()=>Te.exportSettingsAsKeyValue(),zo=Object.freeze(Object.defineProperty({__proto__:null,SettingsManager:Te,exportSettingsAsKeyValue:ps,getSetting:Ie,getSettingDefinition:bs,requestNotificationPermission:fs,requestPersistentStorage:vs,resetAllSettings:hs,resetSetting:ys,setSetting:gs,settingsDefinitions:Re,watchSettings:Pa},Symbol.toStringTag,{value:"Module"}));class Ss{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 At=new Ss,we=[];let Vt=null,Se=null;const ct={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},ws={timeout:3e3,showSnackbar:!0,addToLog:!0};async function Et(e,t,n="",a={}){const i={...ws,...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 At.addLog(s),we.unshift(s);we.length>Ie("message.maxActiveMessages");)we.pop();Se==null||Se(we)}catch(l){console.error("保存日志失败:",l)}return i.showSnackbar&&(Vt==null||Vt(s)),s}function ks(e,t){let n=null;return function(...a){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,a)},t)}}const Xe={install:e=>{e.config.globalProperties.$message={success:(t,n,a)=>Et(ct.SUCCESS,t,n,a),error:(t,n,a)=>Et(ct.ERROR,t,n,a),info:(t,n,a)=>Et(ct.INFO,t,n,a),warning:(t,n,a)=>Et(ct.WARNING,t,n,a)}},onSnackbar:e=>{Vt=e},onLog:e=>{Se=e},getMessages:async()=>{try{return await At.getLogs()}catch(e){return console.error("获取日志失败:",e),[...we]}},clearMessages:async()=>{try{await At.clearLogs(),we.length=0,Se==null||Se(we)}catch(e){console.error("清除日志失败:",e)}},MessageType:ct,markAsRead:()=>{},deleteMessage:async e=>{try{await At.deleteLog(e);const t=we.findIndex(n=>n.id===e);t!==-1&&we.splice(t,1),Se==null||Se(we)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:ks},Aa=(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]:qe();return{borderClasses:C(()=>{const a=e.border;return a===!0||a===""?`${t}--border`:typeof a=="string"||a===0?String(a).split(" ").map(i=>`border-${i}`):[]})}}const Cs=[null,"default","comfortable","compact"],Ge=T({density:{type:String,default:"default",validator:e=>Cs.includes(e)}},"density");function ot(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();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 pt(e){return{elevationClasses:k(()=>{const n=rn(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const Oe=T({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function Be(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{roundedClasses:C(()=>{const a=rn(e)?e.value:e.rounded,i=rn(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 _s=["x-small","small","default","large","x-large"],St=T({size:{type:[String,Number],default:"default"}},"size");function qt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return bn(()=>{const n=e.size;let a,i;return pi(_s,n)?a=`${t}--size-${n}`:n&&(i={width:B(n),height:B(n)}),{sizeClasses:a,sizeStyles:i}})}const oe=T({tag:{type:[String,Object,Function],default:"div"}},"tag");function Vn(e){return bn(()=>{const{class:t,style:n}=Es(e);return{colorClasses:t,colorStyles:n}})}function tt(e){const{colorClasses:t,colorStyles:n}=Vn(()=>({text:se(e)}));return{textColorClasses:t,textColorStyles:n}}function Qe(e){const{colorClasses:t,colorStyles:n}=Vn(()=>({background:se(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function xs(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 Es(e){const t=xs(se(e)),n=[],a={};if(t.background)if(jn(t.background)){if(a.backgroundColor=t.background,!t.text&&Si(t.background)){const i=wi(t.background);if(i.a==null||i.a===1){const s=ki(i);a.color=s,a.caretColor=s}}}else n.push(`bg-${t.background}`);return t.text&&(jn(t.text)?(a.color=t.text,a.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:a}}const Is=["elevated","flat","tonal","outlined","text","plain"];function wt(e,t){return P(Ve,null,[e&&P("span",{key:"overlay",class:j(`${t}__overlay`)},null),P("span",{key:"underlay",class:j(`${t}__underlay`)},null)])}const Ue=T({color:String,variant:{type:String,default:"elevated",validator:e=>Is.includes(e)}},"variant");function kt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();const n=k(()=>{const{variant:s}=se(e);return`${t}--variant-${s}`}),{colorClasses:a,colorStyles:i}=Vn(()=>{const{variant:s,color:l}=se(e);return{[["elevated","flat"].includes(s)?"background":"text"]:l}});return{colorClasses:a,colorStyles:i,variantClasses:n}}const Va=T({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...st(),...ee(),...Ge(),...bt(),...Oe(),...St({size:void 0}),...oe(),...fe(),...Ue()},"VBtnGroup"),ta=G()({name:"VBtnGroup",props:Va(),setup(e,t){let{slots:n}=t;const{themeClasses:a}=ye(e),{densityClasses:i}=ot(e),{borderClasses:s}=lt(e),{elevationClasses:l}=pt(e),{roundedClasses:o}=Be(e);zt({VBtn:{height:k(()=>e.direction==="horizontal"&&e.size==null?"auto":null),baseColor:k(()=>e.baseColor),color:k(()=>e.color),density:k(()=>e.density),flat:!0,size:k(()=>e.size),variant:k(()=>e.variant)}}),Z(()=>S(e.tag,{class:j(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided,"v-btn-group--has-size":e.size!=null},a.value,s.value,i.value,l.value,o.value,e.class]),style:Y(e.style)},n))}}),Ps=T({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),As=T({value:null,disabled:Boolean,selectedClass:String},"group-item");function Vs(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const a=Ee("useGroupItem");if(!a)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const i=Cn();He(Symbol.for(`${t.description}:id`),i);const s=Le(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=C(()=>!!(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=C(()=>s.isSelected(i)),m=C(()=>s.items.value[0].id===i),v=C(()=>s.items.value[s.items.value.length-1].id===i),f=C(()=>c.value&&[s.selectedClass.value,e.selectedClass]);return z(c,g=>{a.emit("group:selected",{value:g})},{flush:"sync"}),{id:i,isSelected:c,isFirst:m,isLast:v,toggle:()=>s.select(i,!c.value),select:g=>s.select(i,g),selectedClass:f,value:l,disabled:o,group:s,register:r,unregister:u}}function Ls(e,t){let n=!1;const a=vt([]),i=Pe(e,"modelValue",[],v=>v===void 0?[]:La(a,v===null?[null]:pn(v)),v=>{const f=Os(a,v);return e.multiple?f:f[0]}),s=Ee("useGroup");function l(v,f){const g=v,d=Symbol.for(`${t.description}:id`),b=Ci(d,s==null?void 0:s.vnode).indexOf(f);Yi(g.value)===void 0&&(g.value=b,g.useIndexAsValue=!0),b>-1?a.splice(b,0,g):a.push(g)}function o(v){if(n)return;r();const f=a.findIndex(g=>g.id===v);a.splice(f,1)}function r(){const v=a.find(f=>!f.disabled);v&&e.mandatory==="force"&&!i.value.length&&(i.value=[v.id])}it(()=>{r()}),je(()=>{n=!0}),Xi(()=>{for(let v=0;vd.id===v);if(!(f&&(g!=null&&g.disabled)))if(e.multiple){const d=i.value.slice(),p=d.findIndex(E=>E===v),b=~p;if(f=f??!b,b&&e.mandatory&&d.length<=1||!b&&e.max!=null&&d.length+1>e.max)return;p<0&&f?d.push(v):p>=0&&!f&&d.splice(p,1),i.value=d}else{const d=i.value.includes(v);if(e.mandatory&&d||!d&&!f)return;i.value=f??!d?[v]:[]}}function c(v){if(e.multiple,i.value.length){const f=i.value[0],g=a.findIndex(b=>b.id===f);let d=(g+v)%a.length,p=a[d];for(;p.disabled&&d!==g;)d=(d+v)%a.length,p=a[d];if(p.disabled)return;i.value=[a[d].id]}else{const f=a.find(g=>!g.disabled);f&&(i.value=[f.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=>Ts(a,v)};return He(t,m),m}function Ts(e,t){const n=La(e,[t]);return n.length?e.findIndex(a=>a.id===n[0]):-1}function La(e,t){const n=[];return t.forEach(a=>{const i=e.find(l=>Je(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 Os(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 Ta=Symbol.for("vuetify:v-btn-toggle"),Bs=T({...Va(),...Ps()},"VBtnToggle"),Wo=G()({name:"VBtnToggle",props:Bs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:a,next:i,prev:s,select:l,selected:o}=Ls(e,Ta);return Z(()=>{const r=ta.filterProps(e);return S(ta,Q({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}}}),Rs=T({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),ge=G(!1)({name:"VDefaultsProvider",props:Rs(),setup(e,t){let{slots:n}=t;const{defaults:a,disabled:i,reset:s,root:l,scoped:o}=Ji(e);return zt(a,{reset:s,root:l,scoped:o,disabled:i}),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),Ns=T({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:le,opacity:[String,Number],...ee(),...St(),...oe({tag:"i"}),...fe()},"VIcon"),xe=G()({name:"VIcon",props:Ns(),setup(e,t){let{attrs:n,slots:a}=t;const i=W(),{themeClasses:s}=Sa(),{iconData:l}=_i(()=>i.value||e.icon),{sizeClasses:o}=qt(e),{textColorClasses:r,textColorStyles:u}=tt(()=>e.color);return Z(()=>{var v,f;const c=(v=a.default)==null?void 0:v.call(a);c&&(i.value=(f=xi(c).filter(g=>g.type===Qi&&g.children&&typeof g.children=="string")[0])==null?void 0:f.children);const m=!!(n.onClick||n.onClickOnce);return S(l.value.component,{tag:e.tag,icon:l.value.icon,class:j(["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:Y([{"--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 Oa(e,t){const n=D(),a=W(!1);if(Sn){const i=new IntersectionObserver(s=>{a.value=!!s.find(l=>l.isIntersecting)},t);ve(()=>{i.disconnect()}),z(n,(s,l)=>{l&&(i.unobserve(l),a.value=!1),s&&i.observe(s)},{flush:"post"})}return{intersectionRef:n,isIntersecting:a}}const $s=T({reveal:{type:[Boolean,Object],default:!1}},"reveal");function Ds(e){const n=k(()=>typeof e.reveal=="object"?Math.max(0,Number(e.reveal.duration??900)):900),a=W(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 Ms=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(),...$s(),...St(),...oe({tag:"div"}),...fe()},"VProgressCircular"),Fs=G()({name:"VProgressCircular",props:Ms(),setup(e,t){let{slots:n}=t;const a=20,i=2*Math.PI*a,s=D(),{themeClasses:l}=ye(e),{sizeClasses:o,sizeStyles:r}=qt(e),{textColorClasses:u,textColorStyles:c}=tt(()=>e.color),{textColorClasses:m,textColorStyles:v}=tt(()=>e.bgColor),{intersectionRef:f,isIntersecting:g}=Oa(),{resizeRef:d,contentRect:p}=wa(),{state:b,duration:E}=Ds(e),V=k(()=>b.value==="initial"?0:et(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)),_=k(()=>a/(1-w.value/h.value)*2),I=k(()=>w.value/h.value*_.value),y=k(()=>{const F=(100-V.value)/100*i;return e.rounded&&V.value>0&&V.value<100?B(Math.min(i-.01,F+I.value)):B(F)}),R=C(()=>{const F=Number(e.rotate);return e.rounded?F+I.value/2/i*360:F});return Ne(()=>{f.value=s.value,d.value=s.value}),Z(()=>S(e.tag,{ref:s,class:j(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":g.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate==="disable-shrink"||Ot()),"v-progress-circular--revealing":["initial","pending"].includes(b.value)},l.value,o.value,u.value,e.class]),style:Y([r.value,c.value,{"--progress-reveal-duration":`${E.value}ms`},e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:V.value},{default:()=>[P("svg",{style:{transform:`rotate(calc(-90deg + ${R.value}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${_.value} ${_.value}`},[P("circle",{class:j(["v-progress-circular__underlay",m.value]),style:Y(v.value),fill:"transparent",cx:"50%",cy:"50%",r:a,"stroke-width":I.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":I.value,"stroke-dasharray":i,"stroke-dashoffset":y.value,"stroke-linecap":e.rounded?"round":void 0},null)]),n.default&&P("div",{class:"v-progress-circular__content"},[n.default({value:V.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:C(()=>{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 na={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Ht=T({location:String},"location");function Ln(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:a}=Wt();return{locationStyles:C(()=>{if(!e.location)return{};const{side:s,align:l}=an(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[na[s]]=`calc(100% - ${o(s)}px)`:r[s]=0),l!=="center"?t?r[na[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 zs=T({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},"chunks");function Ws(e,t){const n=k(()=>!!e.chunkCount||!!e.chunkWidth),a=C(()=>{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=C(()=>{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+1e-9);return et(m*c-u/2,0,100)}return{hasChunks:n,chunksMaskStyles:s,snapValueToChunk:l}}const qs=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,...zs(),...ee(),...Ht({location:"top"}),...Oe(),...oe(),...fe()},"VProgressLinear"),Ba=G()({name:"VProgressLinear",props:qs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const a=D(),i=Pe(e,"modelValue"),{isRtl:s,rtlClasses:l}=Wt(),{themeClasses:o}=ye(e),{locationStyles:r}=Ln(e),{textColorClasses:u,textColorStyles:c}=tt(()=>e.color),{backgroundColorClasses:m,backgroundColorStyles:v}=Qe(()=>e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:g}=Qe(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:d,backgroundColorStyles:p}=Qe(()=>e.color),{roundedClasses:b}=Be(e),{intersectionRef:E,isIntersecting:V}=Oa(),w=C(()=>parseFloat(e.max)),h=C(()=>parseFloat(e.height)),_=C(()=>et(parseFloat(e.bufferValue)/w.value*100,0,100)),I=C(()=>et(parseFloat(i.value)/w.value*100,0,100)),y=C(()=>s.value!==e.reverse),R=C(()=>e.indeterminate?"fade-transition":"slide-x-transition"),F=W(0),{hasChunks:A,chunksMaskStyles:M,snapValueToChunk:x}=Ws(e,F);ht(A,()=>{const{resizeRef:K}=wa(te=>F.value=te[0].contentRect.width);Ne(()=>K.value=a.value)});const O=C(()=>A.value?x(_.value):_.value),L=C(()=>A.value?x(I.value):I.value);function U(K){if(!E.value)return;const{left:te,right:he,width:X}=E.value.getBoundingClientRect(),N=y.value?X-K.clientX+(he-X):K.clientX-te;i.value=Math.round(N/X*w.value)}return Ne(()=>{E.value=a.value}),Z(()=>S(e.tag,{ref:a,class:j(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&V.value,"v-progress-linear--reverse":y.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},b.value,o.value,l.value,e.class]),style:Y([{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:{}},M.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:j(["v-progress-linear__stream",u.value]),style:{...c.value,[y.value?"left":"right"]:B(-h.value),borderTop:`${B(h.value/2)} dotted`,opacity:e.bufferOpacity!=null?parseFloat(e.bufferOpacity):void 0,top:`calc(50% - ${B(h.value/4)})`,width:B(100-_.value,"%"),"--v-progress-linear-stream-to":B(h.value*(y.value?1:-1))}},null),P("div",{class:j(["v-progress-linear__background",m.value]),style:Y([v.value,{opacity:e.bgOpacity!=null?parseFloat(e.bgOpacity):void 0,width:e.stream?0:void 0}])},null),P("div",{class:j(["v-progress-linear__buffer",f.value]),style:Y([g.value,{opacity:e.bufferOpacity!=null?parseFloat(e.bufferOpacity):void 0,width:B(O.value,"%")}])},null),S($e,{name:R.value},{default:()=>[e.indeterminate?P("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(K=>P("div",{key:K,class:j(["v-progress-linear__indeterminate",K,d.value]),style:Y(p.value)},null))]):P("div",{class:j(["v-progress-linear__determinate",d.value]),style:Y([p.value,{width:B(L.value,"%")}])},null)]}),n.default&&P("div",{class:"v-progress-linear__content"},[n.default({value:I.value,buffer:_.value})])]})),{}}}),Ra=T({loading:[Boolean,String]},"loader");function Na(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{loaderClasses:k(()=>({[`${t}--loading`]:e.loading}))}}function Hs(e,t){var a;let{slots:n}=t;return P("div",{class:j(`${e.name}__loader`)},[((a=n.default)==null?void 0:a.call(n,{color:e.color,isActive:e.active}))||S(Ba,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const js=["static","relative","fixed","absolute","sticky"],Tn=T({position:{type:String,validator:e=>js.includes(e)}},"position");function On(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{positionClasses:k(()=>e.position?`${t}--${e.position}`:void 0)}}function Gs(){const e=Ee("useRoute");return C(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Us(){var e,t;return(t=(e=Ee("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function Bn(e,t){const n=xa("RouterLink"),a=k(()=>!!(e.href||e.to)),i=C(()=>(a==null?void 0:a.value)||Gn(t,"click")||Gn(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=C(()=>e.to?s:void 0),o=Gs(),r=C(()=>{var m,v,f;return l.value?e.exact?o.value?((f=l.value.isExactActive)==null?void 0:f.value)&&Je(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=C(()=>{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 Rn=T({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let Jt=!1;function Ks(e,t){let n=!1,a,i;Ae&&(e!=null&&e.beforeEach)&&(de(()=>{window.addEventListener("popstate",s),a=e.beforeEach(()=>Jt?n?t():void 0:(Jt=!0,new Promise(l=>{setTimeout(()=>l(n?t():void 0))}))),i=e==null?void 0:e.afterEach(()=>{Jt=!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 Xs(e,t){z(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&de(()=>{t(n)})},{immediate:!0})}const un=Symbol("rippleStop"),Ys=80;function aa(e,t){e.style.transform=t,e.style.webkitTransform=t}function cn(e){return e.constructor.name==="TouchEvent"}function $a(e){return e.constructor.name==="KeyboardEvent"}const Js=function(e,t){var m;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=0,i=0;if(!$a(e)){const v=new It(t),f=cn(e)?e.touches[e.touches.length-1]:e,g=wn([f.clientX,f.clientY]);a=g.x-v.left,i=g.y-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}},Nt={show(e,t){var f;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((f=t==null?void 0:t._ripple)!=null&&f.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}=Js(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"),aa(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"),aa(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 Da(e){return typeof e>"u"||!!e}function mt(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[un])){if(e[un]=!0,cn(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||$a(e),n._ripple.class&&(t.class=n._ripple.class),cn(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{Nt.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)},Ys)}else Nt.show(e,n,t)}}function $t(e){e[un]=!0}function ce(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(()=>{ce(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),Nt.hide(t)}}function Ma(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 Qs(e,t){!gt&&t.includes(e.key)&&(gt=!0,mt(e))}function Fa(e){gt=!1,ce(e)}function za(e){gt&&(gt=!1,ce(e))}function Wa(e,t,n){const{value:a,modifiers:i}=t,s=Da(a);s||Nt.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=s,e._ripple.centered=i.center,e._ripple.circle=i.circle;const l=sn(a)?a:{};l.class&&(e._ripple.class=l.class);const o=l.keys??["Enter","Space"];if(e._ripple.keyDownHandler=r=>Qs(r,o),s&&!n){if(i.stop){e.addEventListener("touchstart",$t,{passive:!0}),e.addEventListener("mousedown",$t);return}e.addEventListener("touchstart",mt,{passive:!0}),e.addEventListener("touchend",ce,{passive:!0}),e.addEventListener("touchmove",Ma,{passive:!0}),e.addEventListener("touchcancel",ce),e.addEventListener("mousedown",mt),e.addEventListener("mouseup",ce),e.addEventListener("mouseleave",ce),e.addEventListener("keydown",e._ripple.keyDownHandler),e.addEventListener("keyup",Fa),e.addEventListener("blur",za),e.addEventListener("dragstart",ce,{passive:!0})}else!s&&n&&qa(e)}function qa(e){var t;e.removeEventListener("touchstart",$t),e.removeEventListener("mousedown",$t),e.removeEventListener("touchstart",mt),e.removeEventListener("touchend",ce),e.removeEventListener("touchmove",Ma),e.removeEventListener("touchcancel",ce),e.removeEventListener("mousedown",mt),e.removeEventListener("mouseup",ce),e.removeEventListener("mouseleave",ce),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",Fa),e.removeEventListener("blur",za),e.removeEventListener("dragstart",ce)}function Zs(e,t){Wa(e,t,!1)}function el(e){qa(e),delete e._ripple}function tl(e,t){if(t.value===t.oldValue)return;const n=Da(t.oldValue);Wa(e,t,n)}const yt={mounted:Zs,unmounted:el,updated:tl},nl=T({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Ta},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(),...Ge(),...rt(),...bt(),...As(),...Ra(),...Ht(),...Tn(),...Oe(),...Rn(),...St(),...oe({tag:"button"}),...fe(),...Ue({variant:"elevated"})},"VBtn"),Ha=G()({name:"VBtn",props:nl(),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}=pt(e),{loaderClasses:u}=Na(e),{locationStyles:c}=Ln(e),{positionClasses:m}=On(e),{roundedClasses:v}=Be(e),{sizeClasses:f,sizeStyles:g}=qt(e),d=Vs(e,e.symbol,!1),p=Bn(e,n),b=C(()=>{var A;return e.active!==void 0?e.active:p.isRouterLink.value?(A=p.isActive)==null?void 0:A.value:d==null?void 0:d.isSelected.value}),E=k(()=>b.value?e.activeColor??e.color:e.color),V=C(()=>{var M,x;return{color:(d==null?void 0:d.isSelected.value)&&(!p.isLink.value||((M=p.isActive)==null?void 0:M.value))||!d||((x=p.isActive)==null?void 0:x.value)?E.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:w,colorStyles:h,variantClasses:_}=kt(V),I=C(()=>(d==null?void 0:d.disabled.value)||e.disabled),y=k(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),R=C(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function F(A){var M,x;I.value||p.isLink.value&&(A.metaKey||A.ctrlKey||A.shiftKey||A.button!==0||n.target==="_blank")||(p.isRouterLink.value?(x=(M=p.navigate).value)==null||x.call(M,A):d==null||d.toggle())}return Xs(p,d==null?void 0:d.select),Z(()=>{const A=p.isLink.value?"a":e.tag,M=!!(e.prependIcon||a.prepend),x=!!(e.appendIcon||a.append),O=!!(e.icon&&e.icon!==!0);return We(S(A,Q(p.linkProps,{type:A==="a"?void 0:"button",class:["v-btn",d==null?void 0:d.selectedClass.value,{"v-btn--active":b.value,"v-btn--block":e.block,"v-btn--disabled":I.value,"v-btn--elevated":y.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,f.value,_.value,e.class],style:[h.value,o.value,c.value,g.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:I.value&&A!=="a"||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:F,value:R.value}),{default:()=>{var L;return[wt(!0,"v-btn"),!e.icon&&M&&P("span",{key:"prepend",class:"v-btn__prepend"},[a.prepend?S(ge,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},a.prepend):S(xe,{key:"prepend-icon",icon:e.prependIcon},null)]),P("span",{class:"v-btn__content","data-no-activator":""},[!a.default&&O?S(xe,{key:"content-icon",icon:e.icon},null):S(ge,{key:"content-defaults",disabled:!O,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var U;return[((U=a.default)==null?void 0:U.call(a))??_e(e.text)]}})]),!e.icon&&x&&P("span",{key:"append",class:"v-btn__append"},[a.append?S(ge,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},a.append):S(xe,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&P("span",{key:"loader",class:"v-btn__loader"},[((L=a.loader)==null?void 0:L.call(a))??S(Fs,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[yt,!I.value&&e.ripple,"",{center:!!e.icon}]])}),{group:d}}});function Qt(e,t){return{x:e.x+t.x,y:e.y+t.y}}function al(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ia(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 Qt({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 Qt({x:i,y:s},t)}return Qt({x:t.width/2,y:t.height/2},t)}const ja={static:ll,connected:rl},il=T({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in ja},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 sl(e,t){const n=D({}),a=D();Ae&&ht(()=>!!(t.isActive.value&&e.locationStrategy),o=>{var r,u;z(()=>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=ja[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 ll(){}function ol(e,t){const n=ka(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 rl(e,t,n){(Array.isArray(e.target.value)||Ei(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:i,preferredOrigin:s}=bn(()=>{const b=an(t.location,e.isRtl.value),E=t.origin==="overlap"?b:t.origin==="auto"?Xt(b):an(t.origin,e.isRtl.value);return b.side===E.side&&b.align===Kt(E).align?{preferredAnchor:Xn(b),preferredOrigin:Xn(E)}:{preferredAnchor:b,preferredOrigin:E}}),[l,o,r,u]=["minWidth","minHeight","maxWidth","maxHeight"].map(b=>C(()=>{const E=parseFloat(t[b]);return isNaN(E)?1/0:E})),c=C(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const b=t.offset.split(" ").map(parseFloat);return b.length<2&&b.push(0),b}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let m=!1,v=-1;const f=new Ii(4),g=new ResizeObserver(()=>{if(!m)return;if(requestAnimationFrame(E=>{E!==v&&f.clear(),requestAnimationFrame(V=>{v=V})}),f.isFull){const E=f.values();if(Je(E.at(-1),E.at(-3))&&!Je(E.at(-1),E.at(-2)))return}const b=p();b&&f.push(b.flipped)});let d=new It({x:0,y:0,width:0,height:0});z(e.target,(b,E)=>{E&&!Array.isArray(E)&&g.unobserve(E),Array.isArray(b)?Je(b,E)||p():b&&g.observe(b)},{immediate:!0}),z(e.contentEl,(b,E)=>{E&&g.unobserve(E),b&&g.observe(b)},{immediate:!0}),ve(()=>{g.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)&&(d=wn(e.target.value));const b=ol(e.contentEl.value,e.isRtl.value),E=Bt(e.contentEl.value),V=Number(t.viewportMargin);E.length||(E.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(b.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),b.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const w=E.reduce((x,O)=>{const L=Pi(O);return x?new It({x:Math.max(x.left,L.left),y:Math.max(x.top,L.top),width:Math.min(x.right,L.right)-Math.max(x.left,L.left),height:Math.min(x.bottom,L.bottom)-Math.max(x.top,L.top)}):L},void 0);t.stickToTarget?(w.x+=Math.min(V,d.x),w.y+=Math.min(V,d.y),w.width=Math.max(w.width-V*2,d.x+d.width-V),w.height=Math.max(w.height-V*2,d.y+d.height-V)):(w.x+=V,w.y+=V,w.width-=V*2,w.height-=V*2);let h={anchor:i.value,origin:s.value};function _(x){const O=new It(b),L=ia(x.anchor,d),U=ia(x.origin,O);let{x:K,y:te}=al(L,U);switch(x.anchor.side){case"top":te-=c.value[0];break;case"bottom":te+=c.value[0];break;case"left":K-=c.value[0];break;case"right":K+=c.value[0];break}switch(x.anchor.align){case"top":te-=c.value[1];break;case"bottom":te+=c.value[1];break;case"left":K-=c.value[1];break;case"right":K+=c.value[1];break}return O.x+=K,O.y+=te,O.width=Math.min(O.width,r.value),O.height=Math.min(O.height,u.value),{overflows:Kn(O,w),x:K,y:te}}let I=0,y=0;const R={x:0,y:0},F={x:!1,y:!1};let A=-1;for(;!(A++>10);){const{x,y:O,overflows:L}=_(h);I+=x,y+=O,b.x+=x,b.y+=O;{const U=Un(h.anchor),K=L.x.before||L.x.after,te=L.y.before||L.y.after;let he=!1;if(["x","y"].forEach(X=>{if(X==="x"&&K&&!F.x||X==="y"&&te&&!F.y){const N={anchor:{...h.anchor},origin:{...h.origin}},J=X==="x"?U==="y"?Kt:Xt:U==="y"?Xt:Kt;N.anchor=J(N.anchor),N.origin=J(N.origin);const{overflows:q}=_(N);(q[X].before<=L[X].before&&q[X].after<=L[X].after||q[X].before+q[X].after<(L[X].before+L[X].after)/2)&&(h=N,he=F[X]=!0)}}),he)continue}L.x.before&&(I+=L.x.before,b.x+=L.x.before),L.x.after&&(I-=L.x.after,b.x-=L.x.after),L.y.before&&(y+=L.y.before,b.y+=L.y.before),L.y.after&&(y-=L.y.after,b.y-=L.y.after);{const U=Kn(b,w);R.x=w.width-U.x.before-U.x.after,R.y=w.height-U.y.before-U.y.after,I+=U.x.before,b.x+=U.x.before,y+=U.y.before,b.y+=U.y.before}break}const M=Un(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(Zt(y)),left:e.isRtl.value?void 0:B(Zt(I)),right:e.isRtl.value?B(Zt(-I)):void 0,minWidth:B(M==="y"?Math.min(l.value,d.width):l.value),maxWidth:B(sa(et(R.x,l.value===1/0?0:l.value,r.value))),maxHeight:B(sa(et(R.y,o.value===1/0?0:o.value,u.value)))}),{available:R,contentBox:b,flipped:F}}return z(()=>[i.value,s.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>p()),de(()=>{const b=p();if(!b)return;const{available:E,contentBox:V}=b;V.height>E.y&&requestAnimationFrame(()=>{p(),requestAnimationFrame(()=>{p()})})}),{updateLocation:p}}function Zt(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function sa(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let dn=!0;const Dt=[];function ul(e){!dn||Dt.length?(Dt.push(e),fn()):(dn=!1,e(),fn())}let la=-1;function fn(){cancelAnimationFrame(la),la=requestAnimationFrame(()=>{const e=Dt.shift();e&&e(),Dt.length?fn():dn=!0})}const Lt={none:null,close:fl,block:vl,reposition:ml},cl=T({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in Lt}},"VOverlay-scroll-strategies");function dl(e,t){if(!Ae)return;let n;Ne(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=Ea(),await new Promise(a=>setTimeout(a)),n.active&&n.run(()=>{var a;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(a=Lt[e.scrollStrategy])==null||a.call(Lt,t,e,n)}))}),ve(()=>{n==null||n.stop()})}function fl(e){function t(n){e.isActive.value=!1}Ga(Nn(e.target.value,e.contentEl.value),t)}function vl(e,t){var o;const n=(o=e.root.value)==null?void 0:o.offsetParent,a=Nn(e.target.value,e.contentEl.value),i=[...new Set([...Bt(a,t.contained?n:void 0),...Bt(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=>Ai(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 ml(e,t,n){let a=!1,i=-1,s=-1;function l(o){ul(()=>{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(()=>{Ga(Nn(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 Nn(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function Ga(e,t){const n=[document,...Bt(e)];n.forEach(a=>{a.addEventListener("scroll",t,{passive:!0})}),ve(()=>{n.forEach(a=>{a.removeEventListener("scroll",t)})})}const gl=Symbol.for("vuetify:v-menu"),yl=T({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function hl(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=Vi(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 bl=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,...yl()},"VOverlay-activator");function pl(e,t){let{isActive:n,isTop:a,contentEl:i}=t;const s=Ee("useActivator"),l=D();let o=!1,r=!1,u=!0;const c=C(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),m=C(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:v,runCloseDelay:f}=hl(e,y=>{y===(e.openOnHover&&o||c.value&&r)&&!(e.openOnHover&&n.value&&!a.value)&&(n.value!==y&&(u=!0),n.value=y)}),g=D(),d={onClick:y=>{y.stopPropagation(),l.value=y.currentTarget||y.target,n.value||(g.value=[y.clientX,y.clientY]),n.value=!n.value},onMouseenter:y=>{o=!0,l.value=y.currentTarget||y.target,v()},onMouseleave:y=>{o=!1,f()},onFocus:y=>{Oi(y.target,":focus-visible")!==!1&&(r=!0,y.stopPropagation(),l.value=y.currentTarget||y.target,v())},onBlur:y=>{r=!1,y.stopPropagation(),f({minDelay:1})}},p=C(()=>{const y={};return m.value&&(y.onClick=d.onClick),e.openOnHover&&(y.onMouseenter=d.onMouseenter,y.onMouseleave=d.onMouseleave),c.value&&(y.onFocus=d.onFocus,y.onBlur=d.onBlur),y}),b=C(()=>{const y={};if(e.openOnHover&&(y.onMouseenter=()=>{o=!0,v()},y.onMouseleave=()=>{o=!1,f()}),c.value&&(y.onFocusin=R=>{R.target.matches(":focus-visible")&&(r=!0,v())},y.onFocusout=()=>{r=!1,f({minDelay:1})}),e.closeOnContentClick){const R=Le(gl,null);y.onClick=()=>{n.value=!1,R==null||R.closeParents()}}return y}),E=C(()=>{const y={};return e.openOnHover&&(y.onMouseenter=()=>{u&&(o=!0,u=!1,v())},y.onMouseleave=()=>{o=!1,f()}),y});z(a,y=>{var R;y&&(e.openOnHover&&!o&&(!c.value||!r)||c.value&&!r&&(!e.openOnHover||!o))&&!((R=i.value)!=null&&R.contains(document.activeElement))&&f()}),z(n,y=>{y||setTimeout(()=>{g.value=void 0})},{flush:"post"});const V=Yn();Ne(()=>{V.value&&de(()=>{l.value=V.el})});const w=Yn(),h=C(()=>e.target==="cursor"&&g.value?g.value:w.value?w.el:Ua(e.target,s)||l.value),_=C(()=>Array.isArray(h.value)?void 0:h.value);let I;return z(()=>!!e.activator,y=>{y&&Ae?(I=Ea(),I.run(()=>{Sl(e,s,{activatorEl:l,activatorEvents:p})})):I&&I.stop()},{flush:"post",immediate:!0}),ve(()=>{I==null||I.stop()}),{activatorEl:l,activatorRef:V,target:h,targetEl:_,targetRef:w,activatorEvents:p,contentEvents:b,scrimEvents:E}}function Sl(e,t,n){let{activatorEl:a,activatorEvents:i}=n;z(()=>e.activator,(r,u)=>{if(u&&r!==u){const c=o(u);c&&l(c)}r&&de(()=>s())},{immediate:!0}),z(()=>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&&Li(r,Q(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&&Ti(r,Q(i.value,u))}function o(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const u=Ua(r,t);return a.value=(u==null?void 0:u.nodeType)===Node.ELEMENT_NODE?u:void 0,a.value}}function Ua(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 wl=T({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},"focusTrap"),Tt=new Map;let oa=0;function ra(e){const t=document.activeElement;if(e.key!=="Tab"||!t)return;const n=Array.from(Tt.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=Pt(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 kl(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(f){var p;const g=f.relatedTarget,d=f.target;document.removeEventListener("pointerdown",u),document.removeEventListener("keydown",m),await new Promise(b=>requestAnimationFrame(b)),n.value&&!o&&g!==d&&s.value&&se(a)&&![document,s.value].includes(d)&&!s.value.contains(d)&&((p=Pt(s.value)[0])==null||p.focus())}function m(f){if(f.key==="Tab"&&(document.removeEventListener("keydown",m),n.value&&s.value&&f.target&&!s.value.contains(f.target))){const g=Pt(document.documentElement);if(f.shiftKey&&f.target===g.at(0)||!f.shiftKey&&f.target===g.at(-1)){const d=Pt(s.value);d.length>0&&(f.preventDefault(),d[0].focus())}}}const v=k(()=>n.value&&e.captureFocus&&!e.disableInitialFocus);Ae&&(z(()=>e.retainFocus,f=>{f?Tt.set(l,{isActive:n,contentEl:s}):Tt.delete(l)},{immediate:!0}),z(v,f=>{f?(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}),oa++<1&&document.addEventListener("keydown",ra)),ve(()=>{Tt.delete(l),clearTimeout(r),document.removeEventListener("pointerdown",u),document.removeEventListener("focusin",c),document.removeEventListener("keydown",m),--oa<1&&document.removeEventListener("keydown",ra)})}function Cl(){if(!Ae)return W(!1);const{ssr:e}=Bi();if(e){const t=W(!1);return it(()=>{t.value=!0}),t}else return W(!0)}const _l=T({eager:Boolean},"lazy");function xl(e,t){const n=W(!1),a=k(()=>n.value||e.eager||t.value);z(t,()=>n.value=!0);function i(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:a,onAfterLeave:i}}function $n(){const t=Ee("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const ua=Symbol.for("vuetify:stack"),dt=vt([]);function El(e,t,n){const a=Ee("useStack"),i=!n,s=Le(ua,void 0),l=vt({activeChildren:new Set});He(ua,l);const o=W(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=ne(dt).findIndex(f=>f[0]===a.uid);dt.splice(v,1)}s==null||s.activeChildren.delete(a.uid)})});const r=W(!0);i&&Ne(()=>{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:Ia(r),localTop:u,stackStyles:k(()=>({zIndex:o.value}))}}function Il(e){return{teleportTarget:C(()=>{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 Ka=T({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),Ye=(e,t)=>{let{slots:n}=t;const{transition:a,disabled:i,group:s,target:l,...o}=e,{component:r=s?_n:$e,...u}=sn(a)?a:{};let c;return sn(a)?c=Q(u,Ri({disabled:i,group:s,target:l}),o):c=Q({name:i||!a?"":a},o),xn(r,c,n)};function Pl(){return!0}function Xa(e,t,n){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!e||!a&&Ya(e,n)===!1)return!1;const i=Ca(t);if(typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&i.host===e.target)return!1;const s=(typeof n.value=="object"&&n.value.include||(()=>[]))();return s.push(t),!s.some(l=>l==null?void 0:l.contains(e.target))}function Ya(e,t){return(typeof t.value=="object"&&t.value.closeConditional||Pl)(e)}function Al(e,t,n){const a=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&Xa(e,t,n)&&setTimeout(()=>{Ya(e,n)&&a&&a(e)},0)}function ca(e,t){const n=Ca(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const da={mounted(e,t){const n=i=>Al(i,e,t),a=i=>{e._clickOutside.lastMousedownWasOutside=Xa(i,e,t,!0)};ca(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&&(ca(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 Vl(e){const{modelValue:t,color:n,...a}=e;return S($e,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&P("div",Q({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},a),null)]})}const Dn=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},...bl(),...ee(),...rt(),..._l(),...il(),...cl(),...wl(),...fe(),...Ka()},"VOverlay"),Mt=G()({name:"VOverlay",directives:{vClickOutside:da},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...at(Dn(),["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=Ee("VOverlay"),l=D(),o=D(),r=D(),u=Pe(e,"modelValue"),c=C({get:()=>u.value,set:H=>{H&&e.disabled||(u.value=H)}}),{themeClasses:m}=ye(e),{rtlClasses:v,isRtl:f}=Wt(),{hasContent:g,onAfterLeave:d}=xl(e,c),p=Qe(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:b,localTop:E,stackStyles:V}=El(c,()=>e.zIndex,e._disableGlobalStack),{activatorEl:w,activatorRef:h,target:_,targetEl:I,targetRef:y,activatorEvents:R,contentEvents:F,scrimEvents:A}=pl(e,{isActive:c,isTop:E,contentEl:r}),{teleportTarget:M}=Il(()=>{var Me,$,re;const H=e.attach||e.contained;if(H)return H;const ue=((Me=w==null?void 0:w.value)==null?void 0:Me.getRootNode())||((re=($=s.proxy)==null?void 0:$.$el)==null?void 0:re.getRootNode());return ue instanceof ShadowRoot?ue:!1}),{dimensionStyles:x}=ut(e),O=Cl(),{scopeId:L}=$n();z(()=>e.disabled,H=>{H&&(c.value=!1)});const{contentStyles:U,updateLocation:K}=sl(e,{isRtl:f,contentEl:r,target:_,isActive:c});dl(e,{root:l,contentEl:r,targetEl:I,target:_,isActive:c,updateLocation:K});function te(H){i("click:outside",H),e.persistent?be():c.value=!1}function he(H){return c.value&&E.value&&(!e.scrim||H.target===o.value||H instanceof MouseEvent&&H.shadowTarget===o.value)}kl(e,{isActive:c,localTop:E,contentEl:r,activatorEl:w}),Ae&&z(c,H=>{H?window.addEventListener("keydown",X):window.removeEventListener("keydown",X)},{immediate:!0}),je(()=>{Ae&&window.removeEventListener("keydown",X)});function X(H){var ue,Me,$;H.key==="Escape"&&b.value&&((ue=r.value)!=null&&ue.contains(document.activeElement)||i("keydown",H),e.persistent?be():(c.value=!1,(Me=r.value)!=null&&Me.contains(document.activeElement)&&(($=w.value)==null||$.focus())))}function N(H){H.key==="Escape"&&!b.value||i("keydown",H)}const J=Us();ht(()=>e.closeOnBack,()=>{Ks(J,()=>{if(b.value&&c.value)return e.persistent?be():c.value=!1,!1})});const q=D();z(()=>c.value&&(e.absolute||e.contained)&&M.value==null,H=>{if(H){const ue=Ni(l.value);ue&&ue!==document.scrollingElement&&(q.value=ue.scrollTop)}});function be(){e.noClickAnimation||r.value&&Fe(r.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:ln})}function Ke(){i("afterEnter")}function De(){d(),i("afterLeave")}return Z(()=>{var H;return P(Ve,null,[(H=n.activator)==null?void 0:H.call(n,{isActive:c.value,targetRef:y,props:Q({ref:h},R.value,e.activatorProps)}),O.value&&g.value&&S(Zi,{disabled:!M.value,to:M.value},{default:()=>[P("div",Q({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:[V.value,{"--v-overlay-opacity":e.opacity,top:B(q.value)},e.style],ref:l,onKeydown:N},L,a),[S(Vl,Q({color:p,modelValue:c.value&&!!e.scrim,ref:o},A.value),null),S(Ye,{appear:!0,persisted:!0,transition:e.transition,target:_.value,onAfterEnter:Ke,onAfterLeave:De},{default:()=>{var ue;return[We(P("div",Q({ref:r,class:["v-overlay__content",e.contentClass],style:[x.value,U.value]},F.value,e.contentProps),[(ue=n.default)==null?void 0:ue.call(n,{isActive:c})]),[[En,c.value],[da,{handler:te,closeConditional:he,include:()=>[w.value]}]])]}})])]})])}),{activatorEl:w,scrimEl:o,target:_,animateClick:be,contentEl:r,rootEl:l,globalTop:b,localTop:E,updateLocation:K}}}),en=Symbol("Forwarded refs");function tn(e,t){let n=e;for(;n;){const a=Reflect.getOwnPropertyDescriptor(n,t);if(a)return a;n=Object.getPrototypeOf(n)}}function Ja(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 Tl=T({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Ht({location:"bottom"}),...Tn(),...Oe(),...Ue(),...fe(),...at(Dn({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),Ol=G()({name:"VSnackbar",props:Tl(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const a=Pe(e,"modelValue"),{positionClasses:i}=On(e),{scopeId:s}=$n(),{themeClasses:l}=ye(e),{colorClasses:o,colorStyles:r,variantClasses:u}=kt(e),{roundedClasses:c}=Be(e),m=Ll(()=>Number(e.timeout)),v=D(),f=D(),g=W(!1),d=W(0),p=D(),b=Le(Mi,void 0);ht(()=>!!b,()=>{const A=$i();Ne(()=>{p.value=A.mainStyles.value})}),z(a,V),z(()=>e.timeout,V),it(()=>{a.value&&V()});let E=-1;function V(){m.reset(),window.clearTimeout(E);const A=Number(e.timeout);if(!a.value||A===-1)return;const M=Di(f.value);m.start(M),E=window.setTimeout(()=>{a.value=!1},A)}function w(){m.reset(),window.clearTimeout(E)}function h(){g.value=!0,w()}function _(){g.value=!1,V()}function I(A){d.value=A.touches[0].clientY}function y(A){Math.abs(d.value-A.changedTouches[0].clientY)>50&&(a.value=!1)}function R(){g.value&&_()}const F=C(()=>e.location.split(" ").reduce((A,M)=>(A[`v-snackbar--${M}`]=!0,A),{}));return Z(()=>{const A=Mt.filterProps(e),M=!!(n.default||n.text||e.text);return S(Mt,Q({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},F.value,i.value,e.class],style:[p.value,e.style]},A,{modelValue:a.value,"onUpdate:modelValue":x=>a.value=x,contentProps:Q({class:["v-snackbar__wrapper",l.value,o.value,c.value,u.value],style:[r.value],onPointerenter:h,onPointerleave:_},A.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:I,onTouchend:y,onAfterLeave:R},s),{default:()=>{var x,O;return[wt(!1,"v-snackbar"),e.timer&&!g.value&&P("div",{key:"timer",class:"v-snackbar__timer"},[S(Ba,{ref:f,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:m.time.value},null)]),M&&P("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((x=n.text)==null?void 0:x.call(n))??e.text,(O=n.default)==null?void 0:O.call(n)]),n.actions&&S(ge,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[P("div",{class:"v-snackbar__actions"},[n.actions({isActive:a})])]})]},activator:n.activator})}),Ja({},v)}}),Bl=es({name:"GlobalMessage",setup(){var s;const e=D(!1),t=D(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=Xe==null?void 0:Xe.onSnackbar)==null?void 0:s.call(Xe,async l=>{l&&(e.value&&(e.value=!1,await de()),t.value=l,e.value=!0)});return je(()=>i==null?void 0:i()),{snackbar:e,message:t,icons:n,colors:a}}}),Rl={class:"d-flex align-center"},Nl={class:"text-subtitle-2 font-weight-medium"},$l={key:0,class:"text-body-2"};function Dl(e,t,n,a,i,s){var l;return Ce(),ze(Ol,{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(()=>[S(Ha,{icon:"mdi-close",variant:"text",onClick:t[0]||(t[0]=o=>e.snackbar=!1)})]),default:ie(()=>{var o,r,u,c;return[P("div",Rl,[S(xe,{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",Nl,_e((r=e.message)==null?void 0:r.title),1),(u=e.message)!=null&&u.content?(Ce(),In("div",$l,_e((c=e.message)==null?void 0:c.content),1)):Rt("",!0)])])]}),_:1},8,["modelValue","color"])}const Qa=Aa(Bl,[["render",Dl]]),Ml=T({...ee(),...oe()},"VCardActions"),Za=G()({name:"VCardActions",props:Ml(),setup(e,t){let{slots:n}=t;return zt({VBtn:{slim:!0,variant:"text"}}),Z(()=>S(e.tag,{class:j(["v-card-actions",e.class]),style:Y(e.style)},n)),{}}}),Fl=T({opacity:[Number,String],...ee(),...oe()},"VCardSubtitle"),zl=G()({name:"VCardSubtitle",props:Fl(),setup(e,t){let{slots:n}=t;return Z(()=>S(e.tag,{class:j(["v-card-subtitle",e.class]),style:Y([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),ei=kn("v-card-title");function Wl(e){return{aspectStyles:C(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const ti=T({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...ee(),...rt()},"VResponsive"),fa=G()({name:"VResponsive",props:ti(),setup(e,t){let{slots:n}=t;const{aspectStyles:a}=Wl(e),{dimensionStyles:i}=ut(e);return Z(()=>{var s;return P("div",{class:j(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:Y([i.value,e.style])},[P("div",{class:"v-responsive__sizer",style:Y(a.value)},null),(s=n.additional)==null?void 0:s.call(n),n.default&&P("div",{class:j(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function va(e,t){if(!Sn)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?vn(e,t):u.init=!0},s);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:l},l.observe(e)}function vn(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 ma={mounted:va,unmounted:vn,updated:(e,t)=>{var n;(n=e._observe)!=null&&n[t.instance.$.uid]&&(vn(e,t),va(e,t))}},ql=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,...ti(),...ee(),...Oe(),...Ka()},"VImg"),ni=G()({name:"VImg",directives:{vIntersect:ma},props:ql(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:a}=t;const{backgroundColorClasses:i,backgroundColorStyles:s}=Qe(()=>e.color),{roundedClasses:l}=Be(e),o=Ee("VImg"),r=W(""),u=D(),c=W(e.eager?"loading":"idle"),m=W(),v=W();let f=!1;const g=C(()=>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)}),d=C(()=>g.value.aspect||m.value/v.value||0);z(()=>e.src,()=>{p(c.value!=="idle")}),z(d,(x,O)=>{!x&&O&&u.value&&h(u.value)}),z(u,x=>{!x||c.value==="idle"||(d.value||h(x),V(x),f&&(f=!1,n("load",x.currentSrc||g.value.src)))}),Pn(()=>p());function p(x){if(!(e.eager&&x)&&!(Sn&&!x&&!e.eager)){if(c.value="loading",g.value.lazySrc){const O=new Image;O.src=g.value.lazySrc,h(O,null)}g.value.src&&de(()=>{var O;n("loadstart",((O=u.value)==null?void 0:O.currentSrc)||g.value.src),setTimeout(()=>{var L;if(!o.isUnmounted)if((L=u.value)!=null&&L.complete){if(u.value.naturalWidth||E(),c.value==="error")return;d.value||h(u.value,null),c.value==="loading"&&b()}else u.value&&(d.value||h(u.value),V(u.value))})})}}function b(){o.isUnmounted||(u.value?(V(u.value),h(u.value),n("load",u.value.currentSrc||g.value.src)):f=!0,c.value="loaded")}function E(){var x;o.isUnmounted||(c.value="error",n("error",((x=u.value)==null?void 0:x.currentSrc)||g.value.src))}function V(x){r.value=x.currentSrc||x.src}let w=-1;je(()=>{clearTimeout(w)});function h(x){let O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const L=()=>{if(clearTimeout(w),o.isUnmounted)return;const{naturalHeight:U,naturalWidth:K}=x;U||K?(m.value=K,v.value=U):!x.complete&&c.value==="loading"&&O!=null?w=window.setTimeout(L,O):(x.currentSrc.endsWith(".svg")||x.currentSrc.startsWith("data:image/svg+xml"))&&(m.value=1,v.value=1)};L()}const _=k(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),I=()=>{var L;if(!g.value.src||c.value==="idle")return null;const x=P("img",{class:j(["v-img__img",_.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:g.value.src,srcset:g.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:u,onLoad:b,onError:E},null),O=(L=a.sources)==null?void 0:L.call(a);return S(Ye,{transition:e.transition,appear:!0},{default:()=>[We(O?P("picture",{class:"v-img__picture"},[O,x]):x,[[En,c.value==="loaded"]])]})},y=()=>S(Ye,{transition:e.transition},{default:()=>[g.value.lazySrc&&c.value!=="loaded"&&P("img",{class:j(["v-img__img","v-img__img--preload",_.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:g.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),R=()=>a.placeholder?S(Ye,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!a.error)&&P("div",{class:"v-img__placeholder"},[a.placeholder()])]}):null,F=()=>a.error?S(Ye,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&P("div",{class:"v-img__error"},[a.error()])]}):null,A=()=>e.gradient?P("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,M=W(!1);{const x=z(d,O=>{O&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{M.value=!0})}),x())})}return Z(()=>{const x=fa.filterProps(e);return We(S(fa,Q({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!M.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]},x,{aspectRatio:d.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>P(Ve,null,[S(I,null,null),S(y,null,null),S(A,null,null),S(R,null,null),S(F,null,null)]),default:a.default}),[[ma,{handler:p,options:e.options},null,{once:!0}]])}),{currentSrc:r,image:u,state:c,naturalWidth:m,naturalHeight:v}}}),Hl=T({start:Boolean,end:Boolean,icon:le,image:String,text:String,...st(),...ee(),...Ge(),...Oe(),...St(),...oe(),...fe(),...Ue({variant:"flat"})},"VAvatar"),Ft=G()({name:"VAvatar",props:Hl(),setup(e,t){let{slots:n}=t;const{themeClasses:a}=ye(e),{borderClasses:i}=lt(e),{colorClasses:s,colorStyles:l,variantClasses:o}=kt(e),{densityClasses:r}=ot(e),{roundedClasses:u}=Be(e),{sizeClasses:c,sizeStyles:m}=qt(e);return Z(()=>S(e.tag,{class:j(["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:Y([l.value,m.value,e.style])},{default:()=>[n.default?S(ge,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?S(ni,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?S(xe,{key:"icon",icon:e.icon},null):e.text,wt(!1,"v-avatar")]})),{}}}),jl=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(),...Ge(),...oe()},"VCardItem"),Gl=G()({name:"VCardItem",props:jl(),setup(e,t){let{slots:n}=t;return Z(()=>{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 S(e.tag,{class:j(["v-card-item",e.class]),style:Y(e.style)},{default:()=>{var u;return[i&&P("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?S(ge,{key:"prepend-defaults",disabled:!a,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):P(Ve,null,[e.prependAvatar&&S(Ft,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&S(xe,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),P("div",{class:"v-card-item__content"},[o&&S(ei,{key:"title"},{default:()=>{var c;return[((c=n.title)==null?void 0:c.call(n))??_e(e.title)]}}),r&&S(zl,{key:"subtitle"},{default:()=>{var c;return[((c=n.subtitle)==null?void 0:c.call(n))??_e(e.subtitle)]}}),(u=n.default)==null?void 0:u.call(n)]),l&&P("div",{key:"append",class:"v-card-item__append"},[n.append?S(ge,{key:"append-defaults",disabled:!s,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):P(Ve,null,[e.appendIcon&&S(xe,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&S(Ft,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]}})}),{}}}),Ul=T({opacity:[Number,String],...ee(),...oe()},"VCardText"),mn=G()({name:"VCardText",props:Ul(),setup(e,t){let{slots:n}=t;return Z(()=>S(e.tag,{class:j(["v-card-text",e.class]),style:Y([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),Kl=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(),...Ge(),...rt(),...bt(),...Ra(),...Ht(),...Tn(),...Oe(),...Rn(),...oe(),...fe(),...Ue({variant:"elevated"})},"VCard"),ga=G()({name:"VCard",directives:{vRipple:yt},props:Kl(),setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{borderClasses:s}=lt(e),{colorClasses:l,colorStyles:o,variantClasses:r}=kt(e),{densityClasses:u}=ot(e),{dimensionStyles:c}=ut(e),{elevationClasses:m}=pt(e),{loaderClasses:v}=Na(e),{locationStyles:f}=Ln(e),{positionClasses:g}=On(e),{roundedClasses:d}=Be(e),p=Bn(e,n),b=W(void 0);return z(()=>e.loading,(E,V)=>{b.value=!E&&typeof V=="string"?V:typeof E=="boolean"?void 0:E},{immediate:!0}),Z(()=>{const E=e.link!==!1&&p.isLink.value,V=!e.disabled&&e.link!==!1&&(e.link||p.isClickable.value),w=E?"a":e.tag,h=!!(a.title||e.title!=null),_=!!(a.subtitle||e.subtitle!=null),I=h||_,y=!!(a.append||e.appendAvatar||e.appendIcon),R=!!(a.prepend||e.prependAvatar||e.prependIcon),F=!!(a.image||e.image),A=I||R||y,M=!!(a.text||e.text!=null);return We(S(w,Q(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":V},i.value,s.value,l.value,u.value,m.value,v.value,g.value,d.value,r.value,e.class],style:[o.value,c.value,f.value,{"--v-card-height":B(e.height)},e.style],onClick:V&&p.navigate.value,tabindex:e.disabled?-1:void 0}),{default:()=>{var x;return[F&&P("div",{key:"image",class:"v-card__image"},[a.image?S(ge,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},a.image):S(ni,{key:"image-img",cover:!0,src:e.image},null)]),S(Hs,{name:"v-card",active:!!e.loading,color:b.value},{default:a.loader}),A&&S(Gl,{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}),M&&S(mn,{key:"text"},{default:()=>{var O;return[((O=a.text)==null?void 0:O.call(a))??e.text]}}),(x=a.default)==null?void 0:x.call(a),a.actions&&S(Za,null,{default:a.actions}),wt(V,"v-card")]}}),[[yt,V&&e.ripple]])}),{}}}),Xl=T({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function me(e,t,n){return G()({name:e,props:Xl({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?_n:$e;return xn(o,{name:a.disabled?"":e,css:!a.disabled,...a.group?void 0:{mode:a.mode},...a.disabled?{}:l},s.default)}}})}function Mn(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:Ot()},group:Boolean,hideOnLeave:Boolean},setup(a,i){let{slots:s}=i;const l=a.group?_n:$e;return()=>xn(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 Fn(){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 Yl=T({target:[Object,Array]},"v-dialog-transition"),nn=new WeakMap,Jl=G()({name:"VDialogTransition",props:Yl(),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(f=>requestAnimationFrame(f)),await new Promise(f=>requestAnimationFrame(f)),i.style.visibility="";const l=ha(e.target,i),{x:o,y:r,sx:u,sy:c,speed:m}=l;if(nn.set(i,l),Ot())Fe(i,[{opacity:0},{}],{duration:125*m,easing:Qn}).finished.then(()=>s());else{const f=Fe(i,[{transform:`translate(${o}px, ${r}px) scale(${u}, ${c})`,opacity:0},{}],{duration:225*m,easing:Qn});(v=ya(i))==null||v.forEach(g=>{Fe(g,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*m,easing:ln})}),f.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(f=>requestAnimationFrame(f));let l;!nn.has(i)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?l=ha(e.target,i):l=nn.get(i);const{x:o,y:r,sx:u,sy:c,speed:m}=l;Ot()?Fe(i,[{},{opacity:0}],{duration:85*m,easing:Jn}).finished.then(()=>s()):(Fe(i,[{},{transform:`translate(${o}px, ${r}px) scale(${u}, ${c})`,opacity:0}],{duration:125*m,easing:Jn}).finished.then(()=>s()),(v=ya(i))==null||v.forEach(g=>{Fe(g,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*m,easing:ln})}))},onAfterLeave(i){i.style.removeProperty("pointer-events")}};return()=>e.target?S($e,Q({name:"dialog-transition"},a,{css:!1}),n):S($e,{name:"dialog-transition"},n)}});function ya(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 ha(e,t){const n=wn(e),a=ka(t),[i,s]=getComputedStyle(t).transformOrigin.split(" ").map(b=>parseFloat(b)),[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),f=c/v||0,g=m/v||0,d=a.width*a.height/(window.innerWidth*window.innerHeight),p=d>.12?Math.min(1.5,(d-.12)*10+1):1;return{x:r-(i+a.left),y:u-(s+a.top),sx:f,sy:g,speed:p}}me("fab-transition","center center","out-in");me("dialog-bottom-transition");me("dialog-top-transition");const qo=me("fade-transition"),Ho=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 jo=me("slide-x-reverse-transition"),Go=me("slide-y-transition");me("slide-y-reverse-transition");const Ql=Mn("expand-transition",Fn()),Uo=Mn("expand-x-transition",Fn("","x"));Mn("expand-both-transition",Fn("","both"));const Zl=T({fullscreen:Boolean,scrollable:Boolean,...at(Dn({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:Jl},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),eo=G()({name:"VDialog",props:Zl(),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}=$n(),l=D();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 z(i,async u=>{var c;u||(await de(),(c=l.value.activatorEl)==null||c.focus({preventScroll:!0}))}),Z(()=>{const u=Mt.filterProps(e),c=Q({"aria-haspopup":"dialog"},e.activatorProps),m=Q({tabindex:-1},e.contentProps);return S(Mt,Q({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,f=new Array(v),g=0;g{var d;return[(d=a.default)==null?void 0:d.call(a,...f)]}})}})}),Ja({},l)}}),to=["dotted","dashed","solid","double"],no=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=>to.includes(e)},...ee(),...fe()},"VDivider"),ai=G()({name:"VDivider",props:no(),setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{textColorClasses:s,textColorStyles:l}=tt(()=>e.color),o=C(()=>{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 Z(()=>{const u=P("hr",{class:j([{"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:Y([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:j(["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:Y(r.value)},[a.default()]),u]):u}),{}}}),ao=kn("v-spacer","div","VSpacer"),gn=Symbol.for("vuetify:list");function ii(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=Le(gn,{filterable:!1,hasPrepend:W(!1),updateHasPrepend:()=>null,trackingIndex:W(-1),navigationStrategy:W("focus"),uid:""}),{filterable:n,trackingIndex:a=t.trackingIndex,navigationStrategy:i=t.navigationStrategy,uid:s=t.uid||Cn()}=e,l={filterable:t.filterable||n,hasPrepend:W(!1),updateHasPrepend:o=>{o&&(l.hasPrepend.value=o)},trackingIndex:a,navigationStrategy:i,uid:s};return He(gn,l),t}function si(){return Le(gn,null)}const zn=e=>{const t={activate:n=>{let{id:a,value:i,activated:s}=n;return a=ne(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 pn(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},li=e=>{const t=zn(e);return{activate:a=>{let{activated:i,id:s,...l}=a;s=ne(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=pn(a);o.length&&(l=t.in(o.slice(0,1),i,s))}return l},out:(a,i,s)=>t.out(a,i,s)}},io=e=>{const t=zn(e);return{activate:a=>{let{id:i,activated:s,children:l,...o}=a;return i=ne(i),l.has(i)?s:t.activate({id:i,activated:s,children:l,...o})},in:t.in,out:t.out}},so=e=>{const t=li(e);return{activate:a=>{let{id:i,activated:s,children:l,...o}=a;return i=ne(i),l.has(i)?s:t.activate({id:i,activated:s,children:l,...o})},in:t.in,out:t.out}},lo={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},oi={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},oo={open:oi.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)}},Wn=e=>{const t={select:n=>{let{id:a,value:i,selected:s}=n;if(a=ne(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},ri=e=>{const t=Wn(e);return{select:a=>{let{selected:i,id:s,...l}=a;s=ne(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)}},ro=e=>{const t=Wn(e);return{select:a=>{let{id:i,selected:s,children:l,...o}=a;return i=ne(i),l.has(i)?s:t.select({id:i,selected:s,children:l,...o})},in:t.in,out:t.out}},uo=e=>{const t=ri(e);return{select:a=>{let{id:i,selected:s,children:l,...o}=a;return i=ne(i),l.has(i)?s:t.select({id:i,selected:s,children:l,...o})},in:t.in,out:t.out}},qn=e=>{const t={select:n=>{let{id:a,value:i,selected:s,children:l,parents:o,disabled:r}=n;a=ne(a);const u=new Map(s),c=[a];for(;c.length;){const v=c.shift();r.has(v)||s.set(ne(v),i?"on":"off"),l.has(v)&&c.push(...l.get(v))}let m=ne(o.get(a));for(;m;){let v=!0,f=!0;for(const g of l.get(m)){const d=ne(g);if(!r.has(d)&&(s.get(d)!=="on"&&(v=!1),s.has(d)&&s.get(d)!=="off"&&(f=!1),!v&&!f))break}s.set(m,v?"on":f?"off":"indeterminate"),m=ne(o.get(m))}return e&&!i&&Array.from(s.entries()).reduce((f,g)=>{let[d,p]=g;return p==="on"&&f.push(d),f},[]).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},co=e=>{const t=qn(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}}},fo=e=>{const n={select:qn(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},nt=Symbol.for("vuetify:nested"),ui={id:W(),root:{itemsRegistration:D("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:D(new Map),parents:D(new Map),disabled:D(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:D(!1),scrollToActive:D(!1),selectable:D(!1),opened:D(new Set),activated:D(new Set),selected:D(new Map),selectedValues:D([]),getPath:()=>[]}},vo=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"),mo=(e,t)=>{let{items:n,returnObject:a,scrollToActive:i}=t,s=!1;const l=W(new Map),o=W(new Map),r=W(new Set),u=Pe(e,"opened",e.opened,h=>new Set(Array.isArray(h)?h.map(_=>ne(_)):h),h=>[...h.values()]),c=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 io(e.mandatory);case"single-leaf":return so(e.mandatory);case"independent":return zn(e.mandatory);case"single-independent":default:return li(e.mandatory)}}),m=C(()=>{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 uo(e.mandatory);case"leaf":return ro(e.mandatory);case"independent":return Wn(e.mandatory);case"single-independent":return ri(e.mandatory);case"trunk":return co(e.mandatory);case"branch":return fo(e.mandatory);case"classic":default:return qn(e.mandatory)}}),v=C(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return oo;case"single":return lo;case"multiple":default:return oi}}),f=Pe(e,"activated",e.activated,h=>c.value.in(h,l.value,o.value),h=>c.value.out(h,l.value,o.value)),g=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 d(h){const _=[];let I=ne(h);for(;I!==void 0;)_.unshift(I),I=o.value.get(I);return _}const p=Ee("nested"),b=new Set,E=Fi(()=>{de(()=>{l.value=new Map(l.value),o.value=new Map(o.value)})},100);z(()=>[n.value,se(a)],()=>{e.itemsRegistration==="props"&&V()},{immediate:!0});function V(){const h=new Map,_=new Map,I=new Set,y=se(a)?A=>ne(A.raw):A=>A.value,R=[...n.value];let F=0;for(;Fe.activatable),scrollToActive:k(()=>se(i)),selectable:k(()=>e.selectable),activated:f,selected:g,selectedValues:C(()=>{const h=[];for(const[_,I]of g.value.entries())I==="on"&&h.push(_);return h}),itemsRegistration:k(()=>e.itemsRegistration),register:(h,_,I,y)=>{if(b.has(h)){d(h).map(String).join(" -> "),d(_).concat(h).map(String).join(" -> ");return}else b.add(h);_&&h!==_&&o.value.set(h,_),I&&r.value.add(h),y&&l.value.set(h,[]),_!=null&&l.value.set(_,[...l.value.get(_)||[],h]),E()},unregister:h=>{if(s)return;b.delete(h),l.value.delete(h),r.value.delete(h);const _=o.value.get(h);if(_){const I=l.value.get(_)??[];l.value.set(_,I.filter(y=>y!==h))}o.value.delete(h),E()},updateDisabled:(h,_)=>{_?r.value.add(h):r.value.delete(h)},open:(h,_,I)=>{p.emit("click:open",{id:h,value:_,path:d(h),event:I});const y=v.value.open({id:h,value:_,opened:new Set(u.value),children:l.value,parents:o.value,event:I});y&&(u.value=y)},openOnSelect:(h,_,I)=>{const y=v.value.select({id:h,value:_,selected:new Map(g.value),opened:new Set(u.value),children:l.value,parents:o.value,event:I});y&&(u.value=y)},select:(h,_,I)=>{p.emit("click:select",{id:h,value:_,path:d(h),event:I});const y=m.value.select({id:h,value:_,selected:new Map(g.value),children:l.value,parents:o.value,disabled:r.value,event:I});y&&(g.value=y),w.root.openOnSelect(h,_,I)},activate:(h,_,I)=>{if(!e.activatable)return w.root.select(h,!0,I);p.emit("click:activate",{id:h,value:_,path:d(h),event:I});const y=c.value.activate({id:h,value:_,activated:new Set(f.value),children:l.value,parents:o.value,event:I});if(y.size!==f.value.size)f.value=y;else{for(const R of y)if(!f.value.has(R)){f.value=y;return}for(const R of f.value)if(!y.has(R)){f.value=y;return}}},children:l,parents:o,disabled:r,getPath:d}};return He(nt,w),w.root},ci=(e,t,n)=>{const a=Le(nt,ui),i=Symbol("nested item"),s=C(()=>{const o=ne(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:C(()=>a.root.opened.value.has(s.value)),parent:C(()=>a.root.parents.value.get(s.value)),activate:(o,r)=>a.root.activate(s.value,o,r),isActivated:C(()=>a.root.activated.value.has(s.value)),scrollToActive:a.root.scrollToActive,select:(o,r)=>a.root.select(s.value,o,r),isSelected:C(()=>a.root.selected.value.get(s.value)==="on"),isIndeterminate:C(()=>a.root.selected.value.get(s.value)==="indeterminate"),isLeaf:C(()=>!a.root.children.value.get(s.value)),isGroupActivator:a.isGroupActivator};return Pn(()=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||de(()=>{a.root.register(s.value,a.id.value,se(t),n)})}),je(()=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||a.root.unregister(s.value)}),z(s,(o,r)=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||(a.root.unregister(r),de(()=>{a.root.register(o,a.id.value,se(t),n)}))}),z(()=>se(t),o=>{a.root.updateDisabled(s.value,o)}),n&&He(nt,l),l},go=()=>{const e=Le(nt,ui);He(nt,{...e,isGroupActivator:!0})};function yo(){const e=W(!1);return it(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:k(()=>e.value?void 0:{transition:"none !important"}),isBooted:Ia(e)}}const ho=zi({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return go(),()=>{var a;return(a=n.default)==null?void 0:a.call(n)}}}),bo=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"),ba=G()({name:"VListGroup",props:bo(),setup(e,t){let{slots:n}=t;const{isOpen:a,open:i,id:s}=ci(()=>e.value,()=>e.disabled,!0),l=C(()=>`v-list-group--id-${String(e.rawId??s.value)}`),o=si(),{isBooted:r}=yo(),u=Le(nt),c=k(()=>{var d;return((d=u==null?void 0:u.root)==null?void 0:d.itemsRegistration.value)==="render"});function m(d){var p;["INPUT","TEXTAREA"].includes((p=d.target)==null?void 0:p.tagName)||i(!a.value,d)}const v=C(()=>({onClick:m,class:"v-list-group__header",id:l.value})),f=C(()=>a.value?e.collapseIcon:e.expandIcon),g=C(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return Z(()=>S(e.tag,{class:j(["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:Y(e.style)},{default:()=>[n.activator&&S(ge,{defaults:g.value},{default:()=>[S(ho,null,{default:()=>[n.activator({props:v.value,isOpen:a.value})]})]}),S(Ye,{transition:{component:Ql},disabled:!r.value},{default:()=>{var d,p;return[c.value?We(P("div",{class:"v-list-group__items",role:"group","aria-labelledby":l.value},[(d=n.default)==null?void 0:d.call(n)]),[[En,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}}}),po=T({opacity:[Number,String],...ee(),...oe()},"VListItemSubtitle"),di=G()({name:"VListItemSubtitle",props:po(),setup(e,t){let{slots:n}=t;return Z(()=>S(e.tag,{class:j(["v-list-item-subtitle",e.class]),style:Y([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),fi=kn("v-list-item-title"),So=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(),...Ge(),...rt(),...bt(),...Oe(),...Rn(),...oe(),...fe(),...Ue({variant:"text"})},"VListItem"),yn=G()({name:"VListItem",directives:{vRipple:yt},props:So(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:a,emit:i}=t;const s=Bn(e,n),l=D(),o=C(()=>e.value===void 0?s.href.value:e.value),{activate:r,isActivated:u,select:c,isOpen:m,isSelected:v,isIndeterminate:f,isGroupActivator:g,root:d,parent:p,openOnSelect:b,scrollToActive:E,id:V}=ci(o,()=>e.disabled,!1),w=si(),h=C(()=>{var $;return e.active!==!1&&(e.active||(($=s.isActive)==null?void 0:$.value)||(d.activatable.value?u.value:v.value))}),_=k(()=>e.link!==!1&&s.isLink.value),I=C(()=>!!w&&(d.selectable.value||d.activatable.value||e.value!=null)),y=C(()=>!e.disabled&&e.link!==!1&&(e.link||s.isClickable.value||I.value)),R=C(()=>w&&w.navigationStrategy.value==="track"&&e.index!==void 0&&w.trackingIndex.value===e.index),F=C(()=>w?_.value?"link":I.value?"option":"listitem":void 0),A=C(()=>{if(I.value)return d.activatable.value?u.value:d.selectable.value?v.value:h.value}),M=k(()=>e.rounded||e.nav),x=k(()=>e.color??e.activeColor),O=k(()=>({color:h.value?x.value??e.baseColor:e.baseColor,variant:e.variant}));z(()=>{var $;return($=s.isActive)==null?void 0:$.value},$=>{$&&L()}),z(u,$=>{var re;!$||!E||(re=l.value)==null||re.scrollIntoView({block:"nearest",behavior:"instant"})}),z(R,$=>{var re;$&&((re=l.value)==null||re.scrollIntoView({block:"nearest",behavior:"instant"}))}),Pn(()=>{var $;($=s.isActive)!=null&&$.value&&de(()=>L())});function L(){p.value!=null&&d.open(p.value,!0),b(!0)}const{themeClasses:U}=ye(e),{borderClasses:K}=lt(e),{colorClasses:te,colorStyles:he,variantClasses:X}=kt(O),{densityClasses:N}=ot(e),{dimensionStyles:J}=ut(e),{elevationClasses:q}=pt(e),{roundedClasses:be}=Be(M),Ke=k(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),De=k(()=>e.ripple!==void 0&&e.ripple&&(w!=null&&w.filterable)?{keys:["Enter"]}:e.ripple),H=C(()=>({isActive:h.value,select:c,isOpen:m.value,isSelected:v.value,isIndeterminate:f.value,isDisabled:e.disabled}));function ue($){var re,Ct,Gt;i("click",$),!["INPUT","TEXTAREA"].includes((re=$.target)==null?void 0:re.tagName)&&y.value&&((Gt=(Ct=s.navigate).value)==null||Gt.call(Ct,$),!g&&(d.activatable.value?r(!u.value,$):(d.selectable.value||e.value!=null&&!_.value)&&c(!v.value,$)))}function Me($){const re=$.target;["INPUT","TEXTAREA"].includes(re.tagName)||($.key==="Enter"||$.key===" "&&!(w!=null&&w.filterable))&&($.preventDefault(),$.stopPropagation(),$.target.dispatchEvent(new MouseEvent("click",$)))}return Z(()=>{const $=_.value?"a":e.tag,re=a.title||e.title!=null,Ct=a.subtitle||e.subtitle!=null,hi=!!(!!(e.appendAvatar||e.appendIcon)||a.append),Ut=!!(!!(e.prependAvatar||e.prependIcon)||a.prepend);return w==null||w.updateHasPrepend(Ut),e.activeColor&&Wi("active-color",["color","base-color"]),We(S($,Q(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":y.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!Ut&&(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,K.value,te.value,N.value,q.value,Ke.value,be.value,X.value,e.class],style:[{"--v-list-prepend-gap":B(e.prependGap)},he.value,J.value,e.style],tabindex:e.tabindex??(y.value?w?-2:0:void 0),"aria-selected":A.value,role:F.value,onClick:ue,onKeydown:y.value&&!_.value&&Me}),{default:()=>{var Hn;return[wt(y.value||h.value,"v-list-item"),Ut&&P("div",{key:"prepend",class:"v-list-item__prepend"},[a.prepend?S(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 pe;return[(pe=a.prepend)==null?void 0:pe.call(a,H.value)]}}):P(Ve,null,[e.prependAvatar&&S(Ft,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&S(xe,{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&&S(fi,{key:"title"},{default:()=>{var pe;return[((pe=a.title)==null?void 0:pe.call(a,{title:e.title}))??_e(e.title)]}}),Ct&&S(di,{key:"subtitle"},{default:()=>{var pe;return[((pe=a.subtitle)==null?void 0:pe.call(a,{subtitle:e.subtitle}))??_e(e.subtitle)]}}),(Hn=a.default)==null?void 0:Hn.call(a,H.value)]),hi&&P("div",{key:"append",class:"v-list-item__append"},[a.append?S(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 pe;return[(pe=a.append)==null?void 0:pe.call(a,H.value)]}}):P(Ve,null,[e.appendIcon&&S(xe,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&S(Ft,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),P("div",{class:"v-list-item__spacer"},null)])]}}),[[yt,y.value&&De.value]])}),{activate:r,isActivated:u,isGroupActivator:g,isSelected:v,list:w,select:c,root:d,id:V,link:s}}}),wo=T({color:String,inset:Boolean,sticky:Boolean,title:String,...ee(),...oe()},"VListSubheader"),ko=G()({name:"VListSubheader",props:wo(),setup(e,t){let{slots:n}=t;const{textColorClasses:a,textColorStyles:i}=tt(()=>e.color);return Z(()=>{const s=!!(n.default||e.title);return S(e.tag,{class:j(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},a.value,e.class]),style:Y([{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])]}})}),{}}}),Co=T({items:Array,returnObject:Boolean},"VListChildren"),vi=G()({name:"VListChildren",props:Co(),setup(e,t){let{slots:n}=t;return ii(),()=>{var a,i;return((a=n.default)==null?void 0:a.call(n))??((i=e.items)==null?void 0:i.map((s,l)=>{var f,g;let{children:o,props:r,type:u,raw:c}=s;if(u==="divider")return((f=n.divider)==null?void 0:f.call(n,{props:r}))??S(ai,r,null);if(u==="subheader")return((g=n.subheader)==null?void 0:g.call(n,{props:r}))??S(ko,r,null);const m={subtitle:n.subtitle?d=>{var p;return(p=n.subtitle)==null?void 0:p.call(n,{...d,item:c})}:void 0,prepend:n.prepend?d=>{var p;return(p=n.prepend)==null?void 0:p.call(n,{...d,item:c})}:void 0,append:n.append?d=>{var p;return(p=n.append)==null?void 0:p.call(n,{...d,item:c})}:void 0,title:n.title?d=>{var p;return(p=n.title)==null?void 0:p.call(n,{...d,item:c})}:void 0},v=ba.filterProps(r);return o?S(ba,Q(v,{value:e.returnObject?c:r==null?void 0:r.value,rawId:r==null?void 0:r.value}),{activator:d=>{let{props:p}=d;const b=Q(r,p,{value:e.returnObject?c:r.value});return n.header?n.header({props:b}):S(yn,Q(b,{index:l}),m)},default:()=>S(vi,{items:o,returnObject:e.returnObject},n)}):n.item?n.item({props:{...r,index:l}}):S(yn,Q(r,{index:l,value:e.returnObject?c:r.value}),m)}))}}}),_o=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"),xo=new Set(["item","divider","subheader"]);function Ze(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");xo.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)?mi(e,i):void 0,raw:t}}Ze.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function mi(e,t){const n=_a(e,Ze.neededProps),a=[];for(const i of t)a.push(Ze(n,i));return a}function Ko(e){const t=C(()=>mi(e,e.items)),n=C(()=>t.value.some(o=>o.value===null)),a=W(new Map),i=W([]);Ne(()=>{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 Eo=new Set(["item","divider","subheader"]);function Io(e,t){const n=on(t)?t:ke(t,e.itemTitle),a=on(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");Eo.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?gi(e,i):void 0,raw:t}}function gi(e,t){const n=[];for(const a of t)n.push(Io(e,a));return n}function Po(e){return{items:C(()=>gi(e,e.items))}}const Ao=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(),...vo({selectStrategy:"single-leaf",openStrategy:"list"}),...st(),...ee(),...Ge(),...rt(),...bt(),..._o(),...Oe(),...oe(),...fe(),...Ue({variant:"text"})},"VList"),Vo=G()({name:"VList",props:Ao(),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}=Po(e),{themeClasses:l}=ye(e),{backgroundColorClasses:o,backgroundColorStyles:r}=Qe(()=>e.bgColor),{borderClasses:u}=lt(e),{densityClasses:c}=ot(e),{dimensionStyles:m}=ut(e),{elevationClasses:v}=pt(e),{roundedClasses:f}=Be(e),{children:g,open:d,parents:p,select:b,getPath:E}=mo(e,{items:s,returnObject:k(()=>e.returnObject),scrollToActive:k(()=>e.navigationStrategy==="track")}),V=k(()=>e.lines?`v-list--${e.lines}-line`:void 0),w=k(()=>e.activeColor),h=k(()=>e.baseColor),_=k(()=>e.color),I=k(()=>e.selectable||e.activatable),y=Pe(e,"navigationIndex",-1,N=>N??-1),R=Cn();ii({filterable:e.filterable,trackingIndex:y,navigationStrategy:k(()=>e.navigationStrategy),uid:R}),z(s,()=>{e.navigationStrategy==="track"&&(y.value=-1)}),zt({VListGroup:{activeColor:w,baseColor:h,color:_,expandIcon:k(()=>e.expandIcon),collapseIcon:k(()=>e.collapseIcon)},VListItem:{activeClass:k(()=>e.activeClass),activeColor:w,baseColor:h,color:_,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 F=W(!1),A=D();function M(N){F.value=!0}function x(N){F.value=!1}function O(N){var J;e.navigationStrategy==="track"?~y.value||(y.value=K("first")):!F.value&&!(N.relatedTarget&&((J=A.value)!=null&&J.contains(N.relatedTarget)))&&X()}function L(){e.navigationStrategy==="track"&&(y.value=-1)}function U(N){switch(N){case"ArrowDown":return"next";case"ArrowUp":return"prev";case"Home":return"first";case"End":return"last";default:return null}}function K(N){const J=s.value.length;if(J===0)return-1;let q;N==="first"?q=0:N==="last"?q=J-1:(q=y.value+(N==="next"?1:-1),q<0&&(q=J-1),q>=J&&(q=0));const be=q;let Ke=0;for(;Ke=J&&(q=0),q===be)return-1;Ke++}return-1}function te(N){const J=N.target;if(!A.value||J.tagName==="INPUT"&&["Home","End"].includes(N.key)||J.tagName==="TEXTAREA")return;const q=U(N.key);if(q!==null)if(N.preventDefault(),e.navigationStrategy==="track"){const be=K(q);be!==-1&&(y.value=be)}else X(q)}function he(N){F.value=!0}function X(N,J){if(A.value)return qi(A.value,N,J)}return Z(()=>{const N=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),J=I.value?n.ariaMultiselectable??!String(e.selectStrategy).startsWith("single-"):void 0;return S(e.tag,{ref:A,class:j(["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,V.value,f.value,e.class]),style:Y([{"--v-list-indent":B(N),"--v-list-group-prepend":N?"0px":void 0,"--v-list-prepend-gap":B(e.prependGap)},r.value,m.value,e.style]),tabindex:e.disabled?-1:0,role:I.value?"listbox":"list","aria-activedescendant":e.navigationStrategy==="track"&&y.value>=0?`v-list-item-${R}-${y.value}`:void 0,"aria-multiselectable":J,onFocusin:M,onFocusout:x,onFocus:O,onBlur:L,onKeydown:te,onMousedown:he},{default:()=>[S(vi,{items:s.value,returnObject:e.returnObject},a)]})}),{open:d,select:b,focus:X,children:g,parents:p,getPath:E,navigationIndex:y}}});let hn=null;const yi={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(){hn=this}};yi.show=function(e,t,n){hn&&hn.show(e,t,n)};const Lo=yi,To={class:"text-primary font-weight-bold"};function Oo(e,t,n,a,i,s){return Ce(),ze(eo,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=l=>e.isVisible=l),"max-width":"500",persistent:""},{default:ie(()=>[S(ga,{class:"rate-limit-modal"},{default:ie(()=>[S(ei,{class:"text-center pa-4 bg-error text-white"},{default:ie(()=>[S(xe,{class:"mr-2",icon:"mdi-clock-alert-outline",size:"large"}),t[1]||(t[1]=_t(" 请求频率超限 ",-1))]),_:1}),S(mn,{class:"pa-6"},{default:ie(()=>[t[3]||(t[3]=P("div",{class:"text-body-1 mb-4"}," 您的请求过于频繁,请稍后再试。 ",-1)),e.activeRequests.length>0?(Ce(),ze(ga,{key:0,class:"mb-4",flat:""},{default:ie(()=>[S(mn,null,{default:ie(()=>[(Ce(!0),In(Ve,null,ts(e.activeRequests,(l,o)=>(Ce(),ze(Vo,{key:o,class:"mb-4"},{default:ie(()=>[S(yn,{color:"primary","prepend-icon":"mdi-web"},{default:ie(()=>[S(fi,null,{default:ie(()=>[t[2]||(t[2]=_t(" 等待时间: ",-1)),P("span",To,_e(l.remainingSeconds),1)]),_:2},1024),S(di,null,{default:ie(()=>[_t(_e(l.method)+" "+_e(l.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[S(ao),S(Ha,{color:"primary",variant:"tonal",onClick:e.close},{default:ie(()=>[...t[5]||(t[5]=[_t(" 我知道了 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Bo=Aa(Lo,[["render",Oo]]),Ro=T({...ee(),...at(ji(),["fullHeight"]),...fe()},"VApp"),No=G()({name:"VApp",props:Ro(),setup(e,t){let{slots:n}=t;const a=ye(e),{layoutClasses:i,getLayoutItem:s,items:l,layoutRef:o}=Hi({...e,fullHeight:!0}),{rtlClasses:r}=Wt();return Z(()=>{var u;return P("div",{ref:o,class:j(["v-application",a.themeClasses.value,i.value,r.value,e.class]),style:Y([e.style])},[P("div",{class:"v-application__wrap"},[(u=n.default)==null?void 0:u.call(n)])])}),{getLayoutItem:s,items:l,theme:a}}}),$o={__name:"App",setup(e){const t=Sa(),n=D(!1),a=D(""),i=D(10),s=D(30);function l(){n.value=Ie("background.enabled")||!1;const f=Ie("background.imageData")||"",g=Ie("background.url")||"";a.value=f||g,i.value=Ie("background.blur")??10,s.value=Ie("background.opacity")??30}const o=C(()=>!n.value||!a.value?{}:{background:"transparent"}),r=C(()=>({backgroundImage:`url(${a.value})`,backgroundSize:"cover",backgroundPosition:"center",filter:`blur(${i.value}px)`,transform:"scale(1.05)"})),u=C(()=>({background:`rgba(0, 0, 0, ${s.value/100})`}));let c=null;const m=f=>{f.preventDefault(),window.deferredPwaPrompt=f,window.dispatchEvent(new Event("pwa-prompt-ready"))},v=()=>{window.deferredPwaPrompt=null,window.dispatchEvent(new Event("pwa-installed"))};return it(()=>{const f=Ie("theme.mode");t.global.name.value=f,l(),c=Pa((g,d)=>{var b;const p=(b=d==null?void 0:d.detail)==null?void 0:b.key;(!p||p.startsWith("background.")||p==="theme.mode")&&(l(),t.global.name.value=Ie("theme.mode"))}),window.addEventListener("beforeinstallprompt",m),window.addEventListener("appinstalled",v)}),ns(()=>{c&&c(),window.removeEventListener("beforeinstallprompt",m),window.removeEventListener("appinstalled",v)}),(f,g)=>{const d=as("router-view"),p=Qa;return Ce(),ze(No,{style:Y(o.value)},{default:ie(()=>[n.value?(Ce(),In(Ve,{key:0},[P("div",{class:"app-background-image",style:Y(r.value)},null,4),P("div",{class:"app-background-overlay",style:Y(u.value)},null,4)],64)):Rt("",!0),S(d,null,{default:ie(({Component:b,route:E})=>[S($e,{mode:"out-in",name:"md3"},{default:ie(()=>[(Ce(),ze(xa(b),{key:E.path}))]),_:2},1024)]),_:1}),S(p),S(Bo)]),_:1},8,["style"])}}},jt=is($o);ds(jt);jt.use(Xe);jt.component("GlobalMessage",Qa);jt.mount("#app");const pa=async()=>{try{const{getVisitorId:e}=await ae(async()=>{const{getVisitorId:a}=await import("./visitorId-CmQTZ-fb.js");return{getVisitorId:a}},__vite__mapDeps([60,1,2]),import.meta.url),t=(await ae(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"?pa():window.addEventListener("load",pa,{once:!0});export{hl as $,Re as A,fa as B,ni as C,Mt as D,zl as E,Wo as F,tt as G,Qe as H,Ja as I,nl as J,ot as K,$n as L,Ge as M,Be as N,Ln as O,Ye as P,Ka as Q,Oe as R,Te as S,Ht as T,Dn as U,Fs as V,Gl as W,ys as X,bs as Y,ps as Z,Aa as _,rt as a,yl as a0,Ql as a1,ko as a2,Na as a3,Hs as a4,Ra as a5,Ls as a6,Vs as a7,xl as a8,_l as a9,wl as aA,Xe as aB,jo as aC,Ko as aD,Ze as aE,_o as aF,fs as aG,vs as aH,zo as aI,As as aa,gl as ab,ge as ac,Jl as ad,lt as ae,pt as af,bt as ag,st as ah,Bo as ai,kt as aj,On as ak,wt as al,Ue as am,Tn as an,yt as ao,Ho as ap,qo as aq,Ps as ar,qt as as,Bn as at,Uo as au,St as av,Rn as aw,ma as ax,Us as ay,kl as az,ut as b,ei as c,mn as d,ga as e,xe as f,ao as g,Ha as h,ai as i,Ba as j,eo as k,Za as l,oe as m,Ie as n,Ft as o,Vo as p,yn as q,fi as r,gs as s,di as t,yo as u,Go as v,Pa as w,ae as x,ta as y,Ol as z}; diff --git a/assets/index-D042plwv.js b/assets/index-D042plwv.js deleted file mode 100644 index a95f2d9..0000000 --- a/assets/index-D042plwv.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-mc9dNPFd.js","./vendor-vuetify-DpmmaPkh.js","./vendor-vue-BiQC5iF7.js","./default-CmdaPMSp.css","./index-Bz7Y6ZPJ.js","./dataProvider-CBH3Lw3D.js","./vendor-utils-2lvrqI0-.js","./serverRotation-CbFrj566.js","./VChip-nQelUOZI.js","./VChip-Dmz_1Lnv.css","./VTabs-5YWz7myv.js","./VTable-DH4Drwun.js","./VTable-CNLJxQof.css","./VTabs-566n5b08.css","./VAlert-ZP8s_5ha.js","./VAlert-D_OX1cfW.css","./VTooltip-DMSltD5A.js","./VTooltip-D7EaNDeY.css","./VTextField-BoJUR4Xs.js","./VTextField-DTDEIDq0.css","./soundList-D9U-Grcp.js","./VSwitch-CEojN9Vi.js","./VSwitch-Bk42mIwg.css","./VMenu-Ps4XkZIl.js","./VMenu-C31D-C2L.css","./VContainer-MApP1Vz1.js","./VContainer-B1KSavhG.css","./socketClient-D9GaxO-Q.js","./vendor-socket-dm1FmSOd.js","./deviceEvents-W5dhgmtc.js","./VAppBarTitle-D2mhaxek.js","./VAppBarTitle-CczdD-Q2.css","./VRow-CH6EAfU_.js","./VRow-D2ArqUC2.css","./index-BFmbztHq.css","./404-DsgK3Y-f.js","./authorize-CN-o-75y.js","./CacheManagement-DiR6lmUl.js","./VExpansionPanels-BpKtUPdA.js","./VExpansionPanels-kEj4ZJQK.css","./VSkeletonLoader-B7fDa9ID.js","./VSkeletonLoader-C11ZEozu.css","./cses2wakeup-CQ4ZDX6t.js","./VTextarea-CnWToSV7.js","./VTextarea-_xVwaw_z.css","./VFileInput-BJbMPOVg.js","./VFileInput-CRcZ0Lr3.css","./VDataTable-Dnwt1bQQ.js","./VPagination-LhWLJTqu.js","./VPagination-BF2MZmld.css","./VSelect-mQ_XLRnU.js","./VSheet-BWNNvcYw.js","./VSheet-DW_b51tO.css","./VCheckboxBtn-64kBGXnq.js","./VSelect-DHZViySU.css","./VDataTable-Cl7qiDOP.css","./VCheckbox-BPfe_uCD.js","./VCheckbox-ZL-u1kGB.css","./cses2wakeup-Qc4GsQy3.css","./debug-YVdPEXWc.js","./visitorId-Fp9eGgHd.js","./debug-CbS14biG.css","./debug-init-uVoko_XH.js","./VForm-IEFsJ4YW.js","./debug-socket-DG8GREI-.js","./_id_-DsDVMSJc.js","./ExamConfigEditor-DnZpqRBI.js","./VAutocomplete-6kKJB-90.js","./VAutocomplete-Ygy_KjMW.css","./VDatePicker-DBOVlJXM.js","./VPicker-DGiUlCzb.js","./VPicker-Dm9DplUc.css","./VDatePicker-zglzEVGT.css","./VTimePicker-DQGiZZlL.js","./VTimePicker-BkWY3_8P.css","./ExamConfigEditor-HgNV6CVV.css","./examschedule-BKcX0SWM.js","./examschedule-D7wPNFui.css","./index-CPp4eWTL.js","./_id_-C8fHUZQZ.js","./settings-BTJTRuYs.js","./MessageLog-BWQHaU0R.js","./MessageLog-BGkFwivK.css","./VSlider-ClZx8sEW.js","./VSlider-rdyojQMY.css","./VCombobox-DxvBKwV_.js","./VCombobox-r6cc1Iy_.css","./settings-CV-NY-Gt.css","./socket-debugger-B6tlnHna.js","./socket-debugger-B22H3Il3.css"])))=>i.map(i=>d[i]); -import{c as bi,g as qe,p as T,d as bn,i as jn,a as pi,b as Si,e as wi,f as G,h as ye,j as Ft,u as Z,m as fe,k as ee,l as Ee,n as Pe,o as Je,w as pn,q as ki,r as Ci,s as B,t as Sa,v as _i,x as xi,I as oe,S as Sn,y as wa,P as Tt,z as et,A as zt,B as an,C as ht,D as Gn,E as Ae,F as sn,G as Et,H as wn,J as Ei,K as Ii,L as Ot,M as Pi,N as Un,O as Kn,Q as Kt,R as Xt,T as ka,U as Xn,V as Ai,W as Vi,X as Yn,Y as Li,Z as Ti,_ as Oi,$ as It,a0 as Bi,a1 as Ri,a2 as Ca,a3 as Ni,a4 as Fe,a5 as at,a6 as on,a7 as $i,a8 as Di,a9 as Mi,aa as kn,ab as Jn,ac as Qn,ad as Fi,ae as zi,af as Wi,ag as ft,ah as ln,ai as ke,aj as _a,ak as qi,al as Hi,am as ji}from"./vendor-vuetify-DpmmaPkh.js";import{J as Gi,K as Ui,L as Ki,e as C,t as k,M as rn,l as se,k as I,n as j,F as Ve,j as S,N as X,E as Cn,p as He,d as Le,A as je,o as W,D as it,O as Xi,r as vt,u as Yi,m as Q,y as Ji,T as Qi,s as z,q as ve,b as M,w as Ne,P as $e,Q as xa,I as de,R as We,S as _e,v as Ea,x as ne,B as Ia,U as _n,h as xn,V as En,W as Zi,X as Ce,Y as ze,Z as ie,f as es,_ as In,$ as Bt,a0 as Pn,a1 as Ct,a2 as ts,a3 as ns,a4 as as,a5 as is}from"./vendor-vue-BiQC5iF7.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 o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).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 ss="modulepreload",os=function(e,t){return new URL(e,t).href},Zn={},ae=function(t,n,a){let i=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),r=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=Promise.allSettled(n.map(u=>{if(u=os(u,a),u in Zn)return;Zn[u]=!0;const c=u.endsWith(".css"),m=c?'[rel="stylesheet"]':"";if(!!a)for(let g=o.length-1;g>=0;g--){const f=o[g];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":ss,c||(d.as="script"),d.crossOrigin="",d.href=u,r&&d.setAttribute("nonce",r),document.head.appendChild(d),c)return new Promise((g,f)=>{d.addEventListener("load",g),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})},ls=bi({theme:{defaultTheme:"dark"}}),rs=Gi(),us=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>ae(()=>import("./default-mc9dNPFd.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)})).forEach(([i,s])=>{let o=i.replace("/src/layouts/","").replace(".vue","");t[o]=s});function a(i,s=!0){return i.map(o=>{var l,r,u,c,m,v;if(((l=o.children)==null?void 0:l.length)>0&&(o.children=a(o.children,!1)),s){if(!o.component&&((r=o.children)==null?void 0:r.find(g=>{var f;return(g.path===""||g.path==="/")&&((f=g.meta)==null?void 0:f.isLayout)})))return o;if(((u=o.meta)==null?void 0:u.layout)!==!1)return{path:o.path,component:t[((c=o.meta)==null?void 0:c.layout)||"default"],children:o.path==="/"?[o]:[{...o,path:""}],meta:{isLayout:!0}}}return(m=o.meta)!=null&&m.layout?{path:o.path,component:t[(v=o.meta)==null?void 0:v.layout],children:[{...o,path:""}],meta:{isLayout:!0}}:o})}return a(e)},cs=[{path:"/",name:"/",component:()=>ae(()=>import("./index-Bz7Y6ZPJ.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,24,25,26,27,28,29,30,31,32,33,34]),import.meta.url)},{path:"/404",name:"/404",component:()=>ae(()=>import("./404-DsgK3Y-f.js"),__vite__mapDeps([35,32,1,2,33,25,26]),import.meta.url)},{path:"/authorize",name:"/authorize",component:()=>ae(()=>import("./authorize-CN-o-75y.js"),__vite__mapDeps([36,2,32,1,33,25,26]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>ae(()=>import("./CacheManagement-DiR6lmUl.js"),__vite__mapDeps([37,14,1,2,15,38,39,8,9,40,41,32,33,25,26]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>ae(()=>import("./cses2wakeup-CQ4ZDX6t.js"),__vite__mapDeps([42,32,1,2,33,14,15,10,11,12,8,9,13,16,17,43,18,19,44,45,46,21,22,40,41,47,48,49,50,23,24,51,52,53,54,55,56,57,25,26,58]),import.meta.url)},{path:"/debug",name:"/debug",component:()=>ae(()=>import("./debug-YVdPEXWc.js"),__vite__mapDeps([59,60,1,2,25,26,61]),import.meta.url)},{path:"/debug-init",name:"/debug-init",component:()=>ae(()=>import("./debug-init-uVoko_XH.js"),__vite__mapDeps([62,5,6,7,32,1,2,33,63,18,19,25,26]),import.meta.url)},{path:"/debug-socket",name:"/debug-socket",component:()=>ae(()=>import("./debug-socket-DG8GREI-.js"),__vite__mapDeps([64,27,28,7,29,32,1,2,33,8,9,18,19,43,44,25,26]),import.meta.url)},{path:"/exam-editor",children:[{path:":id",name:"/exam-editor/[id]",component:()=>ae(()=>import("./_id_-DsDVMSJc.js"),__vite__mapDeps([65,66,5,6,7,2,14,1,15,40,41,16,17,8,9,32,33,18,19,43,44,21,22,67,50,23,24,51,52,53,54,68,69,70,71,72,73,74,75,30,31,25,26]),import.meta.url)}]},{path:"/examschedule",name:"/examschedule",component:()=>ae(()=>import("./examschedule-BKcX0SWM.js"),__vite__mapDeps([76,66,5,6,7,2,14,1,15,40,41,16,17,8,9,32,33,18,19,43,44,21,22,67,50,23,24,51,52,53,54,68,69,70,71,72,73,74,75,25,26,77]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>ae(()=>import("./index-CPp4eWTL.js"),__vite__mapDeps([78,5,6,7,2,30,1,31,18,19,25,26]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>ae(()=>import("./_id_-C8fHUZQZ.js"),__vite__mapDeps([79,5,6,7,2,30,1,31,18,19,53,21,22,8,9,43,44,25,26]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>ae(()=>import("./settings-BTJTRuYs.js"),__vite__mapDeps([80,81,30,1,2,31,82,8,9,21,18,19,22,50,23,24,51,52,53,54,14,15,83,84,5,6,7,32,33,25,26,56,57,43,44,20,40,41,73,70,71,74,63,38,39,47,48,49,11,12,55,85,86,60,87]),import.meta.url)},{path:"/socket-debugger",name:"/socket-debugger",component:()=>ae(()=>import("./socket-debugger-B6tlnHna.js"),__vite__mapDeps([88,27,28,7,32,1,2,33,8,9,18,19,43,44,21,22,14,15,25,26,89]),import.meta.url)}],An=Ui({history:Ki("./"),routes:us(cs)});An.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)});An.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function ds(e){e.use(ls).use(An).use(rs)}async function fs(){return typeof Notification<"u"&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function vs(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}const Yt="Classworks_settings",_t="classworks:settings:changed",ea={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""},Re={"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"},"noiseMonitor.enabled":{type:"boolean",default:!0,description:"启用环境噪音监测",icon:"mdi-microphone"},"noiseMonitor.autoStart":{type:"boolean",default:!0,description:"打开页面时自动开始监测",icon:"mdi-play-circle-outline"},"noiseMonitor.permissionDismissed":{type:"boolean",default:!1,description:"已跳过麦克风权限引导(不再弹出介绍弹框)",icon:"mdi-microphone-off"},"timeCard.enabled":{type:"boolean",default:!0,description:"启用时间卡片",icon:"mdi-clock-outline"},"timeCard.use12h":{type:"boolean",default:!1,description:"使用 12 小时制显示时间",icon:"mdi-clock-time-six-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.showUafTransfer":{type:"boolean",default:!0,description:"是否显示UAF作业导入导出",icon:"mdi-swap-vertical-bold"},"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"},"background.enabled":{type:"boolean",default:!1,description:"启用自定义背景",icon:"mdi-image"},"background.url":{type:"string",default:"",description:"背景图片地址",icon:"mdi-link"},"background.imageData":{type:"string",default:"",description:"本地背景图片(Base64)",icon:"mdi-image-area"},"background.blur":{type:"number",default:10,validate:e=>e>=0&&e<=50,description:"毛玻璃模糊幅度(px)",icon:"mdi-blur"},"background.opacity":{type:"number",default:30,validate:e=>e>=0&&e<=80,description:"遮罩暗色程度(%)",icon:"mdi-circle-half-full"},"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 ms{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(Yt):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(Re))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(Yt,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=Re[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&ea[t]!==void 0)return ea[t];const a=this.settingsCache[t];return a!==void 0?a:n.default}setSetting(t,n){this.isInitialized||this.init();const a=Re[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),typeof window<"u"&&window.dispatchEvent(new CustomEvent(_t,{detail:{key:t,value: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=Re[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings(),typeof window<"u"&&window.dispatchEvent(new CustomEvent(_t,{detail:{key:t,value:n.default}}))}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(Re))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=i=>{i.key===Yt&&(this.settingsCache=JSON.parse(i.newValue),t(this.settingsCache,null))},a=i=>{t(this.settingsCache,i)};return window.addEventListener("storage",n),window.addEventListener(_t,a),()=>{window.removeEventListener("storage",n),window.removeEventListener(_t,a)}}getSettingDefinition(t){return Re[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in Re)t[n]=this.getSetting(n);return t}}const Te=new ms;typeof window<"u"&&Te.init();const Ie=e=>Te.getSetting(e),gs=(e,t)=>Te.setSetting(e,t),ys=e=>Te.resetSetting(e),hs=()=>Te.resetAllSettings(),Pa=e=>Te.watchSettings(e),bs=e=>Te.getSettingDefinition(e),ps=()=>Te.exportSettingsAsKeyValue(),zl=Object.freeze(Object.defineProperty({__proto__:null,SettingsManager:Te,exportSettingsAsKeyValue:ps,getSetting:Ie,getSettingDefinition:bs,requestNotificationPermission:fs,requestPersistentStorage:vs,resetAllSettings:hs,resetSetting:ys,setSetting:gs,settingsDefinitions:Re,watchSettings:Pa},Symbol.toStringTag,{value:"Module"}));class Ss{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 Pt=new Ss,we=[];let At=null,Se=null;const ct={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},ws={timeout:3e3,showSnackbar:!0,addToLog:!0};async function xt(e,t,n="",a={}){const i={...ws,...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 Pt.addLog(s),we.unshift(s);we.length>Ie("message.maxActiveMessages");)we.pop();Se==null||Se(we)}catch(o){console.error("保存日志失败:",o)}return i.showSnackbar&&(At==null||At(s)),s}function ks(e,t){let n=null;return function(...a){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,a)},t)}}const Xe={install:e=>{e.config.globalProperties.$message={success:(t,n,a)=>xt(ct.SUCCESS,t,n,a),error:(t,n,a)=>xt(ct.ERROR,t,n,a),info:(t,n,a)=>xt(ct.INFO,t,n,a),warning:(t,n,a)=>xt(ct.WARNING,t,n,a)}},onSnackbar:e=>{At=e},onLog:e=>{Se=e},getMessages:async()=>{try{return await Pt.getLogs()}catch(e){return console.error("获取日志失败:",e),[...we]}},clearMessages:async()=>{try{await Pt.clearLogs(),we.length=0,Se==null||Se(we)}catch(e){console.error("清除日志失败:",e)}},MessageType:ct,markAsRead:()=>{},deleteMessage:async e=>{try{await Pt.deleteLog(e);const t=we.findIndex(n=>n.id===e);t!==-1&&we.splice(t,1),Se==null||Se(we)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:ks},Aa=(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 ot(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{borderClasses:C(()=>{const a=e.border;return a===!0||a===""?`${t}--border`:typeof a=="string"||a===0?String(a).split(" ").map(i=>`border-${i}`):[]})}}const Cs=[null,"default","comfortable","compact"],Ge=T({density:{type:String,default:"default",validator:e=>Cs.includes(e)}},"density");function lt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();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 pt(e){return{elevationClasses:k(()=>{const n=rn(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const Oe=T({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function Be(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{roundedClasses:C(()=>{const a=rn(e)?e.value:e.rounded,i=rn(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 o of String(a).split(" "))s.push(`rounded-${o}`);return s})}}const le=T({tag:{type:[String,Object,Function],default:"div"}},"tag");function Vn(e){return bn(()=>{const{class:t,style:n}=xs(e);return{colorClasses:t,colorStyles:n}})}function tt(e){const{colorClasses:t,colorStyles:n}=Vn(()=>({text:se(e)}));return{textColorClasses:t,textColorStyles:n}}function Qe(e){const{colorClasses:t,colorStyles:n}=Vn(()=>({background:se(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function _s(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 xs(e){const t=_s(se(e)),n=[],a={};if(t.background)if(jn(t.background)){if(a.backgroundColor=t.background,!t.text&&pi(t.background)){const i=Si(t.background);if(i.a==null||i.a===1){const s=wi(i);a.color=s,a.caretColor=s}}}else n.push(`bg-${t.background}`);return t.text&&(jn(t.text)?(a.color=t.text,a.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:a}}const Es=["elevated","flat","tonal","outlined","text","plain"];function St(e,t){return I(Ve,null,[e&&I("span",{key:"overlay",class:j(`${t}__overlay`)},null),I("span",{key:"underlay",class:j(`${t}__underlay`)},null)])}const Ue=T({color:String,variant:{type:String,default:"elevated",validator:e=>Es.includes(e)}},"variant");function wt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();const n=k(()=>{const{variant:s}=se(e);return`${t}--variant-${s}`}),{colorClasses:a,colorStyles:i}=Vn(()=>{const{variant:s,color:o}=se(e);return{[["elevated","flat"].includes(s)?"background":"text"]:o}});return{colorClasses:a,colorStyles:i,variantClasses:n}}const Va=T({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...st(),...ee(),...Ge(),...bt(),...Oe(),...le(),...fe(),...Ue()},"VBtnGroup"),ta=G()({name:"VBtnGroup",props:Va(),setup(e,t){let{slots:n}=t;const{themeClasses:a}=ye(e),{densityClasses:i}=lt(e),{borderClasses:s}=ot(e),{elevationClasses:o}=pt(e),{roundedClasses:l}=Be(e);Ft({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)}}),Z(()=>S(e.tag,{class:j(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},a.value,s.value,i.value,o.value,l.value,e.class]),style:X(e.style)},n))}}),Is=T({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),Ps=T({value:null,disabled:Boolean,selectedClass:String},"group-item");function As(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const a=Ee("useGroupItem");if(!a)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const i=Cn();He(Symbol.for(`${t.description}:id`),i);const s=Le(t,null);if(!s){if(!n)return s;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const o=k(()=>e.value),l=C(()=>!!(s.disabled.value||e.disabled));function r(){s==null||s.register({id:i,value:o,disabled:l},a)}function u(){s==null||s.unregister(i)}r(),je(()=>u());const c=C(()=>s.isSelected(i)),m=C(()=>s.items.value[0].id===i),v=C(()=>s.items.value[s.items.value.length-1].id===i),d=C(()=>c.value&&[s.selectedClass.value,e.selectedClass]);return W(c,g=>{a.emit("group:selected",{value:g})},{flush:"sync"}),{id:i,isSelected:c,isFirst:m,isLast:v,toggle:()=>s.select(i,!c.value),select:g=>s.select(i,g),selectedClass:d,value:o,disabled:l,group:s,register:r,unregister:u}}function Vs(e,t){let n=!1;const a=vt([]),i=Pe(e,"modelValue",[],v=>v===void 0?[]:La(a,v===null?[null]:pn(v)),v=>{const d=Ts(a,v);return e.multiple?d:d[0]}),s=Ee("useGroup");function o(v,d){const g=v,f=Symbol.for(`${t.description}:id`),b=ki(f,s==null?void 0:s.vnode).indexOf(d);Yi(g.value)===void 0&&(g.value=b,g.useIndexAsValue=!0),b>-1?a.splice(b,0,g):a.push(g)}function l(v){if(n)return;r();const d=a.findIndex(g=>g.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}),Xi(()=>{for(let v=0;vf.id===v);if(!(d&&(g!=null&&g.disabled)))if(e.multiple){const f=i.value.slice(),p=f.findIndex(x=>x===v),b=~p;if(d=d??!b,b&&e.mandatory&&f.length<=1||!b&&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],g=a.findIndex(b=>b.id===d);let f=(g+v)%a.length,p=a[f];for(;p.disabled&&f!==g;)f=(f+v)%a.length,p=a[f];if(p.disabled)return;i.value=[a[f].id]}else{const d=a.find(g=>!g.disabled);d&&(i.value=[d.id])}}const m={register:o,unregister:l,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=>Ls(a,v)};return He(t,m),m}function Ls(e,t){const n=La(e,[t]);return n.length?e.findIndex(a=>a.id===n[0]):-1}function La(e,t){const n=[];return t.forEach(a=>{const i=e.find(o=>Je(a,o.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 Ts(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 Ta=Symbol.for("vuetify:v-btn-toggle"),Os=T({...Va(),...Is()},"VBtnToggle"),Wl=G()({name:"VBtnToggle",props:Os(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:a,next:i,prev:s,select:o,selected:l}=Vs(e,Ta);return Z(()=>{const r=ta.filterProps(e);return S(ta,Q({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:o,selected:l})]}})}),{next:i,prev:s,select:o}}}),Bs=T({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),ge=G(!1)({name:"VDefaultsProvider",props:Bs(),setup(e,t){let{slots:n}=t;const{defaults:a,disabled:i,reset:s,root:o,scoped:l}=Ji(e);return Ft(a,{reset:s,root:o,scoped:l,disabled:i}),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),Rs=["x-small","small","default","large","x-large"],Wt=T({size:{type:[String,Number],default:"default"}},"size");function qt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return bn(()=>{const n=e.size;let a,i;return Ci(Rs,n)?a=`${t}--size-${n}`:n&&(i={width:B(n),height:B(n)}),{sizeClasses:a,sizeStyles:i}})}const Ns=T({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:oe,opacity:[String,Number],...ee(),...Wt(),...le({tag:"i"}),...fe()},"VIcon"),xe=G()({name:"VIcon",props:Ns(),setup(e,t){let{attrs:n,slots:a}=t;const i=z(),{themeClasses:s}=Sa(),{iconData:o}=_i(()=>i.value||e.icon),{sizeClasses:l}=qt(e),{textColorClasses:r,textColorStyles:u}=tt(()=>e.color);return Z(()=>{var v,d;const c=(v=a.default)==null?void 0:v.call(a);c&&(i.value=(d=xi(c).filter(g=>g.type===Qi&&g.children&&typeof g.children=="string")[0])==null?void 0:d.children);const m=!!(n.onClick||n.onClickOnce);return S(o.value.component,{tag:e.tag,icon:o.value.icon,class:j(["v-icon","notranslate",s.value,l.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:X([{"--v-icon-opacity":e.opacity},l.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 Oa(e,t){const n=M(),a=z(!1);if(Sn){const i=new IntersectionObserver(s=>{a.value=!!s.find(o=>o.isIntersecting)},t);ve(()=>{i.disconnect()}),W(n,(s,o)=>{o&&(i.unobserve(o),a.value=!1),s&&i.observe(s)},{flush:"post"})}return{intersectionRef:n,isIntersecting:a}}const $s=T({reveal:{type:[Boolean,Object],default:!1}},"reveal");function Ds(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 Ms=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(),...$s(),...Wt(),...le({tag:"div"}),...fe()},"VProgressCircular"),Fs=G()({name:"VProgressCircular",props:Ms(),setup(e,t){let{slots:n}=t;const a=20,i=2*Math.PI*a,s=M(),{themeClasses:o}=ye(e),{sizeClasses:l,sizeStyles:r}=qt(e),{textColorClasses:u,textColorStyles:c}=tt(()=>e.color),{textColorClasses:m,textColorStyles:v}=tt(()=>e.bgColor),{intersectionRef:d,isIntersecting:g}=Oa(),{resizeRef:f,contentRect:p}=wa(),{state:b,duration:x}=Ds(e),L=k(()=>b.value==="initial"?0:et(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)),_=k(()=>a/(1-w.value/h.value)*2),E=k(()=>w.value/h.value*_.value),y=k(()=>{const F=(100-L.value)/100*i;return e.rounded&&L.value>0&&L.value<100?B(Math.min(i-.01,F+E.value)):B(F)}),R=C(()=>{const F=Number(e.rotate);return e.rounded?F+E.value/2/i*360:F});return Ne(()=>{d.value=s.value,f.value=s.value}),Z(()=>S(e.tag,{ref:s,class:j(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":g.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate==="disable-shrink"||Tt()),"v-progress-circular--revealing":["initial","pending"].includes(b.value)},o.value,l.value,u.value,e.class]),style:X([r.value,c.value,{"--progress-reveal-duration":`${x.value}ms`},e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:L.value},{default:()=>[I("svg",{style:{transform:`rotate(calc(-90deg + ${R.value}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${_.value} ${_.value}`},[I("circle",{class:j(["v-progress-circular__underlay",m.value]),style:X(v.value),fill:"transparent",cx:"50%",cy:"50%",r:a,"stroke-width":E.value,"stroke-dasharray":i,"stroke-dashoffset":0},null),I("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r:a,"stroke-width":E.value,"stroke-dasharray":i,"stroke-dashoffset":y.value,"stroke-linecap":e.rounded?"round":void 0},null)]),n.default&&I("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:C(()=>{const n={},a=B(e.height),i=B(e.maxHeight),s=B(e.maxWidth),o=B(e.minHeight),l=B(e.minWidth),r=B(e.width);return a!=null&&(n.height=a),i!=null&&(n.maxHeight=i),s!=null&&(n.maxWidth=s),o!=null&&(n.minHeight=o),l!=null&&(n.minWidth=l),r!=null&&(n.width=r),n})}}const na={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Ht=T({location:String},"location");function Ln(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:a}=zt();return{locationStyles:C(()=>{if(!e.location)return{};const{side:s,align:o}=an(e.location.split(" ").length>1?e.location:`${e.location} center`,a.value);function l(u){return n?n(u):0}const r={};return s!=="center"&&(t?r[na[s]]=`calc(100% - ${l(s)}px)`:r[s]=0),o!=="center"?t?r[na[o]]=`calc(100% - ${l(o)}px)`:r[o]=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 zs=T({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},"chunks");function Ws(e,t){const n=k(()=>!!e.chunkCount||!!e.chunkWidth),a=C(()=>{const l=se(t);if(!l)return 0;if(!e.chunkCount)return Number(e.chunkWidth);const r=Number(e.chunkCount);return(l-Number(e.chunkGap)*(r-1))/r}),i=k(()=>Number(e.chunkGap)),s=C(()=>{if(!n.value)return{};const l=B(i.value),r=B(a.value);return{maskRepeat:"repeat-x",maskImage:`linear-gradient(90deg, #000, #000 ${r}, transparent ${r}, transparent)`,maskSize:`calc(${r} + ${l}) 100%`}});function o(l){const r=se(t);if(!r)return l;const u=100*i.value/r,c=100*(a.value+i.value)/r,m=Math.floor((l+u)/c+1e-9);return et(m*c-u/2,0,100)}return{hasChunks:n,chunksMaskStyles:s,snapValueToChunk:o}}const qs=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,...zs(),...ee(),...Ht({location:"top"}),...Oe(),...le(),...fe()},"VProgressLinear"),Ba=G()({name:"VProgressLinear",props:qs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const a=M(),i=Pe(e,"modelValue"),{isRtl:s,rtlClasses:o}=zt(),{themeClasses:l}=ye(e),{locationStyles:r}=Ln(e),{textColorClasses:u,textColorStyles:c}=tt(()=>e.color),{backgroundColorClasses:m,backgroundColorStyles:v}=Qe(()=>e.bgColor||e.color),{backgroundColorClasses:d,backgroundColorStyles:g}=Qe(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:p}=Qe(()=>e.color),{roundedClasses:b}=Be(e),{intersectionRef:x,isIntersecting:L}=Oa(),w=C(()=>parseFloat(e.max)),h=C(()=>parseFloat(e.height)),_=C(()=>et(parseFloat(e.bufferValue)/w.value*100,0,100)),E=C(()=>et(parseFloat(i.value)/w.value*100,0,100)),y=C(()=>s.value!==e.reverse),R=C(()=>e.indeterminate?"fade-transition":"slide-x-transition"),F=z(0),{hasChunks:A,chunksMaskStyles:V,snapValueToChunk:P}=Ws(e,F);ht(A,()=>{const{resizeRef:Y}=wa(te=>F.value=te[0].contentRect.width);Ne(()=>Y.value=a.value)});const N=C(()=>A.value?P(_.value):_.value),O=C(()=>A.value?P(E.value):E.value);function U(Y){if(!x.value)return;const{left:te,right:he,width:K}=x.value.getBoundingClientRect(),$=y.value?K-Y.clientX+(he-K):Y.clientX-te;i.value=Math.round($/K*w.value)}return Ne(()=>{x.value=a.value}),Z(()=>S(e.tag,{ref:a,class:j(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&L.value,"v-progress-linear--reverse":y.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},b.value,l.value,o.value,e.class]),style:X([{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&&I("div",{key:"stream",class:j(["v-progress-linear__stream",u.value]),style:{...c.value,[y.value?"left":"right"]:B(-h.value),borderTop:`${B(h.value/2)} dotted`,opacity:e.bufferOpacity!=null?parseFloat(e.bufferOpacity):void 0,top:`calc(50% - ${B(h.value/4)})`,width:B(100-_.value,"%"),"--v-progress-linear-stream-to":B(h.value*(y.value?1:-1))}},null),I("div",{class:j(["v-progress-linear__background",m.value]),style:X([v.value,{opacity:e.bgOpacity!=null?parseFloat(e.bgOpacity):void 0,width:e.stream?0:void 0}])},null),I("div",{class:j(["v-progress-linear__buffer",d.value]),style:X([g.value,{opacity:e.bufferOpacity!=null?parseFloat(e.bufferOpacity):void 0,width:B(N.value,"%")}])},null),S($e,{name:R.value},{default:()=>[e.indeterminate?I("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(Y=>I("div",{key:Y,class:j(["v-progress-linear__indeterminate",Y,f.value]),style:X(p.value)},null))]):I("div",{class:j(["v-progress-linear__determinate",f.value]),style:X([p.value,{width:B(O.value,"%")}])},null)]}),n.default&&I("div",{class:"v-progress-linear__content"},[n.default({value:E.value,buffer:_.value})])]})),{}}}),Ra=T({loading:[Boolean,String]},"loader");function Na(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{loaderClasses:k(()=>({[`${t}--loading`]:e.loading}))}}function Hs(e,t){var a;let{slots:n}=t;return I("div",{class:j(`${e.name}__loader`)},[((a=n.default)==null?void 0:a.call(n,{color:e.color,isActive:e.active}))||S(Ba,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const js=["static","relative","fixed","absolute","sticky"],Tn=T({position:{type:String,validator:e=>js.includes(e)}},"position");function On(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe();return{positionClasses:k(()=>e.position?`${t}--${e.position}`:void 0)}}function Gs(){const e=Ee("useRoute");return C(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Us(){var e,t;return(t=(e=Ee("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function Bn(e,t){const n=xa("RouterLink"),a=k(()=>!!(e.href||e.to)),i=C(()=>(a==null?void 0:a.value)||Gn(t,"click")||Gn(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)}),o=C(()=>e.to?s:void 0),l=Gs(),r=C(()=>{var m,v,d;return o.value?e.exact?l.value?((d=o.value.isExactActive)==null?void 0:d.value)&&Je(o.value.route.value.query,l.value.query):((v=o.value.isExactActive)==null?void 0:v.value)??!1:((m=o.value.isActive)==null?void 0:m.value)??!1:!1}),u=C(()=>{var m;return e.to?(m=o.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=o.value)==null?void 0:m.route.value}),navigate:k(()=>{var m;return(m=o.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 Rn=T({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let Jt=!1;function Ks(e,t){let n=!1,a,i;Ae&&(e!=null&&e.beforeEach)&&(de(()=>{window.addEventListener("popstate",s),a=e.beforeEach(()=>Jt?n?t():void 0:(Jt=!0,new Promise(o=>{setTimeout(()=>o(n?t():void 0))}))),i=e==null?void 0:e.afterEach(()=>{Jt=!1})}),ve(()=>{window.removeEventListener("popstate",s),a==null||a(),i==null||i()}));function s(o){var l;(l=o.state)!=null&&l.replaced||(n=!0,setTimeout(()=>n=!1))}}function Xs(e,t){W(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&de(()=>{t(n)})},{immediate:!0})}const un=Symbol("rippleStop"),Ys=80;function aa(e,t){e.style.transform=t,e.style.webkitTransform=t}function cn(e){return e.constructor.name==="TouchEvent"}function $a(e){return e.constructor.name==="KeyboardEvent"}const Js=function(e,t){var m;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=0,i=0;if(!$a(e)){const v=new Et(t),d=cn(e)?e.touches[e.touches.length-1]:e,g=wn([d.clientX,d.clientY]);a=g.x-v.left,i=g.y-v.top}let s=0,o=.3;(m=t._ripple)!=null&&m.circle?(o=.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 l=`${(t.clientWidth-s*2)/2}px`,r=`${(t.clientHeight-s*2)/2}px`,u=n.center?l:`${a-s}px`,c=n.center?r:`${i-s}px`;return{radius:s,scale:o,x:u,y:c,centerX:l,centerY:r}},Rt={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:o,x:l,y:r,centerX:u,centerY:c}=Js(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"),aa(i,`translate(${l}, ${r}) scale3d(${o},${o},${o})`),i.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.remove("v-ripple__animation--enter"),i.classList.add("v-ripple__animation--in"),aa(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(o=>!o.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 l;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((l=n.parentNode)==null?void 0:l.parentNode)===e&&e.removeChild(n.parentNode)},300)},i)}};function Da(e){return typeof e>"u"||!!e}function mt(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[un])){if(e[un]=!0,cn(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||$a(e),n._ripple.class&&(t.class=n._ripple.class),cn(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{Rt.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)},Ys)}else Rt.show(e,n,t)}}function Nt(e){e[un]=!0}function ce(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(()=>{ce(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),Rt.hide(t)}}function Ma(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 Qs(e,t){!gt&&t.includes(e.key)&&(gt=!0,mt(e))}function Fa(e){gt=!1,ce(e)}function za(e){gt&&(gt=!1,ce(e))}function Wa(e,t,n){const{value:a,modifiers:i}=t,s=Da(a);s||Rt.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=s,e._ripple.centered=i.center,e._ripple.circle=i.circle;const o=sn(a)?a:{};o.class&&(e._ripple.class=o.class);const l=o.keys??["Enter","Space"];if(e._ripple.keyDownHandler=r=>Qs(r,l),s&&!n){if(i.stop){e.addEventListener("touchstart",Nt,{passive:!0}),e.addEventListener("mousedown",Nt);return}e.addEventListener("touchstart",mt,{passive:!0}),e.addEventListener("touchend",ce,{passive:!0}),e.addEventListener("touchmove",Ma,{passive:!0}),e.addEventListener("touchcancel",ce),e.addEventListener("mousedown",mt),e.addEventListener("mouseup",ce),e.addEventListener("mouseleave",ce),e.addEventListener("keydown",e._ripple.keyDownHandler),e.addEventListener("keyup",Fa),e.addEventListener("blur",za),e.addEventListener("dragstart",ce,{passive:!0})}else!s&&n&&qa(e)}function qa(e){var t;e.removeEventListener("touchstart",Nt),e.removeEventListener("mousedown",Nt),e.removeEventListener("touchstart",mt),e.removeEventListener("touchend",ce),e.removeEventListener("touchmove",Ma),e.removeEventListener("touchcancel",ce),e.removeEventListener("mousedown",mt),e.removeEventListener("mouseup",ce),e.removeEventListener("mouseleave",ce),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",Fa),e.removeEventListener("blur",za),e.removeEventListener("dragstart",ce)}function Zs(e,t){Wa(e,t,!1)}function eo(e){qa(e),delete e._ripple}function to(e,t){if(t.value===t.oldValue)return;const n=Da(t.oldValue);Wa(e,t,n)}const yt={mounted:Zs,unmounted:eo,updated:to},no=T({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Ta},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:oe,appendIcon:oe,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(),...Ge(),...rt(),...bt(),...Ps(),...Ra(),...Ht(),...Tn(),...Oe(),...Rn(),...Wt(),...le({tag:"button"}),...fe(),...Ue({variant:"elevated"})},"VBtn"),Ha=G()({name:"VBtn",props:no(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{borderClasses:s}=ot(e),{densityClasses:o}=lt(e),{dimensionStyles:l}=ut(e),{elevationClasses:r}=pt(e),{loaderClasses:u}=Na(e),{locationStyles:c}=Ln(e),{positionClasses:m}=On(e),{roundedClasses:v}=Be(e),{sizeClasses:d,sizeStyles:g}=qt(e),f=As(e,e.symbol,!1),p=Bn(e,n),b=C(()=>{var A;return e.active!==void 0?e.active:p.isRouterLink.value?(A=p.isActive)==null?void 0:A.value:f==null?void 0:f.isSelected.value}),x=k(()=>b.value?e.activeColor??e.color:e.color),L=C(()=>{var V,P;return{color:(f==null?void 0:f.isSelected.value)&&(!p.isLink.value||((V=p.isActive)==null?void 0:V.value))||!f||((P=p.isActive)==null?void 0:P.value)?x.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:w,colorStyles:h,variantClasses:_}=wt(L),E=C(()=>(f==null?void 0:f.disabled.value)||e.disabled),y=k(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),R=C(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function F(A){var V,P;E.value||p.isLink.value&&(A.metaKey||A.ctrlKey||A.shiftKey||A.button!==0||n.target==="_blank")||(p.isRouterLink.value?(P=(V=p.navigate).value)==null||P.call(V,A):f==null||f.toggle())}return Xs(p,f==null?void 0:f.select),Z(()=>{const A=p.isLink.value?"a":e.tag,V=!!(e.prependIcon||a.prepend),P=!!(e.appendIcon||a.append),N=!!(e.icon&&e.icon!==!0);return We(S(A,Q(p.linkProps,{type:A==="a"?void 0:"button",class:["v-btn",f==null?void 0:f.selectedClass.value,{"v-btn--active":b.value,"v-btn--block":e.block,"v-btn--disabled":E.value,"v-btn--elevated":y.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,o.value,r.value,u.value,m.value,v.value,d.value,_.value,e.class],style:[h.value,l.value,c.value,g.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:E.value&&A!=="a"||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:F,value:R.value}),{default:()=>{var O;return[St(!0,"v-btn"),!e.icon&&V&&I("span",{key:"prepend",class:"v-btn__prepend"},[a.prepend?S(ge,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},a.prepend):S(xe,{key:"prepend-icon",icon:e.prependIcon},null)]),I("span",{class:"v-btn__content","data-no-activator":""},[!a.default&&N?S(xe,{key:"content-icon",icon:e.icon},null):S(ge,{key:"content-defaults",disabled:!N,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var U;return[((U=a.default)==null?void 0:U.call(a))??_e(e.text)]}})]),!e.icon&&P&&I("span",{key:"append",class:"v-btn__append"},[a.append?S(ge,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},a.append):S(xe,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&I("span",{key:"loader",class:"v-btn__loader"},[((O=a.loader)==null?void 0:O.call(a))??S(Fs,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[yt,!E.value&&e.ripple,"",{center:!!e.icon}]])}),{group:f}}});function Qt(e,t){return{x:e.x+t.x,y:e.y+t.y}}function ao(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ia(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 Qt({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 Qt({x:i,y:s},t)}return Qt({x:t.width/2,y:t.height/2},t)}const ja={static:oo,connected:ro},io=T({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in ja},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 so(e,t){const n=M({}),a=M();Ae&&ht(()=>!!(t.isActive.value&&e.locationStrategy),l=>{var r,u;W(()=>e.locationStrategy,l),ve(()=>{window.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("scroll",o),a.value=void 0}),window.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",o,{passive:!0}),typeof e.locationStrategy=="function"?a.value=(r=e.locationStrategy(t,e,n))==null?void 0:r.updateLocation:a.value=(u=ja[e.locationStrategy](t,e,n))==null?void 0:u.updateLocation});function i(l){var r;(r=a.value)==null||r.call(a,l)}function s(l){var r;(r=a.value)==null||r.call(a,l)}function o(l){var r;(r=a.value)==null||r.call(a,l)}return{contentStyles:n,updateLocation:a}}function oo(){}function lo(e,t){const n=ka(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 ro(e,t,n){(Array.isArray(e.target.value)||Ei(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:i,preferredOrigin:s}=bn(()=>{const b=an(t.location,e.isRtl.value),x=t.origin==="overlap"?b:t.origin==="auto"?Xt(b):an(t.origin,e.isRtl.value);return b.side===x.side&&b.align===Kt(x).align?{preferredAnchor:Xn(b),preferredOrigin:Xn(x)}:{preferredAnchor:b,preferredOrigin:x}}),[o,l,r,u]=["minWidth","minHeight","maxWidth","maxHeight"].map(b=>C(()=>{const x=parseFloat(t[b]);return isNaN(x)?1/0:x})),c=C(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const b=t.offset.split(" ").map(parseFloat);return b.length<2&&b.push(0),b}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let m=!1,v=-1;const d=new Ii(4),g=new ResizeObserver(()=>{if(!m)return;if(requestAnimationFrame(x=>{x!==v&&d.clear(),requestAnimationFrame(L=>{v=L})}),d.isFull){const x=d.values();if(Je(x.at(-1),x.at(-3))&&!Je(x.at(-1),x.at(-2)))return}const b=p();b&&d.push(b.flipped)});let f=new Et({x:0,y:0,width:0,height:0});W(e.target,(b,x)=>{x&&!Array.isArray(x)&&g.unobserve(x),Array.isArray(b)?Je(b,x)||p():b&&g.observe(b)},{immediate:!0}),W(e.contentEl,(b,x)=>{x&&g.unobserve(x),b&&g.observe(b)},{immediate:!0}),ve(()=>{g.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=wn(e.target.value));const b=lo(e.contentEl.value,e.isRtl.value),x=Ot(e.contentEl.value),L=Number(t.viewportMargin);x.length||(x.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(b.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),b.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const w=x.reduce((P,N)=>{const O=Pi(N);return P?new Et({x:Math.max(P.left,O.left),y:Math.max(P.top,O.top),width:Math.min(P.right,O.right)-Math.max(P.left,O.left),height:Math.min(P.bottom,O.bottom)-Math.max(P.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 _(P){const N=new Et(b),O=ia(P.anchor,f),U=ia(P.origin,N);let{x:Y,y:te}=ao(O,U);switch(P.anchor.side){case"top":te-=c.value[0];break;case"bottom":te+=c.value[0];break;case"left":Y-=c.value[0];break;case"right":Y+=c.value[0];break}switch(P.anchor.align){case"top":te-=c.value[1];break;case"bottom":te+=c.value[1];break;case"left":Y-=c.value[1];break;case"right":Y+=c.value[1];break}return N.x+=Y,N.y+=te,N.width=Math.min(N.width,r.value),N.height=Math.min(N.height,u.value),{overflows:Kn(N,w),x:Y,y:te}}let E=0,y=0;const R={x:0,y:0},F={x:!1,y:!1};let A=-1;for(;!(A++>10);){const{x:P,y:N,overflows:O}=_(h);E+=P,y+=N,b.x+=P,b.y+=N;{const U=Un(h.anchor),Y=O.x.before||O.x.after,te=O.y.before||O.y.after;let he=!1;if(["x","y"].forEach(K=>{if(K==="x"&&Y&&!F.x||K==="y"&&te&&!F.y){const $={anchor:{...h.anchor},origin:{...h.origin}},J=K==="x"?U==="y"?Kt:Xt:U==="y"?Xt:Kt;$.anchor=J($.anchor),$.origin=J($.origin);const{overflows:q}=_($);(q[K].before<=O[K].before&&q[K].after<=O[K].after||q[K].before+q[K].after<(O[K].before+O[K].after)/2)&&(h=$,he=F[K]=!0)}}),he)continue}O.x.before&&(E+=O.x.before,b.x+=O.x.before),O.x.after&&(E-=O.x.after,b.x-=O.x.after),O.y.before&&(y+=O.y.before,b.y+=O.y.before),O.y.after&&(y-=O.y.after,b.y-=O.y.after);{const U=Kn(b,w);R.x=w.width-U.x.before-U.x.after,R.y=w.height-U.y.before-U.y.after,E+=U.x.before,b.x+=U.x.before,y+=U.y.before,b.y+=U.y.before}break}const V=Un(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(Zt(y)),left:e.isRtl.value?void 0:B(Zt(E)),right:e.isRtl.value?B(Zt(-E)):void 0,minWidth:B(V==="y"?Math.min(o.value,f.width):o.value),maxWidth:B(sa(et(R.x,o.value===1/0?0:o.value,r.value))),maxHeight:B(sa(et(R.y,l.value===1/0?0:l.value,u.value)))}),{available:R,contentBox:b,flipped:F}}return W(()=>[i.value,s.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>p()),de(()=>{const b=p();if(!b)return;const{available:x,contentBox:L}=b;L.height>x.y&&requestAnimationFrame(()=>{p(),requestAnimationFrame(()=>{p()})})}),{updateLocation:p}}function Zt(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function sa(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let dn=!0;const $t=[];function uo(e){!dn||$t.length?($t.push(e),fn()):(dn=!1,e(),fn())}let oa=-1;function fn(){cancelAnimationFrame(oa),oa=requestAnimationFrame(()=>{const e=$t.shift();e&&e(),$t.length?fn():dn=!0})}const Vt={none:null,close:vo,block:mo,reposition:go},co=T({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in Vt}},"VOverlay-scroll-strategies");function fo(e,t){if(!Ae)return;let n;Ne(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=Ea(),await new Promise(a=>setTimeout(a)),n.active&&n.run(()=>{var a;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(a=Vt[e.scrollStrategy])==null||a.call(Vt,t,e,n)}))}),ve(()=>{n==null||n.stop()})}function vo(e){function t(n){e.isActive.value=!1}Ga(Nn(e.target.value,e.contentEl.value),t)}function mo(e,t){var l;const n=(l=e.root.value)==null?void 0:l.offsetParent,a=Nn(e.target.value,e.contentEl.value),i=[...new Set([...Ot(a,t.contained?n:void 0),...Ot(e.contentEl.value,t.contained?n:void 0)])].filter(r=>!r.classList.contains("v-overlay-scroll-blocked")),s=window.innerWidth-document.documentElement.offsetWidth,o=(r=>Ai(r)&&r)(n||document.documentElement);o&&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}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function go(e,t,n){let a=!1,i=-1,s=-1;function o(l){uo(()=>{var c,m;const r=performance.now();(m=(c=e.updateLocation).value)==null||m.call(c,l),a=(performance.now()-r)/(1e3/60)>2})}s=(typeof requestIdleCallback>"u"?l=>l():requestIdleCallback)(()=>{n.run(()=>{Ga(Nn(e.target.value,e.contentEl.value),l=>{a?(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o(l)})})):o(l)})})}),ve(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(s),cancelAnimationFrame(i)})}function Nn(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function Ga(e,t){const n=[document,...Ot(e)];n.forEach(a=>{a.addEventListener("scroll",t,{passive:!0})}),ve(()=>{n.forEach(a=>{a.removeEventListener("scroll",t)})})}const yo=Symbol.for("vuetify:v-menu"),ho=T({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function bo(e,t){let n=()=>{};function a(o,l){n==null||n();const r=o?e.openDelay:e.closeDelay,u=Math.max((l==null?void 0:l.minDelay)??0,Number(r??0));return new Promise(c=>{n=Vi(u,()=>{t==null||t(o),c(o)})})}function i(){return a(!0)}function s(o){return a(!1,o)}return{clearDelay:n,runOpenDelay:i,runCloseDelay:s}}const po=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,...ho()},"VOverlay-activator");function So(e,t){let{isActive:n,isTop:a,contentEl:i}=t;const s=Ee("useActivator"),o=M();let l=!1,r=!1,u=!0;const c=C(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),m=C(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:v,runCloseDelay:d}=bo(e,y=>{y===(e.openOnHover&&l||c.value&&r)&&!(e.openOnHover&&n.value&&!a.value)&&(n.value!==y&&(u=!0),n.value=y)}),g=M(),f={onClick:y=>{y.stopPropagation(),o.value=y.currentTarget||y.target,n.value||(g.value=[y.clientX,y.clientY]),n.value=!n.value},onMouseenter:y=>{l=!0,o.value=y.currentTarget||y.target,v()},onMouseleave:y=>{l=!1,d()},onFocus:y=>{Oi(y.target,":focus-visible")!==!1&&(r=!0,y.stopPropagation(),o.value=y.currentTarget||y.target,v())},onBlur:y=>{r=!1,y.stopPropagation(),d({minDelay:1})}},p=C(()=>{const y={};return m.value&&(y.onClick=f.onClick),e.openOnHover&&(y.onMouseenter=f.onMouseenter,y.onMouseleave=f.onMouseleave),c.value&&(y.onFocus=f.onFocus,y.onBlur=f.onBlur),y}),b=C(()=>{const y={};if(e.openOnHover&&(y.onMouseenter=()=>{l=!0,v()},y.onMouseleave=()=>{l=!1,d()}),c.value&&(y.onFocusin=R=>{R.target.matches(":focus-visible")&&(r=!0,v())},y.onFocusout=()=>{r=!1,d({minDelay:1})}),e.closeOnContentClick){const R=Le(yo,null);y.onClick=()=>{n.value=!1,R==null||R.closeParents()}}return y}),x=C(()=>{const y={};return e.openOnHover&&(y.onMouseenter=()=>{u&&(l=!0,u=!1,v())},y.onMouseleave=()=>{l=!1,d()}),y});W(a,y=>{var R;y&&(e.openOnHover&&!l&&(!c.value||!r)||c.value&&!r&&(!e.openOnHover||!l))&&!((R=i.value)!=null&&R.contains(document.activeElement))&&d()}),W(n,y=>{y||setTimeout(()=>{g.value=void 0})},{flush:"post"});const L=Yn();Ne(()=>{L.value&&de(()=>{o.value=L.el})});const w=Yn(),h=C(()=>e.target==="cursor"&&g.value?g.value:w.value?w.el:Ua(e.target,s)||o.value),_=C(()=>Array.isArray(h.value)?void 0:h.value);let E;return W(()=>!!e.activator,y=>{y&&Ae?(E=Ea(),E.run(()=>{wo(e,s,{activatorEl:o,activatorEvents:p})})):E&&E.stop()},{flush:"post",immediate:!0}),ve(()=>{E==null||E.stop()}),{activatorEl:o,activatorRef:L,target:h,targetEl:_,targetRef:w,activatorEvents:p,contentEvents:b,scrimEvents:x}}function wo(e,t,n){let{activatorEl:a,activatorEvents:i}=n;W(()=>e.activator,(r,u)=>{if(u&&r!==u){const c=l(u);c&&o(c)}r&&de(()=>s())},{immediate:!0}),W(()=>e.activatorProps,()=>{s()}),ve(()=>{o()});function s(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:l(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;r&&Li(r,Q(i.value,u))}function o(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:l(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;r&&Ti(r,Q(i.value,u))}function l(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const u=Ua(r,t);return a.value=(u==null?void 0:u.nodeType)===Node.ELEMENT_NODE?u:void 0,a.value}}function Ua(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 ko=T({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},"focusTrap"),Lt=new Map;let la=0;function ra(e){const t=document.activeElement;if(e.key!=="Tab"||!t)return;const n=Array.from(Lt.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=It(a).filter(u=>u.tabIndex>=0);if(!s.length)return;const o=document.activeElement;if(s.length===1&&s[0].classList.contains("v-list")&&s[0].contains(o)){e.preventDefault();return}const l=s[0],r=s[s.length-1];e.shiftKey&&(o===l||l.classList.contains("v-list")&&l.contains(o))&&(e.preventDefault(),r.focus()),!e.shiftKey&&(o===r||r.classList.contains("v-list")&&r.contains(o))&&(e.preventDefault(),l.focus())}function Co(e,t){let{isActive:n,localTop:a,activatorEl:i,contentEl:s}=t;const o=Symbol("trap");let l=!1,r=-1;async function u(){l=!0,r=window.setTimeout(()=>{l=!1},100)}async function c(d){var p;const g=d.relatedTarget,f=d.target;document.removeEventListener("pointerdown",u),document.removeEventListener("keydown",m),await new Promise(b=>requestAnimationFrame(b)),n.value&&!l&&g!==f&&s.value&&se(a)&&![document,s.value].includes(f)&&!s.value.contains(f)&&((p=It(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 g=It(document.documentElement);if(d.shiftKey&&d.target===g.at(0)||!d.shiftKey&&d.target===g.at(-1)){const f=It(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?Lt.set(o,{isActive:n,contentEl:s}):Lt.delete(o)},{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}),la++<1&&document.addEventListener("keydown",ra)),ve(()=>{Lt.delete(o),clearTimeout(r),document.removeEventListener("pointerdown",u),document.removeEventListener("focusin",c),document.removeEventListener("keydown",m),--la<1&&document.removeEventListener("keydown",ra)})}function _o(){if(!Ae)return z(!1);const{ssr:e}=Bi();if(e){const t=z(!1);return it(()=>{t.value=!0}),t}else return z(!0)}const xo=T({eager:Boolean},"lazy");function Eo(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 $n(){const t=Ee("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const ua=Symbol.for("vuetify:stack"),dt=vt([]);function Io(e,t,n){const a=Ee("useStack"),i=!n,s=Le(ua,void 0),o=vt({activeChildren:new Set});He(ua,o);const l=z(Number(se(t)));ht(e,()=>{var m;const c=(m=dt.at(-1))==null?void 0:m[1];l.value=c?c+10:Number(se(t)),i&&dt.push([a.uid,l.value]),s==null||s.activeChildren.add(a.uid),ve(()=>{if(i){const v=ne(dt).findIndex(d=>d[0]===a.uid);dt.splice(v,1)}s==null||s.activeChildren.delete(a.uid)})});const r=z(!0);i&&Ne(()=>{var m;const c=((m=dt.at(-1))==null?void 0:m[0])===a.uid;setTimeout(()=>r.value=c)});const u=k(()=>!o.activeChildren.size);return{globalTop:Ia(r),localTop:u,stackStyles:k(()=>({zIndex:l.value}))}}function Po(e){return{teleportTarget:C(()=>{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 Ka=T({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),Ye=(e,t)=>{let{slots:n}=t;const{transition:a,disabled:i,group:s,...o}=e,{component:l=s?_n:$e,...r}=sn(a)?a:{};let u;return sn(a)?u=Q(r,Ri({disabled:i,group:s}),o):u=Q({name:i||!a?"":a},o),xn(l,u,n)};function Ao(){return!0}function Xa(e,t,n){if(!e||Ya(e,n)===!1)return!1;const a=Ca(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 Ya(e,t){return(typeof t.value=="object"&&t.value.closeConditional||Ao)(e)}function Vo(e,t,n){const a=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&Xa(e,t,n)&&setTimeout(()=>{Ya(e,n)&&a&&a(e)},0)}function ca(e,t){const n=Ca(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const da={mounted(e,t){const n=i=>Vo(i,e,t),a=i=>{e._clickOutside.lastMousedownWasOutside=Xa(i,e,t)};ca(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&&(ca(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 Lo(e){const{modelValue:t,color:n,...a}=e;return S($e,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&I("div",Q({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},a),null)]})}const Dn=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},...po(),...ee(),...rt(),...xo(),...io(),...co(),...ko(),...fe(),...Ka()},"VOverlay"),Dt=G()({name:"VOverlay",directives:{vClickOutside:da},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...at(Dn(),["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=Ee("VOverlay"),o=M(),l=M(),r=M(),u=Pe(e,"modelValue"),c=C({get:()=>u.value,set:H=>{H&&e.disabled||(u.value=H)}}),{themeClasses:m}=ye(e),{rtlClasses:v,isRtl:d}=zt(),{hasContent:g,onAfterLeave:f}=Eo(e,c),p=Qe(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:b,localTop:x,stackStyles:L}=Io(c,()=>e.zIndex,e._disableGlobalStack),{activatorEl:w,activatorRef:h,target:_,targetEl:E,targetRef:y,activatorEvents:R,contentEvents:F,scrimEvents:A}=So(e,{isActive:c,isTop:x,contentEl:r}),{teleportTarget:V}=Po(()=>{var Me,D,re;const H=e.attach||e.contained;if(H)return H;const ue=((Me=w==null?void 0:w.value)==null?void 0:Me.getRootNode())||((re=(D=s.proxy)==null?void 0:D.$el)==null?void 0:re.getRootNode());return ue instanceof ShadowRoot?ue:!1}),{dimensionStyles:P}=ut(e),N=_o(),{scopeId:O}=$n();W(()=>e.disabled,H=>{H&&(c.value=!1)});const{contentStyles:U,updateLocation:Y}=so(e,{isRtl:d,contentEl:r,target:_,isActive:c});fo(e,{root:o,contentEl:r,targetEl:E,target:_,isActive:c,updateLocation:Y});function te(H){i("click:outside",H),e.persistent?be():c.value=!1}function he(H){return c.value&&x.value&&(!e.scrim||H.target===l.value||H instanceof MouseEvent&&H.shadowTarget===l.value)}Co(e,{isActive:c,localTop:x,contentEl:r,activatorEl:w}),Ae&&W(c,H=>{H?window.addEventListener("keydown",K):window.removeEventListener("keydown",K)},{immediate:!0}),je(()=>{Ae&&window.removeEventListener("keydown",K)});function K(H){var ue,Me,D;H.key==="Escape"&&b.value&&((ue=r.value)!=null&&ue.contains(document.activeElement)||i("keydown",H),e.persistent?be():(c.value=!1,(Me=r.value)!=null&&Me.contains(document.activeElement)&&((D=w.value)==null||D.focus())))}function $(H){H.key==="Escape"&&!b.value||i("keydown",H)}const J=Us();ht(()=>e.closeOnBack,()=>{Ks(J,()=>{if(b.value&&c.value)return e.persistent?be():c.value=!1,!1})});const q=M();W(()=>c.value&&(e.absolute||e.contained)&&V.value==null,H=>{if(H){const ue=Ni(o.value);ue&&ue!==document.scrollingElement&&(q.value=ue.scrollTop)}});function be(){e.noClickAnimation||r.value&&Fe(r.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:on})}function Ke(){i("afterEnter")}function De(){f(),i("afterLeave")}return Z(()=>{var H;return I(Ve,null,[(H=n.activator)==null?void 0:H.call(n,{isActive:c.value,targetRef:y,props:Q({ref:h},R.value,e.activatorProps)}),N.value&&g.value&&S(Zi,{disabled:!V.value,to:V.value},{default:()=>[I("div",Q({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(q.value)},e.style],ref:o,onKeydown:$},O,a),[S(Lo,Q({color:p,modelValue:c.value&&!!e.scrim,ref:l},A.value),null),S(Ye,{appear:!0,persisted:!0,transition:e.transition,target:_.value,onAfterEnter:Ke,onAfterLeave:De},{default:()=>{var ue;return[We(I("div",Q({ref:r,class:["v-overlay__content",e.contentClass],style:[P.value,U.value]},F.value,e.contentProps),[(ue=n.default)==null?void 0:ue.call(n,{isActive:c})]),[[En,c.value],[da,{handler:te,closeConditional:he,include:()=>[w.value]}]])]}})])]})])}),{activatorEl:w,scrimEl:l,target:_,animateClick:be,contentEl:r,rootEl:o,globalTop:b,localTop:x,updateLocation:Y}}}),en=Symbol("Forwarded refs");function tn(e,t){let n=e;for(;n;){const a=Reflect.getOwnPropertyDescriptor(n,t);if(a)return a;n=Object.getPrototypeOf(n)}}function Ja(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;at.value=e())}function s(o){const l=o?getComputedStyle(o):{transitionDuration:.2},r=parseFloat(l.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 Oo=T({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Ht({location:"bottom"}),...Tn(),...Oe(),...Ue(),...fe(),...at(Dn({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),Bo=G()({name:"VSnackbar",props:Oo(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const a=Pe(e,"modelValue"),{positionClasses:i}=On(e),{scopeId:s}=$n(),{themeClasses:o}=ye(e),{colorClasses:l,colorStyles:r,variantClasses:u}=wt(e),{roundedClasses:c}=Be(e),m=To(()=>Number(e.timeout)),v=M(),d=M(),g=z(!1),f=z(0),p=M(),b=Le(Mi,void 0);ht(()=>!!b,()=>{const A=$i();Ne(()=>{p.value=A.mainStyles.value})}),W(a,L),W(()=>e.timeout,L),it(()=>{a.value&&L()});let x=-1;function L(){m.reset(),window.clearTimeout(x);const A=Number(e.timeout);if(!a.value||A===-1)return;const V=Di(d.value);m.start(V),x=window.setTimeout(()=>{a.value=!1},A)}function w(){m.reset(),window.clearTimeout(x)}function h(){g.value=!0,w()}function _(){g.value=!1,L()}function E(A){f.value=A.touches[0].clientY}function y(A){Math.abs(f.value-A.changedTouches[0].clientY)>50&&(a.value=!1)}function R(){g.value&&_()}const F=C(()=>e.location.split(" ").reduce((A,V)=>(A[`v-snackbar--${V}`]=!0,A),{}));return Z(()=>{const A=Dt.filterProps(e),V=!!(n.default||n.text||e.text);return S(Dt,Q({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},F.value,i.value,e.class],style:[p.value,e.style]},A,{modelValue:a.value,"onUpdate:modelValue":P=>a.value=P,contentProps:Q({class:["v-snackbar__wrapper",o.value,l.value,c.value,u.value],style:[r.value],onPointerenter:h,onPointerleave:_},A.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:E,onTouchend:y,onAfterLeave:R},s),{default:()=>{var P,N;return[St(!1,"v-snackbar"),e.timer&&!g.value&&I("div",{key:"timer",class:"v-snackbar__timer"},[S(Ba,{ref:d,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:m.time.value},null)]),V&&I("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((P=n.text)==null?void 0:P.call(n))??e.text,(N=n.default)==null?void 0:N.call(n)]),n.actions&&S(ge,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[I("div",{class:"v-snackbar__actions"},[n.actions({isActive:a})])]})]},activator:n.activator})}),Ja({},v)}}),Ro=es({name:"GlobalMessage",setup(){var s;const e=M(!1),t=M(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=Xe==null?void 0:Xe.onSnackbar)==null?void 0:s.call(Xe,async o=>{o&&(e.value&&(e.value=!1,await de()),t.value=o,e.value=!0)});return je(()=>i==null?void 0:i()),{snackbar:e,message:t,icons:n,colors:a}}}),No={class:"d-flex align-center"},$o={class:"text-subtitle-2 font-weight-medium"},Do={key:0,class:"text-body-2"};function Mo(e,t,n,a,i,s){var o;return Ce(),ze(Bo,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=l=>e.snackbar=l),color:e.colors[(o=e.message)==null?void 0:o.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:ie(()=>[S(Ha,{icon:"mdi-close",variant:"text",onClick:t[0]||(t[0]=l=>e.snackbar=!1)})]),default:ie(()=>{var l,r,u,c;return[I("div",No,[S(xe,{icon:e.icons[(l=e.message)==null?void 0:l.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),I("div",null,[I("div",$o,_e((r=e.message)==null?void 0:r.title),1),(u=e.message)!=null&&u.content?(Ce(),In("div",Do,_e((c=e.message)==null?void 0:c.content),1)):Bt("",!0)])])]}),_:1},8,["modelValue","color"])}const Qa=Aa(Ro,[["render",Mo]]),Fo=T({...ee(),...le()},"VCardActions"),Za=G()({name:"VCardActions",props:Fo(),setup(e,t){let{slots:n}=t;return Ft({VBtn:{slim:!0,variant:"text"}}),Z(()=>S(e.tag,{class:j(["v-card-actions",e.class]),style:X(e.style)},n)),{}}}),zo=T({opacity:[Number,String],...ee(),...le()},"VCardSubtitle"),Wo=G()({name:"VCardSubtitle",props:zo(),setup(e,t){let{slots:n}=t;return Z(()=>S(e.tag,{class:j(["v-card-subtitle",e.class]),style:X([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),ei=kn("v-card-title");function qo(e){return{aspectStyles:C(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const ti=T({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...ee(),...rt()},"VResponsive"),fa=G()({name:"VResponsive",props:ti(),setup(e,t){let{slots:n}=t;const{aspectStyles:a}=qo(e),{dimensionStyles:i}=ut(e);return Z(()=>{var s;return I("div",{class:j(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:X([i.value,e.style])},[I("div",{class:"v-responsive__sizer",style:X(a.value)},null),(s=n.additional)==null?void 0:s.call(n),n.default&&I("div",{class:j(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function va(e,t){if(!Sn)return;const n=t.modifiers||{},a=t.value,{handler:i,options:s}=typeof a=="object"?a:{handler:a,options:{}},o=new IntersectionObserver(function(){var m;let l=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=l.some(v=>v.isIntersecting);i&&(!n.quiet||u.init)&&(!n.once||c||u.init)&&i(c,l,r),c&&n.once?vn(e,t):u.init=!0},s);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function vn(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 ma={mounted:va,unmounted:vn,updated:(e,t)=>{var n;(n=e._observe)!=null&&n[t.instance.$.uid]&&(vn(e,t),va(e,t))}},Ho=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,...ti(),...ee(),...Oe(),...Ka()},"VImg"),ni=G()({name:"VImg",directives:{vIntersect:ma},props:Ho(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:a}=t;const{backgroundColorClasses:i,backgroundColorStyles:s}=Qe(()=>e.color),{roundedClasses:o}=Be(e),l=Ee("VImg"),r=z(""),u=M(),c=z(e.eager?"loading":"idle"),m=z(),v=z(),d=C(()=>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)}),g=C(()=>d.value.aspect||m.value/v.value||0);W(()=>e.src,()=>{f(c.value!=="idle")}),W(g,(V,P)=>{!V&&P&&u.value&&w(u.value)}),Pn(()=>f());function f(V){if(!(e.eager&&V)&&!(Sn&&!V&&!e.eager)){if(c.value="loading",d.value.lazySrc){const P=new Image;P.src=d.value.lazySrc,w(P,null)}d.value.src&&de(()=>{var P;n("loadstart",((P=u.value)==null?void 0:P.currentSrc)||d.value.src),setTimeout(()=>{var N;if(!l.isUnmounted)if((N=u.value)!=null&&N.complete){if(u.value.naturalWidth||b(),c.value==="error")return;g.value||w(u.value,null),c.value==="loading"&&p()}else g.value||w(u.value),x()})})}}function p(){var V;l.isUnmounted||(x(),w(u.value),c.value="loaded",n("load",((V=u.value)==null?void 0:V.currentSrc)||d.value.src))}function b(){var V;l.isUnmounted||(c.value="error",n("error",((V=u.value)==null?void 0:V.currentSrc)||d.value.src))}function x(){const V=u.value;V&&(r.value=V.currentSrc||V.src)}let L=-1;je(()=>{clearTimeout(L)});function w(V){let P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const N=()=>{if(clearTimeout(L),l.isUnmounted)return;const{naturalHeight:O,naturalWidth:U}=V;O||U?(m.value=U,v.value=O):!V.complete&&c.value==="loading"&&P!=null?L=window.setTimeout(N,P):(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})),_=()=>{var N;if(!d.value.src||c.value==="idle")return null;const V=I("img",{class:j(["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:b},null),P=(N=a.sources)==null?void 0:N.call(a);return S(Ye,{transition:e.transition,appear:!0},{default:()=>[We(P?I("picture",{class:"v-img__picture"},[P,V]):V,[[En,c.value==="loaded"]])]})},E=()=>S(Ye,{transition:e.transition},{default:()=>[d.value.lazySrc&&c.value!=="loaded"&&I("img",{class:j(["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)]}),y=()=>a.placeholder?S(Ye,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!a.error)&&I("div",{class:"v-img__placeholder"},[a.placeholder()])]}):null,R=()=>a.error?S(Ye,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&I("div",{class:"v-img__error"},[a.error()])]}):null,F=()=>e.gradient?I("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,A=z(!1);{const V=W(g,P=>{P&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{A.value=!0})}),V())})}return Z(()=>{const V=fa.filterProps(e);return We(S(fa,Q({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!A.value,"v-img--fit-content":e.width==="fit-content"},i.value,o.value,e.class],style:[{width:B(e.width==="auto"?m.value:e.width)},s.value,e.style]},V,{aspectRatio:g.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>I(Ve,null,[S(_,null,null),S(E,null,null),S(F,null,null),S(y,null,null),S(R,null,null)]),default:a.default}),[[ma,{handler:f,options:e.options},null,{once:!0}]])}),{currentSrc:r,image:u,state:c,naturalWidth:m,naturalHeight:v}}}),jo=T({start:Boolean,end:Boolean,icon:oe,image:String,text:String,...st(),...ee(),...Ge(),...Oe(),...Wt(),...le(),...fe(),...Ue({variant:"flat"})},"VAvatar"),Mt=G()({name:"VAvatar",props:jo(),setup(e,t){let{slots:n}=t;const{themeClasses:a}=ye(e),{borderClasses:i}=ot(e),{colorClasses:s,colorStyles:o,variantClasses:l}=wt(e),{densityClasses:r}=lt(e),{roundedClasses:u}=Be(e),{sizeClasses:c,sizeStyles:m}=qt(e);return Z(()=>S(e.tag,{class:j(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},a.value,i.value,s.value,r.value,u.value,c.value,l.value,e.class]),style:X([o.value,m.value,e.style])},{default:()=>[n.default?S(ge,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?S(ni,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?S(xe,{key:"icon",icon:e.icon},null):e.text,St(!1,"v-avatar")]})),{}}}),Go=T({appendAvatar:String,appendIcon:oe,prependAvatar:String,prependIcon:oe,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...ee(),...Ge(),...le()},"VCardItem"),Uo=G()({name:"VCardItem",props:Go(),setup(e,t){let{slots:n}=t;return Z(()=>{const a=!!(e.prependAvatar||e.prependIcon),i=!!(a||n.prepend),s=!!(e.appendAvatar||e.appendIcon),o=!!(s||n.append),l=!!(e.title!=null||n.title),r=!!(e.subtitle!=null||n.subtitle);return S(e.tag,{class:j(["v-card-item",e.class]),style:X(e.style)},{default:()=>{var u;return[i&&I("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?S(ge,{key:"prepend-defaults",disabled:!a,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):I(Ve,null,[e.prependAvatar&&S(Mt,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&S(xe,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),I("div",{class:"v-card-item__content"},[l&&S(ei,{key:"title"},{default:()=>{var c;return[((c=n.title)==null?void 0:c.call(n))??_e(e.title)]}}),r&&S(Wo,{key:"subtitle"},{default:()=>{var c;return[((c=n.subtitle)==null?void 0:c.call(n))??_e(e.subtitle)]}}),(u=n.default)==null?void 0:u.call(n)]),o&&I("div",{key:"append",class:"v-card-item__append"},[n.append?S(ge,{key:"append-defaults",disabled:!s,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):I(Ve,null,[e.appendIcon&&S(xe,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&S(Mt,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]}})}),{}}}),Ko=T({opacity:[Number,String],...ee(),...le()},"VCardText"),mn=G()({name:"VCardText",props:Ko(),setup(e,t){let{slots:n}=t;return Z(()=>S(e.tag,{class:j(["v-card-text",e.class]),style:X([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),Xo=T({appendAvatar:String,appendIcon:oe,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:oe,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(),...Ge(),...rt(),...bt(),...Ra(),...Ht(),...Tn(),...Oe(),...Rn(),...le(),...fe(),...Ue({variant:"elevated"})},"VCard"),ga=G()({name:"VCard",directives:{vRipple:yt},props:Xo(),setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{borderClasses:s}=ot(e),{colorClasses:o,colorStyles:l,variantClasses:r}=wt(e),{densityClasses:u}=lt(e),{dimensionStyles:c}=ut(e),{elevationClasses:m}=pt(e),{loaderClasses:v}=Na(e),{locationStyles:d}=Ln(e),{positionClasses:g}=On(e),{roundedClasses:f}=Be(e),p=Bn(e,n),b=z(void 0);return W(()=>e.loading,(x,L)=>{b.value=!x&&typeof L=="string"?L:typeof x=="boolean"?void 0:x},{immediate:!0}),Z(()=>{const x=e.link!==!1&&p.isLink.value,L=!e.disabled&&e.link!==!1&&(e.link||p.isClickable.value),w=x?"a":e.tag,h=!!(a.title||e.title!=null),_=!!(a.subtitle||e.subtitle!=null),E=h||_,y=!!(a.append||e.appendAvatar||e.appendIcon),R=!!(a.prepend||e.prependAvatar||e.prependIcon),F=!!(a.image||e.image),A=E||R||y,V=!!(a.text||e.text!=null);return We(S(w,Q(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,o.value,u.value,m.value,v.value,g.value,f.value,r.value,e.class],style:[l.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 P;return[F&&I("div",{key:"image",class:"v-card__image"},[a.image?S(ge,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},a.image):S(ni,{key:"image-img",cover:!0,src:e.image},null)]),S(Hs,{name:"v-card",active:!!e.loading,color:b.value},{default:a.loader}),A&&S(Uo,{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&&S(mn,{key:"text"},{default:()=>{var N;return[((N=a.text)==null?void 0:N.call(a))??e.text]}}),(P=a.default)==null?void 0:P.call(a),a.actions&&S(Za,null,{default:a.actions}),St(L,"v-card")]}}),[[yt,L&&e.ripple]])}),{}}}),Yo=T({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function me(e,t,n){return G()({name:e,props:Yo({mode:n,origin:t}),setup(a,i){let{slots:s}=i;const o={onBeforeEnter(l){a.origin&&(l.style.transformOrigin=a.origin)},onLeave(l){if(a.leaveAbsolute){const{offsetTop:r,offsetLeft:u,offsetWidth:c,offsetHeight:m}=l;l._transitionInitialStyles={position:l.style.position,top:l.style.top,left:l.style.left,width:l.style.width,height:l.style.height},l.style.position="absolute",l.style.top=`${r}px`,l.style.left=`${u}px`,l.style.width=`${c}px`,l.style.height=`${m}px`}a.hideOnLeave&&l.style.setProperty("display","none","important")},onAfterLeave(l){if(a.leaveAbsolute&&(l!=null&&l._transitionInitialStyles)){const{position:r,top:u,left:c,width:m,height:v}=l._transitionInitialStyles;delete l._transitionInitialStyles,l.style.position=r||"",l.style.top=u||"",l.style.left=c||"",l.style.width=m||"",l.style.height=v||""}}};return()=>{const l=a.group?_n:$e;return xn(l,{name:a.disabled?"":e,css:!a.disabled,...a.group?void 0:{mode:a.mode},...a.disabled?{}:o},s.default)}}})}function Mn(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:Tt()},group:Boolean,hideOnLeave:Boolean},setup(a,i){let{slots:s}=i;const o=a.group?_n:$e;return()=>xn(o,{name:a.disabled?"":e,css:!a.disabled,...a.disabled?{}:{...t,onLeave:l=>{var r;a.hideOnLeave?l.style.setProperty("display","none","important"):(r=t.onLeave)==null||r.call(t,l)}}},s.default)}})}function Fn(){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 o=`${i.offsetWidth}px`,l=`${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=o),["y","both"].includes(t)&&(i.style.height=l)})},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:o}=i._initialStyle;i.style.overflow=i._initialStyle.overflow,s!=null&&["x","both"].includes(t)&&(i.style.width=s),o!=null&&["y","both"].includes(t)&&(i.style.height=o),delete i._initialStyle}}const Jo=T({target:[Object,Array]},"v-dialog-transition"),nn=new WeakMap,Qo=G()({name:"VDialogTransition",props:Jo(),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 o=ha(e.target,i),{x:l,y:r,sx:u,sy:c,speed:m}=o;if(nn.set(i,o),Tt())Fe(i,[{opacity:0},{}],{duration:125*m,easing:Qn}).finished.then(()=>s());else{const d=Fe(i,[{transform:`translate(${l}px, ${r}px) scale(${u}, ${c})`,opacity:0},{}],{duration:225*m,easing:Qn});(v=ya(i))==null||v.forEach(g=>{Fe(g,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*m,easing:on})}),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 o;!nn.has(i)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?o=ha(e.target,i):o=nn.get(i);const{x:l,y:r,sx:u,sy:c,speed:m}=o;Tt()?Fe(i,[{},{opacity:0}],{duration:85*m,easing:Jn}).finished.then(()=>s()):(Fe(i,[{},{transform:`translate(${l}px, ${r}px) scale(${u}, ${c})`,opacity:0}],{duration:125*m,easing:Jn}).finished.then(()=>s()),(v=ya(i))==null||v.forEach(g=>{Fe(g,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*m,easing:on})}))},onAfterLeave(i){i.style.removeProperty("pointer-events")}};return()=>e.target?S($e,Q({name:"dialog-transition"},a,{css:!1}),n):S($e,{name:"dialog-transition"},n)}});function ya(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 ha(e,t){const n=wn(e),a=ka(t),[i,s]=getComputedStyle(t).transformOrigin.split(" ").map(b=>parseFloat(b)),[o,l]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let r=n.left+n.width/2;o==="left"||l==="left"?r-=n.width/2:(o==="right"||l==="right")&&(r+=n.width/2);let u=n.top+n.height/2;o==="top"||l==="top"?u-=n.height/2:(o==="bottom"||l==="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,g=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:g,speed:p}}me("fab-transition","center center","out-in");me("dialog-bottom-transition");me("dialog-top-transition");const ql=me("fade-transition"),Hl=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 jl=me("slide-x-reverse-transition"),Gl=me("slide-y-transition");me("slide-y-reverse-transition");const Zo=Mn("expand-transition",Fn()),Ul=Mn("expand-x-transition",Fn("","x"));Mn("expand-both-transition",Fn("","both"));const el=T({fullscreen:Boolean,scrollable:Boolean,...at(Dn({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:Qo},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),tl=G()({name:"VDialog",props:el(),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}=$n(),o=M();function l(){var u;n("afterEnter"),(e.scrim||e.retainFocus)&&((u=o.value)!=null&&u.contentEl)&&!o.value.contentEl.contains(document.activeElement)&&o.value.contentEl.focus({preventScroll:!0})}function r(){n("afterLeave")}return W(i,async u=>{var c;u||(await de(),(c=o.value.activatorEl)==null||c.focus({preventScroll:!0}))}),Z(()=>{const u=Dt.filterProps(e),c=Q({"aria-haspopup":"dialog"},e.activatorProps),m=Q({tabindex:-1},e.contentProps);return S(Dt,Q({ref:o,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:l,onAfterLeave:r},s),{activator:a.activator,default:function(){for(var v=arguments.length,d=new Array(v),g=0;g{var f;return[(f=a.default)==null?void 0:f.call(a,...d)]}})}})}),Ja({},o)}}),nl=["dotted","dashed","solid","double"],al=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=>nl.includes(e)},...ee(),...fe()},"VDivider"),ai=G()({name:"VDivider",props:al(),setup(e,t){let{attrs:n,slots:a}=t;const{themeClasses:i}=ye(e),{textColorClasses:s,textColorStyles:o}=tt(()=>e.color),l=C(()=>{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 Z(()=>{const u=I("hr",{class:j([{"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:X([l.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 a.default?I("div",{class:j(["v-divider__wrapper",{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[u,I("div",{class:"v-divider__content",style:X(r.value)},[a.default()]),u]):u}),{}}}),il=kn("v-spacer","div","VSpacer"),gn=Symbol.for("vuetify:list");function ii(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=Le(gn,{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||Cn()}=e,o={filterable:t.filterable||n,hasPrepend:z(!1),updateHasPrepend:l=>{l&&(o.hasPrepend.value=l)},trackingIndex:a,navigationStrategy:i,uid:s};return He(gn,o),t}function si(){return Le(gn,null)}const zn=e=>{const t={activate:n=>{let{id:a,value:i,activated:s}=n;return a=ne(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 o of pn(n))s=t.activate({id:o,value:!0,activated:new Set(s),children:a,parents:i});return s},out:n=>Array.from(n)};return t},oi=e=>{const t=zn(e);return{activate:a=>{let{activated:i,id:s,...o}=a;s=ne(s);const l=i.has(s)?new Set([s]):new Set;return t.activate({...o,id:s,activated:l})},in:(a,i,s)=>{let o=new Set;if(a!=null){const l=pn(a);l.length&&(o=t.in(l.slice(0,1),i,s))}return o},out:(a,i,s)=>t.out(a,i,s)}},sl=e=>{const t=zn(e);return{activate:a=>{let{id:i,activated:s,children:o,...l}=a;return i=ne(i),o.has(i)?s:t.activate({id:i,activated:s,children:o,...l})},in:t.in,out:t.out}},ol=e=>{const t=oi(e);return{activate:a=>{let{id:i,activated:s,children:o,...l}=a;return i=ne(i),o.has(i)?s:t.activate({id:i,activated:s,children:o,...l})},in:t.in,out:t.out}},ll={open:e=>{let{id:t,value:n,opened:a,parents:i}=e;if(n){const s=new Set;s.add(t);let o=i.get(t);for(;o!=null;)s.add(o),o=i.get(o);return s}else return a.delete(t),a},select:()=>null},li={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},rl={open:li.open,select:e=>{let{id:t,value:n,opened:a,parents:i}=e;if(!n)return a;const s=[];let o=i.get(t);for(;o!=null;)s.push(o),o=i.get(o);return new Set(s)}},Wn=e=>{const t={select:n=>{let{id:a,value:i,selected:s}=n;if(a=ne(a),e&&!i){const o=Array.from(s.entries()).reduce((l,r)=>{let[u,c]=r;return c==="on"&&l.push(u),l},[]);if(o.length===1&&o[0]===a)return s}return s.set(a,i?"on":"off"),s},in:(n,a,i,s)=>{const o=new Map;for(const l of n||[])t.select({id:l,value:!0,selected:o,children:a,parents:i,disabled:s});return o},out:n=>{const a=[];for(const[i,s]of n.entries())s==="on"&&a.push(i);return a}};return t},ri=e=>{const t=Wn(e);return{select:a=>{let{selected:i,id:s,...o}=a;s=ne(s);const l=i.has(s)?new Map([[s,i.get(s)]]):new Map;return t.select({...o,id:s,selected:l})},in:(a,i,s,o)=>a!=null&&a.length?t.in(a.slice(0,1),i,s,o):new Map,out:(a,i,s)=>t.out(a,i,s)}},ul=e=>{const t=Wn(e);return{select:a=>{let{id:i,selected:s,children:o,...l}=a;return i=ne(i),o.has(i)?s:t.select({id:i,selected:s,children:o,...l})},in:t.in,out:t.out}},cl=e=>{const t=ri(e);return{select:a=>{let{id:i,selected:s,children:o,...l}=a;return i=ne(i),o.has(i)?s:t.select({id:i,selected:s,children:o,...l})},in:t.in,out:t.out}},qn=e=>{const t={select:n=>{let{id:a,value:i,selected:s,children:o,parents:l,disabled:r}=n;a=ne(a);const u=new Map(s),c=[a];for(;c.length;){const v=c.shift();r.has(v)||s.set(ne(v),i?"on":"off"),o.has(v)&&c.push(...o.get(v))}let m=ne(l.get(a));for(;m;){let v=!0,d=!0;for(const g of o.get(m)){const f=ne(g);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=ne(l.get(m))}return e&&!i&&Array.from(s.entries()).reduce((d,g)=>{let[f,p]=g;return p==="on"&&d.push(f),d},[]).length===0?u:s},in:(n,a,i)=>{let s=new Map;for(const o of n||[])s=t.select({id:o,value:!0,selected:s,children:a,parents:i,disabled:new Set});return s},out:(n,a)=>{const i=[];for(const[s,o]of n.entries())o==="on"&&!a.has(s)&&i.push(s);return i}};return t},dl=e=>{const t=qn(e);return{select:t.select,in:t.in,out:(a,i,s)=>{const o=[];for(const[l,r]of a.entries())if(r==="on"){if(s.has(l)){const u=s.get(l);if(a.get(u)==="on")continue}o.push(l)}return o}}},fl=e=>{const n={select:qn(e).select,in:(a,i,s,o)=>{let l=new Map;for(const r of a||[])i.has(r)||(l=n.select({id:r,value:!0,selected:l,children:i,parents:s,disabled:o}));return l},out:a=>{const i=[];for(const[s,o]of a.entries())(o==="on"||o==="indeterminate")&&i.push(s);return i}};return n},nt=Symbol.for("vuetify:nested"),ui={id:z(),root:{itemsRegistration:M("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:M(new Map),parents:M(new Map),disabled:M(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:M(!1),scrollToActive:M(!1),selectable:M(!1),opened:M(new Set),activated:M(new Set),selected:M(new Map),selectedValues:M([]),getPath:()=>[]}},vl=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"),ml=(e,t)=>{let{items:n,returnObject:a,scrollToActive:i}=t,s=!1;const o=z(new Map),l=z(new Map),r=z(new Set),u=Pe(e,"opened",e.opened,h=>new Set(Array.isArray(h)?h.map(_=>ne(_)):h),h=>[...h.values()]),c=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 sl(e.mandatory);case"single-leaf":return ol(e.mandatory);case"independent":return zn(e.mandatory);case"single-independent":default:return oi(e.mandatory)}}),m=C(()=>{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 cl(e.mandatory);case"leaf":return ul(e.mandatory);case"independent":return Wn(e.mandatory);case"single-independent":return ri(e.mandatory);case"trunk":return dl(e.mandatory);case"branch":return fl(e.mandatory);case"classic":default:return qn(e.mandatory)}}),v=C(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return rl;case"single":return ll;case"multiple":default:return li}}),d=Pe(e,"activated",e.activated,h=>c.value.in(h,o.value,l.value),h=>c.value.out(h,o.value,l.value)),g=Pe(e,"selected",e.selected,h=>m.value.in(h,o.value,l.value,r.value),h=>m.value.out(h,o.value,l.value));je(()=>{s=!0});function f(h){const _=[];let E=ne(h);for(;E!==void 0;)_.unshift(E),E=l.value.get(E);return _}const p=Ee("nested"),b=new Set,x=Fi(()=>{de(()=>{o.value=new Map(o.value),l.value=new Map(l.value)})},100);W(()=>[n.value,se(a)],()=>{e.itemsRegistration==="props"&&L()},{immediate:!0});function L(){const h=new Map,_=new Map,E=new Set,y=se(a)?A=>ne(A.raw):A=>A.value,R=[...n.value];let F=0;for(;Fe.activatable),scrollToActive:k(()=>se(i)),selectable:k(()=>e.selectable),activated:d,selected:g,selectedValues:C(()=>{const h=[];for(const[_,E]of g.value.entries())E==="on"&&h.push(_);return h}),itemsRegistration:k(()=>e.itemsRegistration),register:(h,_,E,y)=>{if(b.has(h)){f(h).map(String).join(" -> "),f(_).concat(h).map(String).join(" -> ");return}else b.add(h);_&&h!==_&&l.value.set(h,_),E&&r.value.add(h),y&&o.value.set(h,[]),_!=null&&o.value.set(_,[...o.value.get(_)||[],h]),x()},unregister:h=>{if(s)return;b.delete(h),o.value.delete(h),r.value.delete(h);const _=l.value.get(h);if(_){const E=o.value.get(_)??[];o.value.set(_,E.filter(y=>y!==h))}l.value.delete(h),x()},updateDisabled:(h,_)=>{_?r.value.add(h):r.value.delete(h)},open:(h,_,E)=>{p.emit("click:open",{id:h,value:_,path:f(h),event:E});const y=v.value.open({id:h,value:_,opened:new Set(u.value),children:o.value,parents:l.value,event:E});y&&(u.value=y)},openOnSelect:(h,_,E)=>{const y=v.value.select({id:h,value:_,selected:new Map(g.value),opened:new Set(u.value),children:o.value,parents:l.value,event:E});y&&(u.value=y)},select:(h,_,E)=>{p.emit("click:select",{id:h,value:_,path:f(h),event:E});const y=m.value.select({id:h,value:_,selected:new Map(g.value),children:o.value,parents:l.value,disabled:r.value,event:E});y&&(g.value=y),w.root.openOnSelect(h,_,E)},activate:(h,_,E)=>{if(!e.activatable)return w.root.select(h,!0,E);p.emit("click:activate",{id:h,value:_,path:f(h),event:E});const y=c.value.activate({id:h,value:_,activated:new Set(d.value),children:o.value,parents:l.value,event:E});if(y.size!==d.value.size)d.value=y;else{for(const R of y)if(!d.value.has(R)){d.value=y;return}for(const R of d.value)if(!y.has(R)){d.value=y;return}}},children:o,parents:l,disabled:r,getPath:f}};return He(nt,w),w.root},ci=(e,t,n)=>{const a=Le(nt,ui),i=Symbol("nested item"),s=C(()=>{const l=ne(se(e));return l!==void 0?l:i}),o={...a,id:s,open:(l,r)=>a.root.open(s.value,l,r),openOnSelect:(l,r)=>a.root.openOnSelect(s.value,l,r),isOpen:C(()=>a.root.opened.value.has(s.value)),parent:C(()=>a.root.parents.value.get(s.value)),activate:(l,r)=>a.root.activate(s.value,l,r),isActivated:C(()=>a.root.activated.value.has(s.value)),scrollToActive:a.root.scrollToActive,select:(l,r)=>a.root.select(s.value,l,r),isSelected:C(()=>a.root.selected.value.get(s.value)==="on"),isIndeterminate:C(()=>a.root.selected.value.get(s.value)==="indeterminate"),isLeaf:C(()=>!a.root.children.value.get(s.value)),isGroupActivator:a.isGroupActivator};return Pn(()=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||de(()=>{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,(l,r)=>{a.isGroupActivator||a.root.itemsRegistration.value==="props"||(a.root.unregister(r),de(()=>{a.root.register(l,a.id.value,se(t),n)}))}),W(()=>se(t),l=>{a.root.updateDisabled(s.value,l)}),n&&He(nt,o),o},gl=()=>{const e=Le(nt,ui);He(nt,{...e,isGroupActivator:!0})};function yl(){const e=z(!1);return it(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:k(()=>e.value?void 0:{transition:"none !important"}),isBooted:Ia(e)}}const hl=zi({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return gl(),()=>{var a;return(a=n.default)==null?void 0:a.call(n)}}}),bl=T({activeColor:String,baseColor:String,color:String,collapseIcon:{type:oe,default:"$collapse"},disabled:Boolean,expandIcon:{type:oe,default:"$expand"},rawId:[String,Number],prependIcon:oe,appendIcon:oe,fluid:Boolean,subgroup:Boolean,title:String,value:null,...ee(),...le()},"VListGroup"),ba=G()({name:"VListGroup",props:bl(),setup(e,t){let{slots:n}=t;const{isOpen:a,open:i,id:s}=ci(()=>e.value,()=>e.disabled,!0),o=C(()=>`v-list-group--id-${String(e.rawId??s.value)}`),l=si(),{isBooted:r}=yl(),u=Le(nt),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=C(()=>({onClick:m,class:"v-list-group__header",id:o.value})),d=C(()=>a.value?e.collapseIcon:e.expandIcon),g=C(()=>({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 Z(()=>S(e.tag,{class:j(["v-list-group",{"v-list-group--prepend":l==null?void 0:l.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":a.value},e.class]),style:X(e.style)},{default:()=>[n.activator&&S(ge,{defaults:g.value},{default:()=>[S(hl,null,{default:()=>[n.activator({props:v.value,isOpen:a.value})]})]}),S(Ye,{transition:{component:Zo},disabled:!r.value},{default:()=>{var f,p;return[c.value?We(I("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(f=n.default)==null?void 0:f.call(n)]),[[En,a.value]]):a.value&&I("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(p=n.default)==null?void 0:p.call(n)])]}})]})),{isOpen:a}}}),pl=T({opacity:[Number,String],...ee(),...le()},"VListItemSubtitle"),di=G()({name:"VListItemSubtitle",props:pl(),setup(e,t){let{slots:n}=t;return Z(()=>S(e.tag,{class:j(["v-list-item-subtitle",e.class]),style:X([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),fi=kn("v-list-item-title"),Sl=T({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:oe,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:oe,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(),...Ge(),...rt(),...bt(),...Oe(),...Rn(),...le(),...fe(),...Ue({variant:"text"})},"VListItem"),yn=G()({name:"VListItem",directives:{vRipple:yt},props:Sl(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:a,emit:i}=t;const s=Bn(e,n),o=M(),l=C(()=>e.value===void 0?s.href.value:e.value),{activate:r,isActivated:u,select:c,isOpen:m,isSelected:v,isIndeterminate:d,isGroupActivator:g,root:f,parent:p,openOnSelect:b,scrollToActive:x,id:L}=ci(l,()=>e.disabled,!1),w=si(),h=C(()=>{var D;return e.active!==!1&&(e.active||((D=s.isActive)==null?void 0:D.value)||(f.activatable.value?u.value:v.value))}),_=k(()=>e.link!==!1&&s.isLink.value),E=C(()=>!!w&&(f.selectable.value||f.activatable.value||e.value!=null)),y=C(()=>!e.disabled&&e.link!==!1&&(e.link||s.isClickable.value||E.value)),R=C(()=>w&&w.navigationStrategy.value==="track"&&e.index!==void 0&&w.trackingIndex.value===e.index),F=C(()=>w?_.value?"link":E.value?"option":"listitem":void 0),A=C(()=>{if(E.value)return f.activatable.value?u.value:f.selectable.value?v.value:h.value}),V=k(()=>e.rounded||e.nav),P=k(()=>e.color??e.activeColor),N=k(()=>({color:h.value?P.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||!x||(re=o.value)==null||re.scrollIntoView({block:"nearest",behavior:"instant"})}),W(R,D=>{var re;D&&((re=o.value)==null||re.scrollIntoView({block:"nearest",behavior:"instant"}))}),Pn(()=>{var D;(D=s.isActive)!=null&&D.value&&de(()=>O())});function O(){p.value!=null&&f.open(p.value,!0),b(!0)}const{themeClasses:U}=ye(e),{borderClasses:Y}=ot(e),{colorClasses:te,colorStyles:he,variantClasses:K}=wt(N),{densityClasses:$}=lt(e),{dimensionStyles:J}=ut(e),{elevationClasses:q}=pt(e),{roundedClasses:be}=Be(V),Ke=k(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),De=k(()=>e.ripple!==void 0&&e.ripple&&(w!=null&&w.filterable)?{keys:["Enter"]}:e.ripple),H=C(()=>({isActive:h.value,select:c,isOpen:m.value,isSelected:v.value,isIndeterminate:d.value,isDisabled:e.disabled}));function ue(D){var re,kt,Gt;i("click",D),!["INPUT","TEXTAREA"].includes((re=D.target)==null?void 0:re.tagName)&&y.value&&((Gt=(kt=s.navigate).value)==null||Gt.call(kt,D),!g&&(f.activatable.value?r(!u.value,D):(f.selectable.value||e.value!=null&&!_.value)&&c(!v.value,D)))}function Me(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 Z(()=>{const D=_.value?"a":e.tag,re=a.title||e.title!=null,kt=a.subtitle||e.subtitle!=null,hi=!!(!!(e.appendAvatar||e.appendIcon)||a.append),Ut=!!(!!(e.prependAvatar||e.prependIcon)||a.prepend);return w==null||w.updateHasPrepend(Ut),e.activeColor&&Wi("active-color",["color","base-color"]),We(S(D,Q(s.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":h.value,"v-list-item--disabled":e.disabled,"v-list-item--link":y.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!Ut&&(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,Y.value,te.value,$.value,q.value,Ke.value,be.value,K.value,e.class],style:[{"--v-list-prepend-gap":B(e.prependGap)},he.value,J.value,e.style],tabindex:e.tabindex??(y.value?w?-2:0:void 0),"aria-selected":A.value,role:F.value,onClick:ue,onKeydown:y.value&&!_.value&&Me}),{default:()=>{var Hn;return[St(y.value||h.value,"v-list-item"),Ut&&I("div",{key:"prepend",class:"v-list-item__prepend"},[a.prepend?S(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 pe;return[(pe=a.prepend)==null?void 0:pe.call(a,H.value)]}}):I(Ve,null,[e.prependAvatar&&S(Mt,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&S(xe,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),I("div",{class:"v-list-item__spacer"},null)]),I("div",{class:"v-list-item__content","data-no-activator":""},[re&&S(fi,{key:"title"},{default:()=>{var pe;return[((pe=a.title)==null?void 0:pe.call(a,{title:e.title}))??_e(e.title)]}}),kt&&S(di,{key:"subtitle"},{default:()=>{var pe;return[((pe=a.subtitle)==null?void 0:pe.call(a,{subtitle:e.subtitle}))??_e(e.subtitle)]}}),(Hn=a.default)==null?void 0:Hn.call(a,H.value)]),hi&&I("div",{key:"append",class:"v-list-item__append"},[a.append?S(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 pe;return[(pe=a.append)==null?void 0:pe.call(a,H.value)]}}):I(Ve,null,[e.appendIcon&&S(xe,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&S(Mt,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),I("div",{class:"v-list-item__spacer"},null)])]}}),[[yt,y.value&&De.value]])}),{activate:r,isActivated:u,isGroupActivator:g,isSelected:v,list:w,select:c,root:f,id:L,link:s}}}),wl=T({color:String,inset:Boolean,sticky:Boolean,title:String,...ee(),...le()},"VListSubheader"),kl=G()({name:"VListSubheader",props:wl(),setup(e,t){let{slots:n}=t;const{textColorClasses:a,textColorStyles:i}=tt(()=>e.color);return Z(()=>{const s=!!(n.default||e.title);return S(e.tag,{class:j(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},a.value,e.class]),style:X([{textColorStyles:i},e.style])},{default:()=>{var o;return[s&&I("div",{class:"v-list-subheader__text"},[((o=n.default)==null?void 0:o.call(n))??e.title])]}})}),{}}}),Cl=T({items:Array,returnObject:Boolean},"VListChildren"),vi=G()({name:"VListChildren",props:Cl(),setup(e,t){let{slots:n}=t;return ii(),()=>{var a,i;return((a=n.default)==null?void 0:a.call(n))??((i=e.items)==null?void 0:i.map((s,o)=>{var d,g;let{children:l,props:r,type:u,raw:c}=s;if(u==="divider")return((d=n.divider)==null?void 0:d.call(n,{props:r}))??S(ai,r,null);if(u==="subheader")return((g=n.subheader)==null?void 0:g.call(n,{props:r}))??S(kl,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=ba.filterProps(r);return l?S(ba,Q(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 b=Q(r,p,{value:e.returnObject?c:r.value});return n.header?n.header({props:b}):S(yn,Q(b,{index:o}),m)},default:()=>S(vi,{items:l,returnObject:e.returnObject},n)}):n.item?n.item({props:{...r,index:o}}):S(yn,Q(r,{index:o,value:e.returnObject?c:r.value}),m)}))}}}),_l=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"),xl=new Set(["item","divider","subheader"]);function Ze(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 o=ke(t,e.itemType,"item");xl.has(o)||(o="item");const l={title:n,value:a,...s};return{type:o,title:String(l.title??""),value:l.value,props:l,children:o==="item"&&Array.isArray(i)?mi(e,i):void 0,raw:t}}Ze.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function mi(e,t){const n=_a(e,Ze.neededProps),a=[];for(const i of t)a.push(Ze(n,i));return a}function Kl(e){const t=C(()=>mi(e,e.items)),n=C(()=>t.value.some(l=>l.value===null)),a=z(new Map),i=z([]);Ne(()=>{const l=t.value,r=new Map,u=[];for(let c=0;c{let{raw:u}=r;return u}):l.map(r=>{let{value:u}=r;return u})}return{items:t,transformIn:s,transformOut:o}}const El=new Set(["item","divider","subheader"]);function Il(e,t){const n=ln(t)?t:ke(t,e.itemTitle),a=ln(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 o=ke(t,e.itemType,"item");El.has(o)||(o="item");const l={title:n,value:a,...s};return{type:o,title:l.title,value:l.value,props:l,children:o==="item"&&i?gi(e,i):void 0,raw:t}}function gi(e,t){const n=[];for(const a of t)n.push(Il(e,a));return n}function Pl(e){return{items:C(()=>gi(e,e.items))}}const Al=T({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:oe,collapseIcon:oe,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(),...vl({selectStrategy:"single-leaf",openStrategy:"list"}),...st(),...ee(),...Ge(),...rt(),...bt(),..._l(),...Oe(),...le(),...fe(),...Ue({variant:"text"})},"VList"),Vl=G()({name:"VList",props:Al(),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}=Pl(e),{themeClasses:o}=ye(e),{backgroundColorClasses:l,backgroundColorStyles:r}=Qe(()=>e.bgColor),{borderClasses:u}=ot(e),{densityClasses:c}=lt(e),{dimensionStyles:m}=ut(e),{elevationClasses:v}=pt(e),{roundedClasses:d}=Be(e),{children:g,open:f,parents:p,select:b,getPath:x}=ml(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),_=k(()=>e.color),E=k(()=>e.selectable||e.activatable),y=Pe(e,"navigationIndex",-1,$=>$??-1),R=Cn();ii({filterable:e.filterable,trackingIndex:y,navigationStrategy:k(()=>e.navigationStrategy),uid:R}),W(s,()=>{e.navigationStrategy==="track"&&(y.value=-1)}),Ft({VListGroup:{activeColor:w,baseColor:h,color:_,expandIcon:k(()=>e.expandIcon),collapseIcon:k(()=>e.collapseIcon)},VListItem:{activeClass:k(()=>e.activeClass),activeColor:w,baseColor:h,color:_,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 F=z(!1),A=M();function V($){F.value=!0}function P($){F.value=!1}function N($){var J;e.navigationStrategy==="track"?~y.value||(y.value=Y("first")):!F.value&&!($.relatedTarget&&((J=A.value)!=null&&J.contains($.relatedTarget)))&&K()}function O(){e.navigationStrategy==="track"&&(y.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 Y($){const J=s.value.length;if(J===0)return-1;let q;$==="first"?q=0:$==="last"?q=J-1:(q=y.value+($==="next"?1:-1),q<0&&(q=J-1),q>=J&&(q=0));const be=q;let Ke=0;for(;Ke=J&&(q=0),q===be)return-1;Ke++}return-1}function te($){const J=$.target;if(!A.value||J.tagName==="INPUT"&&["Home","End"].includes($.key)||J.tagName==="TEXTAREA")return;const q=U($.key);if(q!==null)if($.preventDefault(),e.navigationStrategy==="track"){const be=Y(q);be!==-1&&(y.value=be)}else K(q)}function he($){F.value=!0}function K($,J){if(A.value)return qi(A.value,$,J)}return Z(()=>{const $=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),J=E.value?n.ariaMultiselectable??!String(e.selectStrategy).startsWith("single-"):void 0;return S(e.tag,{ref:A,class:j(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},o.value,l.value,u.value,c.value,v.value,L.value,d.value,e.class]),style:X([{"--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:E.value?"listbox":"list","aria-activedescendant":e.navigationStrategy==="track"&&y.value>=0?`v-list-item-${R}-${y.value}`:void 0,"aria-multiselectable":J,onFocusin:V,onFocusout:P,onFocus:N,onBlur:O,onKeydown:te,onMousedown:he},{default:()=>[S(vi,{items:s.value,returnObject:e.returnObject},a)]})}),{open:f,select:b,focus:K,children:g,parents:p,getPath:x,navigationIndex:y}}});let hn=null;const yi={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(){hn=this}};yi.show=function(e,t,n){hn&&hn.show(e,t,n)};const Ll=yi,Tl={class:"text-primary font-weight-bold"};function Ol(e,t,n,a,i,s){return Ce(),ze(tl,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=o=>e.isVisible=o),"max-width":"500",persistent:""},{default:ie(()=>[S(ga,{class:"rate-limit-modal"},{default:ie(()=>[S(ei,{class:"text-center pa-4 bg-error text-white"},{default:ie(()=>[S(xe,{class:"mr-2",icon:"mdi-clock-alert-outline",size:"large"}),t[1]||(t[1]=Ct(" 请求频率超限 ",-1))]),_:1}),S(mn,{class:"pa-6"},{default:ie(()=>[t[3]||(t[3]=I("div",{class:"text-body-1 mb-4"}," 您的请求过于频繁,请稍后再试。 ",-1)),e.activeRequests.length>0?(Ce(),ze(ga,{key:0,class:"mb-4",flat:""},{default:ie(()=>[S(mn,null,{default:ie(()=>[(Ce(!0),In(Ve,null,ts(e.activeRequests,(o,l)=>(Ce(),ze(Vl,{key:l,class:"mb-4"},{default:ie(()=>[S(yn,{color:"primary","prepend-icon":"mdi-web"},{default:ie(()=>[S(fi,null,{default:ie(()=>[t[2]||(t[2]=Ct(" 等待时间: ",-1)),I("span",Tl,_e(o.remainingSeconds),1)]),_:2},1024),S(di,null,{default:ie(()=>[Ct(_e(o.method)+" "+_e(o.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[S(il),S(Ha,{color:"primary",variant:"tonal",onClick:e.close},{default:ie(()=>[...t[5]||(t[5]=[Ct(" 我知道了 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Bl=Aa(Ll,[["render",Ol]]),Rl=T({...ee(),...at(ji(),["fullHeight"]),...fe()},"VApp"),Nl=G()({name:"VApp",props:Rl(),setup(e,t){let{slots:n}=t;const a=ye(e),{layoutClasses:i,getLayoutItem:s,items:o,layoutRef:l}=Hi({...e,fullHeight:!0}),{rtlClasses:r}=zt();return Z(()=>{var u;return I("div",{ref:l,class:j(["v-application",a.themeClasses.value,i.value,r.value,e.class]),style:X([e.style])},[I("div",{class:"v-application__wrap"},[(u=n.default)==null?void 0:u.call(n)])])}),{getLayoutItem:s,items:o,theme:a}}}),$l={__name:"App",setup(e){const t=Sa(),n=M(!1),a=M(""),i=M(10),s=M(30);function o(){n.value=Ie("background.enabled")||!1;const d=Ie("background.imageData")||"",g=Ie("background.url")||"";a.value=d||g,i.value=Ie("background.blur")??10,s.value=Ie("background.opacity")??30}const l=C(()=>!n.value||!a.value?{}:{background:"transparent"}),r=C(()=>({backgroundImage:`url(${a.value})`,backgroundSize:"cover",backgroundPosition:"center",filter:`blur(${i.value}px)`,transform:"scale(1.05)"})),u=C(()=>({background:`rgba(0, 0, 0, ${s.value/100})`}));let c=null;const m=d=>{d.preventDefault(),window.deferredPwaPrompt=d,window.dispatchEvent(new Event("pwa-prompt-ready"))},v=()=>{window.deferredPwaPrompt=null,window.dispatchEvent(new Event("pwa-installed"))};return it(()=>{const d=Ie("theme.mode");t.global.name.value=d,o(),c=Pa((g,f)=>{var b;const p=(b=f==null?void 0:f.detail)==null?void 0:b.key;(!p||p.startsWith("background.")||p==="theme.mode")&&(o(),t.global.name.value=Ie("theme.mode"))}),window.addEventListener("beforeinstallprompt",m),window.addEventListener("appinstalled",v)}),ns(()=>{c&&c(),window.removeEventListener("beforeinstallprompt",m),window.removeEventListener("appinstalled",v)}),(d,g)=>{const f=as("router-view"),p=Qa;return Ce(),ze(Nl,{style:X(l.value)},{default:ie(()=>[n.value?(Ce(),In(Ve,{key:0},[I("div",{class:"app-background-image",style:X(r.value)},null,4),I("div",{class:"app-background-overlay",style:X(u.value)},null,4)],64)):Bt("",!0),S(f,null,{default:ie(({Component:b,route:x})=>[S($e,{mode:"out-in",name:"md3"},{default:ie(()=>[(Ce(),ze(xa(b),{key:x.path}))]),_:2},1024)]),_:1}),S(p),S(Bl)]),_:1},8,["style"])}}},jt=is($l);ds(jt);jt.use(Xe);jt.component("GlobalMessage",Qa);jt.mount("#app");const pa=async()=>{try{const{getVisitorId:e}=await ae(async()=>{const{getVisitorId:a}=await import("./visitorId-Fp9eGgHd.js");return{getVisitorId:a}},__vite__mapDeps([60,1,2]),import.meta.url),t=(await ae(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"?pa():window.addEventListener("load",pa,{once:!0});export{bo as $,Re as A,fa as B,ni as C,Dt as D,Wo as E,Wl as F,tt as G,Qe as H,Ja as I,no as J,lt as K,$n as L,Ge as M,Be as N,Ln as O,Ye as P,Ka as Q,Oe as R,Te as S,Ht as T,Dn as U,Fs as V,Uo as W,ys as X,bs as Y,ps as Z,Aa as _,rt as a,ho as a0,Zo as a1,kl as a2,Na as a3,Hs as a4,Ra as a5,Vs as a6,As as a7,Eo as a8,xo as a9,ko as aA,Xe as aB,jl as aC,Kl as aD,Ze as aE,_l as aF,fs as aG,vs as aH,zl as aI,Ps as aa,yo as ab,ge as ac,Qo as ad,ot as ae,pt as af,bt as ag,st as ah,Bl as ai,wt as aj,On as ak,St as al,Ue as am,Tn as an,yt as ao,Hl as ap,ql as aq,Is as ar,qt as as,Bn as at,Ul as au,Wt as av,Rn as aw,ma as ax,Us as ay,Co as az,ut as b,ei as c,mn as d,ga as e,xe as f,il as g,Ha as h,ai as i,Ba as j,tl as k,Za as l,le as m,Ie as n,Mt as o,Vl as p,yn as q,fi as r,gs as s,di as t,yl as u,Gl as v,Pa as w,ae as x,ta as y,Bo as z}; diff --git a/assets/index-Bz7Y6ZPJ.js b/assets/index-DkQ_Bflb.js similarity index 97% rename from assets/index-Bz7Y6ZPJ.js rename to assets/index-DkQ_Bflb.js index d0f94e6..ca23fd1 100644 --- a/assets/index-Bz7Y6ZPJ.js +++ b/assets/index-DkQ_Bflb.js @@ -1,6 +1,6 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-D042plwv.js","./vendor-vuetify-DpmmaPkh.js","./vendor-vue-BiQC5iF7.js","./index-Yfd4JoUB.css","./dataProvider-CBH3Lw3D.js","./vendor-utils-2lvrqI0-.js","./serverRotation-CbFrj566.js","./MessageLog-BWQHaU0R.js","./VAppBarTitle-D2mhaxek.js","./VAppBarTitle-CczdD-Q2.css","./MessageLog-BGkFwivK.css","./RandomPicker-_q4YQ9mD.js","./VTextField-BoJUR4Xs.js","./VTextField-DTDEIDq0.css","./VTooltip-DMSltD5A.js","./VTooltip-D7EaNDeY.css","./VChip-nQelUOZI.js","./VChip-Dmz_1Lnv.css","./RandomPicker-CU-edGvg.css","./FloatingToolbar-DRMSCOEt.js","./VMenu-Ps4XkZIl.js","./VMenu-C31D-C2L.css","./VDatePicker-DBOVlJXM.js","./VPicker-DGiUlCzb.js","./VSheet-BWNNvcYw.js","./VSheet-DW_b51tO.css","./VPicker-Dm9DplUc.css","./VDatePicker-zglzEVGT.css","./FloatingToolbar-5gVX85mk.css","./ChatWidget-DtJTDDI5.js","./socketClient-D9GaxO-Q.js","./vendor-socket-dm1FmSOd.js","./soundList-D9U-Grcp.js","./deviceEvents-W5dhgmtc.js","./VRow-CH6EAfU_.js","./VRow-D2ArqUC2.css","./VPagination-LhWLJTqu.js","./VPagination-BF2MZmld.css","./VTextarea-CnWToSV7.js","./VTextarea-_xVwaw_z.css","./ChatWidget-ChgL-O5B.css","./HomeworkEditDialog-pCdwgzwK.js","./VAlert-ZP8s_5ha.js","./VAlert-D_OX1cfW.css","./HomeworkEditDialog-DSAcf9mw.css","./UafTransferDialog-BBH3Quy5.js","./VTabs-5YWz7myv.js","./VTable-DH4Drwun.js","./VTable-CNLJxQof.css","./VTabs-566n5b08.css","./VCheckboxBtn-64kBGXnq.js","./VSwitch-CEojN9Vi.js","./VSwitch-Bk42mIwg.css","./VExpansionPanels-BpKtUPdA.js","./VExpansionPanels-kEj4ZJQK.css","./VSlider-ClZx8sEW.js","./VSlider-rdyojQMY.css","./VSelect-mQ_XLRnU.js","./VSelect-DHZViySU.css","./VFileInput-BJbMPOVg.js","./VFileInput-CRcZ0Lr3.css","./VContainer-MApP1Vz1.js","./VContainer-B1KSavhG.css","./UafTransferDialog-CxJ0Ohjf.css","./InitServiceChooser-XLfIQnye.js","./InitServiceChooser-BSZJBnhr.css","./StudentNameManager--IeJwNAQ.js","./VAutocomplete-6kKJB-90.js","./VAutocomplete-Ygy_KjMW.css","./VCombobox-DxvBKwV_.js","./VCombobox-r6cc1Iy_.css","./StudentNameManager-tn0RQdqM.css","./UrgentTestDialog-BWpUKKV_.js","./VForm-IEFsJ4YW.js","./VCheckbox-BPfe_uCD.js","./VCheckbox-ZL-u1kGB.css","./UrgentTestDialog-65OEJ5uz.css","./AttendanceSidebar-DOcIfcAf.js","./AttendanceManagementDialog-B9DNmGly.js","./AttendanceManagementDialog-D0prZwJd.css","./PwaInstallCard-DMTHYCSY.js","./ExamScheduleCard-Dhb4jBjQ.js","./ExamScheduleCard-BJuKYvRa.css","./ExamConfigEditor-DnZpqRBI.js","./VSkeletonLoader-B7fDa9ID.js","./VSkeletonLoader-C11ZEozu.css","./VTimePicker-DQGiZZlL.js","./VTimePicker-BkWY3_8P.css","./ExamConfigEditor-HgNV6CVV.css"])))=>i.map(i=>d[i]); -var et=Object.defineProperty;var tt=(t,e,i)=>e in t?et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var C=(t,e,i)=>tt(t,typeof e!="symbol"?e+"":e,i);import{_ as H,V as Ce,c as I,d as T,e as _,S as ne,w as Te,f as x,g as E,h as b,i as F,j as re,k as B,l as j,s as q,n as D,o as st,p as J,q as G,r as oe,t as ae,v as it,x as N,y as nt,z as ot,A as Q}from"./index-D042plwv.js";import{X as c,_ as f,j as o,N as P,S as h,a6 as at,a7 as rt,a8 as lt,Y as v,Z as a,k as r,F as k,a2 as M,n as O,$ as w,a1 as u,a9 as A,aa as Re,P as dt,R as ct,V as ut,U as Ie,m as mt,e as ht,a4 as V}from"./vendor-vue-BiQC5iF7.js";import{d as R,a as ft,k as gt,s as Ve}from"./dataProvider-CBH3Lw3D.js";import{a as ye,g as Fe}from"./vendor-utils-2lvrqI0-.js";import{V as z}from"./VChip-nQelUOZI.js";import{V as Be,a as $}from"./VTabs-5YWz7myv.js";import{V as Oe,a as ee,b as pt}from"./VTable-DH4Drwun.js";import{V as le}from"./VAlert-ZP8s_5ha.js";import{V as yt,a as bt}from"./VTooltip-DMSltD5A.js";import{V as se}from"./VTextField-BoJUR4Xs.js";import{p as vt,d as wt}from"./soundList-D9U-Grcp.js";import{V as be}from"./VSwitch-CEojN9Vi.js";import{V as St}from"./VMenu-Ps4XkZIl.js";import{a0 as De}from"./vendor-vuetify-DpmmaPkh.js";import{V as Ue}from"./VContainer-MApP1Vz1.js";import{g as Dt,j as Ne,o as xt,a as Pe,l as kt}from"./socketClient-D9GaxO-Q.js";import{c as Ct}from"./deviceEvents-W5dhgmtc.js";import{V as Tt,a as _t}from"./VAppBarTitle-D2mhaxek.js";import{V as Mt,a as Et}from"./VRow-CH6EAfU_.js";const Rt={__name:"AsyncLoadingPlaceholder",props:{height:{type:String,default:"120px"}},setup(t){return(e,i)=>(c(),f("div",{class:"async-loading-placeholder d-flex justify-center align-center",style:P({minHeight:t.height})},[o(Ce,{indeterminate:"",color:"primary",size:"28",width:"2"})],4))}},me=H(Rt,[["__scopeId","data-v-c297c78c"]]),It={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,i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=i.getTime()-l.getTime(),n=Math.round(s/(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 d=l.getDay()||7,m=new Date(l);m.setDate(l.getDate()-d+1);const p=new Date(l);if(p.setDate(l.getDate()+(7-d)),i>=m&&i<=p)return["周日","周一","周二","周三","周四","周五","周六"][t.getDay()];const g=t.getMonth()+1,S=t.getDate();return`${g}月${S}日`}}};function Vt(t,e,i,l,s,n){return c(),f("span",null,h(n.displayTime),1)}const je=H(It,[["render",Vt]]),xe=at("exam",{state:()=>({examList:[],exams:{},loadingList:!1,loadingDetails:{}}),actions:{async fetchExamList(){if(!this.loadingList){this.loadingList=!0;try{const t=await R.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 R.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=[],i=new Date,l=new Date(i.getTime()+2*24*60*60*1e3),s=this.examList.slice(0,t);for(const n of s){let d=this.exams[n.id];d||(d=await this.fetchExam(n.id)),d&&d.examInfos&&Array.isArray(d.examInfos)&&d.examInfos.some(p=>{const g=new Date(p.start);return g>=i&&g<=l})&&e.push({id:n.id,...d})}return e}}}),Nt={name:"ConciseExamCard",components:{RelativeTimeDisplay:je},props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},computed:{...lt(xe,["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,s)=>new Date(l.start)-new Date(s.start)),e=[];let i=null;return t.forEach(l=>{const n=new Date(l.start).toDateString();(!i||i.key!==n)&&(i={key:n,date:l.start,infos:[]},e.push(i)),i.infos.push(l)}),e}},mounted(){this.fetchExam(this.examId)},methods:{...rt(xe,["fetchExam"]),formatTimeOnly(t){if(!t)return"";try{const e=new Date(t),i=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0");return`${i}:${l}`}catch{return""}},isPast(t){return t?new Date(t)t.$emit("click"))},{default:a(()=>[o(I,{class:"d-flex align-center py-2 px-3 bg-primary-lighten-5 text-subtitle-1 font-weight-bold"},{default:a(()=>{var m;return[r("span",Pt,h(((m=n.exam)==null?void 0:m.examName)||"加载中..."),1)]}),_:1}),o(T,{class:"flex-grow-1 pa-4 overflow-y-auto",style:P(i.contentStyle)},{default:a(()=>[n.loading?(c(),f("div",At,[o(Ce,{indeterminate:"",size:"24",color:"primary"})])):n.exam?(c(),f("div",Lt,[(c(!0),f(k,null,M(n.groupedExamInfos,(m,p)=>(c(),f("div",{key:p,class:"mb-3"},[r("div",zt,[o(d,{time:m.date},null,8,["time"])]),(c(!0),f(k,null,M(m.infos,(g,S)=>(c(),f("div",{key:S,class:O(["d-flex align-center justify-space-between py-1 border-b-sm",{"border-none":S===m.infos.length-1,"text-grey":n.isPast(g.end)}])},[r("div",Ft,h(g.name),1),r("div",Bt,h(n.formatTimeOnly(g.start))+" - "+h(n.formatTimeOnly(g.end)),1)],2))),128))]))),128))])):(c(),f("div",Ot," 无法加载 "))]),_:1},8,["style"])]),_:1})}const He=H(Nt,[["render",Ut],["__scopeId","data-v-cb5c226a"]]),jt=["6IO4","5Lmz","6JCd6I6J","5rer","5aW4"],Ht=jt.map(t=>Fe.decode(t)),Ae=.75,Wt={name:"HitokotoCard",data(){return{enabled:!1,refreshInterval:60,kvConfig:{sources:["zhaoyu"],sensitiveWords:[],hitokotoCategories:[]},sentence:"",author:"",origin:"",loading:!1,timer:null,unwatch:null,fontSize:28}},computed:{contentStyle(){return{"font-size":`${this.fontSize*Ae}px`,"white-space":"pre-wrap","line-height":"1.6","text-align":"left"}},authorStyle(){return{"font-size":`${this.fontSize*Ae*.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=ne.getSetting("hitokoto.enabled"),this.refreshInterval=ne.getSetting("hitokoto.refreshInterval"),this.fontSize=ne.getSetting("font.size")},async loadKvSettings(){try{const t=await R.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(i=>i.trim()).filter(i=>i):[],jinrishiciToken:e.jinrishiciToken,hitokotoCategories:Array.isArray(e.hitokotoCategories)?e.hitokotoCategories:[]})}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 i=null,l="",s="",n="";if(e==="hitokoto"){const d=new URLSearchParams,m=this.kvConfig.hitokotoCategories;Array.isArray(m)&&m.length>0&&m.forEach(S=>d.append("c",S));const p="https://v1.hitokoto.cn/"+(d.toString()?"?"+d.toString():"");i=(await ye.get(p)).data,l=i.hitokoto,s=i.from_who,n=i.from}else if(e==="zhaoyu"){const d=await ye.get("https://hub.saintic.com/openservice/sentence/all.json");d.data.success&&(i=d.data.data,l=i.sentence||i.content||i.name,s=i.author,n=i.name||i.origin)}else if(e==="jinrishici")if(this.kvConfig.jinrishiciToken){const d=await ye.get("https://v2.jinrishici.com/one.json?client=npm-sdk/1.0&X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken),{});d.data.status==="success"&&(i=d.data.data,l=i.content,s=i.origin.author,n=i.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([...Ht,...this.kvConfig.sensitiveWords].some(p=>p&&l.includes(p)))return this.loading=!1,this.fetchSentence();this.sentence=l,this.author=s||"",this.origin=n||"未知"}}catch(t){console.error("Failed to fetch sentence",t),this.sentence="获取失败",this.author="",this.origin=""}finally{this.loading=!1}}}}},Gt={key:0,class:"mr-2"},Kt={key:1};function qt(t,e,i,l,s,n){return c(),v(_,{class:"hitokoto-card",elevation:"2",border:"",rounded:"xl",loading:s.loading,height:"100%",onClick:n.fetchSentence},{default:a(()=>[o(T,{class:"pa-6 d-flex flex-column justify-center",style:{height:"100%"}},{default:a(()=>[r("div",{class:"font-weight-medium mb-4 serif-font",style:P(n.contentStyle)},h(s.sentence),5),r("div",{class:"text-medium-emphasis serif-font",style:P(n.authorStyle)},[s.author?(c(),f("span",Gt,h(s.author),1)):w("",!0),s.origin?(c(),f("span",Kt,"《"+h(s.origin)+"》",1)):w("",!0)],4)]),_:1})]),_:1},8,["loading","onClick"])}const We=H(Wt,[["render",qt],["__scopeId","data-v-84a0a110"]]),_e=30,Y=50,te=-50,he=500,de=6,ce=-100,Ge=0,Yt=-90,Jt=40;function Xt(t){let e=0,i=0;for(let s=0;si&&(i=d),e+=n*n}return{rms:Math.sqrt(e/Math.max(1,t.length)),peak:i}}function Zt(t){const e=Math.max(1e-12,t),i=20*Math.log10(e);return Math.max(ce,Math.min(Ge,i))}function ve(t){const e=Math.max(1e-12,t.rms),i=Math.max(1e-12,t.baselineRms),l=t.baselineDb+20*Math.log10(e/i);return Math.max(20,Math.min(100,l))}function Le(t){if(t.length===0)return ce;const i=t.reduce((s,n)=>s+Math.pow(10,n/10),0)/t.length,l=10*Math.log10(Math.max(i,1e-12));return Math.max(ce,Math.min(Ge,l))}function ie(t,e){if(t.length===0)return ce;const i=t.map(p=>Math.pow(10,p/20));i.sort((p,g)=>p-g);const l=(i.length-1)*e,s=Math.floor(l),n=Math.ceil(l),d=l-s,m=s===n?i[s]:i[s]*(1-d)+i[n]*d;return 20*Math.log10(Math.max(m,1e-12))}function we(t){return Math.max(0,Math.min(1,t))}const ke={maxLevelDb:55,baselineDb:Jt,showRealtimeDb:!0,avgWindowSec:1,sliceSec:_e,frameMs:Y,scoreThresholdDbfs:te,segmentMergeGapMs:he,maxSegmentsPerMin:de,alertSoundEnabled:!1},Me="noise-control-settings",ue="NoiseControlSettingsUpdated";function Ee(){try{const t=localStorage.getItem(Me);if(t)return{...ke,...JSON.parse(t)}}catch(t){console.warn("Failed to load settings",t)}return{...ke}}function Ke(t){const i={...Ee(),...t};i.sliceSec=_e,i.frameMs=Y,i.scoreThresholdDbfs=te,i.segmentMergeGapMs=he,i.maxSegmentsPerMin=de,localStorage.setItem(Me,JSON.stringify(i)),window.dispatchEvent(new CustomEvent(ue,{detail:i}))}function Qt(){localStorage.removeItem(Me),window.dispatchEvent(new CustomEvent(ue,{detail:ke}))}function $t(t){const e=i=>t(i);return window.addEventListener(ue,e),()=>window.removeEventListener(ue,e)}function ze(t,e){const i=Math.max(0,t.p50Dbfs-te),l=we(i/6),s=we(t.overRatioDbfs/.3),n=t.sampledDurationMs&&t.sampledDurationMs>0?t.sampledDurationMs:e,d=Math.max(1e-6,n/6e4),m=t.segmentCount/d,p=we(m/Math.max(1e-6,de)),S=100*(1-(.4*l+.3*s+.3*p));return{score:Math.max(0,Math.min(100,Math.round(S*10)/10)),scoreDetail:{sustainedPenalty:l,timePenalty:s,segmentPenalty:p,thresholdsUsed:{scoreThresholdDbfs:te,segmentMergeGapMs:he,maxSegmentsPerMin:de},sustainedLevelDbfs:t.p50Dbfs,overRatioDbfs:t.overRatioDbfs,segmentCount:t.segmentCount,minutes:d,durationMs:e,sampledDurationMs:t.sampledDurationMs,coverageRatio:t.sampledDurationMs?t.sampledDurationMs/e:1}}}const es=()=>Math.random().toString(36).substring(2,15);class ts{constructor(){C(this,"audioContext",null);C(this,"analyser",null);C(this,"stream",null);C(this,"sourceNode",null);C(this,"status","initializing");C(this,"listeners",new Set);C(this,"animationFrameId",null);C(this,"lastFrameTime",0);C(this,"baselineDb",40);C(this,"baselineRms",Math.pow(10,-60/20));C(this,"lastRms",0);C(this,"calibrationBuffer",[]);C(this,"isCalibrating",!1);C(this,"calibrationTargetDb",0);C(this,"calibrationCallback",null);C(this,"settingsUnsubscribe",null);C(this,"warmupFramesRemaining",0);C(this,"ringBuffer",[]);C(this,"ringBufferCapacity",200);C(this,"currentSliceStart",0);C(this,"sliceDbfsValues",[]);C(this,"sliceAboveThresholdDuration",0);C(this,"sliceFramesTotal",0);C(this,"sliceSampledDuration",0);C(this,"isAboveThreshold",!1);C(this,"segmentCount",0);C(this,"lastSegmentEndTs",0);C(this,"lastProcessedFrameTs",null);C(this,"gapCount",0);C(this,"maxGapMs",0);C(this,"cachedCurrentScore");C(this,"cachedCurrentScoreDetail");C(this,"lastScoreCalcTime",0);C(this,"lastCompletedSlice",null);C(this,"loop",()=>{if(this.status!=="active"||!this.analyser)return;const e=performance.now();e-this.lastFrameTime>=Y&&(this.processFrame(e),this.lastFrameTime=e),this.animationFrameId=requestAnimationFrame(this.loop)});this.status="paused";const e=Ee();this.updateLocalSettings(e),this.settingsUnsubscribe=$t(i=>{this.updateLocalSettings(i.detail)})}updateLocalSettings(e){this.baselineDb=e.baselineDb,e.baselineRms&&e.baselineRms>0&&(this.baselineRms=e.baselineRms)}calibrate(e,i){if(this.status!=="active"){i==null||i(!1,"请先启动监测");return}this.isCalibrating=!0,this.calibrationTargetDb=e,this.calibrationBuffer=[],this.calibrationCallback=i||null,console.log(`Starting calibration to ${e}dB...`)}processCalibrationFrame(e){var l;if(!this.isCalibrating)return;this.calibrationBuffer.push(e);const i=3e3/Y;if(this.calibrationBuffer.length>=i){const n=this.calibrationBuffer.reduce((d,m)=>d+m,0)/this.calibrationBuffer.length;this.isCalibrating=!1,this.baselineRms=n,this.baselineDb=this.calibrationTargetDb,Ke({baselineDb:this.calibrationTargetDb,baselineRms:n}),console.log(`Calibration complete: RMS ${n.toFixed(6)} -> ${this.calibrationTargetDb}dB`),(l=this.calibrationCallback)==null||l.call(this,!0,`校准完成!平均RMS: ${n.toFixed(6)}`),this.calibrationCallback=null}}subscribe(e){return this.listeners.add(e),this.emit(),()=>this.listeners.delete(e)}emit(){const e=this.ringBuffer.length>0?this.ringBuffer[this.ringBuffer.length-1]:null,i={status:this.status,currentDbfs:(e==null?void 0:e.dbfs)??-100,currentDisplayDb:(e==null?void 0:e.displayDb)??20,ringBuffer:[...this.ringBuffer],lastSlice:this.lastCompletedSlice,currentScore:this.cachedCurrentScore,currentScoreDetail:this.cachedCurrentScoreDetail};this.listeners.forEach(l=>l(i))}async start(){if(this.status!=="active")try{this.status="initializing",this.warmupFramesRemaining=10,this.emit(),this.audioContext=new(window.AudioContext||window.webkitAudioContext),this.stream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}}),this.sourceNode=this.audioContext.createMediaStreamSource(this.stream);const e=this.audioContext.createBiquadFilter();e.type="highpass",e.frequency.value=80;const i=this.audioContext.createBiquadFilter();i.type="lowpass",i.frequency.value=8e3,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2048,this.analyser.smoothingTimeConstant=0,this.sourceNode.connect(e),e.connect(i),i.connect(this.analyser),this.status="active",this.resetSlice(),this.loop()}catch(e){console.error("Mic Error",e),this.status="permission-denied",this.emit()}}stop(){var e,i;this.status!=="paused"&&(this.sliceDbfsValues.length>0&&this.finalizeSlice(),this.status="paused",this.animationFrameId&&cancelAnimationFrame(this.animationFrameId),(e=this.stream)==null||e.getTracks().forEach(l=>l.stop()),(i=this.audioContext)==null||i.close(),this.audioContext=null,this.analyser=null,this.stream=null,this.emit())}processFrame(e){if(!this.analyser)return;if(this.warmupFramesRemaining>0){this.warmupFramesRemaining--;return}const i=new Float32Array(this.analyser.fftSize);this.analyser.getFloatTimeDomainData(i);const l=Date.now(),{rms:s}=Xt(i);this.lastRms=s,this.isCalibrating&&this.processCalibrationFrame(s);const n=Zt(s),d=ve({rms:s,baselineRms:this.baselineRms,baselineDb:this.baselineDb});this.ringBuffer.push({t:l,dbfs:n,displayDb:d}),this.ringBuffer.length>this.ringBufferCapacity&&this.ringBuffer.shift();let m=Y;if(this.lastProcessedFrameTs!==null){const p=l-this.lastProcessedFrameTs,g=Math.max(1e3,Y*5);p>g?(this.gapCount++,this.maxGapMs=Math.max(this.maxGapMs,p),m=Y):m=p}if(this.lastProcessedFrameTs=l,n>=Yt){this.sliceDbfsValues.push(n),this.sliceFramesTotal++,this.sliceSampledDuration+=m;const p=n>te;if(p&&(this.sliceAboveThresholdDuration+=m),p){if(!this.isAboveThreshold){const g=Date.now()-this.lastSegmentEndTs;(this.lastSegmentEndTs===0||g>he)&&this.segmentCount++,this.isAboveThreshold=!0}}else this.isAboveThreshold&&(this.isAboveThreshold=!1,this.lastSegmentEndTs=Date.now())}e-this.lastScoreCalcTime>250&&(this.updateInterimScore(),this.lastScoreCalcTime=e),this.emit(),Date.now()-this.currentSliceStart>=_e*1e3&&this.finalizeSlice()}updateInterimScore(){if(this.sliceDbfsValues.length<10){this.cachedCurrentScore=100,this.cachedCurrentScoreDetail=void 0;return}Le(this.sliceDbfsValues),Math.max(...this.sliceDbfsValues);const e=ie(this.sliceDbfsValues,.5);ie(this.sliceDbfsValues,.95);const i=this.sliceSampledDuration>0?this.sliceAboveThresholdDuration/this.sliceSampledDuration:0,l={p50Dbfs:e,overRatioDbfs:i,segmentCount:this.segmentCount,sampledDurationMs:this.sliceSampledDuration,gapCount:this.gapCount,maxGapMs:this.maxGapMs},s=Date.now()-this.currentSliceStart,{score:n,scoreDetail:d}=ze(l,s);this.cachedCurrentScore=n,this.cachedCurrentScoreDetail=d}resetSlice(){this.currentSliceStart=Date.now(),this.sliceDbfsValues=[],this.sliceAboveThresholdDuration=0,this.sliceFramesTotal=0,this.sliceSampledDuration=0,this.segmentCount=0,this.isAboveThreshold=!1,this.lastSegmentEndTs=0,this.gapCount=0,this.maxGapMs=0,this.lastProcessedFrameTs=null,this.cachedCurrentScore=100,this.cachedCurrentScoreDetail=void 0}finalizeSlice(){if(this.sliceDbfsValues.length===0){this.resetSlice();return}const e=Le(this.sliceDbfsValues),i=Math.max(...this.sliceDbfsValues),l=ie(this.sliceDbfsValues,.5),s=ie(this.sliceDbfsValues,.95),n=this.sliceSampledDuration>0?this.sliceAboveThresholdDuration/this.sliceSampledDuration:0,d=ve({rms:Math.pow(10,e/20),baselineRms:this.baselineRms,baselineDb:this.baselineDb}),m=ve({rms:Math.pow(10,s/20),baselineRms:this.baselineRms,baselineDb:this.baselineDb}),p={avgDbfs:e,maxDbfs:i,p50Dbfs:l,p95Dbfs:s,overRatioDbfs:n,segmentCount:this.segmentCount,sampledDurationMs:this.sliceSampledDuration,gapCount:this.gapCount,maxGapMs:this.maxGapMs},g=Date.now()-this.currentSliceStart,{score:S,scoreDetail:U}=ze(p,g),L={id:es(),start:this.currentSliceStart,end:Date.now(),frames:this.sliceFramesTotal,raw:p,display:{avgDb:d,p95Db:m},score:S,scoreDetail:U};this.lastCompletedSlice=L,this.saveSlice(L),this.resetSlice()}saveSlice(e){try{const i=localStorage.getItem("noise-slices-v2"),l=i?JSON.parse(i):[];l.push(e);const s=14*24*60*60*1e3,n=Date.now(),d=l.filter(m=>n-m.end1e3&&d.shift(),localStorage.setItem("noise-slices-v2",JSON.stringify(d))}catch(i){console.warn("Storage Full",i)}}getHistory(){try{const e=localStorage.getItem("noise-slices-v2");return e?JSON.parse(e):[]}catch{return[]}}clearHistory(){localStorage.removeItem("noise-slices-v2")}}const K=new ts,ss={name:"NoiseMonitorDetail",props:{modelValue:{type:Boolean,default:!1},status:{type:String,default:""},currentDb:{type:[Number,String],default:"--"},currentDbfs:{type:Number,default:0},noiseLevel:{type:String,default:"未知"},dbColor:{type:String,default:"grey"},currentScore:{type:Number,default:null},scoreDetail:{type:Object,default:null},ringBuffer:{type:Array,default:()=>[]},lastSlice:{type:Object,default:null},history:{type:Array,default:()=>[]},isMonitoring:{type:Boolean,default:!1},micPermissionState:{type:String,default:""},sessionActive:{type:Boolean,default:!1},sessionData:{type:Object,default:null},reportMeta:{type:Object,default:()=>({dates:{}})},selectedDate:{type:String,default:""},dateReports:{type:Array,default:()=>[]}},emits:["update:modelValue","start","stop","clear-history","select-date","clear-date-reports","clear-all-reports"],data(){return{activeTab:"realtime",confirmClearMode:"",waveformWidth:600,reportChartWidth:600,selectedReportIndex:0,showCalibrateDialog:!1,calibrationSettings:{},calibrateTargetDb:40,isCalibrating:!1,calibrateMessage:"",calibrateSuccess:!1,editBaselineDb:40,editBaselineRms:"",editMaxLevelDb:100}},computed:{scoreColor(){return this.currentScore===null?"grey":this.currentScore>=80?"success":this.currentScore>=60?"warning":"error"},scoreLabel(){return this.currentScore===null?"暂无评分":this.currentScore>=90?"非常安静":this.currentScore>=80?"环境良好":this.currentScore>=60?"需要注意":this.currentScore>=40?"比较嘈杂":"极度嘈杂"},alertThreshold(){var t;return((t=this.sessionConfig)==null?void 0:t.alertThresholdDb)||55},scorePenaltyItems(){if(!this.scoreDetail)return[];const t=100;return[{label:"持续",icon:"mdi-volume-high",color:"amber",percent:Math.round(this.scoreDetail.sustainedPenalty/t*100)},{label:"时长",icon:"mdi-clock-alert",color:"orange",percent:Math.round(this.scoreDetail.timePenalty/t*100)},{label:"打断",icon:"mdi-flash-alert",color:"pink",percent:Math.round(this.scoreDetail.segmentPenalty/t*100)}]},gridLines(){return[20,40,60,80].map(t=>({val:t,y:this.dbToY(t)}))},reportGridLines(){return[20,40,60,80].map(t=>({val:t,y:this.reportDbToY(t)}))},waveformPath(){if(!this.ringBuffer||this.ringBuffer.length<2)return null;const t=this.waveformWidth,e=this.ringBuffer.slice(-120),i=t/(e.length-1);return e.map((l,s)=>{const n=s*i,d=this.dbToY(l.displayDb??0);return`${s===0?"M":"L"}${n.toFixed(1)},${d.toFixed(1)}`}).join(" ")},waveformFillPath(){return this.waveformPath?`${this.waveformPath} L${this.waveformWidth},120 L0,120 Z`:null},showConfirmClear(){return this.confirmClearMode!==""},sortedDateKeys(){var t;return(t=this.reportMeta)!=null&&t.dates?Object.keys(this.reportMeta.dates).sort().reverse():[]},selectedReport(){return this.dateReports[this.selectedReportIndex]||null},reportCoverage(){var t,e,i;return!((e=(t=this.selectedReport)==null?void 0:t.samples)!=null&&e.length)||!((i=this.selectedReport)!=null&&i.duration)?0:(this.selectedReport.samples.length*2/(this.selectedReport.duration/1e3)*100).toFixed(1)},reportWaveformPath(){var l,s;if(!((s=(l=this.selectedReport)==null?void 0:l.samples)!=null&&s.length))return null;const t=this.selectedReport.samples;if(t.length<2)return null;const i=this.reportChartWidth/(t.length-1);return t.map((n,d)=>{const m=d*i,p=this.reportDbToY(n.db);return`${d===0?"M":"L"}${m.toFixed(1)},${p.toFixed(1)}`}).join(" ")},reportWaveformFillPath(){return this.reportWaveformPath?`${this.reportWaveformPath} L${this.reportChartWidth},140 L0,140 Z`:null},levelDistribution(){var d,m;if(!((m=(d=this.selectedReport)==null?void 0:d.samples)!=null&&m.length))return[{label:"安静",percent:0,color:"#4caf50"},{label:"正常",percent:0,color:"#8bc34a"},{label:"吵闹",percent:0,color:"#ff9800"},{label:"极吵",percent:0,color:"#f44336"}];const t=this.selectedReport.samples.map(p=>p.db),e=t.length;let i=0,l=0,s=0,n=0;return t.forEach(p=>{p<45?i++:p<60?l++:p<75?s++:n++}),[{label:"安静",percent:Math.round(i/e*100),color:"#4caf50"},{label:"正常",percent:Math.round(l/e*100),color:"#8bc34a"},{label:"吵闹",percent:Math.round(s/e*100),color:"#ff9800"},{label:"极吵",percent:Math.round(n/e*100),color:"#f44336"}]},reportPenaltyItems(){var e;if(!((e=this.selectedReport)!=null&&e.scorePenalties))return[];const t=this.selectedReport.scorePenalties;return[{label:"持续",color:"amber",percent:Math.min(100,Math.round(t.sustained/40*100))},{label:"时长",color:"orange",percent:Math.min(100,Math.round(t.time/30*100))},{label:"打断",color:"pink",percent:Math.min(100,Math.round(t.segment/30*100))}]}},watch:{modelValue(t){t&&this.$nextTick(()=>{this.updateWaveformWidth(),this.updateReportChartWidth()})},activeTab(){this.$nextTick(()=>{this.updateWaveformWidth(),this.updateReportChartWidth()})},selectedReportIndex(){this.$nextTick(()=>this.updateReportChartWidth())},selectedDate(){this.selectedReportIndex=0}},mounted(){this.updateWaveformWidth(),window.addEventListener("resize",this.handleResize)},beforeUnmount(){window.removeEventListener("resize",this.handleResize)},methods:{handleResize(){this.updateWaveformWidth(),this.updateReportChartWidth()},updateWaveformWidth(){this.$refs.waveformContainer&&(this.waveformWidth=this.$refs.waveformContainer.offsetWidth||600)},updateReportChartWidth(){this.$refs.reportChartContainer&&(this.reportChartWidth=this.$refs.reportChartContainer.offsetWidth||600)},dbToY(t){return 120-Math.max(0,Math.min(100,t))/100*120},reportDbToY(t){return 140-Math.max(0,Math.min(100,t))/100*140},doClearReports(){this.confirmClearMode==="all"?this.$emit("clear-all-reports"):this.confirmClearMode==="date"&&this.$emit("clear-date-reports",this.selectedDate),this.confirmClearMode="",this.selectedReportIndex=0},formatDateLabel(t){if(!t)return"";const e=new Date,i=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,l=new Date(e);l.setDate(l.getDate()-1);const s=`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`;if(t===i)return"今天";if(t===s)return"昨天";const n=t.split("-");return`${parseInt(n[1])}月${parseInt(n[2])}日`},formatTime(t){const e=new Date(t);return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`},metaScoreColor(t){return t>=80?"success":t>=60?"warning":"error"},formatFullTime(t){if(!t)return"--";const e=new Date(t);return`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},formatDuration(t){if(!t)return"0 分钟";const e=Math.floor(t/6e4),i=Math.floor(e/60),l=e%60;return i>0?`${i} 小时 ${l} 分钟`:`${l} 分钟`},formatSeconds(t){if(!t||t<0)return"0秒";const e=Math.floor(t/60),i=t%60;return e>0?`${e}分${i}秒`:`${i}秒`},reportScoreLabel(t){return t>=90?"优秀":t>=80?"良好":t>=60?"一般":t>=40?"较差":"极差"},openCalibrateDialog(){this.refreshCalibrationSettings(),this.showCalibrateDialog=!0},refreshCalibrationSettings(){const t=Ee();this.calibrationSettings=t,this.editBaselineDb=t.baselineDb,this.editBaselineRms=t.baselineRms!=null?String(t.baselineRms):"",this.editMaxLevelDb=t.maxLevelDb},doAutoCalibrate(){this.isCalibrating=!0,this.calibrateMessage="",K.calibrate(this.calibrateTargetDb,(t,e)=>{this.isCalibrating=!1,this.calibrateSuccess=t,this.calibrateMessage=e,t&&this.refreshCalibrationSettings(),setTimeout(()=>{this.calibrateMessage=""},5e3)})},saveManualCalibration(){const t={baselineDb:this.editBaselineDb,maxLevelDb:this.editMaxLevelDb},e=parseFloat(this.editBaselineRms);!isNaN(e)&&e>0&&(t.baselineRms=e),Ke(t),this.refreshCalibrationSettings()},resetCalibration(){Qt(),this.refreshCalibrationSettings()}}},is={class:"noise-dashboard pa-5"},ns={class:"d-flex align-center justify-center"},os={class:"text-center"},as={class:"noise-gauge-inner d-flex flex-column align-center justify-center"},rs={class:"noise-level-bar mt-5 mx-auto",style:{"max-width":"500px"}},ls={class:"noise-gradient-bar"},ds={class:"pa-5"},cs={class:"d-flex align-center mb-3"},us={class:"text-caption text-medium-emphasis"},ms={ref:"waveformContainer",class:"noise-waveform"},hs=["viewBox"],fs=["y1","x2","y2"],gs=["y1","x2","y2"],ps=["d"],ys=["d"],bs={class:"pa-5"},vs={class:"d-flex align-center mb-3"},ws={key:0,class:"d-flex flex-wrap ga-4"},Ss={class:"text-h6 font-weight-bold"},Ds={class:"text-subtitle-1 font-weight-bold"},xs={class:"d-flex align-center"},ks={class:"text-body-2"},Cs={class:"d-flex align-center",style:{"min-width":"140px"}},Ts={class:"text-caption font-weight-medium",style:{"min-width":"36px","text-align":"right"}},_s={key:1,class:"text-center text-medium-emphasis py-4"},Ms={class:"pa-4 d-flex align-center"},Es={key:0,class:"text-center text-medium-emphasis py-12"},Rs={class:"pa-4"},Is={class:"d-flex align-center flex-wrap ga-2 mb-3"},Vs={class:"d-flex flex-wrap ga-2"},Ns={key:0,class:"pa-4 pb-0"},Ps={class:"d-flex align-center ga-3 flex-wrap"},As={class:"text-h6 font-weight-bold"},Ls={key:1,class:"text-center text-medium-emphasis py-8"},zs={key:2,class:"pa-4 pt-3 d-flex flex-wrap ga-2"},Fs={class:"text-caption ml-1"},Bs={key:4,class:"report-content"},Os={class:"pa-5 pb-0"},Us={class:"text-h6 font-weight-bold d-flex align-center"},js={class:"pa-5"},Hs={class:"report-grid"},Ws={class:"report-stat-card"},Gs={class:"text-h6 font-weight-bold"},Ks={class:"report-stat-card"},qs={class:"text-h6 font-weight-bold"},Ys={class:"text-caption"},Js={class:"report-stat-card"},Xs={class:"text-h6 font-weight-bold"},Zs={class:"report-stat-card"},Qs={class:"text-h6 font-weight-bold"},$s={class:"report-stat-card"},ei={class:"text-h6 font-weight-bold"},ti={class:"report-stat-card"},si={class:"text-h6 font-weight-bold"},ii={class:"pa-5"},ni={ref:"reportChartContainer",class:"noise-waveform"},oi=["viewBox"],ai=["y1","x2","y2"],ri=["y1","x2","y2"],li=["d"],di=["d"],ci={class:"text-caption text-medium-emphasis mt-2"},ui={class:"pa-5"},mi={class:"d-flex flex-wrap ga-4"},hi={class:"noise-level-distribution"},fi={class:"d-flex",style:{height:"16px","border-radius":"8px",overflow:"hidden"}},gi={class:"d-flex flex-wrap ga-3 mt-3 justify-center"},pi={class:"text-caption text-medium-emphasis"},yi={class:"text-body-2 mr-3",style:{"min-width":"32px"}},bi={class:"text-body-2 font-weight-bold",style:{"min-width":"40px","text-align":"right"}},vi={class:"d-flex align-center ga-6 flex-wrap"},wi={class:"text-body-1 font-weight-bold"},Si={class:"text-body-1 font-weight-bold font-monospace"},Di={class:"text-body-1 font-weight-bold"},xi={class:"d-flex align-center mb-2"},ki={class:"d-flex align-center ga-3 mb-5 flex-wrap"},Ci={key:0,class:"text-caption text-warning"},Ti={class:"d-flex align-center mb-2"},_i={class:"d-flex align-center ga-3 mb-4 flex-wrap"};function Mi(t,e,i,l,s,n){return c(),v(B,{"model-value":i.modelValue,"max-width":"900",scrollable:"","onUpdate:modelValue":e[15]||(e[15]=d=>t.$emit("update:modelValue",d))},{default:a(()=>[o(_,{class:"rounded-xl noise-detail-card"},{default:a(()=>[o(I,{class:"d-flex align-center pa-4"},{default:a(()=>[o(x,{class:"mr-2",color:"primary"},{default:a(()=>[...e[16]||(e[16]=[u(" mdi-waveform ",-1)])]),_:1}),e[18]||(e[18]=r("span",{class:"text-h6 font-weight-bold"},"环境噪音监测",-1)),o(E),i.sessionActive?(c(),v(z,{key:0,color:"teal",size:"small",variant:"tonal",class:"mr-2"},{default:a(()=>{var d;return[o(x,{start:"",size:"12"},{default:a(()=>[...e[17]||(e[17]=[u(" mdi-record-circle ",-1)])]),_:1}),u(" "+h(((d=i.sessionData)==null?void 0:d.sessionName)||"自习中"),1)]}),_:1})):w("",!0),o(z,{color:i.isMonitoring?"success":"grey",size:"small",variant:"tonal",class:"mr-2"},{default:a(()=>[u(h(i.isMonitoring?"监测中":"已停止"),1)]),_:1},8,["color"]),o(b,{icon:"mdi-close",size:"small",variant:"text",onClick:e[0]||(e[0]=d=>t.$emit("update:modelValue",!1))})]),_:1}),o(Be,{modelValue:s.activeTab,"onUpdate:modelValue":e[1]||(e[1]=d=>s.activeTab=d),color:"primary",density:"compact",grow:""},{default:a(()=>[o($,{value:"realtime"},{default:a(()=>[o(x,{start:"",size:"18"},{default:a(()=>[...e[19]||(e[19]=[u(" mdi-pulse ",-1)])]),_:1}),e[20]||(e[20]=u(" 实时监测 ",-1))]),_:1}),o($,{value:"reports"},{default:a(()=>[o(x,{start:"",size:"18"},{default:a(()=>[...e[21]||(e[21]=[u(" mdi-chart-bar ",-1)])]),_:1}),e[22]||(e[22]=u(" 统计报告 ",-1))]),_:1})]),_:1},8,["modelValue"]),o(F),o(T,{class:"pa-0",style:{"max-height":"70vh"}},{default:a(()=>[o(Oe,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=d=>s.activeTab=d)},{default:a(()=>[o(ee,{value:"realtime"},{default:a(()=>[i.micPermissionState==="denied"?(c(),v(le,{key:0,type:"error",variant:"tonal",class:"ma-4 mb-0",prominent:""},{prepend:a(()=>[o(x,{icon:"mdi-microphone-off",size:"28"})]),default:a(()=>[e[23]||(e[23]=r("div",{class:"text-subtitle-2 font-weight-bold mb-1"}," 麦克风权限被拒绝 ",-1)),e[24]||(e[24]=r("div",{class:"text-body-2"}," 浏览器已拒绝麦克风访问,无法进行噪音监测。请在浏览器地址栏左侧的锁图标中重新授予麦克风权限,然后刷新页面。 ",-1))]),_:1})):i.micPermissionState==="unavailable"?(c(),v(le,{key:1,type:"warning",variant:"tonal",class:"ma-4 mb-0",prominent:""},{prepend:a(()=>[o(x,{icon:"mdi-microphone-question",size:"28"})]),default:a(()=>[e[25]||(e[25]=r("div",{class:"text-subtitle-2 font-weight-bold mb-1"}," 未检测到麦克风 ",-1)),e[26]||(e[26]=r("div",{class:"text-body-2"}," 当前设备未检测到麦克风硬件,无法进行噪音监测。请连接麦克风后刷新页面重试。 ",-1))]),_:1})):w("",!0),r("div",is,[r("div",ns,[r("div",os,[r("div",{class:O(["noise-gauge-ring",`ring-${i.dbColor}`])},[r("div",as,[r("span",{class:O(["noise-gauge-value font-weight-bold",`text-${i.dbColor}`])},h(i.currentDb),3),e[27]||(e[27]=r("span",{class:"text-caption text-medium-emphasis"},"dB",-1))])],2),r("div",{class:O(["text-subtitle-1 font-weight-medium mt-3",`text-${i.dbColor}`])},h(i.noiseLevel),3)])]),r("div",rs,[e[28]||(e[28]=r("div",{class:"d-flex justify-space-between text-caption text-medium-emphasis mb-1"},[r("span",null,"0 dB"),r("span",null,"50"),r("span",null,"100 dB")],-1)),r("div",ls,[i.isMonitoring&&typeof i.currentDb=="number"?(c(),f("div",{key:0,class:"noise-indicator",style:P({left:`${Math.min(100,Math.max(0,i.currentDb))}%`})},null,4)):w("",!0)])])]),o(F),r("div",ds,[r("div",cs,[o(x,{class:"mr-2",size:"18",color:"primary"},{default:a(()=>[...e[29]||(e[29]=[u(" mdi-chart-line ",-1)])]),_:1}),e[30]||(e[30]=r("span",{class:"text-subtitle-2 font-weight-medium"},"噪音走势",-1)),o(E),r("span",us," 最近 "+h(i.ringBuffer.length)+" 个采样 ",1)]),r("div",ms,[(c(),f("svg",{width:"100%",height:"120",viewBox:`0 0 ${s.waveformWidth} 120`,preserveAspectRatio:"none"},[(c(!0),f(k,null,M(n.gridLines,d=>(c(),f("line",{key:`grid-${d.val}`,x1:"0",y1:d.y,x2:s.waveformWidth,y2:d.y,stroke:"currentColor","stroke-opacity":"0.08","stroke-dasharray":"4,4"},null,8,fs))),128)),n.alertThreshold?(c(),f("line",{key:0,x1:"0",y1:n.dbToY(n.alertThreshold),x2:s.waveformWidth,y2:n.dbToY(n.alertThreshold),stroke:"rgb(var(--v-theme-error))","stroke-opacity":"0.5","stroke-dasharray":"6,3","stroke-width":"1.5"},null,8,gs)):w("",!0),n.waveformPath?(c(),f("path",{key:1,d:n.waveformFillPath,fill:"url(#waveGradient-rt)",opacity:"0.3"},null,8,ps)):w("",!0),n.waveformPath?(c(),f("path",{key:2,d:n.waveformPath,fill:"none",stroke:"rgb(var(--v-theme-primary))","stroke-width":"2","stroke-linejoin":"round","stroke-linecap":"round"},null,8,ys)):w("",!0),e[31]||(e[31]=r("defs",null,[r("linearGradient",{id:"waveGradient-rt",x1:"0",y1:"0",x2:"0",y2:"1"},[r("stop",{offset:"0%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.4"}),r("stop",{offset:"100%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.02"})])],-1))],8,hs))],512)]),o(F),r("div",bs,[r("div",vs,[o(x,{class:"mr-2",size:"18",color:"amber"},{default:a(()=>[...e[32]||(e[32]=[u(" mdi-star-circle ",-1)])]),_:1}),e[33]||(e[33]=r("span",{class:"text-subtitle-2 font-weight-medium"},"实时评分",-1))]),i.currentScore!==null?(c(),f("div",ws,[o(_,{variant:"tonal",color:n.scoreColor,rounded:"xl",class:"flex-grow-1","min-width":"200"},{default:a(()=>[o(T,{class:"d-flex align-center pa-4"},{default:a(()=>[o(Ce,{"model-value":i.currentScore,color:n.scoreColor,size:56,width:5,class:"mr-4"},{default:a(()=>[r("span",Ss,h(i.currentScore),1)]),_:1},8,["model-value","color"]),r("div",null,[r("div",Ds,h(n.scoreLabel),1),e[34]||(e[34]=r("div",{class:"text-caption text-medium-emphasis"}," 综合评分 (0-100) ",-1))])]),_:1})]),_:1},8,["color"]),i.scoreDetail?(c(),v(_,{key:0,variant:"outlined",rounded:"xl",class:"flex-grow-1","min-width":"200"},{default:a(()=>[o(T,{class:"pa-4"},{default:a(()=>[e[35]||(e[35]=r("div",{class:"text-subtitle-2 font-weight-medium mb-2"}," 扣分扣因 ",-1)),(c(!0),f(k,null,M(n.scorePenaltyItems,d=>(c(),f("div",{key:d.label,class:"d-flex align-center justify-space-between mb-1"},[r("div",xs,[o(x,{color:d.color,size:"14",class:"mr-2"},{default:a(()=>[u(h(d.icon),1)]),_:2},1032,["color"]),r("span",ks,h(d.label),1)]),r("div",Cs,[o(re,{"model-value":d.percent,color:d.color,height:"6",rounded:"",class:"mr-2"},null,8,["model-value","color"]),r("span",Ts,h(d.percent)+"% ",1)])]))),128))]),_:1})]),_:1})):w("",!0)])):(c(),f("div",_s,[o(x,{size:"32",class:"mb-2"},{default:a(()=>[...e[36]||(e[36]=[u(" mdi-chart-arc ",-1)])]),_:1}),e[37]||(e[37]=r("div",{class:"text-body-2"}," 开始监测后将显示评分 ",-1))]))]),o(F),r("div",Ms,[i.isMonitoring?(c(),v(b,{key:1,color:"error",variant:"tonal","prepend-icon":"mdi-stop",size:"large",class:"px-6",onClick:e[3]||(e[3]=d=>t.$emit("stop"))},{default:a(()=>[...e[39]||(e[39]=[u(" 停止监测 ",-1)])]),_:1})):(c(),v(b,{key:0,color:"success",variant:"elevated","prepend-icon":"mdi-play",size:"large",class:"px-6",disabled:i.micPermissionState==="denied"||i.micPermissionState==="unavailable",onClick:e[2]||(e[2]=d=>t.$emit("start"))},{default:a(()=>[...e[38]||(e[38]=[u(" 开始监测 ",-1)])]),_:1},8,["disabled"])),o(E),o(b,{variant:"tonal",color:"deep-purple","prepend-icon":"mdi-crosshairs-gps",onClick:n.openCalibrateDialog},{default:a(()=>[...e[40]||(e[40]=[u(" 校准 ",-1)])]),_:1},8,["onClick"])])]),_:1}),o(ee,{value:"reports"},{default:a(()=>[n.sortedDateKeys.length===0?(c(),f("div",Es,[o(x,{size:"48",class:"mb-3"},{default:a(()=>[...e[41]||(e[41]=[u(" mdi-chart-box-outline ",-1)])]),_:1}),e[42]||(e[42]=r("div",{class:"text-body-1"}," 暂无统计报告 ",-1)),e[43]||(e[43]=r("div",{class:"text-caption mt-1"}," 在配置的晚自习时间段内,系统会自动记录并生成报告 ",-1))])):(c(),f(k,{key:1},[r("div",Rs,[r("div",Is,[o(x,{size:"18",color:"teal",class:"mr-1"},{default:a(()=>[...e[44]||(e[44]=[u(" mdi-calendar ",-1)])]),_:1}),e[46]||(e[46]=r("span",{class:"text-subtitle-2 font-weight-medium"},"选择日期",-1)),o(E),o(b,{color:"error",size:"x-small",variant:"text","prepend-icon":"mdi-delete-sweep",onClick:e[4]||(e[4]=d=>s.confirmClearMode="all")},{default:a(()=>[...e[45]||(e[45]=[u(" 清空全部 ",-1)])]),_:1})]),r("div",Vs,[(c(!0),f(k,null,M(n.sortedDateKeys,d=>(c(),v(z,{key:d,color:i.selectedDate===d?"primary":void 0,variant:i.selectedDate===d?"elevated":"tonal",size:"small",onClick:m=>t.$emit("select-date",d)},{default:a(()=>[o(x,{start:"",size:"14"},{default:a(()=>[...e[47]||(e[47]=[u(" mdi-calendar-blank ",-1)])]),_:1}),u(" "+h(n.formatDateLabel(d))+" ",1),o(yt,{content:i.reportMeta.dates[d].count,color:"primary",inline:"",class:"ml-1"},null,8,["content"])]),_:2},1032,["color","variant","onClick"]))),128))])]),o(F),i.selectedDate&&i.reportMeta.dates[i.selectedDate]?(c(),f("div",Ns,[r("div",Ps,[r("div",As,h(n.formatDateLabel(i.selectedDate)),1),o(z,{size:"small",color:n.metaScoreColor(i.reportMeta.dates[i.selectedDate].avgScore),variant:"tonal"},{default:a(()=>[u(" 均分 "+h(i.reportMeta.dates[i.selectedDate].avgScore),1)]),_:1},8,["color"]),o(z,{size:"small",variant:"tonal"},{default:a(()=>[u(h(i.reportMeta.dates[i.selectedDate].count)+" 条记录 ",1)]),_:1}),o(E),o(b,{color:"error",size:"x-small",variant:"text","prepend-icon":"mdi-delete",onClick:e[5]||(e[5]=d=>s.confirmClearMode="date")},{default:a(()=>[...e[48]||(e[48]=[u(" 清空当日 ",-1)])]),_:1})])])):w("",!0),i.dateReports.length===0&&i.selectedDate?(c(),f("div",Ls,[o(x,{size:"32"},{default:a(()=>[...e[49]||(e[49]=[u(" mdi-file-document-outline ",-1)])]),_:1}),e[50]||(e[50]=r("div",{class:"text-body-2 mt-1"}," 该日期暂无报告数据 ",-1))])):w("",!0),i.dateReports.length>0?(c(),f("div",zs,[(c(!0),f(k,null,M(i.dateReports,(d,m)=>(c(),v(z,{key:d.startTime,color:s.selectedReportIndex===m?"teal":void 0,variant:s.selectedReportIndex===m?"elevated":"outlined",size:"small",onClick:p=>s.selectedReportIndex=m},{default:a(()=>[u(h(d.sessionName)+" ",1),r("span",Fs,h(n.formatTime(d.startTime)),1)]),_:2},1032,["color","variant","onClick"]))),128))])):w("",!0),n.selectedReport?(c(),v(F,{key:3})):w("",!0),n.selectedReport?(c(),f("div",Bs,[r("div",Os,[r("div",Us,h(n.selectedReport.sessionName)+" 统计报告 ",1)]),r("div",js,[e[57]||(e[57]=r("div",{class:"d-flex align-center mb-3"},[r("span",{class:"report-section-line bg-teal"}),r("span",{class:"text-subtitle-2 font-weight-bold ml-2"},"报告概览")],-1)),r("div",Hs,[r("div",Ws,[e[51]||(e[51]=r("div",{class:"text-caption text-medium-emphasis"}," 时长 ",-1)),r("div",Gs,h(n.formatDuration(n.selectedReport.duration)),1)]),r("div",Ks,[e[52]||(e[52]=r("div",{class:"text-caption text-medium-emphasis"}," 表现 ",-1)),r("div",qs,[u(h(n.selectedReport.score)+" 分 ",1),r("span",Ys,"("+h(n.reportScoreLabel(n.selectedReport.score))+")",1)])]),r("div",Js,[e[53]||(e[53]=r("div",{class:"text-caption text-medium-emphasis"}," 峰值 ",-1)),r("div",Xs,h(n.selectedReport.maxDb)+" dB ",1)]),r("div",Zs,[e[54]||(e[54]=r("div",{class:"text-caption text-medium-emphasis"}," 平均 ",-1)),r("div",Qs,h(n.selectedReport.avgDb)+" dB ",1)]),r("div",$s,[e[55]||(e[55]=r("div",{class:"text-caption text-medium-emphasis"}," 超阈时长 ",-1)),r("div",ei,h(n.formatSeconds(n.selectedReport.overThresholdDuration)),1)]),r("div",ti,[e[56]||(e[56]=r("div",{class:"text-caption text-medium-emphasis"}," 打断次数 ",-1)),r("div",si,h(n.selectedReport.segmentCount),1)])])]),r("div",ii,[e[59]||(e[59]=r("div",{class:"d-flex align-center mb-3"},[r("span",{class:"report-section-line bg-teal"}),r("span",{class:"text-subtitle-2 font-weight-bold ml-2"},"噪音走势")],-1)),r("div",ni,[(c(),f("svg",{width:"100%",height:"140",viewBox:`0 0 ${s.reportChartWidth} 140`,preserveAspectRatio:"none"},[(c(!0),f(k,null,M(n.reportGridLines,d=>(c(),f("line",{key:`rg-${d.val}`,x1:"0",y1:d.y,x2:s.reportChartWidth,y2:d.y,stroke:"currentColor","stroke-opacity":"0.1","stroke-dasharray":"4,4"},null,8,ai))),128)),r("line",{x1:"0",y1:n.reportDbToY(n.selectedReport.alertThresholdDb||55),x2:s.reportChartWidth,y2:n.reportDbToY(n.selectedReport.alertThresholdDb||55),stroke:"rgb(var(--v-theme-error))","stroke-opacity":"0.6","stroke-dasharray":"6,3","stroke-width":"1.5"},null,8,ri),n.reportWaveformPath?(c(),f("path",{key:0,d:n.reportWaveformFillPath,fill:"url(#reportGrad)",opacity:"0.3"},null,8,li)):w("",!0),n.reportWaveformPath?(c(),f("path",{key:1,d:n.reportWaveformPath,fill:"none",stroke:"rgb(var(--v-theme-primary))","stroke-width":"1.5","stroke-linejoin":"round"},null,8,di)):w("",!0),e[58]||(e[58]=r("defs",null,[r("linearGradient",{id:"reportGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[r("stop",{offset:"0%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.3"}),r("stop",{offset:"100%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.02"})])],-1))],8,oi))],512),r("div",ci," 统计范围:"+h(n.formatFullTime(n.selectedReport.startTime))+" - "+h(n.formatFullTime(n.selectedReport.endTime))+"; 噪音报警阈值: "+h(n.selectedReport.alertThresholdDb||55)+" dB; 覆盖率: "+h(n.reportCoverage)+"% ",1)]),r("div",ui,[e[62]||(e[62]=r("div",{class:"d-flex align-center mb-3"},[r("span",{class:"report-section-line bg-teal"}),r("span",{class:"text-subtitle-2 font-weight-bold ml-2"},"更多统计")],-1)),r("div",mi,[o(_,{variant:"outlined",rounded:"xl",class:"flex-grow-1","min-width":"280"},{default:a(()=>[o(T,{class:"pa-4"},{default:a(()=>[e[60]||(e[60]=r("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 噪音等级分布 ",-1)),r("div",hi,[r("div",fi,[(c(!0),f(k,null,M(n.levelDistribution,d=>(c(),f("div",{key:d.label,style:P({width:`${d.percent}%`,backgroundColor:d.color,minWidth:d.percent>0?"4px":"0"})},null,4))),128))]),r("div",gi,[(c(!0),f(k,null,M(n.levelDistribution,d=>(c(),f("div",{key:`leg-${d.label}`,class:"d-flex align-center"},[r("span",{class:"d-inline-block mr-1",style:P({width:"10px",height:"10px",borderRadius:"2px",backgroundColor:d.color})},null,4),r("span",pi,h(d.label)+" ("+h(d.percent)+"%) ",1)]))),128))])])]),_:1})]),_:1}),o(_,{variant:"outlined",rounded:"xl",class:"flex-grow-1","min-width":"280"},{default:a(()=>[o(T,{class:"pa-4"},{default:a(()=>[e[61]||(e[61]=r("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 扣分扣因 (越长扣分越多) ",-1)),(c(!0),f(k,null,M(n.reportPenaltyItems,d=>(c(),f("div",{key:d.label,class:"d-flex align-center mb-2"},[r("span",yi,h(d.label),1),o(re,{"model-value":d.percent,color:d.color,height:"10",rounded:"",class:"flex-grow-1 mr-2"},null,8,["model-value","color"]),r("span",bi,h(d.percent)+"%",1)]))),128))]),_:1})]),_:1})])])])):w("",!0)],64))]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(B,{modelValue:s.showCalibrateDialog,"onUpdate:modelValue":e[12]||(e[12]=d=>s.showCalibrateDialog=d),"max-width":"560",scrollable:""},{default:a(()=>[o(_,{class:"rounded-xl"},{default:a(()=>[o(I,{class:"d-flex align-center pa-4"},{default:a(()=>[o(x,{class:"mr-2",color:"deep-purple"},{default:a(()=>[...e[63]||(e[63]=[u(" mdi-crosshairs-gps ",-1)])]),_:1}),e[64]||(e[64]=r("span",{class:"text-h6 font-weight-bold"},"分贝校准",-1)),o(E),o(b,{icon:"mdi-close",size:"small",variant:"text",onClick:e[7]||(e[7]=d=>s.showCalibrateDialog=!1)})]),_:1}),o(F),o(T,{class:"pa-5"},{default:a(()=>[o(_,{variant:"outlined",class:"mb-5"},{default:a(()=>[o(T,{class:"py-3"},{default:a(()=>[e[68]||(e[68]=r("div",{class:"text-caption text-medium-emphasis mb-1"}," 当前校准值 ",-1)),r("div",vi,[r("div",null,[e[65]||(e[65]=r("span",{class:"text-body-2 text-medium-emphasis"},"基准分贝:",-1)),r("span",wi,h(s.calibrationSettings.baselineDb)+" dB ",1)]),r("div",null,[e[66]||(e[66]=r("span",{class:"text-body-2 text-medium-emphasis"},"基准 RMS:",-1)),r("span",Si,h(s.calibrationSettings.baselineRms!=null?s.calibrationSettings.baselineRms.toFixed(6):"未校准"),1)]),r("div",null,[e[67]||(e[67]=r("span",{class:"text-body-2 text-medium-emphasis"},"最大分贝:",-1)),r("span",Di,h(s.calibrationSettings.maxLevelDb)+" dB ",1)])])]),_:1})]),_:1}),r("div",xi,[o(x,{size:"18",class:"mr-2",color:"primary"},{default:a(()=>[...e[69]||(e[69]=[u(" mdi-auto-fix ",-1)])]),_:1}),e[70]||(e[70]=r("span",{class:"text-subtitle-2 font-weight-medium"},"自动校准",-1))]),e[74]||(e[74]=r("div",{class:"text-caption text-medium-emphasis mb-3"}," 在已知环境分贝的场景下,输入当前环境的真实分贝值,点击开始后保持环境安静 3 秒。 ",-1)),r("div",ki,[o(se,{modelValue:s.calibrateTargetDb,"onUpdate:modelValue":e[8]||(e[8]=d=>s.calibrateTargetDb=d),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"目标分贝",suffix:"dB","hide-details":"",style:{"max-width":"160px"},min:20,max:80},null,8,["modelValue"]),o(b,{color:"deep-purple",variant:"tonal","prepend-icon":"mdi-crosshairs-gps",loading:s.isCalibrating,disabled:!i.isMonitoring,onClick:n.doAutoCalibrate},{default:a(()=>[...e[71]||(e[71]=[u(" 开始校准 ",-1)])]),_:1},8,["loading","disabled","onClick"]),i.isMonitoring?w("",!0):(c(),f("span",Ci," 需先开启监测 ")),s.calibrateMessage?(c(),f("span",{key:1,class:O(["text-caption",s.calibrateSuccess?"text-success":"text-error"])},h(s.calibrateMessage),3)):w("",!0)]),o(F,{class:"mb-5"}),r("div",Ti,[o(x,{size:"18",class:"mr-2",color:"orange"},{default:a(()=>[...e[72]||(e[72]=[u(" mdi-pencil-ruler ",-1)])]),_:1}),e[73]||(e[73]=r("span",{class:"text-subtitle-2 font-weight-medium"},"手动校准 / 参数调整",-1))]),e[75]||(e[75]=r("div",{class:"text-caption text-medium-emphasis mb-3"}," 直接输入校准参数。修改后点击保存生效。 ",-1)),r("div",_i,[o(se,{modelValue:s.editBaselineDb,"onUpdate:modelValue":e[9]||(e[9]=d=>s.editBaselineDb=d),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"基准分贝",suffix:"dB","hide-details":"",style:{"max-width":"160px"},min:20,max:80},null,8,["modelValue"]),o(se,{modelValue:s.editBaselineRms,"onUpdate:modelValue":e[10]||(e[10]=d=>s.editBaselineRms=d),density:"compact",variant:"outlined",label:"基准 RMS","hide-details":"",style:{"max-width":"200px"},placeholder:"如 0.003200"},null,8,["modelValue"]),o(se,{modelValue:s.editMaxLevelDb,"onUpdate:modelValue":e[11]||(e[11]=d=>s.editMaxLevelDb=d),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"最大显示分贝",suffix:"dB","hide-details":"",style:{"max-width":"180px"},min:40,max:120},null,8,["modelValue"])])]),_:1}),o(j,{class:"px-4 pb-4"},{default:a(()=>[o(b,{variant:"text","prepend-icon":"mdi-restore",onClick:n.resetCalibration},{default:a(()=>[...e[76]||(e[76]=[u(" 恢复默认 ",-1)])]),_:1},8,["onClick"]),o(E),o(b,{color:"primary",variant:"elevated","prepend-icon":"mdi-content-save",onClick:n.saveManualCalibration},{default:a(()=>[...e[77]||(e[77]=[u(" 保存校准 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(B,{modelValue:n.showConfirmClear,"onUpdate:modelValue":e[14]||(e[14]=d=>n.showConfirmClear=d),"max-width":"360"},{default:a(()=>[o(_,null,{default:a(()=>[o(I,null,{default:a(()=>[...e[78]||(e[78]=[u("确认清空",-1)])]),_:1}),o(T,null,{default:a(()=>[u(h(s.confirmClearMode==="all"?"确定要清空所有日期的统计报告吗?此操作不可撤销。":`确定要清空 ${n.formatDateLabel(i.selectedDate)} 的统计报告吗?此操作不可撤销。`),1)]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{variant:"text",onClick:e[13]||(e[13]=d=>s.confirmClearMode="")},{default:a(()=>[...e[79]||(e[79]=[u(" 取消 ",-1)])]),_:1}),o(b,{color:"error",onClick:n.doClearReports},{default:a(()=>[...e[80]||(e[80]=[u(" 确认清空 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model-value"])}const qe=H(ss,[["render",Mi],["__scopeId","data-v-5d732295"]]),Ei=Object.freeze(Object.defineProperty({__proto__:null,default:qe},Symbol.toStringTag,{value:"Module"})),Ri=A(()=>N(()=>Promise.resolve().then(()=>Ei),void 0,import.meta.url)),Ii=2,Vi=.9,Ni=.6,Pi={name:"TimeCard",components:{NoiseMonitorDetail:Ri},data(){return{now:new Date,timer:null,unwatch:null,fontSize:28,showFullscreen:!1,showSettings:!1,timeCardEnabled:!0,use12hClock:!1,fullscreenMode:"clock",toolbarVisible:!0,toolbarTimer:null,countdownHours:0,countdownMinutes:5,countdownSeconds:0,countdownRunning:!1,countdownRemaining:0,countdownTotal:0,countdownTimer:null,countdownLastTick:null,countdownPresets:[{label:"1 分钟",h:0,m:1,s:0},{label:"3 分钟",h:0,m:3,s:0},{label:"5 分钟",h:0,m:5,s:0},{label:"10 分钟",h:0,m:10,s:0},{label:"15 分钟",h:0,m:15,s:0},{label:"30 分钟",h:0,m:30,s:0},{label:"1 小时",h:1,m:0,s:0}],countdownEndedDialog:!1,overtimeElapsed:0,overtimeTimer:null,overtimeLastTick:null,stopwatchRunning:!1,stopwatchElapsed:0,stopwatchTimer:null,stopwatchLastTick:null,laps:[],lastLapElapsed:0,noiseEnabled:!1,noiseMonitoring:!1,noiseStatus:"initializing",noiseCurrentDbfs:-100,noiseCurrentDisplayDb:0,noiseSmoothedDb:0,noiseScore:null,noiseScoreDetail:null,noiseRingBuffer:[],noiseLastSlice:null,noiseHistory:[],noiseUnsubscribe:null,showNoiseDetail:!1,noiseSessionConfig:null,noiseSessionActive:!1,noiseSessionData:null,noiseSessionCheckTimer:null,noiseReportMeta:{},noiseSelectedDate:"",noiseCurrentDateReports:[],showMicPermissionDialog:!1,micPermissionState:""}},computed:{timeString(){const t=this.now.getHours(),e=String(this.now.getMinutes()).padStart(2,"0");return this.use12hClock?`${t%12||12}:${e}`:`${String(t).padStart(2,"0")}:${e}`},amPmString(){return this.now.getHours()<12?"AM":"PM"},secondsString(){return`:${String(this.now.getSeconds()).padStart(2,"0")}`},dateString(){const t=this.now.getFullYear(),e=this.now.getMonth()+1,i=this.now.getDate();return`${t}年${e}月${i}日`},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?"晚上":"深夜"},dayProgressPercent(){const t=this.now.getHours(),e=this.now.getMinutes(),i=this.now.getSeconds();return((t*3600+e*60+i)/86400*100).toFixed(1)},timeStyle(){return{"font-size":`${this.fontSize*Ii}px`,"font-weight":"700","line-height":"1","letter-spacing":"4px","font-variant-numeric":"tabular-nums"}},secondsStyle(){return{"font-size":`${this.fontSize*Vi}px`,"font-variant-numeric":"tabular-nums","vertical-align":"baseline","margin-left":"4px",opacity:"0.6"}},dateStyle(){return{"font-size":`${this.fontSize*Ni}px`,"letter-spacing":"1px"}},countdownTotalSetSeconds(){return this.countdownHours*3600+this.countdownMinutes*60+this.countdownSeconds},countdownDisplay(){const t=Math.max(0,Math.ceil(this.countdownRemaining/1e3)),e=Math.floor(t/3600),i=Math.floor(t%3600/60),l=t%60;return e>0?`${String(e).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}`:`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}`},countdownProgressPercent(){return this.countdownTotal<=0?0:(this.countdownTotal-this.countdownRemaining)/this.countdownTotal*100},overtimeDisplay(){const t=Math.floor(this.overtimeElapsed/1e3),e=Math.floor(t/3600),i=Math.floor(t%3600/60),l=t%60;return e>0?`${e}小时${i}分${l}秒`:i>0?`${i}分${l}秒`:`${l}秒`},stopwatchDisplay(){const t=this.stopwatchElapsed,e=Math.floor(t/1e3),i=Math.floor(e/3600),l=Math.floor(e%3600/60),s=e%60,n=Math.floor(t%1e3/10);return i>0?`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}:${String(s).padStart(2,"0")}.${String(n).padStart(2,"0")}`:`${String(l).padStart(2,"0")}:${String(s).padStart(2,"0")}.${String(n).padStart(2,"0")}`},noiseDisplayDb(){return!this.noiseMonitoring||this.noiseStatus!=="active"?"--":Math.round(this.noiseSmoothedDb)},noiseDbColor(){const t=typeof this.noiseDisplayDb=="number"?this.noiseDisplayDb:0;return t<40?"success":t<55?"light-green":t<70?"warning":t<85?"orange":"error"},noiseIconColor(){return this.noiseMonitoring?this.noiseDbColor:"grey"},noiseStatusText(){if(!this.noiseMonitoring||this.noiseStatus!=="active")return"未监测";const t=typeof this.noiseDisplayDb=="number"?this.noiseDisplayDb:0;return t<30?"极其安静":t<40?"非常安静":t<50?"安静":t<60?"正常交谈":t<70?"较为嘈杂":t<80?"嘈杂":t<90?"非常嘈杂":"极度嘈杂"}},watch:{showFullscreen(t){t?(this.handleKeydown=e=>{e.key==="Escape"&&(this.showSettings?this.showSettings=!1:this.countdownEndedDialog&&this.dismissCountdownDialog(),e.preventDefault(),e.stopPropagation())},window.addEventListener("keydown",this.handleKeydown,!0),this.showToolbar()):(this.handleKeydown&&(window.removeEventListener("keydown",this.handleKeydown,!0),this.handleKeydown=null),this.clearToolbarTimer())}},async mounted(){if(this.loadSettings(),this.startTimer(),this.unwatch=Te(()=>{this.loadSettings()}),this.noiseEnabled=D("noiseMonitor.enabled"),this.noiseEnabled){this.noiseHistory=K.getHistory();const t=await this.checkMicPermission();this.micPermissionState=t,t==="granted"?this.loadNoiseSessionConfig().then(()=>{this.startSessionCheck(),D("noiseMonitor.autoStart")&&!this.noiseMonitoring&&this.startNoise()}):t==="prompt"&&(D("noiseMonitor.permissionDismissed")||(this.showMicPermissionDialog=!0))}},beforeUnmount(){this.stopTimer(),this.clearCountdownTimer(),this.clearStopwatchTimer(),this.clearToolbarTimer(),this.dismissCountdownDialog(),this.stopNoise(),this.stopSessionCheck(),this.unwatch&&this.unwatch(),this.handleKeydown&&window.removeEventListener("keydown",this.handleKeydown,!0)},methods:{loadSettings(){this.fontSize=ne.getSetting("font.size"),this.timeCardEnabled=D("timeCard.enabled"),this.use12hClock=D("timeCard.use12h"),this.noiseEnabled=D("noiseMonitor.enabled")},setTimeCardEnabled(t){this.timeCardEnabled=t,q("timeCard.enabled",t)},setUse12hClock(t){this.use12hClock=t,q("timeCard.use12h",t)},startTimer(){this.timer=setInterval(()=>{this.now=new Date},1e3)},stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=null)},showToolbar(){this.toolbarVisible=!0,this.clearToolbarTimer(),this.toolbarTimer=setTimeout(()=>{this.toolbarVisible=!1},3e3)},clearToolbarTimer(){this.toolbarTimer&&(clearTimeout(this.toolbarTimer),this.toolbarTimer=null)},applyCountdownPreset(t){this.countdownHours=t.h,this.countdownMinutes=t.m,this.countdownSeconds=t.s},startCountdown(){const t=this.countdownTotalSetSeconds*1e3;t<=0||(this.countdownTotal=t,this.countdownRemaining=t,this.countdownRunning=!0,this.countdownLastTick=Date.now(),this.countdownTimer=setInterval(()=>{this.tickCountdown()},50))},tickCountdown(){const t=Date.now(),e=t-this.countdownLastTick;this.countdownLastTick=t,this.countdownRemaining=Math.max(0,this.countdownRemaining-e),this.countdownRemaining<=0&&(this.countdownRunning=!1,this.clearCountdownTimer(),vt(wt),this.showCountdownEndedDialog())},toggleCountdown(){this.countdownRunning?(this.countdownRunning=!1,this.clearCountdownTimer()):(this.countdownRunning=!0,this.countdownLastTick=Date.now(),this.countdownTimer=setInterval(()=>{this.tickCountdown()},50))},resetCountdown(){this.countdownRunning=!1,this.countdownRemaining=0,this.countdownTotal=0,this.clearCountdownTimer(),this.dismissCountdownDialog()},showCountdownEndedDialog(){this.countdownEndedDialog=!0,this.overtimeElapsed=0,this.overtimeLastTick=Date.now(),this.overtimeTimer=setInterval(()=>{const t=Date.now();this.overtimeElapsed+=t-this.overtimeLastTick,this.overtimeLastTick=t},200)},dismissCountdownDialog(){this.countdownEndedDialog=!1,this.overtimeElapsed=0,this.overtimeTimer&&(clearInterval(this.overtimeTimer),this.overtimeTimer=null)},formatCountdownTotal(t){const e=Math.round(t/1e3),i=Math.floor(e/3600),l=Math.floor(e%3600/60),s=e%60,n=[];return i>0&&n.push(`${i}小时`),l>0&&n.push(`${l}分钟`),s>0&&n.push(`${s}秒`),n.join("")||"0秒"},clearCountdownTimer(){this.countdownTimer&&(clearInterval(this.countdownTimer),this.countdownTimer=null)},toggleStopwatch(){this.stopwatchRunning?(this.stopwatchRunning=!1,this.clearStopwatchTimer()):(this.stopwatchRunning=!0,this.stopwatchLastTick=Date.now(),this.stopwatchTimer=setInterval(()=>{this.tickStopwatch()},30))},tickStopwatch(){const t=Date.now();this.stopwatchElapsed+=t-this.stopwatchLastTick,this.stopwatchLastTick=t},addLap(){const t=this.stopwatchElapsed-this.lastLapElapsed;this.laps.unshift({split:t,total:this.stopwatchElapsed}),this.lastLapElapsed=this.stopwatchElapsed},resetStopwatch(){this.stopwatchRunning=!1,this.stopwatchElapsed=0,this.lastLapElapsed=0,this.laps=[],this.clearStopwatchTimer()},clearStopwatchTimer(){this.stopwatchTimer&&(clearInterval(this.stopwatchTimer),this.stopwatchTimer=null)},formatMs(t){const e=Math.floor(t/1e3),i=Math.floor(e/60),l=e%60,s=Math.floor(t%1e3/10);return`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}.${String(s).padStart(2,"0")}`},async checkMicPermission(){try{return navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices&&!(await navigator.mediaDevices.enumerateDevices()).some(l=>l.kind==="audioinput")?"unavailable":!navigator.permissions||!navigator.permissions.query?"granted":(await navigator.permissions.query({name:"microphone"})).state}catch{return"prompt"}},async grantMicPermission(){this.showMicPermissionDialog=!1,await this.loadNoiseSessionConfig(),this.startSessionCheck(),await this.startNoise(),this.micPermissionState=await this.checkMicPermission()},dismissMicPermission(){this.showMicPermissionDialog=!1,q("noiseMonitor.permissionDismissed",!0)},onPermissionDialogToggle(t){this.noiseEnabled=t,q("noiseMonitor.enabled",t),t||(this.showMicPermissionDialog=!1,q("noiseMonitor.permissionDismissed",!0))},async startNoise(){try{await K.start(),this.noiseMonitoring=!0,this.noiseUnsubscribe=K.subscribe(t=>{this.noiseStatus=t.status,this.noiseCurrentDbfs=t.currentDbfs,this.noiseCurrentDisplayDb=t.currentDisplayDb;const e=.25,i=t.currentDisplayDb;this.noiseSmoothedDb=this.noiseSmoothedDb===0?i:this.noiseSmoothedDb*(1-e)+i*e,this.noiseRingBuffer=t.ringBuffer||[],this.noiseLastSlice=t.lastSlice||null,this.noiseScore=t.currentScore??null,this.noiseScoreDetail=t.currentScoreDetail??null,this.noiseHistory=K.getHistory(),this.noiseSessionActive&&this.noiseSessionData&&this.collectSessionSample(t)})}catch(t){console.error("噪音监测启动失败:",t),this.noiseStatus="error"}},stopNoise(){this.noiseUnsubscribe&&(this.noiseUnsubscribe(),this.noiseUnsubscribe=null),this.noiseMonitoring&&K.stop(),this.noiseMonitoring=!1,this.noiseStatus="initializing",this.noiseSmoothedDb=0,this.noiseScore=null,this.noiseScoreDetail=null},clearNoiseHistory(){K.clearHistory(),this.noiseHistory=[]},onNoiseClick(){if(this.micPermissionState==="denied"||this.micPermissionState==="unavailable"){this.showNoiseDetail=!0;return}this.noiseMonitoring?this.showNoiseDetail=!0:this.startNoise()},async loadNoiseSessionConfig(){try{const t=await R.loadData("noise-session-config"),e=(t==null?void 0:t.data)||t;e&&e.sessions?this.noiseSessionConfig=e:this.noiseSessionConfig={sessions:[{name:"第1节晚自习",start:"19:20",duration:70,enabled:!0},{name:"第2节晚自习",start:"20:20",duration:110,enabled:!0}],alertThresholdDb:55},await this.loadSessionReports()}catch(t){console.error("加载噪音会话配置失败:",t),this.noiseSessionConfig={sessions:[{name:"第1节晚自习",start:"19:20",duration:70,enabled:!0},{name:"第2节晚自习",start:"20:20",duration:110,enabled:!0}],alertThresholdDb:55}}},async saveNoiseSessionConfig(){try{await R.saveData("noise-session-config",this.noiseSessionConfig)}catch(t){console.error("保存噪音会话配置失败:",t)}},formatDateKey(t){const e=new Date(t);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`},async loadReportMeta(){try{const t=await R.loadData("noise-reports-meta"),e=(t==null?void 0:t.data)||t;if(e&&e.dates){const i=new Date;i.setDate(i.getDate()-30);const l=this.formatDateKey(i.getTime()),s={};for(const[n,d]of Object.entries(e.dates))n>=l&&(s[n]=d);this.noiseReportMeta={dates:s}}else this.noiseReportMeta={dates:{}}}catch{this.noiseReportMeta={dates:{}}}},async saveReportMeta(){try{await R.saveData("noise-reports-meta",this.noiseReportMeta)}catch{console.error("保存报告元数据失败")}},async loadReportsForDate(t){this.noiseSelectedDate=t;try{const e=await R.loadData(`noise-reports-${t}`),i=(e==null?void 0:e.data)||e;this.noiseCurrentDateReports=Array.isArray(i)?i:[]}catch{this.noiseCurrentDateReports=[]}},async saveReportToDate(t){const e=this.formatDateKey(t.startTime);let i=[];try{const s=await R.loadData(`noise-reports-${e}`),n=(s==null?void 0:s.data)||s;Array.isArray(n)&&(i=n)}catch{}i.push(t),await R.saveData(`noise-reports-${e}`,i),this.noiseReportMeta.dates||(this.noiseReportMeta.dates={});const l=i.map(s=>s.score);this.noiseReportMeta.dates[e]={count:i.length,avgScore:Math.round(l.reduce((s,n)=>s+n,0)/l.length),sessions:i.map(s=>s.sessionName),lastUpdated:Date.now()},await this.saveReportMeta(),this.noiseSelectedDate===e&&(this.noiseCurrentDateReports=i)},async loadSessionReports(){await this.loadReportMeta();const t=this.formatDateKey(Date.now());await this.loadReportsForDate(t)},startSessionCheck(){this.checkSessionTime(),this.noiseSessionCheckTimer=setInterval(()=>{this.checkSessionTime()},3e4)},stopSessionCheck(){this.noiseSessionCheckTimer&&(clearInterval(this.noiseSessionCheckTimer),this.noiseSessionCheckTimer=null)},checkSessionTime(){var l;if(!((l=this.noiseSessionConfig)!=null&&l.sessions))return;const t=new Date,e=t.getHours()*60+t.getMinutes(),i=this.noiseSessionConfig.sessions.find(s=>{if(!s.enabled)return!1;const[n,d]=s.start.split(":").map(Number),m=n*60+d,p=m+(s.duration||70);return e>=m&&e0){const i=this.noiseSessionData.samples,l=i.length>0?i[i.length-1].t:0;Date.now()-l>=2e3&&i.push({t:Date.now(),db:Math.round(e*10)/10})}},generateSessionReport(t){const e=t.samples,i=e.map(W=>W.db),l=t.alertThresholdDb,s=t.endTime-t.startTime;if(i.length===0)return{sessionName:t.sessionName,startTime:t.startTime,endTime:t.endTime,duration:s,avgDb:0,maxDb:0,score:100,overThresholdDuration:0,overThresholdRatio:0,segmentCount:0,samples:[],scorePenalties:{sustained:0,time:0,segment:0}};const n=Math.round(i.reduce((W,ge)=>W+ge,0)/i.length*10)/10,d=Math.round(Math.max(...i)*10)/10;let m=0;i.forEach(W=>{W>l&&m++});const p=m/i.length,g=Math.round(p*s/1e3);let S=0,U=!1;i.forEach(W=>{W>l&&!U&&(S++,U=!0),W<=l&&(U=!1)});const L=Math.min(40,Math.max(0,(n-l)/30*40)),X=Math.min(30,p*30),Z=Math.min(30,S/Math.max(1,s/6e4)/6*30),fe=Math.max(0,Math.round(100-L-X-Z));return{sessionName:t.sessionName,startTime:t.startTime,endTime:t.endTime,duration:s,avgDb:n,maxDb:d,score:fe,overThresholdDuration:g,overThresholdRatio:Math.round(p*1e3)/10,segmentCount:S,samples:e.length>500?this.downsampleArray(e,500):e,scorePenalties:{sustained:Math.round(L),time:Math.round(X),segment:Math.round(Z)},alertThresholdDb:l}},downsampleArray(t,e){const i=t.length/e,l=[];for(let s=0;ss.showFullscreen=!0)},{default:a(()=>[o(T,{class:"pa-6 d-flex flex-column",style:{height:"100%"}},{default:a(()=>[r("div",Ai,[r("div",Li,[r("div",{class:"time-display",style:P(n.timeStyle)},[u(h(n.timeString),1),r("span",{class:"seconds-text",style:P(n.secondsStyle)},h(n.secondsString),5),s.use12hClock?(c(),f("span",{key:0,class:"ampm-text",style:P(n.secondsStyle)},h(n.amPmString),5)):w("",!0)],4),r("div",{class:"date-line mt-3",style:P(n.dateStyle)},h(n.dateString)+" "+h(n.weekdayString)+" "+h(n.periodOfDay),5)]),s.noiseEnabled?(c(),f("div",{key:0,class:"d-flex flex-column align-center justify-center",style:{"min-width":"80px"},onClick:e[0]||(e[0]=Re((...m)=>n.onNoiseClick&&n.onNoiseClick(...m),["stop"]))},[s.micPermissionState==="denied"?(c(),f(k,{key:0},[o(x,{color:"error",size:"24"},{default:a(()=>[...e[18]||(e[18]=[u(" mdi-microphone-off ",-1)])]),_:1}),e[19]||(e[19]=r("div",{class:"text-caption text-error mt-1",style:{"white-space":"nowrap","font-size":"10px"}}," 权限被拒绝 ",-1))],64)):s.micPermissionState==="unavailable"?(c(),f(k,{key:1},[o(x,{color:"warning",size:"24"},{default:a(()=>[...e[20]||(e[20]=[u(" mdi-microphone-question ",-1)])]),_:1}),e[21]||(e[21]=r("div",{class:"text-caption text-warning mt-1",style:{"white-space":"nowrap","font-size":"10px"}}," 无麦克风 ",-1))],64)):(c(),f(k,{key:2},[r("div",{class:O(["noise-side-db font-weight-bold",`text-${n.noiseDbColor}`]),style:P({fontSize:`${s.fontSize*.9}px`,lineHeight:1,fontVariantNumeric:"tabular-nums"})},h(n.noiseDisplayDb),7),r("div",{class:O(["text-caption mt-1",`text-${n.noiseDbColor}`]),style:{"white-space":"nowrap","font-size":"11px"}},h(n.noiseStatusText),3),s.noiseMonitoring?w("",!0):(c(),f("div",zi," 点击开启 "))],64))])):w("",!0)])]),_:1}),s.noiseEnabled?(c(),v(d,{key:0,modelValue:s.showNoiseDetail,"onUpdate:modelValue":e[1]||(e[1]=m=>s.showNoiseDetail=m),status:s.noiseStatus,"current-db":n.noiseDisplayDb,"current-dbfs":s.noiseCurrentDbfs,"noise-level":n.noiseStatusText,"db-color":n.noiseDbColor,"current-score":s.noiseScore,"score-detail":s.noiseScoreDetail,"ring-buffer":s.noiseRingBuffer,"last-slice":s.noiseLastSlice,history:s.noiseHistory,"is-monitoring":s.noiseMonitoring,"mic-permission-state":s.micPermissionState,"session-active":s.noiseSessionActive,"session-data":s.noiseSessionData,"report-meta":s.noiseReportMeta,"selected-date":s.noiseSelectedDate,"date-reports":s.noiseCurrentDateReports,onStart:n.startNoise,onStop:n.stopNoise,onClearHistory:n.clearNoiseHistory,onSelectDate:n.onSelectReportDate,onClearDateReports:n.onClearDateReports,onClearAllReports:n.onClearAllReports},null,8,["modelValue","status","current-db","current-dbfs","noise-level","db-color","current-score","score-detail","ring-buffer","last-slice","history","is-monitoring","mic-permission-state","session-active","session-data","report-meta","selected-date","date-reports","onStart","onStop","onClearHistory","onSelectDate","onClearDateReports","onClearAllReports"])):w("",!0),o(B,{modelValue:s.showMicPermissionDialog,"onUpdate:modelValue":e[2]||(e[2]=m=>s.showMicPermissionDialog=m),"max-width":"480",persistent:""},{default:a(()=>[o(_,{rounded:"xl"},{default:a(()=>[r("div",Fi,[o(st,{color:"primary",size:"72"},{default:a(()=>[o(x,{icon:"mdi-microphone-outline",size:"36"})]),_:1})]),o(I,{class:"text-center text-h6 pt-4"},{default:a(()=>[...e[22]||(e[22]=[u(" 开启环境噪音监测 ",-1)])]),_:1}),o(T,{class:"text-body-2 text-medium-emphasis px-6"},{default:a(()=>[e[27]||(e[27]=r("p",{class:"mb-3"}," 该功能可以实时监测教室环境噪音,帮助营造安静的学习氛围: ",-1)),r("div",Bi,[o(x,{icon:"mdi-chart-line",size:"18",color:"primary",class:"mr-2 mt-1 flex-shrink-0"}),e[23]||(e[23]=r("span",null,"实时显示环境分贝数与噪音等级评估",-1))]),r("div",Oi,[o(x,{icon:"mdi-clock-check-outline",size:"18",color:"primary",class:"mr-2 mt-1 flex-shrink-0"}),e[24]||(e[24]=r("span",null,"在晚自习时段自动记录并生成统计报告",-1))]),r("div",Ui,[o(x,{icon:"mdi-shield-check-outline",size:"18",color:"primary",class:"mr-2 mt-1 flex-shrink-0"}),e[25]||(e[25]=r("span",null,"音频数据仅在本地处理,不会上传或存储录音",-1))]),o(le,{type:"info",variant:"tonal",density:"compact",class:"mb-2"},{default:a(()=>[...e[26]||(e[26]=[u(" 需要授予麦克风权限才能使用此功能。浏览器将弹出权限请求,请点击「允许」。 ",-1)])]),_:1})]),_:1}),o(F),o(T,{class:"px-6 py-3"},{default:a(()=>[o(J,{density:"compact",class:"pa-0"},{default:a(()=>[o(G,{class:"px-0"},{prepend:a(()=>[o(x,{icon:"mdi-microphone",class:"mr-3"})]),append:a(()=>[o(be,{"model-value":s.noiseEnabled,"hide-details":"",density:"comfortable","onUpdate:modelValue":n.onPermissionDialogToggle},null,8,["model-value","onUpdate:modelValue"])]),default:a(()=>[o(oe,null,{default:a(()=>[...e[28]||(e[28]=[u("启用噪音监测",-1)])]),_:1}),o(ae,{class:"text-caption"},{default:a(()=>[...e[29]||(e[29]=[u(" 关闭后将不再提醒 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),o(j,{class:"px-6 pb-5"},{default:a(()=>[o(b,{variant:"text",onClick:n.dismissMicPermission},{default:a(()=>[...e[30]||(e[30]=[u(" 暂不开启 ",-1)])]),_:1},8,["onClick"]),o(E),o(b,{color:"primary",variant:"elevated","prepend-icon":"mdi-microphone",disabled:!s.noiseEnabled,onClick:n.grantMicPermission},{default:a(()=>[...e[31]||(e[31]=[u(" 授权并开始 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(B,{modelValue:s.showFullscreen,"onUpdate:modelValue":e[14]||(e[14]=m=>s.showFullscreen=m),fullscreen:"",scrim:!1,persistent:"",transition:"dialog-bottom-transition"},{default:a(()=>[o(_,{class:"fullscreen-time-card d-flex flex-column",onMousemove:n.showToolbar,onTouchstart:n.showToolbar},{default:a(()=>[o(dt,{name:"toolbar-fade"},{default:a(()=>[ct(r("div",ji,[o(Be,{modelValue:s.fullscreenMode,"onUpdate:modelValue":e[4]||(e[4]=m=>s.fullscreenMode=m),density:"comfortable",color:"primary","align-tabs":"center",class:"fullscreen-tabs"},{default:a(()=>[o($,{value:"clock"},{default:a(()=>[o(x,{start:"",icon:"mdi-clock-outline"}),e[32]||(e[32]=u(" 时钟 ",-1))]),_:1}),o($,{value:"countdown"},{default:a(()=>[o(x,{start:"",icon:"mdi-timer-sand"}),e[33]||(e[33]=u(" 倒计时 ",-1))]),_:1}),o($,{value:"stopwatch"},{default:a(()=>[o(x,{start:"",icon:"mdi-timer-outline"}),e[34]||(e[34]=u(" 秒表 ",-1))]),_:1})]),_:1},8,["modelValue"])],512),[[ut,s.toolbarVisible]])]),_:1}),r("div",Hi,[o(Oe,{modelValue:s.fullscreenMode,"onUpdate:modelValue":e[11]||(e[11]=m=>s.fullscreenMode=m),class:"fullscreen-tabs-window"},{default:a(()=>[o(ee,{value:"clock"},{default:a(()=>[r("div",Wi,[r("div",Gi,[u(h(n.timeString),1),r("span",Ki,h(n.secondsString),1),s.use12hClock?(c(),f("span",qi,h(n.amPmString),1)):w("",!0)]),r("div",Yi,h(n.dateString)+" "+h(n.weekdayString)+" "+h(n.periodOfDay),1),r("div",Ji,[r("div",Xi," 今日已过 "+h(n.dayProgressPercent)+"% ",1),o(re,{"model-value":n.dayProgressPercent,color:"primary",height:"6",rounded:"",style:{"max-width":"400px",width:"80vw"}},null,8,["model-value"])]),e[35]||(e[35]=r("div",{class:"fullscreen-extra mt-8 text-medium-emphasis d-flex ga-8"},null,-1))])]),_:1}),o(ee,{value:"countdown"},{default:a(()=>[r("div",Zi,[!s.countdownRunning&&s.countdownRemaining<=0?(c(),f(k,{key:0},[r("div",Qi,[r("div",$i,[o(b,{icon:"mdi-chevron-up",variant:"text",size:"small",onClick:e[5]||(e[5]=m=>s.countdownHours=Math.min(s.countdownHours+1,99))}),r("div",en,h(String(s.countdownHours).padStart(2,"0")),1),o(b,{icon:"mdi-chevron-down",variant:"text",size:"small",onClick:e[6]||(e[6]=m=>s.countdownHours=Math.max(s.countdownHours-1,0))}),e[36]||(e[36]=r("div",{class:"text-caption text-medium-emphasis"}," 时 ",-1))]),e[39]||(e[39]=r("div",{class:"countdown-sep"}," : ",-1)),r("div",tn,[o(b,{icon:"mdi-chevron-up",variant:"text",size:"small",onClick:e[7]||(e[7]=m=>s.countdownMinutes=Math.min(s.countdownMinutes+1,59))}),r("div",sn,h(String(s.countdownMinutes).padStart(2,"0")),1),o(b,{icon:"mdi-chevron-down",variant:"text",size:"small",onClick:e[8]||(e[8]=m=>s.countdownMinutes=Math.max(s.countdownMinutes-1,0))}),e[37]||(e[37]=r("div",{class:"text-caption text-medium-emphasis"}," 分 ",-1))]),e[40]||(e[40]=r("div",{class:"countdown-sep"}," : ",-1)),r("div",nn,[o(b,{icon:"mdi-chevron-up",variant:"text",size:"small",onClick:e[9]||(e[9]=m=>s.countdownSeconds=Math.min(s.countdownSeconds+1,59))}),r("div",on,h(String(s.countdownSeconds).padStart(2,"0")),1),o(b,{icon:"mdi-chevron-down",variant:"text",size:"small",onClick:e[10]||(e[10]=m=>s.countdownSeconds=Math.max(s.countdownSeconds-1,0))}),e[38]||(e[38]=r("div",{class:"text-caption text-medium-emphasis"}," 秒 ",-1))])]),r("div",an,[(c(!0),f(k,null,M(s.countdownPresets,m=>(c(),v(b,{key:m.label,variant:"tonal",rounded:"xl",onClick:p=>n.applyCountdownPreset(m)},{default:a(()=>[u(h(m.label),1)]),_:2},1032,["onClick"]))),128))]),r("div",rn,[o(b,{color:"primary",size:"x-large",rounded:"xl",disabled:n.countdownTotalSetSeconds<=0,"prepend-icon":"mdi-play",onClick:n.startCountdown},{default:a(()=>[...e[41]||(e[41]=[u(" 开始 ",-1)])]),_:1},8,["disabled","onClick"])])],64)):(c(),f(k,{key:1},[r("div",{class:O(["fullscreen-time-display",{"countdown-ended":s.countdownRemaining<=0&&!s.countdownRunning}])},h(n.countdownDisplay),3),r("div",ln,h(s.countdownRunning?"倒计时进行中":s.countdownRemaining<=0?"时间到!":"已暂停"),1),o(re,{"model-value":n.countdownProgressPercent,color:s.countdownRemaining<=0?"error":"primary",class:"mt-8",height:"6",rounded:"",style:{"max-width":"400px",width:"80vw"}},null,8,["model-value","color"]),r("div",dn,[s.countdownRemaining>0?(c(),v(b,{key:0,icon:s.countdownRunning?"mdi-pause":"mdi-play",color:s.countdownRunning?"warning":"primary",size:"x-large",variant:"tonal",onClick:n.toggleCountdown},null,8,["icon","color","onClick"])):w("",!0),o(b,{icon:"mdi-stop",color:"error",size:"x-large",variant:"tonal",onClick:n.resetCountdown},null,8,["onClick"])])],64))])]),_:1}),o(ee,{value:"stopwatch"},{default:a(()=>[r("div",cn,[r("div",un,h(n.stopwatchDisplay),1),r("div",mn,h(s.stopwatchRunning?"计时中":s.stopwatchElapsed>0?"已暂停":"秒表"),1),r("div",hn,[o(b,{icon:s.stopwatchRunning?"mdi-pause":"mdi-play",color:s.stopwatchRunning?"warning":"primary",size:"x-large",variant:"tonal",onClick:n.toggleStopwatch},null,8,["icon","color","onClick"]),s.stopwatchRunning?(c(),v(b,{key:0,icon:"mdi-flag",color:"info",size:"x-large",variant:"tonal",onClick:n.addLap},null,8,["onClick"])):w("",!0),!s.stopwatchRunning&&s.stopwatchElapsed>0?(c(),v(b,{key:1,icon:"mdi-stop",color:"error",size:"x-large",variant:"tonal",onClick:n.resetStopwatch},null,8,["onClick"])):w("",!0)]),o(it,null,{default:a(()=>[s.laps.length>0?(c(),f("div",fn,[o(pt,{density:"compact",class:"stopwatch-laps-table"},{default:a(()=>[e[42]||(e[42]=r("thead",null,[r("tr",null,[r("th",null," # "),r("th",null," 计次 "),r("th",null," 总计 ")])],-1)),r("tbody",null,[(c(!0),f(k,null,M(s.laps,(m,p)=>(c(),f("tr",{key:p},[r("td",null,h(s.laps.length-p),1),r("td",null,h(n.formatMs(m.split)),1),r("td",null,h(n.formatMs(m.total)),1)]))),128))])]),_:1})])):w("",!0)]),_:1})])]),_:1})]),_:1},8,["modelValue"])]),r("div",gn,[o(b,{icon:"mdi-cog",variant:"text",size:"large",onClick:e[12]||(e[12]=Re(m=>s.showSettings=!0,["stop"]))}),o(b,{icon:"mdi-close",variant:"text",size:"large",class:"ml-2",onClick:e[13]||(e[13]=m=>s.showFullscreen=!1)})])]),_:1},8,["onMousemove","onTouchstart"])]),_:1},8,["modelValue"]),o(B,{modelValue:s.countdownEndedDialog,"onUpdate:modelValue":e[15]||(e[15]=m=>s.countdownEndedDialog=m),"max-width":"480",persistent:""},{default:a(()=>[o(_,{rounded:"xl"},{default:a(()=>[o(I,{class:"d-flex align-center justify-center pt-6"},{default:a(()=>[o(x,{color:"error",size:"32",class:"mr-2",icon:"mdi-alarm"}),e[43]||(e[43]=u(" 时间到! ",-1))]),_:1}),o(T,{class:"text-center pb-2"},{default:a(()=>[r("div",pn,h(n.formatCountdownTotal(s.countdownTotal)),1),e[44]||(e[44]=r("div",{class:"text-body-1 text-medium-emphasis"}," 设定的倒计时已结束 ",-1)),s.overtimeElapsed>0?(c(),f("div",yn,[o(z,{color:"error",variant:"tonal",size:"large","prepend-icon":"mdi-clock-alert-outline"},{default:a(()=>[u(" 已超时 "+h(n.overtimeDisplay),1)]),_:1})])):w("",!0)]),_:1}),o(j,{class:"justify-center pb-6"},{default:a(()=>[o(b,{color:"primary",variant:"tonal",size:"large",rounded:"xl","prepend-icon":"mdi-check",onClick:n.dismissCountdownDialog},{default:a(()=>[...e[45]||(e[45]=[u(" 知道了 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(B,{modelValue:s.showSettings,"onUpdate:modelValue":e[17]||(e[17]=m=>s.showSettings=m),"max-width":"420",scrim:!0},{default:a(()=>[o(_,{rounded:"xl"},{default:a(()=>[o(I,{class:"d-flex align-center"},{default:a(()=>[o(x,{class:"mr-2",icon:"mdi-cog"}),e[46]||(e[46]=u(" 时间卡片设置 ",-1))]),_:1}),o(T,null,{default:a(()=>[o(J,null,{default:a(()=>[o(G,null,{prepend:a(()=>[o(x,{class:"mr-3",icon:"mdi-clock-outline"})]),append:a(()=>[o(be,{"model-value":s.timeCardEnabled,"hide-details":"",density:"comfortable","onUpdate:modelValue":n.setTimeCardEnabled},null,8,["model-value","onUpdate:modelValue"])]),default:a(()=>[o(oe,null,{default:a(()=>[...e[47]||(e[47]=[u("显示时间卡片",-1)])]),_:1}),o(ae,null,{default:a(()=>[...e[48]||(e[48]=[u("在首页显示时间卡片,刷新后生效。",-1)])]),_:1})]),_:1}),o(G,null,{prepend:a(()=>[o(x,{class:"mr-3",icon:"mdi-clock-time-six-outline"})]),append:a(()=>[o(be,{"model-value":s.use12hClock,"hide-details":"",density:"comfortable","onUpdate:modelValue":n.setUse12hClock},null,8,["model-value","onUpdate:modelValue"])]),default:a(()=>[o(oe,null,{default:a(()=>[...e[49]||(e[49]=[u("12 小时制",-1)])]),_:1}),o(ae,null,{default:a(()=>[...e[50]||(e[50]=[u("以 12 小时制(AM/PM)显示时间。",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{variant:"text",onClick:e[16]||(e[16]=m=>s.showSettings=!1)},{default:a(()=>[...e[51]||(e[51]=[u(" 完成 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}const Ye=H(Pi,[["render",bn],["__scopeId","data-v-d5fb9d74"]]),vn={name:"HomeworkGrid",components:{HitokotoCard:We,TimeCard:Ye,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}},computed:{settings(){return settings}},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:D,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 N(async()=>{const{getSetting:l}=await import("./index-D042plwv.js").then(s=>s.aI);return{getSetting:l}},__vite__mapDeps([0,1,2,3]),import.meta.url),i=e("server.kvToken");if(i){const{default:l}=await N(async()=>{const{default:n}=await import("./dataProvider-CBH3Lw3D.js").then(d=>d.c);return{default:n}},__vite__mapDeps([4,5,0,1,2,3,6]),import.meta.url),s=e("server.domain");if(s)try{const n=await l.get(`${s}/kv/_token`,{headers:{Authorization:`Bearer ${i}`}});n.data&&typeof n.data.isReadOnly<"u"&&(this.isReadOnlyToken=n.data.isReadOnly)}catch(n){console.error("获取Token信息失败:",n)}}}}catch(t){console.error("检查只读状态失败:",t)}},resizeGridItem(t){const e=this.$refs.gridContainer;if(!e)return;const i=parseInt(window.getComputedStyle(e).getPropertyValue("grid-auto-rows")),l=parseInt(window.getComputedStyle(e).getPropertyValue("gap")),s=t.firstElementChild;if(!s)return;const n=s.getBoundingClientRect().height,d=Math.ceil((n+l)/(i+l));t.style.gridRowEnd=`span ${d}`},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,i=e.getBoundingClientRect(),l=(t.clientX-i.left)/i.width*100,s=(t.clientY-i.top)/i.height*100;e.style.setProperty("--x",`${l}%`),e.style.setProperty("--y",`${s}%`)},handleTouchMove(t){if(t.touches.length===1){const e=t.touches[0],i=t.currentTarget,l=i.getBoundingClientRect(),s=(e.clientX-l.left)/l.width*100,n=(e.clientY-l.top)/l.height*100;i.style.setProperty("--x",`${s}%`),i.style.setProperty("--y",`${n}%`)}}}},wn={ref:"gridContainer",class:"grid-masonry"},Sn=["data-key"],Dn={key:0,style:{height:"100%"}},xn={key:1,style:{height:"100%"}},kn={key:2,style:{height:"100%"}},Cn={class:"d-flex justify-space-between align-center mb-2"},Tn={class:"text-h6"},_n={key:0,class:"mb-2"},Mn={class:"text-error text-caption mb-1"},En={class:"d-flex flex-wrap",style:{gap:"4px"}},Rn={key:1,class:"mb-2"},In={class:"text-warning text-caption mb-1"},Vn={class:"d-flex flex-wrap",style:{gap:"4px"}},Nn={key:2,class:"mb-2"},Pn={class:"text-grey text-caption mb-1"},An={class:"d-flex flex-wrap",style:{gap:"4px"}},Ln={key:3,class:"text-success text-center mt-2"},zn={class:"empty-subjects mt-4"},Fn={key:0,class:"d-flex flex-wrap justify-center"},Bn={key:2,class:"empty-subjects-grid"};function On(t,e,i,l,s,n){const d=Ye,m=We,p=He;return c(),f(k,null,[r("div",wn,[o(Ie,{name:"grid"},{default:a(()=>[(c(!0),f(k,null,M(i.sortedItems,g=>(c(),f("div",{key:g.key,ref_for:!0,ref:"items","data-key":g.key,style:P({order:g.order}),class:"grid-item"},[g.type==="time"?(c(),f("div",Dn,[o(d)])):g.type==="hitokoto"?(c(),f("div",xn,[o(m)])):g.type==="exam"?(c(),f("div",kn,[o(p,{"exam-id":g.data.examId,"content-style":i.contentStyle,onClick:S=>t.$emit("open-exam-detail",g.data.examId)},null,8,["exam-id","content-style","onClick"])])):g.type==="attendance"?(c(),v(_,{key:3,class:O([{"glow-highlight":i.highlightedCards[g.key],"cursor-not-allowed":i.isEditingDisabled,"cursor-pointer":!i.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:e[0]||(e[0]=S=>n.handleCardClick("attendance",null)),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:a(()=>[o(I,{class:"d-flex align-center"},{default:a(()=>[o(x,{class:"mr-2",color:"primary",icon:"mdi-account-group"}),e[1]||(e[1]=u(" 出勤统计 ",-1))]),_:1}),o(T,null,{default:a(()=>[r("div",Cn,[e[2]||(e[2]=r("span",null,"应到/实到",-1)),r("span",Tn,h(g.data.total-g.data.exclude.length)+"/"+h(g.data.total-g.data.absent.length-!n.getSetting("display.lateStudentsArePresent")*g.data.late.length-g.data.exclude.length),1)]),o(F,{class:"mb-2"}),g.data.absent.length>0?(c(),f("div",_n,[r("div",Mn," 请假 ("+h(g.data.absent.length)+") ",1),r("div",En,[(c(!0),f(k,null,M(g.data.absent,S=>(c(),v(z,{key:S,color:"error",size:"x-small",variant:"flat"},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))])])):w("",!0),g.data.late.length>0?(c(),f("div",Rn,[r("div",In," 迟到 ("+h(g.data.late.length)+") ",1),r("div",Vn,[(c(!0),f(k,null,M(g.data.late,S=>(c(),v(z,{key:S,color:"warning",size:"x-small",variant:"flat"},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))])])):w("",!0),g.data.exclude.length>0?(c(),f("div",Nn,[r("div",Pn," 不参与 ("+h(g.data.exclude.length)+") ",1),r("div",An,[(c(!0),f(k,null,M(g.data.exclude,S=>(c(),v(z,{key:S,color:"grey",size:"x-small",variant:"flat"},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))])])):w("",!0),g.data.absent.length===0&&g.data.late.length===0&&g.data.exclude.length===0?(c(),f("div",Ln," 全勤 ")):w("",!0)]),_:2},1024)]),_:2},1032,["class","onMousemove","onTouchmove"])):g.type==="custom"?(c(),v(_,{key:4,class:O([{"glow-highlight":i.highlightedCards[g.key],"cursor-not-allowed":i.isEditingDisabled,"cursor-pointer":!i.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:S=>n.handleCardClick("dialog",g.key),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:a(()=>[o(I,{class:"text-primary"},{default:a(()=>[o(x,{class:"mr-2",icon:"mdi-card-text-outline",size:"small"}),u(" "+h(g.name),1)]),_:2},1024),o(T,{style:P(i.contentStyle)},{default:a(()=>[u(h(g.content),1)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"])):(c(),v(_,{key:5,class:O([{"glow-highlight":i.highlightedCards[g.key],"cursor-not-allowed":i.isEditingDisabled,"cursor-pointer":!i.isEditingDisabled},"glow-track"]),border:"",height:"100%",rounded:"xl",onClick:S=>n.handleCardClick("dialog",g.key),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:a(()=>[o(I,null,{default:a(()=>[u(h(g.name),1)]),_:2},1024),o(T,{style:P(i.contentStyle)},{default:a(()=>[o(J,null,{default:a(()=>[(c(!0),f(k,null,M(n.splitPoint(g.content),S=>(c(),v(G,{key:S},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"]))],12,Sn))),128))]),_:1})],512),r("div",zn,[i.isMobile?(c(),f("div",Fn,[(c(!0),f(k,null,M(i.unusedSubjects,g=>(c(),v(z,{key:g.name,class:"ma-1",color:"primary",variant:"tonal",onClick:S=>n.handleCardClick("dialog",g.name)},{default:a(()=>[o(x,{start:"",size:"small"},{default:a(()=>[u(h(s.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),u(" "+h(g.name),1)]),_:2},1032,["onClick"]))),128))])):i.emptySubjectDisplay==="button"?(c(),v(nt,{key:1,divided:"",variant:"tonal"},{default:a(()=>[(c(!0),f(k,null,M(i.unusedSubjects,g=>(c(),v(b,{key:g.name,onClick:S=>n.handleCardClick("dialog",g.name)},{default:a(()=>[o(x,{start:""},{default:a(()=>[u(h(s.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),u(" "+h(g.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})):(c(),f("div",Bn,[o(Ie,{name:"v-list"},{default:a(()=>[(c(!0),f(k,null,M(i.unusedSubjects,g=>(c(),v(_,{key:g.name,border:"",rounded:"xl",class:"empty-subject-card",onClick:S=>n.handleCardClick("dialog",g.name)},{default:a(()=>[o(I,{class:"text-subtitle-1"},{default:a(()=>[u(h(g.name),1)]),_:2},1024),o(T,{class:"text-center"},{default:a(()=>[s.isReadOnlyToken?(c(),f(k,{key:0},[o(x,{color:"grey",size:"small"},{default:a(()=>[...e[3]||(e[3]=[u(" mdi-cancel ",-1)])]),_:1}),e[4]||(e[4]=r("div",{class:"text-caption text-grey"}," 当日无作业 ",-1))],64)):(c(),f(k,{key:1},[o(x,{color:"grey",size:"small"},{default:a(()=>[...e[5]||(e[5]=[u(" 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 Un=H(vn,[["render",On],["__scopeId","data-v-65991b74"]]),jn={name:"HomeActions",props:{synced:Boolean,loadingUpload:Boolean,showRandomPickerButton:Boolean,showExamScheduleButton:Boolean,showListCardButton:Boolean,showFullscreenButton:Boolean,isFullscreen:Boolean,showAntiScreenBurnCard:Boolean,showTestCardButton:Boolean,showUafTransferButton:Boolean,uafTransferLoading:Boolean},emits:["upload","show-sync-message","open-random-picker","toggle-fullscreen","add-test-card","add-exam-card","open-uaf-export","open-uaf-import"]},Hn={class:"d-flex flex-wrap align-center mt-4"};function Wn(t,e,i,l,s,n){return c(),f(k,null,[r("div",Hn,[i.synced?(c(),v(b,{key:1,color:"success",size:"large",rounded:"xl",onClick:e[1]||(e[1]=d=>t.$emit("show-sync-message"))},{default:a(()=>[...e[10]||(e[10]=[u(" 同步完成 ",-1)])]),_:1})):(c(),v(b,{key:0,loading:i.loadingUpload,class:"ml-2",color:"error",size:"large",rounded:"xl",onClick:e[0]||(e[0]=d=>t.$emit("upload"))},{default:a(()=>[...e[9]||(e[9]=[u(" 上传 ",-1)])]),_:1},8,["loading"])),i.showUafTransferButton?(c(),v(St,{key:2,location:"bottom end"},{activator:a(({props:d})=>[o(b,mt(d,{disabled:i.uafTransferLoading,loading:i.uafTransferLoading,class:"ml-2",color:"indigo",size:"large",rounded:"xl"}),{default:a(()=>[o(x,{icon:"mdi-swap-vertical-bold"})]),_:1},16,["disabled","loading"])]),default:a(()=>[o(J,{density:"comfortable"},{default:a(()=>[o(G,{"prepend-icon":"mdi-file-export-outline",title:"导出 UAF",onClick:e[2]||(e[2]=d=>t.$emit("open-uaf-export"))}),o(G,{"prepend-icon":"mdi-file-import-outline",title:"导入 UAF",onClick:e[3]||(e[3]=d=>t.$emit("open-uaf-import"))})]),_:1})]),_:1})):w("",!0),e[15]||(e[15]=u()),i.showFullscreenButton?(c(),v(b,{key:3,color:i.isFullscreen?"blue-grey":"blue","prepend-icon":i.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",rounded:"xl",class:"ml-2",size:"large",onClick:e[4]||(e[4]=d=>t.$emit("toggle-fullscreen"))},{default:a(()=>[u(h(i.isFullscreen?"退出全屏":"全屏"),1)]),_:1},8,["color","prepend-icon"])):w("",!0),i.showRandomPickerButton?(c(),v(b,{key:4,"append-icon":"mdi-dice-multiple",class:"ml-2",color:"amber","prepend-icon":"mdi-account-question",size:"large",onClick:e[5]||(e[5]=d=>t.$emit("open-random-picker"))},{default:a(()=>[...e[11]||(e[11]=[u(" 随机点名 ",-1)])]),_:1})):w("",!0),i.showExamScheduleButton?(c(),v(b,{key:5,"prepend-icon":"mdi-calendar-check",size:"large",class:"ml-2",color:"green",onClick:e[6]||(e[6]=d=>t.$emit("add-exam-card"))},{default:a(()=>[...e[12]||(e[12]=[u(" 考试看板 ",-1)])]),_:1})):w("",!0),i.showListCardButton?(c(),v(b,{key:6,class:"ml-2",color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",onClick:e[7]||(e[7]=d=>t.$router.push("/list"))},{default:a(()=>[...e[13]||(e[13]=[u(" 列表 ",-1)])]),_:1})):w("",!0),i.showTestCardButton?(c(),v(b,{key:7,class:"ml-2",color:"purple","prepend-icon":"mdi-test-tube",size:"large",onClick:e[8]||(e[8]=d=>t.$emit("add-test-card"))},{default:a(()=>[...e[14]||(e[14]=[u(" 添加测试卡片 ",-1)])]),_:1})):w("",!0)]),i.showAntiScreenBurnCard?(c(),v(_,{key:0,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:a(()=>[o(I,{class:"text-subtitle-1"},{default:a(()=>[o(x,{icon:"mdi-shield-check",size:"small",start:""}),e[16]||(e[16]=u(" 屏幕保护技术已启用 ",-1))]),_:1}),o(T,{class:"text-body-2"},{default:a(()=>[...e[17]||(e[17]=[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 Gn=H(jn,[["render",Wn]]),Kn={name:"FloatingICP"},qn={"aria-label":"xICP备x号",class:"floating-icp-link",href:"https://beian.miit.gov.cn/",rel:"noopener noreferrer",target:"_blank",style:{display:"none"}};function Yn(t,e,i,l,s,n){return c(),f("a",qn," xICP备x号 ")}const Jn=H(Kn,[["render",Yn],["__scopeId","data-v-fa73670f"]]),Xn={class:"skeleton-grid"},Zn={__name:"HomeSkeleton",setup(t){const{mobile:e}=De(),i=ht(()=>e.value?3:6);return(l,s)=>(c(),v(Ue,{class:"main-window",fluid:""},{default:a(()=>[r("div",Xn,[(c(!0),f(k,null,M(i.value,n=>(c(),f("div",{key:n,class:"skeleton-card"},[...s[0]||(s[0]=[r("div",{class:"skeleton-heading skeleton-pulse"},null,-1),r("div",{class:"skeleton-line skeleton-pulse"},null,-1),r("div",{class:"skeleton-line skeleton-line--short skeleton-pulse"},null,-1)])]))),128))]),s[1]||(s[1]=r("div",{class:"d-flex justify-center mt-6 ga-3"},[r("div",{class:"skeleton-btn skeleton-pulse"}),r("div",{class:"skeleton-btn skeleton-pulse"})],-1))]),_:1}))}},Qn=H(Zn,[["__scopeId","data-v-c545dbe3"]]);function Se(t,e){let i=null;return function(...l){i&&clearTimeout(i),i=setTimeout(()=>{t.apply(this,l)},e)}}function $n(t,e){let i=null,l=0;return function(...s){const n=Date.now();n-l{l=n,t.apply(this,s)},e)):(l=n,t.apply(this,s))}}const eo=A({loader:()=>N(()=>import("./MessageLog-BWQHaU0R.js").then(t=>t.M),__vite__mapDeps([7,0,1,2,3,8,9,10]),import.meta.url),loadingComponent:me,delay:200}),to=A({loader:()=>N(()=>import("./RandomPicker-_q4YQ9mD.js"),__vite__mapDeps([11,0,1,2,3,12,13,14,15,16,17,18]),import.meta.url),delay:0}),so=A({loader:()=>N(()=>import("./FloatingToolbar-DRMSCOEt.js"),__vite__mapDeps([19,0,1,2,3,20,21,22,14,15,23,24,25,26,27,28]),import.meta.url),delay:200}),io=A({loader:()=>N(()=>import("./ChatWidget-DtJTDDI5.js").then(t=>t.C),__vite__mapDeps([29,30,31,0,1,2,3,6,32,16,17,33,14,15,34,35,36,37,38,12,13,39,40]),import.meta.url),delay:0}),no=A({loader:()=>N(()=>import("./HomeworkEditDialog-pCdwgzwK.js"),__vite__mapDeps([41,4,5,0,1,2,3,6,38,12,13,39,16,17,42,43,44]),import.meta.url),delay:0}),oo=A({loader:()=>N(()=>import("./UafTransferDialog-BBH3Quy5.js"),__vite__mapDeps([45,4,5,0,1,2,3,6,46,47,48,16,17,49,12,13,42,43,50,51,52,53,54,55,56,57,20,21,24,25,58,59,60,14,15,32,61,62,30,31,33,8,9,34,35,63]),import.meta.url),delay:0}),ao=A({loader:()=>N(()=>import("./InitServiceChooser-XLfIQnye.js"),__vite__mapDeps([64,0,1,2,3,4,5,6,12,13,42,43,38,39,16,17,53,54,34,35,65]),import.meta.url),loadingComponent:me,delay:200}),ro=A({loader:()=>N(()=>import("./StudentNameManager--IeJwNAQ.js"),__vite__mapDeps([66,0,1,2,3,4,5,6,67,12,13,57,20,21,24,25,50,51,52,16,17,58,68,69,70,42,43,71]),import.meta.url),delay:200}),lo=A({loader:()=>N(()=>import("./UrgentTestDialog-BWpUKKV_.js"),__vite__mapDeps([72,29,30,31,0,1,2,3,6,32,16,17,33,14,15,34,35,36,37,38,12,13,39,40,4,5,8,9,61,62,73,51,52,74,50,75,76]),import.meta.url),delay:0}),co=A({loader:()=>N(()=>import("./AttendanceSidebar-DOcIfcAf.js"),__vite__mapDeps([77,0,1,2,3,34,35,71]),import.meta.url),loadingComponent:me,delay:200}),uo=A({loader:()=>N(()=>import("./AttendanceManagementDialog-B9DNmGly.js"),__vite__mapDeps([78,0,1,2,3,16,17,34,35,12,13,79]),import.meta.url),delay:0}),mo=A({loader:()=>N(()=>import("./PwaInstallCard-DMTHYCSY.js"),__vite__mapDeps([80,2,0,1,3,16,17]),import.meta.url),delay:200}),ho=A({loader:()=>N(()=>import("./ExamScheduleCard-Dhb4jBjQ.js"),__vite__mapDeps([81,2,0,1,3,42,43,4,5,6,16,17,46,47,48,49,14,15,12,13,32,51,52,20,21,61,62,30,31,33,8,9,34,35,82]),import.meta.url),loadingComponent:me,delay:200}),fo=A({loader:()=>N(()=>import("./ExamConfigEditor-DnZpqRBI.js"),__vite__mapDeps([83,4,5,0,1,2,3,6,42,43,84,85,14,15,16,17,34,35,12,13,38,39,51,52,67,57,20,21,24,25,50,58,68,22,23,26,27,86,87,88]),import.meta.url),delay:0}),go={name:"Classworks 作业板",components:{MessageLog:eo,RandomPicker:to,FloatingToolbar:so,FloatingICP:Jn,HomeworkEditDialog:no,InitServiceChooser:ao,ChatWidget:io,StudentNameManager:ro,UrgentTestDialog:lo,AttendanceSidebar:co,AttendanceManagementDialog:uo,HomeworkGrid:Un,HomeActions:Gn,PwaInstallCard:mo,ExamScheduleCard:ho,ExamConfigEditor:fo,HomeSkeleton:Qn,UafTransferDialog:oo},setup(){const{mobile:t}=De(),e=xe();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:De,state:{classNumber:"",namespaceInfo:null,deviceName:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${D("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:D("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,exportUaf:!1},uafTransfer:{show:!1,mode:"export"},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 D("display.forceDesktopMode")?!1:this.mobile},titleText(){var p,g,S;const t=D("server.provider"),e=t==="kv-server"||t==="classworkscloud";let i;e&&this.state.namespaceInfo?i=((p=this.state.namespaceInfo)==null?void 0:p.name)||((S=(g=this.state.namespaceInfo)==null?void 0:g.device)==null?void 0:S.name)||this.state.classNumber||"高三八班":i=this.state.classNumber||"高三八班";const l=this.getToday(),s=new Date(l);s.setDate(s.getDate()-1);const n=this.state.dateString,d=this.formatDate(l),m=this.formatDate(s);return n===d?i+" - 今天的作业":n===m?i+" - 昨天的作业":`${i} - ${n}的作业`},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 i=this.state.boardData.homework[e];t.push({key:e,name:"考试安排",type:"exam",data:{examId:i.examId},order:-100,rowSpan:200})}for(const e of this.state.availableSubjects){const i=e.name,l=this.state.boardData.homework[i];if(l&&l.content){const n=100+l.content.split(` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BvGH7GyK.js","./vendor-vuetify-KiFW-YAv.js","./vendor-vue-Hxtt57UU.js","./index-6fGyl4NU.css","./dataProvider-oxZzGARG.js","./vendor-utils-SR2uUhRI.js","./serverRotation-CVerzUcJ.js","./MessageLog-CK1yxPmJ.js","./VAppBarTitle-CA6uS5-F.js","./VAppBarTitle-CczdD-Q2.css","./MessageLog-BGkFwivK.css","./RandomPicker-D1hmh8Tq.js","./VTextField-jDykTfh9.js","./VTextField-DTDEIDq0.css","./VTooltip-CvIsrMQ_.js","./VTooltip-D7EaNDeY.css","./VChip-CyVmT8se.js","./VChip-Dmz_1Lnv.css","./RandomPicker-CU-edGvg.css","./FloatingToolbar-BvexJNZx.js","./VMenu-CEn1TBeC.js","./VMenu-C31D-C2L.css","./VDatePicker-B6PZcrmX.js","./VPicker-DssJ0SqJ.js","./VSheet-PSmzyJOR.js","./VSheet-DW_b51tO.css","./VPicker-Dm9DplUc.css","./VDatePicker-zglzEVGT.css","./FloatingToolbar-5gVX85mk.css","./ChatWidget-BQwxDQ-m.js","./socketClient-B3vfwKNR.js","./vendor-socket-SYmKJpIj.js","./soundList-D9U-Grcp.js","./deviceEvents-DDMVNIIy.js","./VRow-CFI96Yew.js","./VRow-D2ArqUC2.css","./VPagination-DC48wzod.js","./VPagination-BF2MZmld.css","./VTextarea-CCvrj_Hr.js","./VTextarea-_xVwaw_z.css","./ChatWidget-ChgL-O5B.css","./HomeworkEditDialog-Bp1-Yp2h.js","./VAlert-DdY_LS-W.js","./VAlert-D_OX1cfW.css","./HomeworkEditDialog-DSAcf9mw.css","./UafTransferDialog-DcVwiQPT.js","./VTabs-DTqS4Kso.js","./VTable-C8JDgtcy.js","./VTable-CNLJxQof.css","./VTabs-566n5b08.css","./VCheckboxBtn-D_PchAC2.js","./VSwitch-DEARo61Y.js","./VSwitch-Bk42mIwg.css","./VExpansionPanels-D75JoFxE.js","./VExpansionPanels-kEj4ZJQK.css","./VSlider-D5-S_tyd.js","./VSlider-rdyojQMY.css","./VSelect-BdFWh1xd.js","./VSelect-DHZViySU.css","./VFileInput-Ch1sS0Fm.js","./VFileInput-CRcZ0Lr3.css","./VContainer-Cz0t7N-s.js","./VContainer-B1KSavhG.css","./UafTransferDialog-CxJ0Ohjf.css","./InitServiceChooser-BOzXYAzm.js","./InitServiceChooser-BSZJBnhr.css","./StudentNameManager-PfUXrkXU.js","./VAutocomplete-bB7Ga8jP.js","./VAutocomplete-Ygy_KjMW.css","./VCombobox-D1qFxhIj.js","./VCombobox-r6cc1Iy_.css","./StudentNameManager-tn0RQdqM.css","./UrgentTestDialog-CSFlE7DZ.js","./VForm-DrJP9yK2.js","./VCheckbox-VrkfbZWi.js","./VCheckbox-ZL-u1kGB.css","./UrgentTestDialog-65OEJ5uz.css","./AttendanceSidebar-C5lGrDWr.js","./AttendanceManagementDialog-D0UfFBjs.js","./AttendanceManagementDialog-D0prZwJd.css","./PwaInstallCard-idT4M8--.js","./ExamScheduleCard-wt_WZTJg.js","./ExamScheduleCard-BJuKYvRa.css","./ExamConfigEditor-Bp6Liu2C.js","./VSkeletonLoader-BwErr64p.js","./VSkeletonLoader-D4TcJTqz.css","./VTimePicker-D1xrFTMs.js","./VTimePicker-BkWY3_8P.css","./ExamConfigEditor-HgNV6CVV.css"])))=>i.map(i=>d[i]); +var et=Object.defineProperty;var tt=(t,e,i)=>e in t?et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var C=(t,e,i)=>tt(t,typeof e!="symbol"?e+"":e,i);import{_ as H,V as Ce,c as I,d as T,e as _,S as ne,w as Te,f as x,g as E,h as b,i as F,j as re,k as B,l as j,s as q,n as D,o as st,p as J,q as G,r as oe,t as ae,v as it,x as N,y as nt,z as ot,A as Q}from"./index-BvGH7GyK.js";import{X as c,_ as f,j as o,N as P,S as h,a6 as at,a7 as rt,a8 as lt,Y as v,Z as a,k as r,F as k,a2 as M,n as O,$ as w,a1 as u,a9 as A,aa as Re,P as dt,R as ct,V as ut,U as Ie,m as mt,e as ht,a4 as V}from"./vendor-vue-Hxtt57UU.js";import{d as R,a as ft,k as gt,s as Ve}from"./dataProvider-oxZzGARG.js";import{a as ye,g as Fe}from"./vendor-utils-SR2uUhRI.js";import{V as z}from"./VChip-CyVmT8se.js";import{V as Be,a as $}from"./VTabs-DTqS4Kso.js";import{V as Oe,a as ee,b as pt}from"./VTable-C8JDgtcy.js";import{V as le}from"./VAlert-DdY_LS-W.js";import{V as yt,a as bt}from"./VTooltip-CvIsrMQ_.js";import{V as se}from"./VTextField-jDykTfh9.js";import{p as vt,d as wt}from"./soundList-D9U-Grcp.js";import{V as be}from"./VSwitch-DEARo61Y.js";import{V as St}from"./VMenu-CEn1TBeC.js";import{a0 as De}from"./vendor-vuetify-KiFW-YAv.js";import{V as Ue}from"./VContainer-Cz0t7N-s.js";import{g as Dt,j as Ne,o as xt,a as Pe,l as kt}from"./socketClient-B3vfwKNR.js";import{c as Ct}from"./deviceEvents-DDMVNIIy.js";import{V as Tt,a as _t}from"./VAppBarTitle-CA6uS5-F.js";import{V as Mt,a as Et}from"./VRow-CFI96Yew.js";const Rt={__name:"AsyncLoadingPlaceholder",props:{height:{type:String,default:"120px"}},setup(t){return(e,i)=>(c(),f("div",{class:"async-loading-placeholder d-flex justify-center align-center",style:P({minHeight:t.height})},[o(Ce,{indeterminate:"",color:"primary",size:"28",width:"2"})],4))}},me=H(Rt,[["__scopeId","data-v-c297c78c"]]),It={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,i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=i.getTime()-l.getTime(),n=Math.round(s/(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 d=l.getDay()||7,m=new Date(l);m.setDate(l.getDate()-d+1);const p=new Date(l);if(p.setDate(l.getDate()+(7-d)),i>=m&&i<=p)return["周日","周一","周二","周三","周四","周五","周六"][t.getDay()];const g=t.getMonth()+1,S=t.getDate();return`${g}月${S}日`}}};function Vt(t,e,i,l,s,n){return c(),f("span",null,h(n.displayTime),1)}const je=H(It,[["render",Vt]]),xe=at("exam",{state:()=>({examList:[],exams:{},loadingList:!1,loadingDetails:{}}),actions:{async fetchExamList(){if(!this.loadingList){this.loadingList=!0;try{const t=await R.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 R.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=[],i=new Date,l=new Date(i.getTime()+2*24*60*60*1e3),s=this.examList.slice(0,t);for(const n of s){let d=this.exams[n.id];d||(d=await this.fetchExam(n.id)),d&&d.examInfos&&Array.isArray(d.examInfos)&&d.examInfos.some(p=>{const g=new Date(p.start);return g>=i&&g<=l})&&e.push({id:n.id,...d})}return e}}}),Nt={name:"ConciseExamCard",components:{RelativeTimeDisplay:je},props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},computed:{...lt(xe,["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,s)=>new Date(l.start)-new Date(s.start)),e=[];let i=null;return t.forEach(l=>{const n=new Date(l.start).toDateString();(!i||i.key!==n)&&(i={key:n,date:l.start,infos:[]},e.push(i)),i.infos.push(l)}),e}},mounted(){this.fetchExam(this.examId)},methods:{...rt(xe,["fetchExam"]),formatTimeOnly(t){if(!t)return"";try{const e=new Date(t),i=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0");return`${i}:${l}`}catch{return""}},isPast(t){return t?new Date(t)t.$emit("click"))},{default:a(()=>[o(I,{class:"d-flex align-center py-2 px-3 bg-primary-lighten-5 text-subtitle-1 font-weight-bold"},{default:a(()=>{var m;return[r("span",Pt,h(((m=n.exam)==null?void 0:m.examName)||"加载中..."),1)]}),_:1}),o(T,{class:"flex-grow-1 pa-4 overflow-y-auto",style:P(i.contentStyle)},{default:a(()=>[n.loading?(c(),f("div",At,[o(Ce,{indeterminate:"",size:"24",color:"primary"})])):n.exam?(c(),f("div",Lt,[(c(!0),f(k,null,M(n.groupedExamInfos,(m,p)=>(c(),f("div",{key:p,class:"mb-3"},[r("div",zt,[o(d,{time:m.date},null,8,["time"])]),(c(!0),f(k,null,M(m.infos,(g,S)=>(c(),f("div",{key:S,class:O(["d-flex align-center justify-space-between py-1 border-b-sm",{"border-none":S===m.infos.length-1,"text-grey":n.isPast(g.end)}])},[r("div",Ft,h(g.name),1),r("div",Bt,h(n.formatTimeOnly(g.start))+" - "+h(n.formatTimeOnly(g.end)),1)],2))),128))]))),128))])):(c(),f("div",Ot," 无法加载 "))]),_:1},8,["style"])]),_:1})}const He=H(Nt,[["render",Ut],["__scopeId","data-v-cb5c226a"]]),jt=["6IO4","5Lmz","6JCd6I6J","5rer","5aW4"],Ht=jt.map(t=>Fe.decode(t)),Ae=.75,Wt={name:"HitokotoCard",data(){return{enabled:!1,refreshInterval:60,kvConfig:{sources:["zhaoyu"],sensitiveWords:[],hitokotoCategories:[]},sentence:"",author:"",origin:"",loading:!1,timer:null,unwatch:null,fontSize:28}},computed:{contentStyle(){return{"font-size":`${this.fontSize*Ae}px`,"white-space":"pre-wrap","line-height":"1.6","text-align":"left"}},authorStyle(){return{"font-size":`${this.fontSize*Ae*.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=ne.getSetting("hitokoto.enabled"),this.refreshInterval=ne.getSetting("hitokoto.refreshInterval"),this.fontSize=ne.getSetting("font.size")},async loadKvSettings(){try{const t=await R.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(i=>i.trim()).filter(i=>i):[],jinrishiciToken:e.jinrishiciToken,hitokotoCategories:Array.isArray(e.hitokotoCategories)?e.hitokotoCategories:[]})}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 i=null,l="",s="",n="";if(e==="hitokoto"){const d=new URLSearchParams,m=this.kvConfig.hitokotoCategories;Array.isArray(m)&&m.length>0&&m.forEach(S=>d.append("c",S));const p="https://v1.hitokoto.cn/"+(d.toString()?"?"+d.toString():"");i=(await ye.get(p)).data,l=i.hitokoto,s=i.from_who,n=i.from}else if(e==="zhaoyu"){const d=await ye.get("https://hub.saintic.com/openservice/sentence/all.json");d.data.success&&(i=d.data.data,l=i.sentence||i.content||i.name,s=i.author,n=i.name||i.origin)}else if(e==="jinrishici")if(this.kvConfig.jinrishiciToken){const d=await ye.get("https://v2.jinrishici.com/one.json?client=npm-sdk/1.0&X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken),{});d.data.status==="success"&&(i=d.data.data,l=i.content,s=i.origin.author,n=i.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([...Ht,...this.kvConfig.sensitiveWords].some(p=>p&&l.includes(p)))return this.loading=!1,this.fetchSentence();this.sentence=l,this.author=s||"",this.origin=n||"未知"}}catch(t){console.error("Failed to fetch sentence",t),this.sentence="获取失败",this.author="",this.origin=""}finally{this.loading=!1}}}}},Gt={key:0,class:"mr-2"},Kt={key:1};function qt(t,e,i,l,s,n){return c(),v(_,{class:"hitokoto-card",elevation:"2",border:"",rounded:"xl",loading:s.loading,height:"100%",onClick:n.fetchSentence},{default:a(()=>[o(T,{class:"pa-6 d-flex flex-column justify-center",style:{height:"100%"}},{default:a(()=>[r("div",{class:"font-weight-medium mb-4 serif-font",style:P(n.contentStyle)},h(s.sentence),5),r("div",{class:"text-medium-emphasis serif-font",style:P(n.authorStyle)},[s.author?(c(),f("span",Gt,h(s.author),1)):w("",!0),s.origin?(c(),f("span",Kt,"《"+h(s.origin)+"》",1)):w("",!0)],4)]),_:1})]),_:1},8,["loading","onClick"])}const We=H(Wt,[["render",qt],["__scopeId","data-v-84a0a110"]]),_e=30,Y=50,te=-50,he=500,de=6,ce=-100,Ge=0,Yt=-90,Jt=40;function Xt(t){let e=0,i=0;for(let s=0;si&&(i=d),e+=n*n}return{rms:Math.sqrt(e/Math.max(1,t.length)),peak:i}}function Zt(t){const e=Math.max(1e-12,t),i=20*Math.log10(e);return Math.max(ce,Math.min(Ge,i))}function ve(t){const e=Math.max(1e-12,t.rms),i=Math.max(1e-12,t.baselineRms),l=t.baselineDb+20*Math.log10(e/i);return Math.max(20,Math.min(100,l))}function Le(t){if(t.length===0)return ce;const i=t.reduce((s,n)=>s+Math.pow(10,n/10),0)/t.length,l=10*Math.log10(Math.max(i,1e-12));return Math.max(ce,Math.min(Ge,l))}function ie(t,e){if(t.length===0)return ce;const i=t.map(p=>Math.pow(10,p/20));i.sort((p,g)=>p-g);const l=(i.length-1)*e,s=Math.floor(l),n=Math.ceil(l),d=l-s,m=s===n?i[s]:i[s]*(1-d)+i[n]*d;return 20*Math.log10(Math.max(m,1e-12))}function we(t){return Math.max(0,Math.min(1,t))}const ke={maxLevelDb:55,baselineDb:Jt,showRealtimeDb:!0,avgWindowSec:1,sliceSec:_e,frameMs:Y,scoreThresholdDbfs:te,segmentMergeGapMs:he,maxSegmentsPerMin:de,alertSoundEnabled:!1},Me="noise-control-settings",ue="NoiseControlSettingsUpdated";function Ee(){try{const t=localStorage.getItem(Me);if(t)return{...ke,...JSON.parse(t)}}catch(t){console.warn("Failed to load settings",t)}return{...ke}}function Ke(t){const i={...Ee(),...t};i.sliceSec=_e,i.frameMs=Y,i.scoreThresholdDbfs=te,i.segmentMergeGapMs=he,i.maxSegmentsPerMin=de,localStorage.setItem(Me,JSON.stringify(i)),window.dispatchEvent(new CustomEvent(ue,{detail:i}))}function Qt(){localStorage.removeItem(Me),window.dispatchEvent(new CustomEvent(ue,{detail:ke}))}function $t(t){const e=i=>t(i);return window.addEventListener(ue,e),()=>window.removeEventListener(ue,e)}function ze(t,e){const i=Math.max(0,t.p50Dbfs-te),l=we(i/6),s=we(t.overRatioDbfs/.3),n=t.sampledDurationMs&&t.sampledDurationMs>0?t.sampledDurationMs:e,d=Math.max(1e-6,n/6e4),m=t.segmentCount/d,p=we(m/Math.max(1e-6,de)),S=100*(1-(.4*l+.3*s+.3*p));return{score:Math.max(0,Math.min(100,Math.round(S*10)/10)),scoreDetail:{sustainedPenalty:l,timePenalty:s,segmentPenalty:p,thresholdsUsed:{scoreThresholdDbfs:te,segmentMergeGapMs:he,maxSegmentsPerMin:de},sustainedLevelDbfs:t.p50Dbfs,overRatioDbfs:t.overRatioDbfs,segmentCount:t.segmentCount,minutes:d,durationMs:e,sampledDurationMs:t.sampledDurationMs,coverageRatio:t.sampledDurationMs?t.sampledDurationMs/e:1}}}const es=()=>Math.random().toString(36).substring(2,15);class ts{constructor(){C(this,"audioContext",null);C(this,"analyser",null);C(this,"stream",null);C(this,"sourceNode",null);C(this,"status","initializing");C(this,"listeners",new Set);C(this,"animationFrameId",null);C(this,"lastFrameTime",0);C(this,"baselineDb",40);C(this,"baselineRms",Math.pow(10,-60/20));C(this,"lastRms",0);C(this,"calibrationBuffer",[]);C(this,"isCalibrating",!1);C(this,"calibrationTargetDb",0);C(this,"calibrationCallback",null);C(this,"settingsUnsubscribe",null);C(this,"warmupFramesRemaining",0);C(this,"ringBuffer",[]);C(this,"ringBufferCapacity",200);C(this,"currentSliceStart",0);C(this,"sliceDbfsValues",[]);C(this,"sliceAboveThresholdDuration",0);C(this,"sliceFramesTotal",0);C(this,"sliceSampledDuration",0);C(this,"isAboveThreshold",!1);C(this,"segmentCount",0);C(this,"lastSegmentEndTs",0);C(this,"lastProcessedFrameTs",null);C(this,"gapCount",0);C(this,"maxGapMs",0);C(this,"cachedCurrentScore");C(this,"cachedCurrentScoreDetail");C(this,"lastScoreCalcTime",0);C(this,"lastCompletedSlice",null);C(this,"loop",()=>{if(this.status!=="active"||!this.analyser)return;const e=performance.now();e-this.lastFrameTime>=Y&&(this.processFrame(e),this.lastFrameTime=e),this.animationFrameId=requestAnimationFrame(this.loop)});this.status="paused";const e=Ee();this.updateLocalSettings(e),this.settingsUnsubscribe=$t(i=>{this.updateLocalSettings(i.detail)})}updateLocalSettings(e){this.baselineDb=e.baselineDb,e.baselineRms&&e.baselineRms>0&&(this.baselineRms=e.baselineRms)}calibrate(e,i){if(this.status!=="active"){i==null||i(!1,"请先启动监测");return}this.isCalibrating=!0,this.calibrationTargetDb=e,this.calibrationBuffer=[],this.calibrationCallback=i||null,console.log(`Starting calibration to ${e}dB...`)}processCalibrationFrame(e){var l;if(!this.isCalibrating)return;this.calibrationBuffer.push(e);const i=3e3/Y;if(this.calibrationBuffer.length>=i){const n=this.calibrationBuffer.reduce((d,m)=>d+m,0)/this.calibrationBuffer.length;this.isCalibrating=!1,this.baselineRms=n,this.baselineDb=this.calibrationTargetDb,Ke({baselineDb:this.calibrationTargetDb,baselineRms:n}),console.log(`Calibration complete: RMS ${n.toFixed(6)} -> ${this.calibrationTargetDb}dB`),(l=this.calibrationCallback)==null||l.call(this,!0,`校准完成!平均RMS: ${n.toFixed(6)}`),this.calibrationCallback=null}}subscribe(e){return this.listeners.add(e),this.emit(),()=>this.listeners.delete(e)}emit(){const e=this.ringBuffer.length>0?this.ringBuffer[this.ringBuffer.length-1]:null,i={status:this.status,currentDbfs:(e==null?void 0:e.dbfs)??-100,currentDisplayDb:(e==null?void 0:e.displayDb)??20,ringBuffer:[...this.ringBuffer],lastSlice:this.lastCompletedSlice,currentScore:this.cachedCurrentScore,currentScoreDetail:this.cachedCurrentScoreDetail};this.listeners.forEach(l=>l(i))}async start(){if(this.status!=="active")try{this.status="initializing",this.warmupFramesRemaining=10,this.emit(),this.audioContext=new(window.AudioContext||window.webkitAudioContext),this.stream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}}),this.sourceNode=this.audioContext.createMediaStreamSource(this.stream);const e=this.audioContext.createBiquadFilter();e.type="highpass",e.frequency.value=80;const i=this.audioContext.createBiquadFilter();i.type="lowpass",i.frequency.value=8e3,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2048,this.analyser.smoothingTimeConstant=0,this.sourceNode.connect(e),e.connect(i),i.connect(this.analyser),this.status="active",this.resetSlice(),this.loop()}catch(e){console.error("Mic Error",e),this.status="permission-denied",this.emit()}}stop(){var e,i;this.status!=="paused"&&(this.sliceDbfsValues.length>0&&this.finalizeSlice(),this.status="paused",this.animationFrameId&&cancelAnimationFrame(this.animationFrameId),(e=this.stream)==null||e.getTracks().forEach(l=>l.stop()),(i=this.audioContext)==null||i.close(),this.audioContext=null,this.analyser=null,this.stream=null,this.emit())}processFrame(e){if(!this.analyser)return;if(this.warmupFramesRemaining>0){this.warmupFramesRemaining--;return}const i=new Float32Array(this.analyser.fftSize);this.analyser.getFloatTimeDomainData(i);const l=Date.now(),{rms:s}=Xt(i);this.lastRms=s,this.isCalibrating&&this.processCalibrationFrame(s);const n=Zt(s),d=ve({rms:s,baselineRms:this.baselineRms,baselineDb:this.baselineDb});this.ringBuffer.push({t:l,dbfs:n,displayDb:d}),this.ringBuffer.length>this.ringBufferCapacity&&this.ringBuffer.shift();let m=Y;if(this.lastProcessedFrameTs!==null){const p=l-this.lastProcessedFrameTs,g=Math.max(1e3,Y*5);p>g?(this.gapCount++,this.maxGapMs=Math.max(this.maxGapMs,p),m=Y):m=p}if(this.lastProcessedFrameTs=l,n>=Yt){this.sliceDbfsValues.push(n),this.sliceFramesTotal++,this.sliceSampledDuration+=m;const p=n>te;if(p&&(this.sliceAboveThresholdDuration+=m),p){if(!this.isAboveThreshold){const g=Date.now()-this.lastSegmentEndTs;(this.lastSegmentEndTs===0||g>he)&&this.segmentCount++,this.isAboveThreshold=!0}}else this.isAboveThreshold&&(this.isAboveThreshold=!1,this.lastSegmentEndTs=Date.now())}e-this.lastScoreCalcTime>250&&(this.updateInterimScore(),this.lastScoreCalcTime=e),this.emit(),Date.now()-this.currentSliceStart>=_e*1e3&&this.finalizeSlice()}updateInterimScore(){if(this.sliceDbfsValues.length<10){this.cachedCurrentScore=100,this.cachedCurrentScoreDetail=void 0;return}Le(this.sliceDbfsValues),Math.max(...this.sliceDbfsValues);const e=ie(this.sliceDbfsValues,.5);ie(this.sliceDbfsValues,.95);const i=this.sliceSampledDuration>0?this.sliceAboveThresholdDuration/this.sliceSampledDuration:0,l={p50Dbfs:e,overRatioDbfs:i,segmentCount:this.segmentCount,sampledDurationMs:this.sliceSampledDuration,gapCount:this.gapCount,maxGapMs:this.maxGapMs},s=Date.now()-this.currentSliceStart,{score:n,scoreDetail:d}=ze(l,s);this.cachedCurrentScore=n,this.cachedCurrentScoreDetail=d}resetSlice(){this.currentSliceStart=Date.now(),this.sliceDbfsValues=[],this.sliceAboveThresholdDuration=0,this.sliceFramesTotal=0,this.sliceSampledDuration=0,this.segmentCount=0,this.isAboveThreshold=!1,this.lastSegmentEndTs=0,this.gapCount=0,this.maxGapMs=0,this.lastProcessedFrameTs=null,this.cachedCurrentScore=100,this.cachedCurrentScoreDetail=void 0}finalizeSlice(){if(this.sliceDbfsValues.length===0){this.resetSlice();return}const e=Le(this.sliceDbfsValues),i=Math.max(...this.sliceDbfsValues),l=ie(this.sliceDbfsValues,.5),s=ie(this.sliceDbfsValues,.95),n=this.sliceSampledDuration>0?this.sliceAboveThresholdDuration/this.sliceSampledDuration:0,d=ve({rms:Math.pow(10,e/20),baselineRms:this.baselineRms,baselineDb:this.baselineDb}),m=ve({rms:Math.pow(10,s/20),baselineRms:this.baselineRms,baselineDb:this.baselineDb}),p={avgDbfs:e,maxDbfs:i,p50Dbfs:l,p95Dbfs:s,overRatioDbfs:n,segmentCount:this.segmentCount,sampledDurationMs:this.sliceSampledDuration,gapCount:this.gapCount,maxGapMs:this.maxGapMs},g=Date.now()-this.currentSliceStart,{score:S,scoreDetail:U}=ze(p,g),L={id:es(),start:this.currentSliceStart,end:Date.now(),frames:this.sliceFramesTotal,raw:p,display:{avgDb:d,p95Db:m},score:S,scoreDetail:U};this.lastCompletedSlice=L,this.saveSlice(L),this.resetSlice()}saveSlice(e){try{const i=localStorage.getItem("noise-slices-v2"),l=i?JSON.parse(i):[];l.push(e);const s=14*24*60*60*1e3,n=Date.now(),d=l.filter(m=>n-m.end1e3&&d.shift(),localStorage.setItem("noise-slices-v2",JSON.stringify(d))}catch(i){console.warn("Storage Full",i)}}getHistory(){try{const e=localStorage.getItem("noise-slices-v2");return e?JSON.parse(e):[]}catch{return[]}}clearHistory(){localStorage.removeItem("noise-slices-v2")}}const K=new ts,ss={name:"NoiseMonitorDetail",props:{modelValue:{type:Boolean,default:!1},status:{type:String,default:""},currentDb:{type:[Number,String],default:"--"},currentDbfs:{type:Number,default:0},noiseLevel:{type:String,default:"未知"},dbColor:{type:String,default:"grey"},currentScore:{type:Number,default:null},scoreDetail:{type:Object,default:null},ringBuffer:{type:Array,default:()=>[]},lastSlice:{type:Object,default:null},history:{type:Array,default:()=>[]},isMonitoring:{type:Boolean,default:!1},micPermissionState:{type:String,default:""},sessionActive:{type:Boolean,default:!1},sessionData:{type:Object,default:null},reportMeta:{type:Object,default:()=>({dates:{}})},selectedDate:{type:String,default:""},dateReports:{type:Array,default:()=>[]}},emits:["update:modelValue","start","stop","clear-history","select-date","clear-date-reports","clear-all-reports"],data(){return{activeTab:"realtime",confirmClearMode:"",waveformWidth:600,reportChartWidth:600,selectedReportIndex:0,showCalibrateDialog:!1,calibrationSettings:{},calibrateTargetDb:40,isCalibrating:!1,calibrateMessage:"",calibrateSuccess:!1,editBaselineDb:40,editBaselineRms:"",editMaxLevelDb:100}},computed:{scoreColor(){return this.currentScore===null?"grey":this.currentScore>=80?"success":this.currentScore>=60?"warning":"error"},scoreLabel(){return this.currentScore===null?"暂无评分":this.currentScore>=90?"非常安静":this.currentScore>=80?"环境良好":this.currentScore>=60?"需要注意":this.currentScore>=40?"比较嘈杂":"极度嘈杂"},alertThreshold(){var t;return((t=this.sessionConfig)==null?void 0:t.alertThresholdDb)||55},scorePenaltyItems(){if(!this.scoreDetail)return[];const t=100;return[{label:"持续",icon:"mdi-volume-high",color:"amber",percent:Math.round(this.scoreDetail.sustainedPenalty/t*100)},{label:"时长",icon:"mdi-clock-alert",color:"orange",percent:Math.round(this.scoreDetail.timePenalty/t*100)},{label:"打断",icon:"mdi-flash-alert",color:"pink",percent:Math.round(this.scoreDetail.segmentPenalty/t*100)}]},gridLines(){return[20,40,60,80].map(t=>({val:t,y:this.dbToY(t)}))},reportGridLines(){return[20,40,60,80].map(t=>({val:t,y:this.reportDbToY(t)}))},waveformPath(){if(!this.ringBuffer||this.ringBuffer.length<2)return null;const t=this.waveformWidth,e=this.ringBuffer.slice(-120),i=t/(e.length-1);return e.map((l,s)=>{const n=s*i,d=this.dbToY(l.displayDb??0);return`${s===0?"M":"L"}${n.toFixed(1)},${d.toFixed(1)}`}).join(" ")},waveformFillPath(){return this.waveformPath?`${this.waveformPath} L${this.waveformWidth},120 L0,120 Z`:null},showConfirmClear(){return this.confirmClearMode!==""},sortedDateKeys(){var t;return(t=this.reportMeta)!=null&&t.dates?Object.keys(this.reportMeta.dates).sort().reverse():[]},selectedReport(){return this.dateReports[this.selectedReportIndex]||null},reportCoverage(){var t,e,i;return!((e=(t=this.selectedReport)==null?void 0:t.samples)!=null&&e.length)||!((i=this.selectedReport)!=null&&i.duration)?0:(this.selectedReport.samples.length*2/(this.selectedReport.duration/1e3)*100).toFixed(1)},reportWaveformPath(){var l,s;if(!((s=(l=this.selectedReport)==null?void 0:l.samples)!=null&&s.length))return null;const t=this.selectedReport.samples;if(t.length<2)return null;const i=this.reportChartWidth/(t.length-1);return t.map((n,d)=>{const m=d*i,p=this.reportDbToY(n.db);return`${d===0?"M":"L"}${m.toFixed(1)},${p.toFixed(1)}`}).join(" ")},reportWaveformFillPath(){return this.reportWaveformPath?`${this.reportWaveformPath} L${this.reportChartWidth},140 L0,140 Z`:null},levelDistribution(){var d,m;if(!((m=(d=this.selectedReport)==null?void 0:d.samples)!=null&&m.length))return[{label:"安静",percent:0,color:"#4caf50"},{label:"正常",percent:0,color:"#8bc34a"},{label:"吵闹",percent:0,color:"#ff9800"},{label:"极吵",percent:0,color:"#f44336"}];const t=this.selectedReport.samples.map(p=>p.db),e=t.length;let i=0,l=0,s=0,n=0;return t.forEach(p=>{p<45?i++:p<60?l++:p<75?s++:n++}),[{label:"安静",percent:Math.round(i/e*100),color:"#4caf50"},{label:"正常",percent:Math.round(l/e*100),color:"#8bc34a"},{label:"吵闹",percent:Math.round(s/e*100),color:"#ff9800"},{label:"极吵",percent:Math.round(n/e*100),color:"#f44336"}]},reportPenaltyItems(){var e;if(!((e=this.selectedReport)!=null&&e.scorePenalties))return[];const t=this.selectedReport.scorePenalties;return[{label:"持续",color:"amber",percent:Math.min(100,Math.round(t.sustained/40*100))},{label:"时长",color:"orange",percent:Math.min(100,Math.round(t.time/30*100))},{label:"打断",color:"pink",percent:Math.min(100,Math.round(t.segment/30*100))}]}},watch:{modelValue(t){t&&this.$nextTick(()=>{this.updateWaveformWidth(),this.updateReportChartWidth()})},activeTab(){this.$nextTick(()=>{this.updateWaveformWidth(),this.updateReportChartWidth()})},selectedReportIndex(){this.$nextTick(()=>this.updateReportChartWidth())},selectedDate(){this.selectedReportIndex=0}},mounted(){this.updateWaveformWidth(),window.addEventListener("resize",this.handleResize)},beforeUnmount(){window.removeEventListener("resize",this.handleResize)},methods:{handleResize(){this.updateWaveformWidth(),this.updateReportChartWidth()},updateWaveformWidth(){this.$refs.waveformContainer&&(this.waveformWidth=this.$refs.waveformContainer.offsetWidth||600)},updateReportChartWidth(){this.$refs.reportChartContainer&&(this.reportChartWidth=this.$refs.reportChartContainer.offsetWidth||600)},dbToY(t){return 120-Math.max(0,Math.min(100,t))/100*120},reportDbToY(t){return 140-Math.max(0,Math.min(100,t))/100*140},doClearReports(){this.confirmClearMode==="all"?this.$emit("clear-all-reports"):this.confirmClearMode==="date"&&this.$emit("clear-date-reports",this.selectedDate),this.confirmClearMode="",this.selectedReportIndex=0},formatDateLabel(t){if(!t)return"";const e=new Date,i=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,l=new Date(e);l.setDate(l.getDate()-1);const s=`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`;if(t===i)return"今天";if(t===s)return"昨天";const n=t.split("-");return`${parseInt(n[1])}月${parseInt(n[2])}日`},formatTime(t){const e=new Date(t);return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`},metaScoreColor(t){return t>=80?"success":t>=60?"warning":"error"},formatFullTime(t){if(!t)return"--";const e=new Date(t);return`${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},formatDuration(t){if(!t)return"0 分钟";const e=Math.floor(t/6e4),i=Math.floor(e/60),l=e%60;return i>0?`${i} 小时 ${l} 分钟`:`${l} 分钟`},formatSeconds(t){if(!t||t<0)return"0秒";const e=Math.floor(t/60),i=t%60;return e>0?`${e}分${i}秒`:`${i}秒`},reportScoreLabel(t){return t>=90?"优秀":t>=80?"良好":t>=60?"一般":t>=40?"较差":"极差"},openCalibrateDialog(){this.refreshCalibrationSettings(),this.showCalibrateDialog=!0},refreshCalibrationSettings(){const t=Ee();this.calibrationSettings=t,this.editBaselineDb=t.baselineDb,this.editBaselineRms=t.baselineRms!=null?String(t.baselineRms):"",this.editMaxLevelDb=t.maxLevelDb},doAutoCalibrate(){this.isCalibrating=!0,this.calibrateMessage="",K.calibrate(this.calibrateTargetDb,(t,e)=>{this.isCalibrating=!1,this.calibrateSuccess=t,this.calibrateMessage=e,t&&this.refreshCalibrationSettings(),setTimeout(()=>{this.calibrateMessage=""},5e3)})},saveManualCalibration(){const t={baselineDb:this.editBaselineDb,maxLevelDb:this.editMaxLevelDb},e=parseFloat(this.editBaselineRms);!isNaN(e)&&e>0&&(t.baselineRms=e),Ke(t),this.refreshCalibrationSettings()},resetCalibration(){Qt(),this.refreshCalibrationSettings()}}},is={class:"noise-dashboard pa-5"},ns={class:"d-flex align-center justify-center"},os={class:"text-center"},as={class:"noise-gauge-inner d-flex flex-column align-center justify-center"},rs={class:"noise-level-bar mt-5 mx-auto",style:{"max-width":"500px"}},ls={class:"noise-gradient-bar"},ds={class:"pa-5"},cs={class:"d-flex align-center mb-3"},us={class:"text-caption text-medium-emphasis"},ms={ref:"waveformContainer",class:"noise-waveform"},hs=["viewBox"],fs=["y1","x2","y2"],gs=["y1","x2","y2"],ps=["d"],ys=["d"],bs={class:"pa-5"},vs={class:"d-flex align-center mb-3"},ws={key:0,class:"d-flex flex-wrap ga-4"},Ss={class:"text-h6 font-weight-bold"},Ds={class:"text-subtitle-1 font-weight-bold"},xs={class:"d-flex align-center"},ks={class:"text-body-2"},Cs={class:"d-flex align-center",style:{"min-width":"140px"}},Ts={class:"text-caption font-weight-medium",style:{"min-width":"36px","text-align":"right"}},_s={key:1,class:"text-center text-medium-emphasis py-4"},Ms={class:"pa-4 d-flex align-center"},Es={key:0,class:"text-center text-medium-emphasis py-12"},Rs={class:"pa-4"},Is={class:"d-flex align-center flex-wrap ga-2 mb-3"},Vs={class:"d-flex flex-wrap ga-2"},Ns={key:0,class:"pa-4 pb-0"},Ps={class:"d-flex align-center ga-3 flex-wrap"},As={class:"text-h6 font-weight-bold"},Ls={key:1,class:"text-center text-medium-emphasis py-8"},zs={key:2,class:"pa-4 pt-3 d-flex flex-wrap ga-2"},Fs={class:"text-caption ml-1"},Bs={key:4,class:"report-content"},Os={class:"pa-5 pb-0"},Us={class:"text-h6 font-weight-bold d-flex align-center"},js={class:"pa-5"},Hs={class:"report-grid"},Ws={class:"report-stat-card"},Gs={class:"text-h6 font-weight-bold"},Ks={class:"report-stat-card"},qs={class:"text-h6 font-weight-bold"},Ys={class:"text-caption"},Js={class:"report-stat-card"},Xs={class:"text-h6 font-weight-bold"},Zs={class:"report-stat-card"},Qs={class:"text-h6 font-weight-bold"},$s={class:"report-stat-card"},ei={class:"text-h6 font-weight-bold"},ti={class:"report-stat-card"},si={class:"text-h6 font-weight-bold"},ii={class:"pa-5"},ni={ref:"reportChartContainer",class:"noise-waveform"},oi=["viewBox"],ai=["y1","x2","y2"],ri=["y1","x2","y2"],li=["d"],di=["d"],ci={class:"text-caption text-medium-emphasis mt-2"},ui={class:"pa-5"},mi={class:"d-flex flex-wrap ga-4"},hi={class:"noise-level-distribution"},fi={class:"d-flex",style:{height:"16px","border-radius":"8px",overflow:"hidden"}},gi={class:"d-flex flex-wrap ga-3 mt-3 justify-center"},pi={class:"text-caption text-medium-emphasis"},yi={class:"text-body-2 mr-3",style:{"min-width":"32px"}},bi={class:"text-body-2 font-weight-bold",style:{"min-width":"40px","text-align":"right"}},vi={class:"d-flex align-center ga-6 flex-wrap"},wi={class:"text-body-1 font-weight-bold"},Si={class:"text-body-1 font-weight-bold font-monospace"},Di={class:"text-body-1 font-weight-bold"},xi={class:"d-flex align-center mb-2"},ki={class:"d-flex align-center ga-3 mb-5 flex-wrap"},Ci={key:0,class:"text-caption text-warning"},Ti={class:"d-flex align-center mb-2"},_i={class:"d-flex align-center ga-3 mb-4 flex-wrap"};function Mi(t,e,i,l,s,n){return c(),v(B,{"model-value":i.modelValue,"max-width":"900",scrollable:"","onUpdate:modelValue":e[15]||(e[15]=d=>t.$emit("update:modelValue",d))},{default:a(()=>[o(_,{class:"rounded-xl noise-detail-card"},{default:a(()=>[o(I,{class:"d-flex align-center pa-4"},{default:a(()=>[o(x,{class:"mr-2",color:"primary"},{default:a(()=>[...e[16]||(e[16]=[u(" mdi-waveform ",-1)])]),_:1}),e[18]||(e[18]=r("span",{class:"text-h6 font-weight-bold"},"环境噪音监测",-1)),o(E),i.sessionActive?(c(),v(z,{key:0,color:"teal",size:"small",variant:"tonal",class:"mr-2"},{default:a(()=>{var d;return[o(x,{start:"",size:"12"},{default:a(()=>[...e[17]||(e[17]=[u(" mdi-record-circle ",-1)])]),_:1}),u(" "+h(((d=i.sessionData)==null?void 0:d.sessionName)||"自习中"),1)]}),_:1})):w("",!0),o(z,{color:i.isMonitoring?"success":"grey",size:"small",variant:"tonal",class:"mr-2"},{default:a(()=>[u(h(i.isMonitoring?"监测中":"已停止"),1)]),_:1},8,["color"]),o(b,{icon:"mdi-close",size:"small",variant:"text",onClick:e[0]||(e[0]=d=>t.$emit("update:modelValue",!1))})]),_:1}),o(Be,{modelValue:s.activeTab,"onUpdate:modelValue":e[1]||(e[1]=d=>s.activeTab=d),color:"primary",density:"compact",grow:""},{default:a(()=>[o($,{value:"realtime"},{default:a(()=>[o(x,{start:"",size:"18"},{default:a(()=>[...e[19]||(e[19]=[u(" mdi-pulse ",-1)])]),_:1}),e[20]||(e[20]=u(" 实时监测 ",-1))]),_:1}),o($,{value:"reports"},{default:a(()=>[o(x,{start:"",size:"18"},{default:a(()=>[...e[21]||(e[21]=[u(" mdi-chart-bar ",-1)])]),_:1}),e[22]||(e[22]=u(" 统计报告 ",-1))]),_:1})]),_:1},8,["modelValue"]),o(F),o(T,{class:"pa-0",style:{"max-height":"70vh"}},{default:a(()=>[o(Oe,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=d=>s.activeTab=d)},{default:a(()=>[o(ee,{value:"realtime"},{default:a(()=>[i.micPermissionState==="denied"?(c(),v(le,{key:0,type:"error",variant:"tonal",class:"ma-4 mb-0",prominent:""},{prepend:a(()=>[o(x,{icon:"mdi-microphone-off",size:"28"})]),default:a(()=>[e[23]||(e[23]=r("div",{class:"text-subtitle-2 font-weight-bold mb-1"}," 麦克风权限被拒绝 ",-1)),e[24]||(e[24]=r("div",{class:"text-body-2"}," 浏览器已拒绝麦克风访问,无法进行噪音监测。请在浏览器地址栏左侧的锁图标中重新授予麦克风权限,然后刷新页面。 ",-1))]),_:1})):i.micPermissionState==="unavailable"?(c(),v(le,{key:1,type:"warning",variant:"tonal",class:"ma-4 mb-0",prominent:""},{prepend:a(()=>[o(x,{icon:"mdi-microphone-question",size:"28"})]),default:a(()=>[e[25]||(e[25]=r("div",{class:"text-subtitle-2 font-weight-bold mb-1"}," 未检测到麦克风 ",-1)),e[26]||(e[26]=r("div",{class:"text-body-2"}," 当前设备未检测到麦克风硬件,无法进行噪音监测。请连接麦克风后刷新页面重试。 ",-1))]),_:1})):w("",!0),r("div",is,[r("div",ns,[r("div",os,[r("div",{class:O(["noise-gauge-ring",`ring-${i.dbColor}`])},[r("div",as,[r("span",{class:O(["noise-gauge-value font-weight-bold",`text-${i.dbColor}`])},h(i.currentDb),3),e[27]||(e[27]=r("span",{class:"text-caption text-medium-emphasis"},"dB",-1))])],2),r("div",{class:O(["text-subtitle-1 font-weight-medium mt-3",`text-${i.dbColor}`])},h(i.noiseLevel),3)])]),r("div",rs,[e[28]||(e[28]=r("div",{class:"d-flex justify-space-between text-caption text-medium-emphasis mb-1"},[r("span",null,"0 dB"),r("span",null,"50"),r("span",null,"100 dB")],-1)),r("div",ls,[i.isMonitoring&&typeof i.currentDb=="number"?(c(),f("div",{key:0,class:"noise-indicator",style:P({left:`${Math.min(100,Math.max(0,i.currentDb))}%`})},null,4)):w("",!0)])])]),o(F),r("div",ds,[r("div",cs,[o(x,{class:"mr-2",size:"18",color:"primary"},{default:a(()=>[...e[29]||(e[29]=[u(" mdi-chart-line ",-1)])]),_:1}),e[30]||(e[30]=r("span",{class:"text-subtitle-2 font-weight-medium"},"噪音走势",-1)),o(E),r("span",us," 最近 "+h(i.ringBuffer.length)+" 个采样 ",1)]),r("div",ms,[(c(),f("svg",{width:"100%",height:"120",viewBox:`0 0 ${s.waveformWidth} 120`,preserveAspectRatio:"none"},[(c(!0),f(k,null,M(n.gridLines,d=>(c(),f("line",{key:`grid-${d.val}`,x1:"0",y1:d.y,x2:s.waveformWidth,y2:d.y,stroke:"currentColor","stroke-opacity":"0.08","stroke-dasharray":"4,4"},null,8,fs))),128)),n.alertThreshold?(c(),f("line",{key:0,x1:"0",y1:n.dbToY(n.alertThreshold),x2:s.waveformWidth,y2:n.dbToY(n.alertThreshold),stroke:"rgb(var(--v-theme-error))","stroke-opacity":"0.5","stroke-dasharray":"6,3","stroke-width":"1.5"},null,8,gs)):w("",!0),n.waveformPath?(c(),f("path",{key:1,d:n.waveformFillPath,fill:"url(#waveGradient-rt)",opacity:"0.3"},null,8,ps)):w("",!0),n.waveformPath?(c(),f("path",{key:2,d:n.waveformPath,fill:"none",stroke:"rgb(var(--v-theme-primary))","stroke-width":"2","stroke-linejoin":"round","stroke-linecap":"round"},null,8,ys)):w("",!0),e[31]||(e[31]=r("defs",null,[r("linearGradient",{id:"waveGradient-rt",x1:"0",y1:"0",x2:"0",y2:"1"},[r("stop",{offset:"0%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.4"}),r("stop",{offset:"100%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.02"})])],-1))],8,hs))],512)]),o(F),r("div",bs,[r("div",vs,[o(x,{class:"mr-2",size:"18",color:"amber"},{default:a(()=>[...e[32]||(e[32]=[u(" mdi-star-circle ",-1)])]),_:1}),e[33]||(e[33]=r("span",{class:"text-subtitle-2 font-weight-medium"},"实时评分",-1))]),i.currentScore!==null?(c(),f("div",ws,[o(_,{variant:"tonal",color:n.scoreColor,rounded:"xl",class:"flex-grow-1","min-width":"200"},{default:a(()=>[o(T,{class:"d-flex align-center pa-4"},{default:a(()=>[o(Ce,{"model-value":i.currentScore,color:n.scoreColor,size:56,width:5,class:"mr-4"},{default:a(()=>[r("span",Ss,h(i.currentScore),1)]),_:1},8,["model-value","color"]),r("div",null,[r("div",Ds,h(n.scoreLabel),1),e[34]||(e[34]=r("div",{class:"text-caption text-medium-emphasis"}," 综合评分 (0-100) ",-1))])]),_:1})]),_:1},8,["color"]),i.scoreDetail?(c(),v(_,{key:0,variant:"outlined",rounded:"xl",class:"flex-grow-1","min-width":"200"},{default:a(()=>[o(T,{class:"pa-4"},{default:a(()=>[e[35]||(e[35]=r("div",{class:"text-subtitle-2 font-weight-medium mb-2"}," 扣分扣因 ",-1)),(c(!0),f(k,null,M(n.scorePenaltyItems,d=>(c(),f("div",{key:d.label,class:"d-flex align-center justify-space-between mb-1"},[r("div",xs,[o(x,{color:d.color,size:"14",class:"mr-2"},{default:a(()=>[u(h(d.icon),1)]),_:2},1032,["color"]),r("span",ks,h(d.label),1)]),r("div",Cs,[o(re,{"model-value":d.percent,color:d.color,height:"6",rounded:"",class:"mr-2"},null,8,["model-value","color"]),r("span",Ts,h(d.percent)+"% ",1)])]))),128))]),_:1})]),_:1})):w("",!0)])):(c(),f("div",_s,[o(x,{size:"32",class:"mb-2"},{default:a(()=>[...e[36]||(e[36]=[u(" mdi-chart-arc ",-1)])]),_:1}),e[37]||(e[37]=r("div",{class:"text-body-2"}," 开始监测后将显示评分 ",-1))]))]),o(F),r("div",Ms,[i.isMonitoring?(c(),v(b,{key:1,color:"error",variant:"tonal","prepend-icon":"mdi-stop",size:"large",class:"px-6",onClick:e[3]||(e[3]=d=>t.$emit("stop"))},{default:a(()=>[...e[39]||(e[39]=[u(" 停止监测 ",-1)])]),_:1})):(c(),v(b,{key:0,color:"success",variant:"elevated","prepend-icon":"mdi-play",size:"large",class:"px-6",disabled:i.micPermissionState==="denied"||i.micPermissionState==="unavailable",onClick:e[2]||(e[2]=d=>t.$emit("start"))},{default:a(()=>[...e[38]||(e[38]=[u(" 开始监测 ",-1)])]),_:1},8,["disabled"])),o(E),o(b,{variant:"tonal",color:"deep-purple","prepend-icon":"mdi-crosshairs-gps",onClick:n.openCalibrateDialog},{default:a(()=>[...e[40]||(e[40]=[u(" 校准 ",-1)])]),_:1},8,["onClick"])])]),_:1}),o(ee,{value:"reports"},{default:a(()=>[n.sortedDateKeys.length===0?(c(),f("div",Es,[o(x,{size:"48",class:"mb-3"},{default:a(()=>[...e[41]||(e[41]=[u(" mdi-chart-box-outline ",-1)])]),_:1}),e[42]||(e[42]=r("div",{class:"text-body-1"}," 暂无统计报告 ",-1)),e[43]||(e[43]=r("div",{class:"text-caption mt-1"}," 在配置的晚自习时间段内,系统会自动记录并生成报告 ",-1))])):(c(),f(k,{key:1},[r("div",Rs,[r("div",Is,[o(x,{size:"18",color:"teal",class:"mr-1"},{default:a(()=>[...e[44]||(e[44]=[u(" mdi-calendar ",-1)])]),_:1}),e[46]||(e[46]=r("span",{class:"text-subtitle-2 font-weight-medium"},"选择日期",-1)),o(E),o(b,{color:"error",size:"x-small",variant:"text","prepend-icon":"mdi-delete-sweep",onClick:e[4]||(e[4]=d=>s.confirmClearMode="all")},{default:a(()=>[...e[45]||(e[45]=[u(" 清空全部 ",-1)])]),_:1})]),r("div",Vs,[(c(!0),f(k,null,M(n.sortedDateKeys,d=>(c(),v(z,{key:d,color:i.selectedDate===d?"primary":void 0,variant:i.selectedDate===d?"elevated":"tonal",size:"small",onClick:m=>t.$emit("select-date",d)},{default:a(()=>[o(x,{start:"",size:"14"},{default:a(()=>[...e[47]||(e[47]=[u(" mdi-calendar-blank ",-1)])]),_:1}),u(" "+h(n.formatDateLabel(d))+" ",1),o(yt,{content:i.reportMeta.dates[d].count,color:"primary",inline:"",class:"ml-1"},null,8,["content"])]),_:2},1032,["color","variant","onClick"]))),128))])]),o(F),i.selectedDate&&i.reportMeta.dates[i.selectedDate]?(c(),f("div",Ns,[r("div",Ps,[r("div",As,h(n.formatDateLabel(i.selectedDate)),1),o(z,{size:"small",color:n.metaScoreColor(i.reportMeta.dates[i.selectedDate].avgScore),variant:"tonal"},{default:a(()=>[u(" 均分 "+h(i.reportMeta.dates[i.selectedDate].avgScore),1)]),_:1},8,["color"]),o(z,{size:"small",variant:"tonal"},{default:a(()=>[u(h(i.reportMeta.dates[i.selectedDate].count)+" 条记录 ",1)]),_:1}),o(E),o(b,{color:"error",size:"x-small",variant:"text","prepend-icon":"mdi-delete",onClick:e[5]||(e[5]=d=>s.confirmClearMode="date")},{default:a(()=>[...e[48]||(e[48]=[u(" 清空当日 ",-1)])]),_:1})])])):w("",!0),i.dateReports.length===0&&i.selectedDate?(c(),f("div",Ls,[o(x,{size:"32"},{default:a(()=>[...e[49]||(e[49]=[u(" mdi-file-document-outline ",-1)])]),_:1}),e[50]||(e[50]=r("div",{class:"text-body-2 mt-1"}," 该日期暂无报告数据 ",-1))])):w("",!0),i.dateReports.length>0?(c(),f("div",zs,[(c(!0),f(k,null,M(i.dateReports,(d,m)=>(c(),v(z,{key:d.startTime,color:s.selectedReportIndex===m?"teal":void 0,variant:s.selectedReportIndex===m?"elevated":"outlined",size:"small",onClick:p=>s.selectedReportIndex=m},{default:a(()=>[u(h(d.sessionName)+" ",1),r("span",Fs,h(n.formatTime(d.startTime)),1)]),_:2},1032,["color","variant","onClick"]))),128))])):w("",!0),n.selectedReport?(c(),v(F,{key:3})):w("",!0),n.selectedReport?(c(),f("div",Bs,[r("div",Os,[r("div",Us,h(n.selectedReport.sessionName)+" 统计报告 ",1)]),r("div",js,[e[57]||(e[57]=r("div",{class:"d-flex align-center mb-3"},[r("span",{class:"report-section-line bg-teal"}),r("span",{class:"text-subtitle-2 font-weight-bold ml-2"},"报告概览")],-1)),r("div",Hs,[r("div",Ws,[e[51]||(e[51]=r("div",{class:"text-caption text-medium-emphasis"}," 时长 ",-1)),r("div",Gs,h(n.formatDuration(n.selectedReport.duration)),1)]),r("div",Ks,[e[52]||(e[52]=r("div",{class:"text-caption text-medium-emphasis"}," 表现 ",-1)),r("div",qs,[u(h(n.selectedReport.score)+" 分 ",1),r("span",Ys,"("+h(n.reportScoreLabel(n.selectedReport.score))+")",1)])]),r("div",Js,[e[53]||(e[53]=r("div",{class:"text-caption text-medium-emphasis"}," 峰值 ",-1)),r("div",Xs,h(n.selectedReport.maxDb)+" dB ",1)]),r("div",Zs,[e[54]||(e[54]=r("div",{class:"text-caption text-medium-emphasis"}," 平均 ",-1)),r("div",Qs,h(n.selectedReport.avgDb)+" dB ",1)]),r("div",$s,[e[55]||(e[55]=r("div",{class:"text-caption text-medium-emphasis"}," 超阈时长 ",-1)),r("div",ei,h(n.formatSeconds(n.selectedReport.overThresholdDuration)),1)]),r("div",ti,[e[56]||(e[56]=r("div",{class:"text-caption text-medium-emphasis"}," 打断次数 ",-1)),r("div",si,h(n.selectedReport.segmentCount),1)])])]),r("div",ii,[e[59]||(e[59]=r("div",{class:"d-flex align-center mb-3"},[r("span",{class:"report-section-line bg-teal"}),r("span",{class:"text-subtitle-2 font-weight-bold ml-2"},"噪音走势")],-1)),r("div",ni,[(c(),f("svg",{width:"100%",height:"140",viewBox:`0 0 ${s.reportChartWidth} 140`,preserveAspectRatio:"none"},[(c(!0),f(k,null,M(n.reportGridLines,d=>(c(),f("line",{key:`rg-${d.val}`,x1:"0",y1:d.y,x2:s.reportChartWidth,y2:d.y,stroke:"currentColor","stroke-opacity":"0.1","stroke-dasharray":"4,4"},null,8,ai))),128)),r("line",{x1:"0",y1:n.reportDbToY(n.selectedReport.alertThresholdDb||55),x2:s.reportChartWidth,y2:n.reportDbToY(n.selectedReport.alertThresholdDb||55),stroke:"rgb(var(--v-theme-error))","stroke-opacity":"0.6","stroke-dasharray":"6,3","stroke-width":"1.5"},null,8,ri),n.reportWaveformPath?(c(),f("path",{key:0,d:n.reportWaveformFillPath,fill:"url(#reportGrad)",opacity:"0.3"},null,8,li)):w("",!0),n.reportWaveformPath?(c(),f("path",{key:1,d:n.reportWaveformPath,fill:"none",stroke:"rgb(var(--v-theme-primary))","stroke-width":"1.5","stroke-linejoin":"round"},null,8,di)):w("",!0),e[58]||(e[58]=r("defs",null,[r("linearGradient",{id:"reportGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[r("stop",{offset:"0%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.3"}),r("stop",{offset:"100%","stop-color":"rgb(var(--v-theme-primary))","stop-opacity":"0.02"})])],-1))],8,oi))],512),r("div",ci," 统计范围:"+h(n.formatFullTime(n.selectedReport.startTime))+" - "+h(n.formatFullTime(n.selectedReport.endTime))+"; 噪音报警阈值: "+h(n.selectedReport.alertThresholdDb||55)+" dB; 覆盖率: "+h(n.reportCoverage)+"% ",1)]),r("div",ui,[e[62]||(e[62]=r("div",{class:"d-flex align-center mb-3"},[r("span",{class:"report-section-line bg-teal"}),r("span",{class:"text-subtitle-2 font-weight-bold ml-2"},"更多统计")],-1)),r("div",mi,[o(_,{variant:"outlined",rounded:"xl",class:"flex-grow-1","min-width":"280"},{default:a(()=>[o(T,{class:"pa-4"},{default:a(()=>[e[60]||(e[60]=r("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 噪音等级分布 ",-1)),r("div",hi,[r("div",fi,[(c(!0),f(k,null,M(n.levelDistribution,d=>(c(),f("div",{key:d.label,style:P({width:`${d.percent}%`,backgroundColor:d.color,minWidth:d.percent>0?"4px":"0"})},null,4))),128))]),r("div",gi,[(c(!0),f(k,null,M(n.levelDistribution,d=>(c(),f("div",{key:`leg-${d.label}`,class:"d-flex align-center"},[r("span",{class:"d-inline-block mr-1",style:P({width:"10px",height:"10px",borderRadius:"2px",backgroundColor:d.color})},null,4),r("span",pi,h(d.label)+" ("+h(d.percent)+"%) ",1)]))),128))])])]),_:1})]),_:1}),o(_,{variant:"outlined",rounded:"xl",class:"flex-grow-1","min-width":"280"},{default:a(()=>[o(T,{class:"pa-4"},{default:a(()=>[e[61]||(e[61]=r("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 扣分扣因 (越长扣分越多) ",-1)),(c(!0),f(k,null,M(n.reportPenaltyItems,d=>(c(),f("div",{key:d.label,class:"d-flex align-center mb-2"},[r("span",yi,h(d.label),1),o(re,{"model-value":d.percent,color:d.color,height:"10",rounded:"",class:"flex-grow-1 mr-2"},null,8,["model-value","color"]),r("span",bi,h(d.percent)+"%",1)]))),128))]),_:1})]),_:1})])])])):w("",!0)],64))]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(B,{modelValue:s.showCalibrateDialog,"onUpdate:modelValue":e[12]||(e[12]=d=>s.showCalibrateDialog=d),"max-width":"560",scrollable:""},{default:a(()=>[o(_,{class:"rounded-xl"},{default:a(()=>[o(I,{class:"d-flex align-center pa-4"},{default:a(()=>[o(x,{class:"mr-2",color:"deep-purple"},{default:a(()=>[...e[63]||(e[63]=[u(" mdi-crosshairs-gps ",-1)])]),_:1}),e[64]||(e[64]=r("span",{class:"text-h6 font-weight-bold"},"分贝校准",-1)),o(E),o(b,{icon:"mdi-close",size:"small",variant:"text",onClick:e[7]||(e[7]=d=>s.showCalibrateDialog=!1)})]),_:1}),o(F),o(T,{class:"pa-5"},{default:a(()=>[o(_,{variant:"outlined",class:"mb-5"},{default:a(()=>[o(T,{class:"py-3"},{default:a(()=>[e[68]||(e[68]=r("div",{class:"text-caption text-medium-emphasis mb-1"}," 当前校准值 ",-1)),r("div",vi,[r("div",null,[e[65]||(e[65]=r("span",{class:"text-body-2 text-medium-emphasis"},"基准分贝:",-1)),r("span",wi,h(s.calibrationSettings.baselineDb)+" dB ",1)]),r("div",null,[e[66]||(e[66]=r("span",{class:"text-body-2 text-medium-emphasis"},"基准 RMS:",-1)),r("span",Si,h(s.calibrationSettings.baselineRms!=null?s.calibrationSettings.baselineRms.toFixed(6):"未校准"),1)]),r("div",null,[e[67]||(e[67]=r("span",{class:"text-body-2 text-medium-emphasis"},"最大分贝:",-1)),r("span",Di,h(s.calibrationSettings.maxLevelDb)+" dB ",1)])])]),_:1})]),_:1}),r("div",xi,[o(x,{size:"18",class:"mr-2",color:"primary"},{default:a(()=>[...e[69]||(e[69]=[u(" mdi-auto-fix ",-1)])]),_:1}),e[70]||(e[70]=r("span",{class:"text-subtitle-2 font-weight-medium"},"自动校准",-1))]),e[74]||(e[74]=r("div",{class:"text-caption text-medium-emphasis mb-3"}," 在已知环境分贝的场景下,输入当前环境的真实分贝值,点击开始后保持环境安静 3 秒。 ",-1)),r("div",ki,[o(se,{modelValue:s.calibrateTargetDb,"onUpdate:modelValue":e[8]||(e[8]=d=>s.calibrateTargetDb=d),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"目标分贝",suffix:"dB","hide-details":"",style:{"max-width":"160px"},min:20,max:80},null,8,["modelValue"]),o(b,{color:"deep-purple",variant:"tonal","prepend-icon":"mdi-crosshairs-gps",loading:s.isCalibrating,disabled:!i.isMonitoring,onClick:n.doAutoCalibrate},{default:a(()=>[...e[71]||(e[71]=[u(" 开始校准 ",-1)])]),_:1},8,["loading","disabled","onClick"]),i.isMonitoring?w("",!0):(c(),f("span",Ci," 需先开启监测 ")),s.calibrateMessage?(c(),f("span",{key:1,class:O(["text-caption",s.calibrateSuccess?"text-success":"text-error"])},h(s.calibrateMessage),3)):w("",!0)]),o(F,{class:"mb-5"}),r("div",Ti,[o(x,{size:"18",class:"mr-2",color:"orange"},{default:a(()=>[...e[72]||(e[72]=[u(" mdi-pencil-ruler ",-1)])]),_:1}),e[73]||(e[73]=r("span",{class:"text-subtitle-2 font-weight-medium"},"手动校准 / 参数调整",-1))]),e[75]||(e[75]=r("div",{class:"text-caption text-medium-emphasis mb-3"}," 直接输入校准参数。修改后点击保存生效。 ",-1)),r("div",_i,[o(se,{modelValue:s.editBaselineDb,"onUpdate:modelValue":e[9]||(e[9]=d=>s.editBaselineDb=d),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"基准分贝",suffix:"dB","hide-details":"",style:{"max-width":"160px"},min:20,max:80},null,8,["modelValue"]),o(se,{modelValue:s.editBaselineRms,"onUpdate:modelValue":e[10]||(e[10]=d=>s.editBaselineRms=d),density:"compact",variant:"outlined",label:"基准 RMS","hide-details":"",style:{"max-width":"200px"},placeholder:"如 0.003200"},null,8,["modelValue"]),o(se,{modelValue:s.editMaxLevelDb,"onUpdate:modelValue":e[11]||(e[11]=d=>s.editMaxLevelDb=d),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"最大显示分贝",suffix:"dB","hide-details":"",style:{"max-width":"180px"},min:40,max:120},null,8,["modelValue"])])]),_:1}),o(j,{class:"px-4 pb-4"},{default:a(()=>[o(b,{variant:"text","prepend-icon":"mdi-restore",onClick:n.resetCalibration},{default:a(()=>[...e[76]||(e[76]=[u(" 恢复默认 ",-1)])]),_:1},8,["onClick"]),o(E),o(b,{color:"primary",variant:"elevated","prepend-icon":"mdi-content-save",onClick:n.saveManualCalibration},{default:a(()=>[...e[77]||(e[77]=[u(" 保存校准 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(B,{modelValue:n.showConfirmClear,"onUpdate:modelValue":e[14]||(e[14]=d=>n.showConfirmClear=d),"max-width":"360"},{default:a(()=>[o(_,null,{default:a(()=>[o(I,null,{default:a(()=>[...e[78]||(e[78]=[u("确认清空",-1)])]),_:1}),o(T,null,{default:a(()=>[u(h(s.confirmClearMode==="all"?"确定要清空所有日期的统计报告吗?此操作不可撤销。":`确定要清空 ${n.formatDateLabel(i.selectedDate)} 的统计报告吗?此操作不可撤销。`),1)]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{variant:"text",onClick:e[13]||(e[13]=d=>s.confirmClearMode="")},{default:a(()=>[...e[79]||(e[79]=[u(" 取消 ",-1)])]),_:1}),o(b,{color:"error",onClick:n.doClearReports},{default:a(()=>[...e[80]||(e[80]=[u(" 确认清空 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model-value"])}const qe=H(ss,[["render",Mi],["__scopeId","data-v-5d732295"]]),Ei=Object.freeze(Object.defineProperty({__proto__:null,default:qe},Symbol.toStringTag,{value:"Module"})),Ri=A(()=>N(()=>Promise.resolve().then(()=>Ei),void 0,import.meta.url)),Ii=2,Vi=.9,Ni=.6,Pi={name:"TimeCard",components:{NoiseMonitorDetail:Ri},data(){return{now:new Date,timer:null,unwatch:null,fontSize:28,showFullscreen:!1,showSettings:!1,timeCardEnabled:!0,use12hClock:!1,fullscreenMode:"clock",toolbarVisible:!0,toolbarTimer:null,countdownHours:0,countdownMinutes:5,countdownSeconds:0,countdownRunning:!1,countdownRemaining:0,countdownTotal:0,countdownTimer:null,countdownLastTick:null,countdownPresets:[{label:"1 分钟",h:0,m:1,s:0},{label:"3 分钟",h:0,m:3,s:0},{label:"5 分钟",h:0,m:5,s:0},{label:"10 分钟",h:0,m:10,s:0},{label:"15 分钟",h:0,m:15,s:0},{label:"30 分钟",h:0,m:30,s:0},{label:"1 小时",h:1,m:0,s:0}],countdownEndedDialog:!1,overtimeElapsed:0,overtimeTimer:null,overtimeLastTick:null,stopwatchRunning:!1,stopwatchElapsed:0,stopwatchTimer:null,stopwatchLastTick:null,laps:[],lastLapElapsed:0,noiseEnabled:!1,noiseMonitoring:!1,noiseStatus:"initializing",noiseCurrentDbfs:-100,noiseCurrentDisplayDb:0,noiseSmoothedDb:0,noiseScore:null,noiseScoreDetail:null,noiseRingBuffer:[],noiseLastSlice:null,noiseHistory:[],noiseUnsubscribe:null,showNoiseDetail:!1,noiseSessionConfig:null,noiseSessionActive:!1,noiseSessionData:null,noiseSessionCheckTimer:null,noiseReportMeta:{},noiseSelectedDate:"",noiseCurrentDateReports:[],showMicPermissionDialog:!1,micPermissionState:""}},computed:{timeString(){const t=this.now.getHours(),e=String(this.now.getMinutes()).padStart(2,"0");return this.use12hClock?`${t%12||12}:${e}`:`${String(t).padStart(2,"0")}:${e}`},amPmString(){return this.now.getHours()<12?"AM":"PM"},secondsString(){return`:${String(this.now.getSeconds()).padStart(2,"0")}`},dateString(){const t=this.now.getFullYear(),e=this.now.getMonth()+1,i=this.now.getDate();return`${t}年${e}月${i}日`},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?"晚上":"深夜"},dayProgressPercent(){const t=this.now.getHours(),e=this.now.getMinutes(),i=this.now.getSeconds();return((t*3600+e*60+i)/86400*100).toFixed(1)},timeStyle(){return{"font-size":`${this.fontSize*Ii}px`,"font-weight":"700","line-height":"1","letter-spacing":"4px","font-variant-numeric":"tabular-nums"}},secondsStyle(){return{"font-size":`${this.fontSize*Vi}px`,"font-variant-numeric":"tabular-nums","vertical-align":"baseline","margin-left":"4px",opacity:"0.6"}},dateStyle(){return{"font-size":`${this.fontSize*Ni}px`,"letter-spacing":"1px"}},countdownTotalSetSeconds(){return this.countdownHours*3600+this.countdownMinutes*60+this.countdownSeconds},countdownDisplay(){const t=Math.max(0,Math.ceil(this.countdownRemaining/1e3)),e=Math.floor(t/3600),i=Math.floor(t%3600/60),l=t%60;return e>0?`${String(e).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}`:`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}`},countdownProgressPercent(){return this.countdownTotal<=0?0:(this.countdownTotal-this.countdownRemaining)/this.countdownTotal*100},overtimeDisplay(){const t=Math.floor(this.overtimeElapsed/1e3),e=Math.floor(t/3600),i=Math.floor(t%3600/60),l=t%60;return e>0?`${e}小时${i}分${l}秒`:i>0?`${i}分${l}秒`:`${l}秒`},stopwatchDisplay(){const t=this.stopwatchElapsed,e=Math.floor(t/1e3),i=Math.floor(e/3600),l=Math.floor(e%3600/60),s=e%60,n=Math.floor(t%1e3/10);return i>0?`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}:${String(s).padStart(2,"0")}.${String(n).padStart(2,"0")}`:`${String(l).padStart(2,"0")}:${String(s).padStart(2,"0")}.${String(n).padStart(2,"0")}`},noiseDisplayDb(){return!this.noiseMonitoring||this.noiseStatus!=="active"?"--":Math.round(this.noiseSmoothedDb)},noiseDbColor(){const t=typeof this.noiseDisplayDb=="number"?this.noiseDisplayDb:0;return t<40?"success":t<55?"light-green":t<70?"warning":t<85?"orange":"error"},noiseIconColor(){return this.noiseMonitoring?this.noiseDbColor:"grey"},noiseStatusText(){if(!this.noiseMonitoring||this.noiseStatus!=="active")return"未监测";const t=typeof this.noiseDisplayDb=="number"?this.noiseDisplayDb:0;return t<30?"极其安静":t<40?"非常安静":t<50?"安静":t<60?"正常交谈":t<70?"较为嘈杂":t<80?"嘈杂":t<90?"非常嘈杂":"极度嘈杂"}},watch:{showFullscreen(t){t?(this.handleKeydown=e=>{e.key==="Escape"&&(this.showSettings?this.showSettings=!1:this.countdownEndedDialog&&this.dismissCountdownDialog(),e.preventDefault(),e.stopPropagation())},window.addEventListener("keydown",this.handleKeydown,!0),this.showToolbar()):(this.handleKeydown&&(window.removeEventListener("keydown",this.handleKeydown,!0),this.handleKeydown=null),this.clearToolbarTimer())}},async mounted(){if(this.loadSettings(),this.startTimer(),this.unwatch=Te(()=>{this.loadSettings()}),this.noiseEnabled=D("noiseMonitor.enabled"),this.noiseEnabled){this.noiseHistory=K.getHistory();const t=await this.checkMicPermission();this.micPermissionState=t,t==="granted"?this.loadNoiseSessionConfig().then(()=>{this.startSessionCheck(),D("noiseMonitor.autoStart")&&!this.noiseMonitoring&&this.startNoise()}):t==="prompt"&&(D("noiseMonitor.permissionDismissed")||(this.showMicPermissionDialog=!0))}},beforeUnmount(){this.stopTimer(),this.clearCountdownTimer(),this.clearStopwatchTimer(),this.clearToolbarTimer(),this.dismissCountdownDialog(),this.stopNoise(),this.stopSessionCheck(),this.unwatch&&this.unwatch(),this.handleKeydown&&window.removeEventListener("keydown",this.handleKeydown,!0)},methods:{loadSettings(){this.fontSize=ne.getSetting("font.size"),this.timeCardEnabled=D("timeCard.enabled"),this.use12hClock=D("timeCard.use12h"),this.noiseEnabled=D("noiseMonitor.enabled")},setTimeCardEnabled(t){this.timeCardEnabled=t,q("timeCard.enabled",t)},setUse12hClock(t){this.use12hClock=t,q("timeCard.use12h",t)},startTimer(){this.timer=setInterval(()=>{this.now=new Date},1e3)},stopTimer(){this.timer&&(clearInterval(this.timer),this.timer=null)},showToolbar(){this.toolbarVisible=!0,this.clearToolbarTimer(),this.toolbarTimer=setTimeout(()=>{this.toolbarVisible=!1},3e3)},clearToolbarTimer(){this.toolbarTimer&&(clearTimeout(this.toolbarTimer),this.toolbarTimer=null)},applyCountdownPreset(t){this.countdownHours=t.h,this.countdownMinutes=t.m,this.countdownSeconds=t.s},startCountdown(){const t=this.countdownTotalSetSeconds*1e3;t<=0||(this.countdownTotal=t,this.countdownRemaining=t,this.countdownRunning=!0,this.countdownLastTick=Date.now(),this.countdownTimer=setInterval(()=>{this.tickCountdown()},50))},tickCountdown(){const t=Date.now(),e=t-this.countdownLastTick;this.countdownLastTick=t,this.countdownRemaining=Math.max(0,this.countdownRemaining-e),this.countdownRemaining<=0&&(this.countdownRunning=!1,this.clearCountdownTimer(),vt(wt),this.showCountdownEndedDialog())},toggleCountdown(){this.countdownRunning?(this.countdownRunning=!1,this.clearCountdownTimer()):(this.countdownRunning=!0,this.countdownLastTick=Date.now(),this.countdownTimer=setInterval(()=>{this.tickCountdown()},50))},resetCountdown(){this.countdownRunning=!1,this.countdownRemaining=0,this.countdownTotal=0,this.clearCountdownTimer(),this.dismissCountdownDialog()},showCountdownEndedDialog(){this.countdownEndedDialog=!0,this.overtimeElapsed=0,this.overtimeLastTick=Date.now(),this.overtimeTimer=setInterval(()=>{const t=Date.now();this.overtimeElapsed+=t-this.overtimeLastTick,this.overtimeLastTick=t},200)},dismissCountdownDialog(){this.countdownEndedDialog=!1,this.overtimeElapsed=0,this.overtimeTimer&&(clearInterval(this.overtimeTimer),this.overtimeTimer=null)},formatCountdownTotal(t){const e=Math.round(t/1e3),i=Math.floor(e/3600),l=Math.floor(e%3600/60),s=e%60,n=[];return i>0&&n.push(`${i}小时`),l>0&&n.push(`${l}分钟`),s>0&&n.push(`${s}秒`),n.join("")||"0秒"},clearCountdownTimer(){this.countdownTimer&&(clearInterval(this.countdownTimer),this.countdownTimer=null)},toggleStopwatch(){this.stopwatchRunning?(this.stopwatchRunning=!1,this.clearStopwatchTimer()):(this.stopwatchRunning=!0,this.stopwatchLastTick=Date.now(),this.stopwatchTimer=setInterval(()=>{this.tickStopwatch()},30))},tickStopwatch(){const t=Date.now();this.stopwatchElapsed+=t-this.stopwatchLastTick,this.stopwatchLastTick=t},addLap(){const t=this.stopwatchElapsed-this.lastLapElapsed;this.laps.unshift({split:t,total:this.stopwatchElapsed}),this.lastLapElapsed=this.stopwatchElapsed},resetStopwatch(){this.stopwatchRunning=!1,this.stopwatchElapsed=0,this.lastLapElapsed=0,this.laps=[],this.clearStopwatchTimer()},clearStopwatchTimer(){this.stopwatchTimer&&(clearInterval(this.stopwatchTimer),this.stopwatchTimer=null)},formatMs(t){const e=Math.floor(t/1e3),i=Math.floor(e/60),l=e%60,s=Math.floor(t%1e3/10);return`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}.${String(s).padStart(2,"0")}`},async checkMicPermission(){try{return navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices&&!(await navigator.mediaDevices.enumerateDevices()).some(l=>l.kind==="audioinput")?"unavailable":!navigator.permissions||!navigator.permissions.query?"granted":(await navigator.permissions.query({name:"microphone"})).state}catch{return"prompt"}},async grantMicPermission(){this.showMicPermissionDialog=!1,await this.loadNoiseSessionConfig(),this.startSessionCheck(),await this.startNoise(),this.micPermissionState=await this.checkMicPermission()},dismissMicPermission(){this.showMicPermissionDialog=!1,q("noiseMonitor.permissionDismissed",!0)},onPermissionDialogToggle(t){this.noiseEnabled=t,q("noiseMonitor.enabled",t),t||(this.showMicPermissionDialog=!1,q("noiseMonitor.permissionDismissed",!0))},async startNoise(){try{await K.start(),this.noiseMonitoring=!0,this.noiseUnsubscribe=K.subscribe(t=>{this.noiseStatus=t.status,this.noiseCurrentDbfs=t.currentDbfs,this.noiseCurrentDisplayDb=t.currentDisplayDb;const e=.25,i=t.currentDisplayDb;this.noiseSmoothedDb=this.noiseSmoothedDb===0?i:this.noiseSmoothedDb*(1-e)+i*e,this.noiseRingBuffer=t.ringBuffer||[],this.noiseLastSlice=t.lastSlice||null,this.noiseScore=t.currentScore??null,this.noiseScoreDetail=t.currentScoreDetail??null,this.noiseHistory=K.getHistory(),this.noiseSessionActive&&this.noiseSessionData&&this.collectSessionSample(t)})}catch(t){console.error("噪音监测启动失败:",t),this.noiseStatus="error"}},stopNoise(){this.noiseUnsubscribe&&(this.noiseUnsubscribe(),this.noiseUnsubscribe=null),this.noiseMonitoring&&K.stop(),this.noiseMonitoring=!1,this.noiseStatus="initializing",this.noiseSmoothedDb=0,this.noiseScore=null,this.noiseScoreDetail=null},clearNoiseHistory(){K.clearHistory(),this.noiseHistory=[]},onNoiseClick(){if(this.micPermissionState==="denied"||this.micPermissionState==="unavailable"){this.showNoiseDetail=!0;return}this.noiseMonitoring?this.showNoiseDetail=!0:this.startNoise()},async loadNoiseSessionConfig(){try{const t=await R.loadData("noise-session-config"),e=(t==null?void 0:t.data)||t;e&&e.sessions?this.noiseSessionConfig=e:this.noiseSessionConfig={sessions:[{name:"第1节晚自习",start:"19:20",duration:70,enabled:!0},{name:"第2节晚自习",start:"20:20",duration:110,enabled:!0}],alertThresholdDb:55},await this.loadSessionReports()}catch(t){console.error("加载噪音会话配置失败:",t),this.noiseSessionConfig={sessions:[{name:"第1节晚自习",start:"19:20",duration:70,enabled:!0},{name:"第2节晚自习",start:"20:20",duration:110,enabled:!0}],alertThresholdDb:55}}},async saveNoiseSessionConfig(){try{await R.saveData("noise-session-config",this.noiseSessionConfig)}catch(t){console.error("保存噪音会话配置失败:",t)}},formatDateKey(t){const e=new Date(t);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`},async loadReportMeta(){try{const t=await R.loadData("noise-reports-meta"),e=(t==null?void 0:t.data)||t;if(e&&e.dates){const i=new Date;i.setDate(i.getDate()-30);const l=this.formatDateKey(i.getTime()),s={};for(const[n,d]of Object.entries(e.dates))n>=l&&(s[n]=d);this.noiseReportMeta={dates:s}}else this.noiseReportMeta={dates:{}}}catch{this.noiseReportMeta={dates:{}}}},async saveReportMeta(){try{await R.saveData("noise-reports-meta",this.noiseReportMeta)}catch{console.error("保存报告元数据失败")}},async loadReportsForDate(t){this.noiseSelectedDate=t;try{const e=await R.loadData(`noise-reports-${t}`),i=(e==null?void 0:e.data)||e;this.noiseCurrentDateReports=Array.isArray(i)?i:[]}catch{this.noiseCurrentDateReports=[]}},async saveReportToDate(t){const e=this.formatDateKey(t.startTime);let i=[];try{const s=await R.loadData(`noise-reports-${e}`),n=(s==null?void 0:s.data)||s;Array.isArray(n)&&(i=n)}catch{}i.push(t),await R.saveData(`noise-reports-${e}`,i),this.noiseReportMeta.dates||(this.noiseReportMeta.dates={});const l=i.map(s=>s.score);this.noiseReportMeta.dates[e]={count:i.length,avgScore:Math.round(l.reduce((s,n)=>s+n,0)/l.length),sessions:i.map(s=>s.sessionName),lastUpdated:Date.now()},await this.saveReportMeta(),this.noiseSelectedDate===e&&(this.noiseCurrentDateReports=i)},async loadSessionReports(){await this.loadReportMeta();const t=this.formatDateKey(Date.now());await this.loadReportsForDate(t)},startSessionCheck(){this.checkSessionTime(),this.noiseSessionCheckTimer=setInterval(()=>{this.checkSessionTime()},3e4)},stopSessionCheck(){this.noiseSessionCheckTimer&&(clearInterval(this.noiseSessionCheckTimer),this.noiseSessionCheckTimer=null)},checkSessionTime(){var l;if(!((l=this.noiseSessionConfig)!=null&&l.sessions))return;const t=new Date,e=t.getHours()*60+t.getMinutes(),i=this.noiseSessionConfig.sessions.find(s=>{if(!s.enabled)return!1;const[n,d]=s.start.split(":").map(Number),m=n*60+d,p=m+(s.duration||70);return e>=m&&e0){const i=this.noiseSessionData.samples,l=i.length>0?i[i.length-1].t:0;Date.now()-l>=2e3&&i.push({t:Date.now(),db:Math.round(e*10)/10})}},generateSessionReport(t){const e=t.samples,i=e.map(W=>W.db),l=t.alertThresholdDb,s=t.endTime-t.startTime;if(i.length===0)return{sessionName:t.sessionName,startTime:t.startTime,endTime:t.endTime,duration:s,avgDb:0,maxDb:0,score:100,overThresholdDuration:0,overThresholdRatio:0,segmentCount:0,samples:[],scorePenalties:{sustained:0,time:0,segment:0}};const n=Math.round(i.reduce((W,ge)=>W+ge,0)/i.length*10)/10,d=Math.round(Math.max(...i)*10)/10;let m=0;i.forEach(W=>{W>l&&m++});const p=m/i.length,g=Math.round(p*s/1e3);let S=0,U=!1;i.forEach(W=>{W>l&&!U&&(S++,U=!0),W<=l&&(U=!1)});const L=Math.min(40,Math.max(0,(n-l)/30*40)),X=Math.min(30,p*30),Z=Math.min(30,S/Math.max(1,s/6e4)/6*30),fe=Math.max(0,Math.round(100-L-X-Z));return{sessionName:t.sessionName,startTime:t.startTime,endTime:t.endTime,duration:s,avgDb:n,maxDb:d,score:fe,overThresholdDuration:g,overThresholdRatio:Math.round(p*1e3)/10,segmentCount:S,samples:e.length>500?this.downsampleArray(e,500):e,scorePenalties:{sustained:Math.round(L),time:Math.round(X),segment:Math.round(Z)},alertThresholdDb:l}},downsampleArray(t,e){const i=t.length/e,l=[];for(let s=0;ss.showFullscreen=!0)},{default:a(()=>[o(T,{class:"pa-6 d-flex flex-column",style:{height:"100%"}},{default:a(()=>[r("div",Ai,[r("div",Li,[r("div",{class:"time-display",style:P(n.timeStyle)},[u(h(n.timeString),1),r("span",{class:"seconds-text",style:P(n.secondsStyle)},h(n.secondsString),5),s.use12hClock?(c(),f("span",{key:0,class:"ampm-text",style:P(n.secondsStyle)},h(n.amPmString),5)):w("",!0)],4),r("div",{class:"date-line mt-3",style:P(n.dateStyle)},h(n.dateString)+" "+h(n.weekdayString)+" "+h(n.periodOfDay),5)]),s.noiseEnabled?(c(),f("div",{key:0,class:"d-flex flex-column align-center justify-center",style:{"min-width":"80px"},onClick:e[0]||(e[0]=Re((...m)=>n.onNoiseClick&&n.onNoiseClick(...m),["stop"]))},[s.micPermissionState==="denied"?(c(),f(k,{key:0},[o(x,{color:"error",size:"24"},{default:a(()=>[...e[18]||(e[18]=[u(" mdi-microphone-off ",-1)])]),_:1}),e[19]||(e[19]=r("div",{class:"text-caption text-error mt-1",style:{"white-space":"nowrap","font-size":"10px"}}," 权限被拒绝 ",-1))],64)):s.micPermissionState==="unavailable"?(c(),f(k,{key:1},[o(x,{color:"warning",size:"24"},{default:a(()=>[...e[20]||(e[20]=[u(" mdi-microphone-question ",-1)])]),_:1}),e[21]||(e[21]=r("div",{class:"text-caption text-warning mt-1",style:{"white-space":"nowrap","font-size":"10px"}}," 无麦克风 ",-1))],64)):(c(),f(k,{key:2},[r("div",{class:O(["noise-side-db font-weight-bold",`text-${n.noiseDbColor}`]),style:P({fontSize:`${s.fontSize*.9}px`,lineHeight:1,fontVariantNumeric:"tabular-nums"})},h(n.noiseDisplayDb),7),r("div",{class:O(["text-caption mt-1",`text-${n.noiseDbColor}`]),style:{"white-space":"nowrap","font-size":"11px"}},h(n.noiseStatusText),3),s.noiseMonitoring?w("",!0):(c(),f("div",zi," 点击开启 "))],64))])):w("",!0)])]),_:1}),s.noiseEnabled?(c(),v(d,{key:0,modelValue:s.showNoiseDetail,"onUpdate:modelValue":e[1]||(e[1]=m=>s.showNoiseDetail=m),status:s.noiseStatus,"current-db":n.noiseDisplayDb,"current-dbfs":s.noiseCurrentDbfs,"noise-level":n.noiseStatusText,"db-color":n.noiseDbColor,"current-score":s.noiseScore,"score-detail":s.noiseScoreDetail,"ring-buffer":s.noiseRingBuffer,"last-slice":s.noiseLastSlice,history:s.noiseHistory,"is-monitoring":s.noiseMonitoring,"mic-permission-state":s.micPermissionState,"session-active":s.noiseSessionActive,"session-data":s.noiseSessionData,"report-meta":s.noiseReportMeta,"selected-date":s.noiseSelectedDate,"date-reports":s.noiseCurrentDateReports,onStart:n.startNoise,onStop:n.stopNoise,onClearHistory:n.clearNoiseHistory,onSelectDate:n.onSelectReportDate,onClearDateReports:n.onClearDateReports,onClearAllReports:n.onClearAllReports},null,8,["modelValue","status","current-db","current-dbfs","noise-level","db-color","current-score","score-detail","ring-buffer","last-slice","history","is-monitoring","mic-permission-state","session-active","session-data","report-meta","selected-date","date-reports","onStart","onStop","onClearHistory","onSelectDate","onClearDateReports","onClearAllReports"])):w("",!0),o(B,{modelValue:s.showMicPermissionDialog,"onUpdate:modelValue":e[2]||(e[2]=m=>s.showMicPermissionDialog=m),"max-width":"480",persistent:""},{default:a(()=>[o(_,{rounded:"xl"},{default:a(()=>[r("div",Fi,[o(st,{color:"primary",size:"72"},{default:a(()=>[o(x,{icon:"mdi-microphone-outline",size:"36"})]),_:1})]),o(I,{class:"text-center text-h6 pt-4"},{default:a(()=>[...e[22]||(e[22]=[u(" 开启环境噪音监测 ",-1)])]),_:1}),o(T,{class:"text-body-2 text-medium-emphasis px-6"},{default:a(()=>[e[27]||(e[27]=r("p",{class:"mb-3"}," 该功能可以实时监测教室环境噪音,帮助营造安静的学习氛围: ",-1)),r("div",Bi,[o(x,{icon:"mdi-chart-line",size:"18",color:"primary",class:"mr-2 mt-1 flex-shrink-0"}),e[23]||(e[23]=r("span",null,"实时显示环境分贝数与噪音等级评估",-1))]),r("div",Oi,[o(x,{icon:"mdi-clock-check-outline",size:"18",color:"primary",class:"mr-2 mt-1 flex-shrink-0"}),e[24]||(e[24]=r("span",null,"在晚自习时段自动记录并生成统计报告",-1))]),r("div",Ui,[o(x,{icon:"mdi-shield-check-outline",size:"18",color:"primary",class:"mr-2 mt-1 flex-shrink-0"}),e[25]||(e[25]=r("span",null,"音频数据仅在本地处理,不会上传或存储录音",-1))]),o(le,{type:"info",variant:"tonal",density:"compact",class:"mb-2"},{default:a(()=>[...e[26]||(e[26]=[u(" 需要授予麦克风权限才能使用此功能。浏览器将弹出权限请求,请点击「允许」。 ",-1)])]),_:1})]),_:1}),o(F),o(T,{class:"px-6 py-3"},{default:a(()=>[o(J,{density:"compact",class:"pa-0"},{default:a(()=>[o(G,{class:"px-0"},{prepend:a(()=>[o(x,{icon:"mdi-microphone",class:"mr-3"})]),append:a(()=>[o(be,{"model-value":s.noiseEnabled,"hide-details":"",density:"comfortable","onUpdate:modelValue":n.onPermissionDialogToggle},null,8,["model-value","onUpdate:modelValue"])]),default:a(()=>[o(oe,null,{default:a(()=>[...e[28]||(e[28]=[u("启用噪音监测",-1)])]),_:1}),o(ae,{class:"text-caption"},{default:a(()=>[...e[29]||(e[29]=[u(" 关闭后将不再提醒 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),o(j,{class:"px-6 pb-5"},{default:a(()=>[o(b,{variant:"text",onClick:n.dismissMicPermission},{default:a(()=>[...e[30]||(e[30]=[u(" 暂不开启 ",-1)])]),_:1},8,["onClick"]),o(E),o(b,{color:"primary",variant:"elevated","prepend-icon":"mdi-microphone",disabled:!s.noiseEnabled,onClick:n.grantMicPermission},{default:a(()=>[...e[31]||(e[31]=[u(" 授权并开始 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(B,{modelValue:s.showFullscreen,"onUpdate:modelValue":e[14]||(e[14]=m=>s.showFullscreen=m),fullscreen:"",scrim:!1,persistent:"",transition:"dialog-bottom-transition"},{default:a(()=>[o(_,{class:"fullscreen-time-card d-flex flex-column",onMousemove:n.showToolbar,onTouchstart:n.showToolbar},{default:a(()=>[o(dt,{name:"toolbar-fade"},{default:a(()=>[ct(r("div",ji,[o(Be,{modelValue:s.fullscreenMode,"onUpdate:modelValue":e[4]||(e[4]=m=>s.fullscreenMode=m),density:"comfortable",color:"primary","align-tabs":"center",class:"fullscreen-tabs"},{default:a(()=>[o($,{value:"clock"},{default:a(()=>[o(x,{start:"",icon:"mdi-clock-outline"}),e[32]||(e[32]=u(" 时钟 ",-1))]),_:1}),o($,{value:"countdown"},{default:a(()=>[o(x,{start:"",icon:"mdi-timer-sand"}),e[33]||(e[33]=u(" 倒计时 ",-1))]),_:1}),o($,{value:"stopwatch"},{default:a(()=>[o(x,{start:"",icon:"mdi-timer-outline"}),e[34]||(e[34]=u(" 秒表 ",-1))]),_:1})]),_:1},8,["modelValue"])],512),[[ut,s.toolbarVisible]])]),_:1}),r("div",Hi,[o(Oe,{modelValue:s.fullscreenMode,"onUpdate:modelValue":e[11]||(e[11]=m=>s.fullscreenMode=m),class:"fullscreen-tabs-window"},{default:a(()=>[o(ee,{value:"clock"},{default:a(()=>[r("div",Wi,[r("div",Gi,[u(h(n.timeString),1),r("span",Ki,h(n.secondsString),1),s.use12hClock?(c(),f("span",qi,h(n.amPmString),1)):w("",!0)]),r("div",Yi,h(n.dateString)+" "+h(n.weekdayString)+" "+h(n.periodOfDay),1),r("div",Ji,[r("div",Xi," 今日已过 "+h(n.dayProgressPercent)+"% ",1),o(re,{"model-value":n.dayProgressPercent,color:"primary",height:"6",rounded:"",style:{"max-width":"400px",width:"80vw"}},null,8,["model-value"])]),e[35]||(e[35]=r("div",{class:"fullscreen-extra mt-8 text-medium-emphasis d-flex ga-8"},null,-1))])]),_:1}),o(ee,{value:"countdown"},{default:a(()=>[r("div",Zi,[!s.countdownRunning&&s.countdownRemaining<=0?(c(),f(k,{key:0},[r("div",Qi,[r("div",$i,[o(b,{icon:"mdi-chevron-up",variant:"text",size:"small",onClick:e[5]||(e[5]=m=>s.countdownHours=Math.min(s.countdownHours+1,99))}),r("div",en,h(String(s.countdownHours).padStart(2,"0")),1),o(b,{icon:"mdi-chevron-down",variant:"text",size:"small",onClick:e[6]||(e[6]=m=>s.countdownHours=Math.max(s.countdownHours-1,0))}),e[36]||(e[36]=r("div",{class:"text-caption text-medium-emphasis"}," 时 ",-1))]),e[39]||(e[39]=r("div",{class:"countdown-sep"}," : ",-1)),r("div",tn,[o(b,{icon:"mdi-chevron-up",variant:"text",size:"small",onClick:e[7]||(e[7]=m=>s.countdownMinutes=Math.min(s.countdownMinutes+1,59))}),r("div",sn,h(String(s.countdownMinutes).padStart(2,"0")),1),o(b,{icon:"mdi-chevron-down",variant:"text",size:"small",onClick:e[8]||(e[8]=m=>s.countdownMinutes=Math.max(s.countdownMinutes-1,0))}),e[37]||(e[37]=r("div",{class:"text-caption text-medium-emphasis"}," 分 ",-1))]),e[40]||(e[40]=r("div",{class:"countdown-sep"}," : ",-1)),r("div",nn,[o(b,{icon:"mdi-chevron-up",variant:"text",size:"small",onClick:e[9]||(e[9]=m=>s.countdownSeconds=Math.min(s.countdownSeconds+1,59))}),r("div",on,h(String(s.countdownSeconds).padStart(2,"0")),1),o(b,{icon:"mdi-chevron-down",variant:"text",size:"small",onClick:e[10]||(e[10]=m=>s.countdownSeconds=Math.max(s.countdownSeconds-1,0))}),e[38]||(e[38]=r("div",{class:"text-caption text-medium-emphasis"}," 秒 ",-1))])]),r("div",an,[(c(!0),f(k,null,M(s.countdownPresets,m=>(c(),v(b,{key:m.label,variant:"tonal",rounded:"xl",onClick:p=>n.applyCountdownPreset(m)},{default:a(()=>[u(h(m.label),1)]),_:2},1032,["onClick"]))),128))]),r("div",rn,[o(b,{color:"primary",size:"x-large",rounded:"xl",disabled:n.countdownTotalSetSeconds<=0,"prepend-icon":"mdi-play",onClick:n.startCountdown},{default:a(()=>[...e[41]||(e[41]=[u(" 开始 ",-1)])]),_:1},8,["disabled","onClick"])])],64)):(c(),f(k,{key:1},[r("div",{class:O(["fullscreen-time-display",{"countdown-ended":s.countdownRemaining<=0&&!s.countdownRunning}])},h(n.countdownDisplay),3),r("div",ln,h(s.countdownRunning?"倒计时进行中":s.countdownRemaining<=0?"时间到!":"已暂停"),1),o(re,{"model-value":n.countdownProgressPercent,color:s.countdownRemaining<=0?"error":"primary",class:"mt-8",height:"6",rounded:"",style:{"max-width":"400px",width:"80vw"}},null,8,["model-value","color"]),r("div",dn,[s.countdownRemaining>0?(c(),v(b,{key:0,icon:s.countdownRunning?"mdi-pause":"mdi-play",color:s.countdownRunning?"warning":"primary",size:"x-large",variant:"tonal",onClick:n.toggleCountdown},null,8,["icon","color","onClick"])):w("",!0),o(b,{icon:"mdi-stop",color:"error",size:"x-large",variant:"tonal",onClick:n.resetCountdown},null,8,["onClick"])])],64))])]),_:1}),o(ee,{value:"stopwatch"},{default:a(()=>[r("div",cn,[r("div",un,h(n.stopwatchDisplay),1),r("div",mn,h(s.stopwatchRunning?"计时中":s.stopwatchElapsed>0?"已暂停":"秒表"),1),r("div",hn,[o(b,{icon:s.stopwatchRunning?"mdi-pause":"mdi-play",color:s.stopwatchRunning?"warning":"primary",size:"x-large",variant:"tonal",onClick:n.toggleStopwatch},null,8,["icon","color","onClick"]),s.stopwatchRunning?(c(),v(b,{key:0,icon:"mdi-flag",color:"info",size:"x-large",variant:"tonal",onClick:n.addLap},null,8,["onClick"])):w("",!0),!s.stopwatchRunning&&s.stopwatchElapsed>0?(c(),v(b,{key:1,icon:"mdi-stop",color:"error",size:"x-large",variant:"tonal",onClick:n.resetStopwatch},null,8,["onClick"])):w("",!0)]),o(it,null,{default:a(()=>[s.laps.length>0?(c(),f("div",fn,[o(pt,{density:"compact",class:"stopwatch-laps-table"},{default:a(()=>[e[42]||(e[42]=r("thead",null,[r("tr",null,[r("th",null," # "),r("th",null," 计次 "),r("th",null," 总计 ")])],-1)),r("tbody",null,[(c(!0),f(k,null,M(s.laps,(m,p)=>(c(),f("tr",{key:p},[r("td",null,h(s.laps.length-p),1),r("td",null,h(n.formatMs(m.split)),1),r("td",null,h(n.formatMs(m.total)),1)]))),128))])]),_:1})])):w("",!0)]),_:1})])]),_:1})]),_:1},8,["modelValue"])]),r("div",gn,[o(b,{icon:"mdi-cog",variant:"text",size:"large",onClick:e[12]||(e[12]=Re(m=>s.showSettings=!0,["stop"]))}),o(b,{icon:"mdi-close",variant:"text",size:"large",class:"ml-2",onClick:e[13]||(e[13]=m=>s.showFullscreen=!1)})])]),_:1},8,["onMousemove","onTouchstart"])]),_:1},8,["modelValue"]),o(B,{modelValue:s.countdownEndedDialog,"onUpdate:modelValue":e[15]||(e[15]=m=>s.countdownEndedDialog=m),"max-width":"480",persistent:""},{default:a(()=>[o(_,{rounded:"xl"},{default:a(()=>[o(I,{class:"d-flex align-center justify-center pt-6"},{default:a(()=>[o(x,{color:"error",size:"32",class:"mr-2",icon:"mdi-alarm"}),e[43]||(e[43]=u(" 时间到! ",-1))]),_:1}),o(T,{class:"text-center pb-2"},{default:a(()=>[r("div",pn,h(n.formatCountdownTotal(s.countdownTotal)),1),e[44]||(e[44]=r("div",{class:"text-body-1 text-medium-emphasis"}," 设定的倒计时已结束 ",-1)),s.overtimeElapsed>0?(c(),f("div",yn,[o(z,{color:"error",variant:"tonal",size:"large","prepend-icon":"mdi-clock-alert-outline"},{default:a(()=>[u(" 已超时 "+h(n.overtimeDisplay),1)]),_:1})])):w("",!0)]),_:1}),o(j,{class:"justify-center pb-6"},{default:a(()=>[o(b,{color:"primary",variant:"tonal",size:"large",rounded:"xl","prepend-icon":"mdi-check",onClick:n.dismissCountdownDialog},{default:a(()=>[...e[45]||(e[45]=[u(" 知道了 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(B,{modelValue:s.showSettings,"onUpdate:modelValue":e[17]||(e[17]=m=>s.showSettings=m),"max-width":"420",scrim:!0},{default:a(()=>[o(_,{rounded:"xl"},{default:a(()=>[o(I,{class:"d-flex align-center"},{default:a(()=>[o(x,{class:"mr-2",icon:"mdi-cog"}),e[46]||(e[46]=u(" 时间卡片设置 ",-1))]),_:1}),o(T,null,{default:a(()=>[o(J,null,{default:a(()=>[o(G,null,{prepend:a(()=>[o(x,{class:"mr-3",icon:"mdi-clock-outline"})]),append:a(()=>[o(be,{"model-value":s.timeCardEnabled,"hide-details":"",density:"comfortable","onUpdate:modelValue":n.setTimeCardEnabled},null,8,["model-value","onUpdate:modelValue"])]),default:a(()=>[o(oe,null,{default:a(()=>[...e[47]||(e[47]=[u("显示时间卡片",-1)])]),_:1}),o(ae,null,{default:a(()=>[...e[48]||(e[48]=[u("在首页显示时间卡片,刷新后生效。",-1)])]),_:1})]),_:1}),o(G,null,{prepend:a(()=>[o(x,{class:"mr-3",icon:"mdi-clock-time-six-outline"})]),append:a(()=>[o(be,{"model-value":s.use12hClock,"hide-details":"",density:"comfortable","onUpdate:modelValue":n.setUse12hClock},null,8,["model-value","onUpdate:modelValue"])]),default:a(()=>[o(oe,null,{default:a(()=>[...e[49]||(e[49]=[u("12 小时制",-1)])]),_:1}),o(ae,null,{default:a(()=>[...e[50]||(e[50]=[u("以 12 小时制(AM/PM)显示时间。",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{variant:"text",onClick:e[16]||(e[16]=m=>s.showSettings=!1)},{default:a(()=>[...e[51]||(e[51]=[u(" 完成 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}const Ye=H(Pi,[["render",bn],["__scopeId","data-v-d5fb9d74"]]),vn={name:"HomeworkGrid",components:{HitokotoCard:We,TimeCard:Ye,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}},computed:{settings(){return settings}},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:D,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 N(async()=>{const{getSetting:l}=await import("./index-BvGH7GyK.js").then(s=>s.aI);return{getSetting:l}},__vite__mapDeps([0,1,2,3]),import.meta.url),i=e("server.kvToken");if(i){const{default:l}=await N(async()=>{const{default:n}=await import("./dataProvider-oxZzGARG.js").then(d=>d.c);return{default:n}},__vite__mapDeps([4,5,0,1,2,3,6]),import.meta.url),s=e("server.domain");if(s)try{const n=await l.get(`${s}/kv/_token`,{headers:{Authorization:`Bearer ${i}`}});n.data&&typeof n.data.isReadOnly<"u"&&(this.isReadOnlyToken=n.data.isReadOnly)}catch(n){console.error("获取Token信息失败:",n)}}}}catch(t){console.error("检查只读状态失败:",t)}},resizeGridItem(t){const e=this.$refs.gridContainer;if(!e)return;const i=parseInt(window.getComputedStyle(e).getPropertyValue("grid-auto-rows")),l=parseInt(window.getComputedStyle(e).getPropertyValue("gap")),s=t.firstElementChild;if(!s)return;const n=s.getBoundingClientRect().height,d=Math.ceil((n+l)/(i+l));t.style.gridRowEnd=`span ${d}`},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,i=e.getBoundingClientRect(),l=(t.clientX-i.left)/i.width*100,s=(t.clientY-i.top)/i.height*100;e.style.setProperty("--x",`${l}%`),e.style.setProperty("--y",`${s}%`)},handleTouchMove(t){if(t.touches.length===1){const e=t.touches[0],i=t.currentTarget,l=i.getBoundingClientRect(),s=(e.clientX-l.left)/l.width*100,n=(e.clientY-l.top)/l.height*100;i.style.setProperty("--x",`${s}%`),i.style.setProperty("--y",`${n}%`)}}}},wn={ref:"gridContainer",class:"grid-masonry"},Sn=["data-key"],Dn={key:0,style:{height:"100%"}},xn={key:1,style:{height:"100%"}},kn={key:2,style:{height:"100%"}},Cn={class:"d-flex justify-space-between align-center mb-2"},Tn={class:"text-h6"},_n={key:0,class:"mb-2"},Mn={class:"text-error text-caption mb-1"},En={class:"d-flex flex-wrap",style:{gap:"4px"}},Rn={key:1,class:"mb-2"},In={class:"text-warning text-caption mb-1"},Vn={class:"d-flex flex-wrap",style:{gap:"4px"}},Nn={key:2,class:"mb-2"},Pn={class:"text-grey text-caption mb-1"},An={class:"d-flex flex-wrap",style:{gap:"4px"}},Ln={key:3,class:"text-success text-center mt-2"},zn={class:"empty-subjects mt-4"},Fn={key:0,class:"d-flex flex-wrap justify-center"},Bn={key:2,class:"empty-subjects-grid"};function On(t,e,i,l,s,n){const d=Ye,m=We,p=He;return c(),f(k,null,[r("div",wn,[o(Ie,{name:"grid"},{default:a(()=>[(c(!0),f(k,null,M(i.sortedItems,g=>(c(),f("div",{key:g.key,ref_for:!0,ref:"items","data-key":g.key,style:P({order:g.order}),class:"grid-item"},[g.type==="time"?(c(),f("div",Dn,[o(d)])):g.type==="hitokoto"?(c(),f("div",xn,[o(m)])):g.type==="exam"?(c(),f("div",kn,[o(p,{"exam-id":g.data.examId,"content-style":i.contentStyle,onClick:S=>t.$emit("open-exam-detail",g.data.examId)},null,8,["exam-id","content-style","onClick"])])):g.type==="attendance"?(c(),v(_,{key:3,class:O([{"glow-highlight":i.highlightedCards[g.key],"cursor-not-allowed":i.isEditingDisabled,"cursor-pointer":!i.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:e[0]||(e[0]=S=>n.handleCardClick("attendance",null)),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:a(()=>[o(I,{class:"d-flex align-center"},{default:a(()=>[o(x,{class:"mr-2",color:"primary",icon:"mdi-account-group"}),e[1]||(e[1]=u(" 出勤统计 ",-1))]),_:1}),o(T,null,{default:a(()=>[r("div",Cn,[e[2]||(e[2]=r("span",null,"应到/实到",-1)),r("span",Tn,h(g.data.total-g.data.exclude.length)+"/"+h(g.data.total-g.data.absent.length-!n.getSetting("display.lateStudentsArePresent")*g.data.late.length-g.data.exclude.length),1)]),o(F,{class:"mb-2"}),g.data.absent.length>0?(c(),f("div",_n,[r("div",Mn," 请假 ("+h(g.data.absent.length)+") ",1),r("div",En,[(c(!0),f(k,null,M(g.data.absent,S=>(c(),v(z,{key:S,color:"error",size:"x-small",variant:"flat"},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))])])):w("",!0),g.data.late.length>0?(c(),f("div",Rn,[r("div",In," 迟到 ("+h(g.data.late.length)+") ",1),r("div",Vn,[(c(!0),f(k,null,M(g.data.late,S=>(c(),v(z,{key:S,color:"warning",size:"x-small",variant:"flat"},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))])])):w("",!0),g.data.exclude.length>0?(c(),f("div",Nn,[r("div",Pn," 不参与 ("+h(g.data.exclude.length)+") ",1),r("div",An,[(c(!0),f(k,null,M(g.data.exclude,S=>(c(),v(z,{key:S,color:"grey",size:"x-small",variant:"flat"},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))])])):w("",!0),g.data.absent.length===0&&g.data.late.length===0&&g.data.exclude.length===0?(c(),f("div",Ln," 全勤 ")):w("",!0)]),_:2},1024)]),_:2},1032,["class","onMousemove","onTouchmove"])):g.type==="custom"?(c(),v(_,{key:4,class:O([{"glow-highlight":i.highlightedCards[g.key],"cursor-not-allowed":i.isEditingDisabled,"cursor-pointer":!i.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:S=>n.handleCardClick("dialog",g.key),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:a(()=>[o(I,{class:"text-primary"},{default:a(()=>[o(x,{class:"mr-2",icon:"mdi-card-text-outline",size:"small"}),u(" "+h(g.name),1)]),_:2},1024),o(T,{style:P(i.contentStyle)},{default:a(()=>[u(h(g.content),1)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"])):(c(),v(_,{key:5,class:O([{"glow-highlight":i.highlightedCards[g.key],"cursor-not-allowed":i.isEditingDisabled,"cursor-pointer":!i.isEditingDisabled},"glow-track"]),border:"",height:"100%",rounded:"xl",onClick:S=>n.handleCardClick("dialog",g.key),onMousemove:n.handleMouseMove,onTouchmove:n.handleTouchMove},{default:a(()=>[o(I,null,{default:a(()=>[u(h(g.name),1)]),_:2},1024),o(T,{style:P(i.contentStyle)},{default:a(()=>[o(J,null,{default:a(()=>[(c(!0),f(k,null,M(n.splitPoint(g.content),S=>(c(),v(G,{key:S},{default:a(()=>[u(h(S),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"]))],12,Sn))),128))]),_:1})],512),r("div",zn,[i.isMobile?(c(),f("div",Fn,[(c(!0),f(k,null,M(i.unusedSubjects,g=>(c(),v(z,{key:g.name,class:"ma-1",color:"primary",variant:"tonal",onClick:S=>n.handleCardClick("dialog",g.name)},{default:a(()=>[o(x,{start:"",size:"small"},{default:a(()=>[u(h(s.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),u(" "+h(g.name),1)]),_:2},1032,["onClick"]))),128))])):i.emptySubjectDisplay==="button"?(c(),v(nt,{key:1,divided:"",variant:"tonal"},{default:a(()=>[(c(!0),f(k,null,M(i.unusedSubjects,g=>(c(),v(b,{key:g.name,onClick:S=>n.handleCardClick("dialog",g.name)},{default:a(()=>[o(x,{start:""},{default:a(()=>[u(h(s.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),u(" "+h(g.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})):(c(),f("div",Bn,[o(Ie,{name:"v-list"},{default:a(()=>[(c(!0),f(k,null,M(i.unusedSubjects,g=>(c(),v(_,{key:g.name,border:"",rounded:"xl",class:"empty-subject-card",onClick:S=>n.handleCardClick("dialog",g.name)},{default:a(()=>[o(I,{class:"text-subtitle-1"},{default:a(()=>[u(h(g.name),1)]),_:2},1024),o(T,{class:"text-center"},{default:a(()=>[s.isReadOnlyToken?(c(),f(k,{key:0},[o(x,{color:"grey",size:"small"},{default:a(()=>[...e[3]||(e[3]=[u(" mdi-cancel ",-1)])]),_:1}),e[4]||(e[4]=r("div",{class:"text-caption text-grey"}," 当日无作业 ",-1))],64)):(c(),f(k,{key:1},[o(x,{color:"grey",size:"small"},{default:a(()=>[...e[5]||(e[5]=[u(" 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 Un=H(vn,[["render",On],["__scopeId","data-v-65991b74"]]),jn={name:"HomeActions",props:{synced:Boolean,loadingUpload:Boolean,showRandomPickerButton:Boolean,showExamScheduleButton:Boolean,showListCardButton:Boolean,showFullscreenButton:Boolean,isFullscreen:Boolean,showAntiScreenBurnCard:Boolean,showTestCardButton:Boolean,showUafTransferButton:Boolean,uafTransferLoading:Boolean},emits:["upload","show-sync-message","open-random-picker","toggle-fullscreen","add-test-card","add-exam-card","open-uaf-export","open-uaf-import"]},Hn={class:"d-flex flex-wrap align-center mt-4"};function Wn(t,e,i,l,s,n){return c(),f(k,null,[r("div",Hn,[i.synced?(c(),v(b,{key:1,color:"success",size:"large",rounded:"xl",onClick:e[1]||(e[1]=d=>t.$emit("show-sync-message"))},{default:a(()=>[...e[10]||(e[10]=[u(" 同步完成 ",-1)])]),_:1})):(c(),v(b,{key:0,loading:i.loadingUpload,class:"ml-2",color:"error",size:"large",rounded:"xl",onClick:e[0]||(e[0]=d=>t.$emit("upload"))},{default:a(()=>[...e[9]||(e[9]=[u(" 上传 ",-1)])]),_:1},8,["loading"])),i.showUafTransferButton?(c(),v(St,{key:2,location:"bottom end"},{activator:a(({props:d})=>[o(b,mt(d,{disabled:i.uafTransferLoading,loading:i.uafTransferLoading,class:"ml-2",color:"indigo",size:"large",rounded:"xl"}),{default:a(()=>[o(x,{icon:"mdi-swap-vertical-bold"})]),_:1},16,["disabled","loading"])]),default:a(()=>[o(J,{density:"comfortable"},{default:a(()=>[o(G,{"prepend-icon":"mdi-file-export-outline",title:"导出 UAF",onClick:e[2]||(e[2]=d=>t.$emit("open-uaf-export"))}),o(G,{"prepend-icon":"mdi-file-import-outline",title:"导入 UAF",onClick:e[3]||(e[3]=d=>t.$emit("open-uaf-import"))})]),_:1})]),_:1})):w("",!0),e[15]||(e[15]=u()),i.showFullscreenButton?(c(),v(b,{key:3,color:i.isFullscreen?"blue-grey":"blue","prepend-icon":i.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",rounded:"xl",class:"ml-2",size:"large",onClick:e[4]||(e[4]=d=>t.$emit("toggle-fullscreen"))},{default:a(()=>[u(h(i.isFullscreen?"退出全屏":"全屏"),1)]),_:1},8,["color","prepend-icon"])):w("",!0),i.showRandomPickerButton?(c(),v(b,{key:4,"append-icon":"mdi-dice-multiple",class:"ml-2",color:"amber","prepend-icon":"mdi-account-question",size:"large",onClick:e[5]||(e[5]=d=>t.$emit("open-random-picker"))},{default:a(()=>[...e[11]||(e[11]=[u(" 随机点名 ",-1)])]),_:1})):w("",!0),i.showExamScheduleButton?(c(),v(b,{key:5,"prepend-icon":"mdi-calendar-check",size:"large",class:"ml-2",color:"green",onClick:e[6]||(e[6]=d=>t.$emit("add-exam-card"))},{default:a(()=>[...e[12]||(e[12]=[u(" 考试看板 ",-1)])]),_:1})):w("",!0),i.showListCardButton?(c(),v(b,{key:6,class:"ml-2",color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",onClick:e[7]||(e[7]=d=>t.$router.push("/list"))},{default:a(()=>[...e[13]||(e[13]=[u(" 列表 ",-1)])]),_:1})):w("",!0),i.showTestCardButton?(c(),v(b,{key:7,class:"ml-2",color:"purple","prepend-icon":"mdi-test-tube",size:"large",onClick:e[8]||(e[8]=d=>t.$emit("add-test-card"))},{default:a(()=>[...e[14]||(e[14]=[u(" 添加测试卡片 ",-1)])]),_:1})):w("",!0)]),i.showAntiScreenBurnCard?(c(),v(_,{key:0,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:a(()=>[o(I,{class:"text-subtitle-1"},{default:a(()=>[o(x,{icon:"mdi-shield-check",size:"small",start:""}),e[16]||(e[16]=u(" 屏幕保护技术已启用 ",-1))]),_:1}),o(T,{class:"text-body-2"},{default:a(()=>[...e[17]||(e[17]=[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 Gn=H(jn,[["render",Wn]]),Kn={name:"FloatingICP"},qn={"aria-label":"xICP备x号",class:"floating-icp-link",href:"https://beian.miit.gov.cn/",rel:"noopener noreferrer",target:"_blank",style:{display:"none"}};function Yn(t,e,i,l,s,n){return c(),f("a",qn," xICP备x号 ")}const Jn=H(Kn,[["render",Yn],["__scopeId","data-v-fa73670f"]]),Xn={class:"skeleton-grid"},Zn={__name:"HomeSkeleton",setup(t){const{mobile:e}=De(),i=ht(()=>e.value?3:6);return(l,s)=>(c(),v(Ue,{class:"main-window",fluid:""},{default:a(()=>[r("div",Xn,[(c(!0),f(k,null,M(i.value,n=>(c(),f("div",{key:n,class:"skeleton-card"},[...s[0]||(s[0]=[r("div",{class:"skeleton-heading skeleton-pulse"},null,-1),r("div",{class:"skeleton-line skeleton-pulse"},null,-1),r("div",{class:"skeleton-line skeleton-line--short skeleton-pulse"},null,-1)])]))),128))]),s[1]||(s[1]=r("div",{class:"d-flex justify-center mt-6 ga-3"},[r("div",{class:"skeleton-btn skeleton-pulse"}),r("div",{class:"skeleton-btn skeleton-pulse"})],-1))]),_:1}))}},Qn=H(Zn,[["__scopeId","data-v-c545dbe3"]]);function Se(t,e){let i=null;return function(...l){i&&clearTimeout(i),i=setTimeout(()=>{t.apply(this,l)},e)}}function $n(t,e){let i=null,l=0;return function(...s){const n=Date.now();n-l{l=n,t.apply(this,s)},e)):(l=n,t.apply(this,s))}}const eo=A({loader:()=>N(()=>import("./MessageLog-CK1yxPmJ.js").then(t=>t.M),__vite__mapDeps([7,0,1,2,3,8,9,10]),import.meta.url),loadingComponent:me,delay:200}),to=A({loader:()=>N(()=>import("./RandomPicker-D1hmh8Tq.js"),__vite__mapDeps([11,0,1,2,3,12,13,14,15,16,17,18]),import.meta.url),delay:0}),so=A({loader:()=>N(()=>import("./FloatingToolbar-BvexJNZx.js"),__vite__mapDeps([19,0,1,2,3,20,21,22,14,15,23,24,25,26,27,28]),import.meta.url),delay:200}),io=A({loader:()=>N(()=>import("./ChatWidget-BQwxDQ-m.js").then(t=>t.C),__vite__mapDeps([29,30,31,0,1,2,3,6,32,16,17,33,14,15,34,35,36,37,38,12,13,39,40]),import.meta.url),delay:0}),no=A({loader:()=>N(()=>import("./HomeworkEditDialog-Bp1-Yp2h.js"),__vite__mapDeps([41,4,5,0,1,2,3,6,38,12,13,39,16,17,42,43,44]),import.meta.url),delay:0}),oo=A({loader:()=>N(()=>import("./UafTransferDialog-DcVwiQPT.js"),__vite__mapDeps([45,4,5,0,1,2,3,6,46,47,48,16,17,49,12,13,42,43,50,51,52,53,54,55,56,57,20,21,24,25,58,59,60,14,15,32,61,62,30,31,33,8,9,34,35,63]),import.meta.url),delay:0}),ao=A({loader:()=>N(()=>import("./InitServiceChooser-BOzXYAzm.js"),__vite__mapDeps([64,0,1,2,3,4,5,6,12,13,42,43,38,39,16,17,53,54,34,35,65]),import.meta.url),loadingComponent:me,delay:200}),ro=A({loader:()=>N(()=>import("./StudentNameManager-PfUXrkXU.js"),__vite__mapDeps([66,0,1,2,3,4,5,6,67,12,13,57,20,21,24,25,50,51,52,16,17,58,68,69,70,42,43,71]),import.meta.url),delay:200}),lo=A({loader:()=>N(()=>import("./UrgentTestDialog-CSFlE7DZ.js"),__vite__mapDeps([72,29,30,31,0,1,2,3,6,32,16,17,33,14,15,34,35,36,37,38,12,13,39,40,4,5,8,9,61,62,73,51,52,74,50,75,76]),import.meta.url),delay:0}),co=A({loader:()=>N(()=>import("./AttendanceSidebar-C5lGrDWr.js"),__vite__mapDeps([77,0,1,2,3,34,35,71]),import.meta.url),loadingComponent:me,delay:200}),uo=A({loader:()=>N(()=>import("./AttendanceManagementDialog-D0UfFBjs.js"),__vite__mapDeps([78,0,1,2,3,16,17,34,35,12,13,79]),import.meta.url),delay:0}),mo=A({loader:()=>N(()=>import("./PwaInstallCard-idT4M8--.js"),__vite__mapDeps([80,2,0,1,3,16,17]),import.meta.url),delay:200}),ho=A({loader:()=>N(()=>import("./ExamScheduleCard-wt_WZTJg.js"),__vite__mapDeps([81,2,0,1,3,42,43,4,5,6,16,17,46,47,48,49,14,15,12,13,32,51,52,20,21,61,62,30,31,33,8,9,34,35,82]),import.meta.url),loadingComponent:me,delay:200}),fo=A({loader:()=>N(()=>import("./ExamConfigEditor-Bp6Liu2C.js"),__vite__mapDeps([83,4,5,0,1,2,3,6,42,43,84,85,14,15,16,17,34,35,12,13,38,39,51,52,67,57,20,21,24,25,50,58,68,22,23,26,27,86,87,88]),import.meta.url),delay:0}),go={name:"Classworks 作业板",components:{MessageLog:eo,RandomPicker:to,FloatingToolbar:so,FloatingICP:Jn,HomeworkEditDialog:no,InitServiceChooser:ao,ChatWidget:io,StudentNameManager:ro,UrgentTestDialog:lo,AttendanceSidebar:co,AttendanceManagementDialog:uo,HomeworkGrid:Un,HomeActions:Gn,PwaInstallCard:mo,ExamScheduleCard:ho,ExamConfigEditor:fo,HomeSkeleton:Qn,UafTransferDialog:oo},setup(){const{mobile:t}=De(),e=xe();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:De,state:{classNumber:"",namespaceInfo:null,deviceName:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${D("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:D("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,exportUaf:!1},uafTransfer:{show:!1,mode:"export"},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 D("display.forceDesktopMode")?!1:this.mobile},titleText(){var p,g,S;const t=D("server.provider"),e=t==="kv-server"||t==="classworkscloud";let i;e&&this.state.namespaceInfo?i=((p=this.state.namespaceInfo)==null?void 0:p.name)||((S=(g=this.state.namespaceInfo)==null?void 0:g.device)==null?void 0:S.name)||this.state.classNumber||"高三八班":i=this.state.classNumber||"高三八班";const l=this.getToday(),s=new Date(l);s.setDate(s.getDate()-1);const n=this.state.dateString,d=this.formatDate(l),m=this.formatDate(s);return n===d?i+" - 今天的作业":n===m?i+" - 昨天的作业":`${i} - ${n}的作业`},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 i=this.state.boardData.homework[e];t.push({key:e,name:"考试安排",type:"exam",data:{examId:i.examId},order:-100,rowSpan:200})}for(const e of this.state.availableSubjects){const i=e.name,l=this.state.boardData.homework[i];if(l&&l.content){const n=100+l.content.split(` `).filter(d=>d.trim()).length*24;t.push({key:i,name:i,type:"homework",content:l.content,tags:Array.isArray(l.tags)?l.tags:[],order:e.order,rowSpan:n})}}D("timeCard.enabled")&&t.push({key:"time-card",name:"时间",type:"time",order:9997,rowSpan:150}),D("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 i=this.state.boardData.homework[e],s=100+i.content.split(` `).filter(n=>n.trim()).length*24;t.push({key:e,name:i.name,type:"custom",content:i.content,tags:Array.isArray(i.tags)?i.tags:[],order:9999,rowSpan:s})}return t.sort((e,i)=>e.order-i.order),t},unusedSubjects(){const t=Object.keys(this.state.boardData.homework).filter(e=>{var i;return(i=this.state.boardData.homework[e].content)==null?void 0:i.trim()});return this.state.availableSubjects.filter(e=>!t.includes(e.name)).sort((e,i)=>e.order-i.order)},emptySubjects(){return this.emptySubjectDisplay!=="button"?[]:this.unusedSubjects},autoSave(){return D("edit.autoSave")},blockNonTodayAutoSave(){return D("edit.blockNonTodayAutoSave")},isToday(){const t=(()=>{const e=new Date,i=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${i}${l}${s}`})();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 D("edit.refreshBeforeEdit")},emptySubjectDisplay(){return D("display.emptySubjectDisplay")},dynamicSort(){return D("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 D("randomPicker.enabled")},showListCardButton(){return D("display.showListCard")},confirmNonTodaySave(){return D("edit.confirmNonTodaySave")},blockPastDataEdit(){return D("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 D("display.showFullscreenButton")},showExamScheduleButton(){return D("display.showExamScheduleButton")},showAntiScreenBurnCard(){return D("display.showAntiScreenBurnCard")},showTestCardButton(){return D("developer.enabled")},showUafTransferButton(){return D("display.showUafTransfer")},shouldShowInit(){var s;const t=D("server.provider"),e=t==="kv-server"||t==="classworkscloud",i=D("server.kvToken"),l=((s=this.$route)==null?void 0:s.path)==="/";return this.settingsTick,l&&e&&(!i||i==="")},hasExamCard(){for(const t in this.state.boardData.homework)if(t.startsWith("exam-"))return!0;return!1},shouldShowUrgentTestButton(){const t=D("server.provider");return!(t==="kv-server"||t==="classworkscloud")||!D("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=Se(this.uploadData,2e3),this.debouncedAttendanceSave=Se(async()=>{this.autoSave&&await this.trySave(!0)},2e3),this.throttledReflow=$n(()=>{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 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(),Ve.init(),this.$nextTick(()=>{this.updateTokenDisplayInfo()}),await this.loadTokenInfo(),this.loadPersistentNotifications()}catch(t){console.error("初始化失败:",t),this.showError("初始化失败,请刷新页面重试")}},beforeUnmount(){Ve.destroy(),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),kt()}catch(t){console.warn("主页面事件清理失败:",t)}},methods:{async loadDeviceInfo(){var t;try{const e=D("server.provider");if(!(e==="kv-server"||e==="classworkscloud"))return;const l=await gt.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=D("server.provider");if(!(t==="kv-server"||t==="classworkscloud"))return;const i=D("server.kvToken");if(!i)return;const l=D("server.domain");if(!l)return;const s=await ft.get(`${l}/kv/_token`,{headers:{Authorization:`Bearer ${i}`}});this.tokenInfo=s.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,i=t.isReadOnly,l=t.isStudentToken,s=t.isTeacherToken;if(this.tokenDisplayInfo.readonly=i,!l&&!s){this.tokenDisplayInfo.show=!1;return}this.tokenDisplayInfo.text=e,this.tokenDisplayInfo.color="primary",this.tokenDisplayInfo.icon=s?"mdi-school":"mdi-account",this.tokenDisplayInfo.disabled=i,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),i=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${i}${l}${s}`},formatTime(t){return t?new Date(t).toLocaleString():""},getToday(){return new Date},async initializeData(){this.parsePreconfigData();const t=await this.parseUrlConfig(),i=new URLSearchParams(window.location.search).get("date"),l=this.getToday();let s=l;if(i){if(/^\d{8}$/.test(i)){const n=i.substring(0,4),d=i.substring(4,6),m=i.substring(6,8);s=new Date(`${n}-${d}-${m}`)}else s=new Date(i);isNaN(s.getTime())&&(s=l)}if(this.state.dateString=this.formatDate(s),this.state.selectedDate=this.state.dateString,this.state.selectedDateObj=s,this.state.isToday=this.formatDate(s)===this.formatDate(l),!t){this.provider=D("server.provider");const n=D("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(t,e=!1,i=!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,i||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,i,l;if(!this.loading.download)try{this.loading.download=!0;const s=await R.loadData("classworks-data-"+this.state.dateString);if(s.success==!1)if(s.error.code==="NOT_FOUND")this.state.showNoDataMessage=!0,this.state.noDataMessage=s.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(s.error.message);else this.state.boardData={homework:s.homework||{},attendance:{absent:((e=s.attendance)==null?void 0:e.absent)||[],late:((i=s.attendance)==null?void 0:i.late)||[],exclude:((l=s.attendance)==null?void 0:l.exclude)||[]}},this.state.synced=!0,this.state.showNoDataMessage=!1,s.fromCache?this.$message.warning("离线模式","显示缓存数据,联网后将自动同步"):this.$message.success("下载成功","数据已更新")}catch(s){console.error("数据加载失败:",s),this.$message.error("下载失败",s.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 i;if(!this.currentEditSubject)return;const t=this.state.textarea.trim(),e=((i=this.state.boardData.homework[this.currentEditSubject])==null?void 0:i.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]={...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 R.saveData("classworks-data-"+this.state.dateString,this.state.boardData);if(t.success==!1)throw new Error(t.error.message);this.state.synced=!0,t.queuedForSync?this.$message.warning("已保存到本地","网络恢复后将自动同步到服务器"):this.$message.success(t.message||"保存成功")}finally{this.loading.upload=!1}},async loadConfig(){try{try{const t=await R.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 R.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 i=this.$refs.studentNameManager;i!=null&&i.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(i){console.error("刷新数据失败:",i),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(i=>i.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]={...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`},q("font.size",this.state.fontSize)},updateBackendUrl(){const t=D("server.provider"),e=D("server.classNumber");this.provider=t,this.state.classNumber=e},setupAutoRefresh(){const t=D("refresh.auto"),e=D("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=D("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),i=this.formatDate(e);if(i===this.state.dateString)return;this.state.dateString=i,this.state.selectedDate=i,this.state.selectedDateObj=e,this.state.isToday=i===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=D("server.kvToken");if(!t){console.warn("未配置 KV Token,无法加入实时频道");return}Dt(),Ne(t),this.$offConnect=xt(()=>Ne(t)),this.debouncedRealtimeRefresh||(this.debouncedRealtimeRefresh=Se(async()=>{var g,S,U;const l=JSON.parse(JSON.stringify(this.state.boardData.homework));await this.downloadData();const s=new Date,n=String(s.getHours()).padStart(2,"0"),d=String(s.getMinutes()).padStart(2,"0"),m=String(s.getSeconds()).padStart(2,"0");(g=this.$message)==null||g.info("数据已更新",`已于 ${n}:${d}:${m} 自动刷新`);const p={};for(const L in this.state.boardData.homework){const X=((S=l[L])==null?void 0:S.content)||"",Z=((U=this.state.boardData.homework[L])==null?void 0:U.content)||"";X!==Z&&(p[L]=!0)}for(const L in l)this.state.boardData.homework[L]||(p[L]=!0);this.highlightedCards=p,setTimeout(()=>{this.highlightedCards={}},1e4)},800));const e=l=>{var n;if(!l)return;if(l.key==="notification-list"){this.loadPersistentNotifications();return}const s=`classworks-data-${this.state.dateString}`;l.key===s&&(l.action!=="upsert"&&l.action!=="delete"||(n=this.debouncedRealtimeRefresh)==null||n.call(this,l.key))},i=l=>{let s=l;l.content&&l.timestamp&&(s={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(s)};this.$offKvChanged=Pe("kv-key-changed",i),this.deviceEventHandler=Ct({onKvChanged:e,enableLegacySupport:!0}),this.$offDeviceEvent=Pe("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="",i="success"){this.$message[i](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},openUafTransfer(t){this.uafTransfer.mode=t,this.uafTransfer.show=!0},handleUafSuccess(t,e){this.$message.success(t,e)},handleUafError(t,e){this.$message.error(t,e)},async handleUafImported(t){t.savedDates.includes(this.state.dateString)&&await this.downloadData(!0)},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 i=atob(e),l=Uint8Array.from(i,g=>g.charCodeAt(0)),s=new TextDecoder().decode(l),n=JSON.parse(s);console.log("从URL读取配置:",n);const d=[],m={},p={};return this.processSpecialSettings(n,d,m),this.processStandardSettings(n,d,m,p),Object.keys(m).length===0?(console.log("URL配置与当前配置相同,无需应用"),!1):new Promise(g=>{this.urlConfigDialog={show:!0,config:n,changes:d,validSettings:m,icons:p,confirmHandler:()=>{this.urlConfigDialog.show=!1,this.applyUrlConfig(m),g(!0)},cancelHandler:()=>{this.urlConfigDialog.show=!1,g(!1)}}})}catch(i){return console.error("解析URL配置错误:",i),this.$message.error("URL配置错误","无法解析配置数据"),!1}}catch(t){return console.error("处理URL配置错误:",t),!1}},processSpecialSettings(t,e,i){var l,s;if(t.classNumber!==void 0){const n=D("server.classNumber");t.classNumber!==n&&(e.push({key:"server.classNumber",name:"班级",oldValue:n,newValue:t.classNumber,description:((l=Q["server.classNumber"])==null?void 0:l.description)||"班级编号",icon:((s=Q["server.classNumber"])==null?void 0:s.icon)||"mdi-account-group"}),i["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"}),i.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"}),i.subjects=t.subjects)},processStandardSettings(t,e,i,l){Object.entries(t).forEach(([s,n])=>{if(["classNumber","date","subjects"].includes(s))return;let d=s,m=Q[s];if(!m&&!s.includes(".")){const p=["server.","display.","theme.","edit.","refresh.","font.","randomPicker."];for(const g of p){const S=`${g}${s}`;if(Q[S]){d=S,m=Q[S];break}}}if(m){let p=this.convertValueToCorrectType(n,m.type);if(m.validate&&!m.validate(p)){console.warn(`URL配置项 ${d} 的值无效: ${n}`);return}const g=D(d);p!==g&&(e.push({key:d,name:this.getSettingDisplayName(d),oldValue:this.formatSettingValue(g),newValue:this.formatSettingValue(p),description:m.description||d,icon:m.icon||"mdi-cog"}),i[d]=p,l[d]=m.icon||"mdi-cog")}else e.push({key:s,name:this.getSettingDisplayName(s),oldValue:"未知",newValue:this.formatSettingValue(n),description:"自定义配置项",icon:"mdi-cog-outline"}),i[s]=n,l[s]="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("."),i=e[e.length-1];return{provider:"数据提供方",domain:"服务器域名",classNumber:"班级编号",emptySubjectDisplay:"空科目显示方式",dynamicSort:"动态排序",showRandomButton:"随机按钮",showFullscreenButton:"全屏按钮",cardHoverEffect:"卡片悬浮效果",enhancedTouchMode:"增强触摸模式",showAntiScreenBurnCard:"防烧屏卡片",showUafTransfer:"UAF导入导出",mode:"主题模式",size:"字体大小",autoSave:"自动保存",blockNonTodayAutoSave:"禁止自动保存非当日",refreshBeforeEdit:"编辑前刷新",confirmNonTodaySave:"非当日保存确认",auto:"自动刷新",interval:"刷新间隔"}[i]||i},safeBase64Decode(t){try{return Fe.decode(t)}catch(e){throw console.error("Base64解码错误:",e),new Error("无法解码配置数据")}},applyUrlConfig(t){for(const[e,i]of Object.entries(t)){if(e==="date"){this.handleDateSelect(i);continue}if(e==="subjects"){this.state.availableSubjects=i;continue}q(e,i),e==="server.classNumber"&&(this.state.classNumber=i)}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)),i=this.getToday(),l=this.formatDate(i);this.state.dateString=l,await this.downloadData();const s={};for(const d in e)e[d]&&e[d].content&&(e[d].type==="custom"?s[d]=JSON.parse(JSON.stringify(e[d])):s[d]={content:e[d].content,tags:Array.isArray(e[d].tags)?[...e[d].tags]:[]});this.state.boardData.homework=s,this.state.synced=!1,await this.uploadData(),this.state.selectedDate=l,this.state.selectedDateObj=i,this.state.isToday=!0;const n=new URL(window.location);n.searchParams.delete("date"),window.history.pushState({},"",n),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"),i=t.get("authCode")||t.get("auth_code"),l=t.get("autoExecute")||t.get("auto_execute");e&&(this.preconfigData.namespace=e,this.preconfigData.authCode=i,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 i=!1;t.forEach(l=>{e.searchParams.has(l)&&(e.searchParams.delete(l),i=!0)}),i&&window.history.replaceState({},document.title,e.toString())}catch(e){console.error("清理URL参数失败:",e)}},async loadPersistentNotifications(){try{const t=await R.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(i=>i.id!==t);const e=this.persistentNotifications.length>0?this.persistentNotifications:{};await R.saveData("notification-list",e),this.notificationDetailDialog=!1}}},po={key:3,class:"d-flex"},yo={class:"text-h6 text-truncate font-weight-bold"},bo={class:"text-h4 font-weight-medium mb-4",style:{"line-height":"1.5"}},vo={class:"text-subtitle-1 text-grey"},wo={class:"d-flex align-center flex-wrap"},So={class:"text-subtitle-1"},Do={class:"text-grey-darken-1"},xo={class:"text-primary font-weight-medium"},ko={key:1,class:"text-center py-4 text-grey"};function Co(t,e,i,l,s,n){const d=V("init-service-chooser"),m=V("StudentNameManager"),p=V("HomeSkeleton"),g=V("homework-grid"),S=V("home-actions"),U=V("uaf-transfer-dialog"),L=V("pwa-install-card"),X=V("attendance-sidebar"),Z=V("homework-edit-dialog"),fe=V("attendance-management-dialog"),W=V("message-log"),ge=V("floating-toolbar"),Je=V("FloatingICP"),Xe=V("ChatWidget"),Ze=V("UrgentTestDialog"),Qe=V("random-picker"),$e=V("exam-config-editor");return c(),f(k,null,[o(_t,{class:"no-select"},{append:a(()=>[s.tokenDisplayInfo.readonly?(c(),v(z,{key:0,class:"mx-2",color:"warning","prepend-icon":"mdi-lock-alert",variant:"tonal"},{default:a(()=>[...e[33]||(e[33]=[u(" 只读 ",-1)])]),_:1})):w("",!0),s.tokenDisplayInfo.show?(c(),v(z,{key:1,style:P({cursor:s.tokenDisplayInfo.disabled?"default":"pointer"}),class:"mx-2",color:"primary","prepend-icon":"mdi-account",variant:"tonal",onClick:n.handleTokenChipClick},{default:a(()=>[u(h(s.tokenDisplayInfo.text),1)]),_:1},8,["style","onClick"])):w("",!0),n.shouldShowUrgentTestButton?(c(),v(b,{key:2,"prepend-icon":"mdi-chat",variant:"tonal",onClick:e[0]||(e[0]=y=>s.urgentTestDialog=!0)},{default:a(()=>[...e[34]||(e[34]=[u(" 发送通知 ",-1)])]),_:1})):w("",!0),o(b,{icon:"mdi-chat",variant:"text",onClick:e[1]||(e[1]=y=>s.isChatOpen=!0)}),o(b,{badge:n.unreadCount||void 0,"badge-color":n.unreadCount?"error":void 0,icon:"mdi-bell",variant:"text",onClick:e[2]||(e[2]=y=>t.$refs.messageLog.drawer=!0)},null,8,["badge","badge-color"]),o(b,{icon:"mdi-cog",variant:"text",onClick:e[3]||(e[3]=y=>t.$router.push("/settings"))})]),default:a(()=>[o(Tt,null,{default:a(()=>[u(h(n.titleText),1)]),_:1}),o(E)]),_:1}),n.shouldShowInit?(c(),v(d,{key:0,preconfig:s.preconfigData,onDone:e[4]||(e[4]=y=>s.settingsTick++)},null,8,["preconfig"])):w("",!0),n.shouldShowInit?w("",!0):(c(),v(m,{key:1,ref:"studentNameManager",onTokenInfoUpdated:n.updateTokenDisplayInfo},null,8,["onTokenInfoUpdated"])),!n.shouldShowInit&&!s.dataReady?(c(),v(p,{key:2})):w("",!0),!n.shouldShowInit&&s.dataReady?(c(),f("div",po,[o(Ue,{class:"main-window flex-grow-1 no-select bloom-container",fluid:""},{default:a(()=>[s.persistentNotifications.length>0?(c(),v(Mt,{key:0,class:"mb-4"},{default:a(()=>[o(Et,{cols:"12"},{default:a(()=>[(c(!0),f(k,null,M(s.persistentNotifications,y=>(c(),v(_,{key:y.id,color:y.isUrgent?"error":"primary",class:"mb-2 cursor-pointer",variant:"tonal",onClick:pe=>n.showNotificationDetail(y)},{default:a(()=>[o(T,{class:"d-flex align-center py-3"},{default:a(()=>[r("span",yo,h(y.message),1),o(E),o(b,{icon:"mdi-chevron-right",variant:"text"})]),_:2},1024)]),_:2},1032,["color","onClick"]))),128))]),_:1})]),_:1})):w("",!0),o(B,{modelValue:s.notificationDetailDialog,"onUpdate:modelValue":e[8]||(e[8]=y=>s.notificationDetailDialog=y),"max-width":"700",scrollable:""},{default:a(()=>[s.currentNotification?(c(),v(_,{key:0,class:"rounded-xl"},{default:a(()=>[o(I,{class:"d-flex align-center pa-4 text-h5"},{default:a(()=>[r("span",{class:O([s.currentNotification.isUrgent?"text-error":"","font-weight-bold"])},h(s.currentNotification.isUrgent?"强调通知":"通知详情"),3),o(E),o(b,{icon:"mdi-close",variant:"text",onClick:e[5]||(e[5]=y=>s.notificationDetailDialog=!1)})]),_:1}),o(F),o(T,{class:"pa-6"},{default:a(()=>[r("div",bo,h(s.currentNotification.message),1),r("div",vo," 发布时间:"+h(n.formatTime(s.currentNotification.timestamp)),1)]),_:1}),o(F),o(j,{class:"pa-4"},{default:a(()=>[o(b,{color:"error","prepend-icon":"mdi-delete",size:"x-large",variant:"tonal",class:"px-6",onClick:e[6]||(e[6]=y=>n.removePersistentNotification(s.currentNotification.id))},{default:a(()=>[...e[35]||(e[35]=[u(" 删除通知 ",-1)])]),_:1}),o(E),o(b,{color:"primary",size:"x-large",variant:"elevated",class:"px-8",onClick:e[7]||(e[7]=y=>s.notificationDetailDialog=!1)},{default:a(()=>[...e[36]||(e[36]=[u(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1},8,["modelValue"]),o(g,{"sorted-items":n.sortedItems,"unused-subjects":n.unusedSubjects,"empty-subject-display":n.emptySubjectDisplay,"is-mobile":n.isMobile,"is-editing-disabled":n.isEditingDisabled,"content-style":s.state.contentStyle,"highlighted-cards":s.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"]),o(S,{synced:s.state.synced,"loading-upload":s.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":s.state.isFullscreen,"show-anti-screen-burn-card":n.showAntiScreenBurnCard,"show-test-card-button":n.showTestCardButton,"show-uaf-transfer-button":n.showUafTransferButton,"uaf-transfer-loading":s.loading.exportUaf,onUpload:n.manualUpload,onShowSyncMessage:n.showSyncMessage,onOpenRandomPicker:n.openRandomPicker,onToggleFullscreen:n.toggleFullscreen,onAddTestCard:n.addTestCard,onAddExamCard:e[9]||(e[9]=y=>s.showAddExamDialog=!0),onOpenUafExport:e[10]||(e[10]=y=>n.openUafTransfer("export")),onOpenUafImport:e[11]||(e[11]=y=>n.openUafTransfer("import"))},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","show-uaf-transfer-button","uaf-transfer-loading","onUpload","onShowSyncMessage","onOpenRandomPicker","onToggleFullscreen","onAddTestCard"]),o(U,{modelValue:s.uafTransfer.show,"onUpdate:modelValue":e[12]||(e[12]=y=>s.uafTransfer.show=y),mode:s.uafTransfer.mode,"current-date":s.state.dateString,"current-items":n.sortedItems,"current-board-data":s.state.boardData,subjects:s.state.availableSubjects,onSuccess:n.handleUafSuccess,onError:n.handleUafError,onImported:n.handleUafImported},null,8,["modelValue","mode","current-date","current-items","current-board-data","subjects","onSuccess","onError","onImported"]),o(L),s.upcomingExams.length>0&&!n.hasExamCard?(c(),v(le,{key:1,class:"mt-4",color:"info",variant:"tonal",closable:"",icon:"mdi-calendar-clock",title:"近期有考试安排"},{append:a(()=>[o(b,{color:"primary",variant:"text",onClick:n.addAllUpcomingExams},{default:a(()=>[...e[38]||(e[38]=[u(" 一键添加 ",-1)])]),_:1},8,["onClick"])]),default:a(()=>[r("div",wo,[e[37]||(e[37]=r("span",{class:"mr-2"},"检测到未来两天内有以下考试:",-1)),(c(!0),f(k,null,M(s.upcomingExams,y=>(c(),v(z,{key:y.id,size:"small",class:"mr-1 mb-1",color:"primary"},{default:a(()=>[u(h(y.examName),1)]),_:2},1024))),128))])]),_:1})):w("",!0)]),_:1}),n.isMobile?w("",!0):(c(),v(X,{key:0,"student-list":s.state.studentList,attendance:s.state.boardData.attendance,"is-editing-disabled":n.isEditingDisabled,onClick:n.setAttendanceArea,onDisabledClick:n.handleDisabledClick},null,8,["student-list","attendance","is-editing-disabled","onClick","onDisabledClick"]))])):w("",!0),o(Z,{modelValue:s.state.dialogVisible,"onUpdate:modelValue":e[13]||(e[13]=y=>s.state.dialogVisible=y),"auto-save":n.autoSave,"initial-content":s.state.textarea,title:s.state.dialogTitle,"is-editing-past-data":n.isEditingPastData,"current-date-string":s.state.dateString,onSave:n.handleHomeworkSave},null,8,["modelValue","auto-save","initial-content","title","is-editing-past-data","current-date-string","onSave"]),o(ot,{modelValue:s.state.snackbar,"onUpdate:modelValue":e[14]||(e[14]=y=>s.state.snackbar=y),timeout:2e3},{default:a(()=>[u(h(s.state.snackbarText),1)]),_:1},8,["modelValue"]),o(fe,{modelValue:s.state.attendanceDialog,"onUpdate:modelValue":e[15]||(e[15]=y=>s.state.attendanceDialog=y),"student-list":s.state.studentList,attendance:s.state.boardData.attendance,"date-string":s.state.dateString,onSave:n.saveAttendance,onChange:n.handleAttendanceChange},null,8,["modelValue","student-list","attendance","date-string","onSave","onChange"]),o(W,{ref:"messageLog"},null,512),o(ge,{"is-today":n.isToday,loading:s.loading.download,"copy-to-today-loading":s.loading.copyToToday,"selected-date":s.state.selectedDateObj,"unread-count":n.unreadCount,onRefresh:n.downloadData,onZoom:n.zoom,onOpenMessages:e[16]||(e[16]=y=>t.$refs.messageLog.drawer=!0),onOpenSettings:e[17]||(e[17]=y=>t.$router.push("/settings")),onDateSelect:n.handleDateSelect,onPrevDay:e[18]||(e[18]=y=>n.navigateDay(-1)),onNextDay:e[19]||(e[19]=y=>n.navigateDay(1)),onCopyToToday:n.copyHomeworkToToday},null,8,["is-today","loading","copy-to-today-loading","selected-date","unread-count","onRefresh","onZoom","onDateSelect","onCopyToToday"]),o(Je),o(Xe,{modelValue:s.isChatOpen,"onUpdate:modelValue":e[20]||(e[20]=y=>s.isChatOpen=y),"show-button":!1},null,8,["modelValue"]),o(Ze,{modelValue:s.urgentTestDialog,"onUpdate:modelValue":e[21]||(e[21]=y=>s.urgentTestDialog=y)},null,8,["modelValue"]),o(B,{modelValue:s.confirmDialog.show,"onUpdate:modelValue":e[22]||(e[22]=y=>s.confirmDialog.show=y),"max-width":"400"},{default:a(()=>[o(_,null,{default:a(()=>[o(I,{class:"text-h6"},{default:a(()=>[...e[39]||(e[39]=[u(" 确认保存 ",-1)])]),_:1}),o(T,null,{default:a(()=>[u(" 您正在修改 "+h(s.state.dateString)+" 的数据,确定要保存吗? ",1)]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{color:"grey",variant:"text",onClick:s.confirmDialog.reject},{default:a(()=>[...e[40]||(e[40]=[u(" 取消 ",-1)])]),_:1},8,["onClick"]),o(b,{color:"primary",onClick:s.confirmDialog.resolve},{default:a(()=>[...e[41]||(e[41]=[u(" 确认保存 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(Qe,{ref:"randomPicker",attendance:s.state.boardData.attendance,"student-list":s.state.studentList},null,8,["attendance","student-list"]),o(B,{modelValue:s.urlConfigDialog.show,"onUpdate:modelValue":e[23]||(e[23]=y=>s.urlConfigDialog.show=y),"max-width":"500"},{default:a(()=>[o(_,null,{default:a(()=>[o(I,{class:"text-h6"},{default:a(()=>[...e[42]||(e[42]=[u(" 确认应用URL配置 ",-1)])]),_:1}),o(T,null,{default:a(()=>[e[43]||(e[43]=r("p",null,"以下配置将应用于当前班级:",-1)),o(J,{density:"compact"},{default:a(()=>[(c(!0),f(k,null,M(s.urlConfigDialog.changes,y=>(c(),v(G,{key:y.key},{prepend:a(()=>[o(x,{icon:y.icon,class:"mr-2",size:"small"},null,8,["icon"])]),default:a(()=>[o(oe,{class:"d-flex align-center"},{default:a(()=>[r("span",So,h(y.name),1),o(bt,{activator:"parent",location:"top"},{default:a(()=>[u(h(y.description||y.key),1)]),_:2},1024)]),_:2},1024),o(ae,null,{default:a(()=>[r("span",Do,h(y.oldValue),1),o(x,{class:"mx-1",icon:"mdi-arrow-right",size:"small"}),r("span",xo,h(y.newValue),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{color:"grey",variant:"text",onClick:s.urlConfigDialog.cancelHandler},{default:a(()=>[...e[44]||(e[44]=[u(" 取消 ",-1)])]),_:1},8,["onClick"]),o(b,{color:"primary",onClick:s.urlConfigDialog.confirmHandler},{default:a(()=>[...e[45]||(e[45]=[u(" 确认应用 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(B,{modelValue:s.showExamDetailDialog,"onUpdate:modelValue":e[26]||(e[26]=y=>s.showExamDetailDialog=y),persistent:"",fullscreen:""},{default:a(()=>[s.selectedExamId?(c(),v(_,{key:0},{default:a(()=>[o(I,{class:"d-flex align-center pa-4"},{default:a(()=>[e[46]||(e[46]=u(" 编辑考试配置 ",-1)),o(E),o(b,{icon:"mdi-close",variant:"text",onClick:e[24]||(e[24]=y=>s.showExamDetailDialog=!1)})]),_:1}),o(T,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:a(()=>[o($e,{"config-id":s.selectedExamId,"dialog-mode":!0,onSaved:n.onExamConfigSaved,onDeleted:n.onExamConfigDeleted},null,8,["config-id","onSaved","onDeleted"])]),_:1}),o(F),o(j,{class:"pa-4"},{default:a(()=>[o(b,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:n.removeCurrentExamCard},{default:a(()=>[...e[47]||(e[47]=[u(" 移除卡片 ",-1)])]),_:1},8,["onClick"]),o(E),o(b,{color:"primary",variant:"text",onClick:e[25]||(e[25]=y=>s.showExamDetailDialog=!1)},{default:a(()=>[...e[48]||(e[48]=[u(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1},8,["modelValue"]),o(B,{modelValue:s.showAddExamDialog,"onUpdate:modelValue":e[29]||(e[29]=y=>s.showAddExamDialog=y),"max-width":"500"},{default:a(()=>[o(_,null,{default:a(()=>[o(I,{class:"text-h6"},{default:a(()=>[...e[49]||(e[49]=[u(" 考试看板 ",-1)])]),_:1}),o(T,null,{default:a(()=>[o(J,null,{default:a(()=>[o(G,{active:"",color:"green","append-icon":"mdi-arrow-right",onClick:e[27]||(e[27]=y=>t.$router.push("/examschedule"))},{default:a(()=>[...e[50]||(e[50]=[u(" 打开考试看板 ",-1)])]),_:1})]),_:1}),l.examStore.examList.length>0?(c(),v(J,{key:0},{default:a(()=>[(c(!0),f(k,null,M(l.examStore.examList,y=>{var pe;return c(),v(G,{key:y.id,title:((pe=l.examStore.exams[y.id])==null?void 0:pe.examName)||y.id,subtitle:y.id,onClick:_o=>n.addExamCard(y.id)},{prepend:a(()=>[o(x,{color:"primary"},{default:a(()=>[...e[51]||(e[51]=[u(" mdi-calendar-text ",-1)])]),_:1})]),append:a(()=>[o(b,{icon:n.isExamCardAdded(y.id)?"mdi-check":"mdi-plus",color:n.isExamCardAdded(y.id)?"success":"grey",variant:"text"},null,8,["icon","color"])]),_:2},1032,["title","subtitle","onClick"])}),128))]),_:1})):(c(),f("div",ko," 暂无考试配置 "))]),_:1}),o(j,null,{default:a(()=>[o(E),o(b,{color:"primary",variant:"text",onClick:e[28]||(e[28]=y=>s.showAddExamDialog=!1)},{default:a(()=>[...e[52]||(e[52]=[u(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),o(B,{modelValue:s.notificationDetailDialog,"onUpdate:modelValue":e[32]||(e[32]=y=>s.notificationDetailDialog=y),"max-width":"600"},{default:a(()=>[s.currentNotification?(c(),v(_,{key:0},{default:a(()=>[o(I,{class:O(["headline",s.currentNotification.isUrgent?"text-error":"text-primary"])},{default:a(()=>[u(h(s.currentNotification.isUrgent?"强调通知":"通知详情"),1)]),_:1},8,["class"]),o(T,{class:"text-h5 py-4"},{default:a(()=>[u(h(s.currentNotification.message),1)]),_:1}),o(j,null,{default:a(()=>[o(b,{color:"error",variant:"text",onClick:e[30]||(e[30]=y=>n.removePersistentNotification(s.currentNotification.id))},{default:a(()=>[...e[53]||(e[53]=[u(" 删除 ",-1)])]),_:1}),o(E),o(b,{color:"primary",onClick:e[31]||(e[31]=y=>s.notificationDetailDialog=!1)},{default:a(()=>[...e[54]||(e[54]=[u(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})):w("",!0)]),_:1},8,["modelValue"]),e[55]||(e[55]=r("br",null,null,-1)),e[56]||(e[56]=r("br",null,null,-1)),e[57]||(e[57]=r("br",null,null,-1))],64)}const To=H(go,[["render",Co]]),Yo=Object.freeze(Object.defineProperty({__proto__:null,default:To},Symbol.toStringTag,{value:"Module"}));export{Se as d,Yo as i,xe as u}; diff --git a/assets/serverRotation-CVerzUcJ.js b/assets/serverRotation-CVerzUcJ.js new file mode 100644 index 0000000..2467052 --- /dev/null +++ b/assets/serverRotation-CVerzUcJ.js @@ -0,0 +1 @@ +import{n as l}from"./index-BvGH7GyK.js";const a=["https://kv-service.wuyuan.dev"],h=5*60*1e3,g=3e3,i={preferred:null,cachedAt:0,probing:!1};function v(t){i.preferred=t,i.cachedAt=Date.now()}function y(t){return t.response?t.response.status>=500:!0}async function S(t){const n=new AbortController,r=setTimeout(()=>n.abort(),g),s=Date.now();try{return await fetch(`${t}/`,{method:"HEAD",signal:n.signal}),Date.now()-s}catch{return 1/0}finally{clearTimeout(r)}}async function w(){if(!i.probing){i.probing=!0;try{const n=(await Promise.all(a.map(async r=>({url:r,latency:await S(r)})))).filter(r=>r.latency<1/0).sort((r,s)=>r.latency-s.latency);n.length>0&&v(n[0].url)}catch{}finally{i.probing=!1}}}function E(){Date.now()-i.cachedAt>h&&!i.probing&&w().catch(()=>{});const r=i.preferred;return r&&a.includes(r)?[r,...a.filter(s=>s!==r)]:[...a]}function m(t){if(t==="classworkscloud")return E();const n=l("server.domain");return n?[n]:[]}async function R(t,n={}){const r=n.provider||l("server.provider"),s=n.onServerTried,u=typeof s=="function",p=m(r),e=[];let f=null;for(const c of p){e.push({url:c,status:"trying"}),u&&s({url:c,status:"trying",tried:[...e]});try{const o=await t(c);return e[e.length-1].status="success",u&&s({url:c,status:"success",tried:[...e]}),r==="classworkscloud"&&v(c),o}catch(o){if(!y(o))throw e[e.length-1].status="client-error",u&&s({url:c,status:"client-error",error:o,tried:[...e]}),o;f=o,e[e.length-1].status="failed",e[e.length-1].error=o.message||String(o),u&&s({url:c,status:"failed",error:o,tried:[...e]}),console.warn(`Server ${c} failed, trying next:`,o.message)}}console.error("All servers failed. Tried:",e);const d=f||new Error("All servers failed");throw d.triedServers=e,d}function T(){return l("server.provider")==="classworkscloud"?i.preferred||a[0]:l("server.domain")||""}function A(){return l("server.provider")==="classworkscloud"}export{T as g,A as i,R as t}; diff --git a/assets/serverRotation-CbFrj566.js b/assets/serverRotation-CbFrj566.js deleted file mode 100644 index a45bde5..0000000 --- a/assets/serverRotation-CbFrj566.js +++ /dev/null @@ -1 +0,0 @@ -import{n as l}from"./index-D042plwv.js";const a=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"],h=5*60*1e3,g=3e3,c={preferred:null,cachedAt:0,probing:!1};function v(t){c.preferred=t,c.cachedAt=Date.now()}function y(t){return t.response?t.response.status>=500:!0}async function S(t){const n=new AbortController,r=setTimeout(()=>n.abort(),g),s=Date.now();try{return await fetch(`${t}/`,{method:"HEAD",signal:n.signal}),Date.now()-s}catch{return 1/0}finally{clearTimeout(r)}}async function w(){if(!c.probing){c.probing=!0;try{const n=(await Promise.all(a.map(async r=>({url:r,latency:await S(r)})))).filter(r=>r.latency<1/0).sort((r,s)=>r.latency-s.latency);n.length>0&&v(n[0].url)}catch{}finally{c.probing=!1}}}function E(){Date.now()-c.cachedAt>h&&!c.probing&&w().catch(()=>{});const r=c.preferred;return r&&a.includes(r)?[r,...a.filter(s=>s!==r)]:[...a]}function m(t){if(t==="classworkscloud")return E();const n=l("server.domain");return n?[n]:[]}async function R(t,n={}){const r=n.provider||l("server.provider"),s=n.onServerTried,u=typeof s=="function",p=m(r),e=[];let f=null;for(const i of p){e.push({url:i,status:"trying"}),u&&s({url:i,status:"trying",tried:[...e]});try{const o=await t(i);return e[e.length-1].status="success",u&&s({url:i,status:"success",tried:[...e]}),r==="classworkscloud"&&v(i),o}catch(o){if(!y(o))throw e[e.length-1].status="client-error",u&&s({url:i,status:"client-error",error:o,tried:[...e]}),o;f=o,e[e.length-1].status="failed",e[e.length-1].error=o.message||String(o),u&&s({url:i,status:"failed",error:o,tried:[...e]}),console.warn(`Server ${i} failed, trying next:`,o.message)}}console.error("All servers failed. Tried:",e);const d=f||new Error("All servers failed");throw d.triedServers=e,d}function T(){return l("server.provider")==="classworkscloud"?c.preferred||a[0]:l("server.domain")||""}function A(){return l("server.provider")==="classworkscloud"}export{T as g,A as i,R as t}; diff --git a/assets/settings-BTJTRuYs.js b/assets/settings-IOzDL48d.js similarity index 99% rename from assets/settings-BTJTRuYs.js rename to assets/settings-IOzDL48d.js index 37bacd6..2832724 100644 --- a/assets/settings-BTJTRuYs.js +++ b/assets/settings-IOzDL48d.js @@ -1,5 +1,5 @@ -import{_ as it,V as Nt}from"./MessageLog-BWQHaU0R.js";import{_ as z,W as ve,c as N,f as g,d as _,j as Ie,l as Y,e as V,o as Te,C as lt,x as ot,X as pe,n as k,s as W,Y as Pt,r as B,h as f,p as P,q as x,i as C,z as Ee,Z as Se,w as Le,A as ze,g as R,F as at,E as Ce,k as ee,V as rt,t as Q,$ as zt,a0 as Et,a1 as ut,a2 as Lt,y as Qe}from"./index-D042plwv.js";import{X as m,Y as h,Z as n,j as t,a1 as o,S as w,$ as v,af as Ve,k as c,P as Ot,_ as y,m as he,F as L,a2 as H,N as Be,aa as re,n as _e,r as Kt,ae,o as Ge,b as X,ac as Rt,D as Ft,e as ke,a4 as Jt}from"./vendor-vue-BiQC5iF7.js";import{V as E}from"./VChip-nQelUOZI.js";import{V as Oe}from"./VSwitch-CEojN9Vi.js";import{V as De}from"./VSelect-mQ_XLRnU.js";import{V as U}from"./VTextField-BoJUR4Xs.js";import{V as Ke}from"./VMenu-Ps4XkZIl.js";import{V as K,a as ge}from"./VAlert-ZP8s_5ha.js";import{V as We}from"./VSlider-ClZx8sEW.js";import{d as G,b as Ye,a as Ht,o as Qt,k as Gt}from"./dataProvider-CBH3Lw3D.js";import{V as q,a as M}from"./VRow-CH6EAfU_.js";import{V as Re}from"./VContainer-MApP1Vz1.js";import{a as Ae}from"./vendor-utils-2lvrqI0-.js";import{V as le}from"./VCheckbox-BPfe_uCD.js";import{V as we}from"./VTextarea-CnWToSV7.js";import{s as Wt,a as Yt}from"./soundList-D9U-Grcp.js";import{V as qt}from"./VSkeletonLoader-B7fDa9ID.js";import{V as Zt}from"./VTimePicker-DQGiZZlL.js";import{t as Xt,f as $t,n as en,p as tn,a0 as nn}from"./vendor-vuetify-DpmmaPkh.js";import{V as dt}from"./VForm-IEFsJ4YW.js";import{V as Fe,a as Je,b as ct,c as He}from"./VExpansionPanels-BpKtUPdA.js";import{V as mt}from"./VDataTable-Dnwt1bQQ.js";import{V as qe}from"./VCombobox-DxvBKwV_.js";import{V as Ze}from"./VCheckboxBtn-64kBGXnq.js";import{i as sn,t as ln}from"./serverRotation-CbFrj566.js";import{getVisitorId as on}from"./visitorId-Fp9eGgHd.js";import{b as Xe,c as $e,V as an,a as rn}from"./VAppBarTitle-D2mhaxek.js";import{V as un}from"./VSheet-BWNNvcYw.js";import{V as dn,a as Z}from"./VTable-DH4Drwun.js";import"./VPicker-DGiUlCzb.js";import"./VPagination-LhWLJTqu.js";const cn={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function mn(s,e,a,u,i,l){return m(),h(V,{class:"settings-card rounded-lg",elevation:"2"},{default:n(()=>[t(ve,null,{prepend:n(()=>[t(g,{icon:a.icon,class:"mr-2",size:"large"},null,8,["icon"])]),default:n(()=>[t(N,{class:"text-h6"},{default:n(()=>[o(w(a.title),1)]),_:1})]),_:1}),t(_,null,{default:n(()=>[a.loading?(m(),h(Ie,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),Ve(s.$slots,"default",{},void 0,!0)]),_:3}),s.$slots.actions?(m(),h(Y,{key:0,class:"pa-4"},{default:n(()=>[Ve(s.$slots,"actions",{},void 0,!0)]),_:3})):v("",!0)]),_:3})}const O=z(cn,[["render",mn],["__scopeId","data-v-cd0153ca"]]),fn=[{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"}],et={quotes:fn};let Me=null;async function pn(){return Me||(Me=(await ot(async()=>{const{default:s}=await import("./core-Cy2g3AD-.js").then(e=>e.c);return{default:s}},[],import.meta.url)).default),Me}const tt={text:"点击此处可以查看 Classworks 用户群里沙雕群友们的发言",author:"点击后会复制当前句子到剪贴板中"},nt={main:{delay:50,deleteSpeed:100},source:{delay:10,deleteSpeed:10,cursor:""}},hn={name:"EchoChamberCard",components:{SettingsCard:O},data:()=>({typewriter:null,sourceWriter:null,currentQuote:tt,hasClicked:!1}),mounted(){this.initTypewriters()},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(s=>s==null?void 0:s.stop())},methods:{async initTypewriters(){const s=await pn();this.typewriter=new s(this.$refs.typewriter,nt.main),this.sourceWriter=new s(this.$refs.sourceWriter,nt.source),this.typeQuote(tt)},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 et.quotes[Math.floor(Math.random()*et.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:s,author:e,contributor:a,link:u}=this.currentQuote,i=[s,e&&`作者:${e}`,a&&`贡献者:${a}`,(u||a)&&`来源:${u||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` -`))}catch(l){console.error("复制失败:",l)}}}},gn={ref:"typewriter",class:"typewriter-text"},wn={ref:"sourceWriter",class:"source-text"};function vn(s,e,a,u,i,l){const d=O;return m(),h(d,{border:"",icon:"mdi-thought-bubble",title:"回声洞",onClick:l.handleClick},{default:n(()=>[t(_,null,{default:n(()=>[c("div",gn,null,512),c("div",wn,null,512)]),_:1}),t(Ot,{name:"fade"},{default:n(()=>{var p;return[(p=s.currentQuote)!=null&&p.contributor?(m(),h(E,{key:0,class:"contributor"},{default:n(()=>[t(Te,{start:""},{default:n(()=>[t(lt,{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 ft=z(hn,[["render",vn],["__scopeId","data-v-c75e2e66"]]),bn={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=Pt(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=k(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 u=e[1].split(",").map(i=>{const l=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(l)||l,value:l}});u.length>0&&(this.selectOptions=u,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 u=this.maxValue-this.minValue;u>100?this.stepValue=10:u>20?this.stepValue=5:u>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)),W(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=k(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&&(pe(this.settingKey),this.localValue=k(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(s){this.snackbarText=s,this.showSnackbar=!0}}},yn={class:"d-flex flex-column flex-sm-row align-center"},kn={key:0,class:"me-2"},xn={key:2,class:"d-flex align-center"},Sn={key:0,class:"px-4 pb-2 pt-0"};function Cn(s,e,a,u,i,l){return m(),y(L,null,[t(x,{disabled:a.disabled,class:"setting-item"},{prepend:n(()=>[t(g,{icon:l.settingIcon},null,8,["icon"])]),append:n(()=>[c("div",yn,[i.type!=="string"||i.hasOptions?(m(),y("div",kn,[i.type==="boolean"?(m(),h(Oe,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=d=>i.localValue=d),l.updateSetting],disabled:a.disabled,density:"comfortable","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(m(),h(De,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=d=>i.localValue=d),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"?(m(),y("div",xn,[t(f,{disabled:a.disabled||i.localValue<=i.minValue,icon:"mdi-minus",size:"small",variant:"text",onClick:e[2]||(e[2]=d=>l.adjustValue(-i.stepValue))},null,8,["disabled"]),t(U,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=d=>i.localValue=d),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]=d=>l.adjustValue(i.stepValue))},null,8,["disabled"])])):v("",!0)])):v("",!0),t(Ke,{location:"bottom"},{activator:n(({props:d})=>[t(f,he({disabled:a.disabled,class:"ml-2",icon:"mdi-dots-vertical",size:"small"},d,{variant:"text"}),null,16,["disabled"])]),default:n(()=>[t(P,{density:"compact"},{default:n(()=>[t(x,{onClick:l.copySettingId},{prepend:n(()=>[t(g,{icon:"mdi-key",size:"small"})]),default:n(()=>[t(B,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(B,null,{default:n(()=>[...e[8]||(e[8]=[o("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(C),t(x,{disabled:l.isDefaultValue,onClick:l.resetToDefault},{prepend:n(()=>[t(g,{icon:"mdi-restore",size:"small"})]),default:n(()=>[t(B,null,{default:n(()=>[...e[9]||(e[9]=[o("重置为默认值",-1)])]),_:1})]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})])]),default:n(()=>[t(B,{class:"text-wrap"},{default:n(()=>[o(w(l.displayTitle),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(m(),y("div",Sn,[t(U,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=d=>i.localValue=d),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(Ee,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=d=>i.showSnackbar=d),timeout:2e3,color:"success",location:"top"},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const te=z(bn,[["render",Cn],["__scopeId","data-v-14c3ef9d"]]),_n={name:"SettingsExplorer",components:{SettingItem:te},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return k("developer.enabled")},allSettings(){var e;const s=[];for(const[a,u]of Object.entries(ze))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=u.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||s.push({key:a,...u});return s},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=Le(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Se()},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:"复制到剪贴板失败"})})}}},Vn={class:"settings-explorer"},Dn={class:"settings-json"};function An(s,e,a,u,i,l){const d=te;return m(),y("div",Vn,[c("div",null,[t(U,{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(P,null,{default:n(()=>[(m(!0),y(L,null,H(l.allSettings,p=>(m(),y("div",{key:p.key},[(m(),h(d,{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(C,{class:"my-2"})]))),128))]),_:1}),t(V,{border:""},{default:n(()=>[t(N,{class:"text-subtitle-1"},{default:n(()=>[...e[1]||(e[1]=[o(" 当前配置 ",-1)])]),_:1}),t(_,null,{default:n(()=>[c("pre",Dn,w(l.formattedSettings),1)]),_:1}),t(Y,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 pt=z(_n,[["render",An],["__scopeId","data-v-9750a84f"]]),In=[{label:"Bing 随机壁纸",url:"https://bing.img.run/rand.php"},{label:"Bing 每日壁纸",url:"https://bing.img.run/1920x1080.php"},{label:"随机风景",url:"https://picsum.photos/1920/1080?random=1"},{label:"随机二次元",url:"https://uapis.cn/api/v1/random/image?category=acg&type=pc"}],Ne=10,Tn={name:"BackgroundSettingsCard",components:{SettingsCard:O,SettingItem:te},data(){const s=k("background.imageData")||"",e=k("background.url")||"";return{imageSource:s?"upload":"url",localUrl:e,localImageData:s,localBlur:k("background.blur")??10,localOpacity:k("background.opacity")??30,isDragging:!1,saving:!1,uploadWarning:"",urlPresets:In,settingItemKey:0,maxImageSizeMB:Ne}},computed:{activeImageSrc(){return this.imageSource==="upload"&&this.localImageData?this.localImageData:this.imageSource==="url"&&this.localUrl?this.localUrl:""},previewContainerStyle(){return{position:"relative",width:"100%",height:"160px",borderRadius:"12px",overflow:"hidden",border:"1px solid rgba(128,128,128,0.3)"}},previewBgStyle(){return this.activeImageSrc?{position:"absolute",inset:"0",backgroundImage:`url(${this.activeImageSrc})`,backgroundSize:"cover",backgroundPosition:"center",filter:`blur(${this.localBlur}px)`,transform:"scale(1.1)"}:{position:"absolute",inset:"0",background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",filter:`blur(${this.localBlur}px)`,transform:"scale(1.1)"}},previewOverlayStyle(){return{position:"absolute",inset:"0",background:`rgba(0, 0, 0, ${this.localOpacity/100})`}}},methods:{validateUrl(s){if(!s)return!0;try{return new URL(s),!0}catch{return"请输入有效的图片地址"}},onUrlChange(s){this.localUrl=s||""},onBlurChange(s){this.localBlur=s},onOpacityChange(s){this.localOpacity=s},applyPreset(s){this.localUrl=s,this.imageSource="url"},triggerFileInput(){this.$refs.fileInput.click()},handleDrop(s){var a,u;this.isDragging=!1;const e=(u=(a=s.dataTransfer)==null?void 0:a.files)==null?void 0:u[0];e&&this.processFile(e)},handleFileChange(s){var a;const e=(a=s.target.files)==null?void 0:a[0];e&&this.processFile(e),s.target.value=""},processFile(s){if(this.uploadWarning="",!s.type.startsWith("image/")){this.uploadWarning="请选择图片文件";return}const e=s.size/1024/1024;if(e>Ne){this.uploadWarning=`图片大小为 ${e.toFixed(1)}MB,超过 ${Ne}MB 限制,请压缩后重试`;return}const a=new FileReader;a.onload=u=>{this.localImageData=u.target.result},a.readAsDataURL(s)},clearUploadedImage(){this.localImageData="",this.uploadWarning=""},async saveAll(){this.saving=!0;try{this.imageSource==="upload"?(W("background.imageData",this.localImageData||""),W("background.url","")):(W("background.url",this.localUrl||""),W("background.imageData","")),W("background.blur",this.localBlur),W("background.opacity",this.localOpacity)}finally{this.saving=!1}},resetAll(){pe("background.enabled"),pe("background.url"),pe("background.imageData"),pe("background.blur"),pe("background.opacity"),this.localUrl=k("background.url")||"",this.localImageData=k("background.imageData")||"",this.localBlur=k("background.blur")??10,this.localOpacity=k("background.opacity")??30,this.imageSource="url",this.uploadWarning="",this.settingItemKey++}}},Un={class:"px-4 pb-4"},jn={class:"d-flex align-center mb-4"},Bn={key:0,class:"mb-4"},Mn={class:"d-flex flex-wrap gap-2 mt-2"},Nn={key:1,class:"mb-4"},Pn={class:"text-caption text-medium-emphasis mt-1"},zn={key:1,class:"d-flex align-center ga-2"},En={class:"d-flex align-center mb-4"},Ln={class:"mb-4"},On={class:"d-flex justify-space-between align-center mb-1"},Kn={class:"text-body-2 font-weight-bold"},Rn={class:"mb-4"},Fn={class:"d-flex justify-space-between align-center mb-1"},Jn={class:"text-body-2 font-weight-bold"},Hn={class:"d-flex justify-end ga-3"};function Qn(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{border:"",icon:"mdi-image",title:"背景设置"},{default:n(()=>[t(P,null,{default:n(()=>[(m(),h(d,{key:i.settingItemKey,"setting-key":"background.enabled"}))]),_:1}),t(C,{class:"mb-4"}),c("div",Un,[c("div",{class:"preview-area mb-6",style:Be(l.previewContainerStyle)},[c("div",{class:"preview-bg",style:Be(l.previewBgStyle)},null,4),c("div",{class:"preview-overlay",style:Be(l.previewOverlayStyle)},null,4),e[9]||(e[9]=c("div",{class:"preview-text"}," 背景预览 ",-1))],4),c("div",jn,[t(g,{class:"mr-2",color:"primary"},{default:n(()=>[...e[10]||(e[10]=[o(" mdi-image-search ",-1)])]),_:1}),e[11]||(e[11]=c("span",{class:"text-subtitle-1 font-weight-bold"},"图片来源",-1))]),t(at,{modelValue:i.imageSource,"onUpdate:modelValue":e[0]||(e[0]=r=>i.imageSource=r),color:"primary",density:"comfortable",class:"mb-4",mandatory:"",rounded:"xl"},{default:n(()=>[t(f,{value:"url","prepend-icon":"mdi-link-variant"},{default:n(()=>[...e[12]||(e[12]=[o(" 网络地址 ",-1)])]),_:1}),t(f,{value:"upload","prepend-icon":"mdi-upload"},{default:n(()=>[...e[13]||(e[13]=[o(" 本地上传 ",-1)])]),_:1})]),_:1},8,["modelValue"]),i.imageSource==="url"?(m(),y("div",Bn,[t(U,{modelValue:i.localUrl,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.localUrl=r),l.onUrlChange],label:"图片地址",placeholder:"https://example.com/background.jpg",variant:"outlined",density:"compact","prepend-inner-icon":"mdi-link",clearable:"","hide-details":"auto",rules:[l.validateUrl]},null,8,["modelValue","rules","onUpdate:modelValue"]),c("div",Mn,[(m(!0),y(L,null,H(i.urlPresets,r=>(m(),h(E,{key:r.label,size:"small",variant:"tonal",color:"primary",class:"cursor-pointer",onClick:b=>l.applyPreset(r.url)},{default:n(()=>[o(w(r.label),1)]),_:2},1032,["onClick"]))),128))])])):v("",!0),i.imageSource==="upload"?(m(),y("div",Nn,[c("div",{class:_e(["upload-area rounded-xl pa-6 text-center mb-3",{"upload-hover":i.isDragging}]),onDragover:e[3]||(e[3]=re(r=>i.isDragging=!0,["prevent"])),onDragleave:e[4]||(e[4]=r=>i.isDragging=!1),onDrop:e[5]||(e[5]=re((...r)=>l.handleDrop&&l.handleDrop(...r),["prevent"])),onClick:e[6]||(e[6]=(...r)=>l.triggerFileInput&&l.triggerFileInput(...r))},[t(g,{size:"40",color:"primary",class:"mb-2"},{default:n(()=>[...e[14]||(e[14]=[o(" mdi-image-plus ",-1)])]),_:1}),e[15]||(e[15]=c("div",{class:"text-body-2"}," 点击或拖拽图片到此处上传 ",-1)),c("div",Pn," 支持 JPG、PNG、WebP、GIF(建议小于 "+w(i.maxImageSizeMB)+"MB) ",1),c("input",{ref:"fileInput",type:"file",accept:"image/*",style:{display:"none"},onChange:e[2]||(e[2]=(...r)=>l.handleFileChange&&l.handleFileChange(...r))},null,544)],34),i.uploadWarning?(m(),h(K,{key:0,type:"warning",variant:"tonal",density:"compact",class:"mb-2",icon:"mdi-alert"},{default:n(()=>[o(w(i.uploadWarning),1)]),_:1})):v("",!0),i.localImageData?(m(),y("div",zn,[t(E,{color:"success","prepend-icon":"mdi-check-circle",size:"small"},{default:n(()=>[...e[16]||(e[16]=[o(" 已上传本地图片 ",-1)])]),_:1}),t(f,{size:"small",variant:"text",color:"error","prepend-icon":"mdi-delete",onClick:l.clearUploadedImage},{default:n(()=>[...e[17]||(e[17]=[o(" 清除 ",-1)])]),_:1},8,["onClick"])])):v("",!0)])):v("",!0),t(C,{class:"my-5"}),c("div",En,[t(g,{class:"mr-2",color:"blue"},{default:n(()=>[...e[18]||(e[18]=[o(" mdi-blur ",-1)])]),_:1}),e[19]||(e[19]=c("span",{class:"text-subtitle-1 font-weight-bold"},"毛玻璃效果",-1))]),c("div",Ln,[c("div",On,[e[20]||(e[20]=c("span",{class:"text-body-2 text-medium-emphasis"},"模糊幅度",-1)),c("span",Kn,w(i.localBlur)+"px",1)]),t(We,{modelValue:i.localBlur,"onUpdate:modelValue":[e[7]||(e[7]=r=>i.localBlur=r),l.onBlurChange],min:0,max:50,step:1,color:"primary","track-color":"grey-lighten-3","thumb-label":"","hide-details":""},{prepend:n(()=>[t(g,{size:"small",color:"grey"},{default:n(()=>[...e[21]||(e[21]=[o(" mdi-blur-off ",-1)])]),_:1})]),append:n(()=>[t(g,{size:"small",color:"primary"},{default:n(()=>[...e[22]||(e[22]=[o(" mdi-blur ",-1)])]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),c("div",Rn,[c("div",Fn,[e[23]||(e[23]=c("span",{class:"text-body-2 text-medium-emphasis"},"遮罩暗色程度",-1)),c("span",Jn,w(i.localOpacity)+"%",1)]),t(We,{modelValue:i.localOpacity,"onUpdate:modelValue":[e[8]||(e[8]=r=>i.localOpacity=r),l.onOpacityChange],min:0,max:80,step:1,color:"blue-grey","track-color":"grey-lighten-3","thumb-label":"","hide-details":""},{prepend:n(()=>[t(g,{size:"small",color:"grey"},{default:n(()=>[...e[24]||(e[24]=[o(" mdi-brightness-7 ",-1)])]),_:1})]),append:n(()=>[t(g,{size:"small",color:"blue-grey"},{default:n(()=>[...e[25]||(e[25]=[o(" mdi-brightness-2 ",-1)])]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),t(C,{class:"my-5"}),c("div",Hn,[t(f,{variant:"text","prepend-icon":"mdi-restore",onClick:l.resetAll},{default:n(()=>[...e[26]||(e[26]=[o(" 重置 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"primary",variant:"elevated","prepend-icon":"mdi-content-save",loading:i.saving,onClick:l.saveAll},{default:n(()=>[...e[27]||(e[27]=[o(" 保存设置 ",-1)])]),_:1},8,["loading","onClick"])])])]),_:1})}const ht=z(Tn,[["render",Qn],["__scopeId","data-v-bb9183b0"]]),Gn={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 Wn(s,e,a,u,i,l){return m(),h(V,{border:a.border,class:"setting-group"},{default:n(()=>[a.title?(m(),h(N,{key:0,class:"d-flex align-center"},{default:n(()=>[a.icon?(m(),h(g,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):v("",!0),o(" "+w(a.title),1)]),_:1})):v("",!0),a.description?(m(),h(Ce,{key:1},{default:n(()=>[o(w(a.description),1)]),_:1})):v("",!0),t(_,null,{default:n(()=>[t(P,null,{default:n(()=>[Ve(s.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),s.$slots.actions?(m(),h(Y,{key:2},{default:n(()=>[Ve(s.$slots,"actions",{},void 0,!0)]),_:3})):v("",!0)]),_:3},8,["border"])}const Ue=z(Gn,[["render",Wn],["__scopeId","data-v-acac458a"]]),Yn={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},qn={name:"HomeworkTemplateCard",components:{SettingsCard:O,SettingGroup:Ue},data(){return{loading:!1,error:null,config:Kt(JSON.parse(JSON.stringify(Yn))),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 G.loadData("classworks-config-homework-template");if(a){const u=a;Object.assign(this.config,u),this.originalConfig=JSON.parse(JSON.stringify(u)),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 u=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${u},可继续编辑当前配置`,"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 G.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}`,u=this.editedBookTypes[a];if(u&&u!==e){const i=this.config.subjects[s].books[e];this.config.subjects[s].books[u]=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}`,u=this.newBooks[a];u&&(this.config.subjects[s].books[e].includes(u)||this.config.subjects[s].books[e].push(u),this.newBooks[a]="")},removeBook(s,e,a){const u=this.config.subjects[s].books[e],i=u.indexOf(a);i>-1&&u.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:u,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let l;const d=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(s){case"subjectBook":d&&(u!==e?(d[e]=i||[],delete d[u]):d[e]=i||[]);break;case"action":l=this.config.actions.indexOf(u),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=""}}},Zn={class:"d-flex justify-space-between align-center mb-6"};function Xn(s,e,a,u,i,l){const d=Ue,p=O;return m(),h(p,{loading:i.loading,border:"",icon:"mdi-book-edit",title:"作业模板配置"},{default:n(()=>[i.error?(m(),h(K,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),c("div",Zn,[c("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?(m(),h(E,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[9]||(e[9]=[o(" 有未保存的更改 ",-1)])]),_:1})):v("",!0)]),t(q,null,{default:n(()=>[t(M,{cols:"12",md:"6"},{default:n(()=>[t(d,{border:"",icon:"mdi-book",title:"科目配置"},{default:n(()=>[t(P,null,{default:n(()=>[t(x,null,{default:n(()=>[t(U,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=r=>i.newSubject=r),"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}),(m(!0),y(L,null,H(l.subjectList,r=>(m(),h(x,{key:r},{default:n(()=>[t(V,{border:"",class:"w-100 mb-2"},{default:n(()=>[t(N,{class:"d-flex align-center"},{default:n(()=>[t(U,{modelValue:i.editedSubjects[r],"onUpdate:modelValue":b=>i.editedSubjects[r]=b,placeholder:r,density:"comfortable","hide-details":"",variant:"plain",onBlur:b=>l.updateSubject(r)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(R),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(r)},null,8,["onClick"])]),_:2},1024),t(_,null,{default:n(()=>[t(U,{modelValue:i.newBookTypes[r],"onUpdate:modelValue":b=>i.newBookTypes[r]=b,"append-inner-icon":"mdi-plus",class:"mb-2",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":()=>l.addBookType(r),onKeyup:ae(()=>l.addBookType(r),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(P,{border:"",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.config.subjects[r].books,(b,S)=>(m(),h(x,{key:S,title:S,onClick:T=>l.openSubjectBookDialog(r,S,b)},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-book-open-variant"})]),append:n(()=>[t(E,{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:re(()=>l.deleteBookType(r,S),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(M,{cols:"12",md:"6"},{default:n(()=>[t(d,{border:"",icon:"mdi-cog",title:"通用配置"},{default:n(()=>[t(P,null,{default:n(()=>[t(x,null,{default:n(()=>[t(U,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=r=>i.newCommonBook=r),"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(P,{border:"",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.config.commonSubject.books,(r,b)=>(m(),h(x,{key:b,title:b,onClick:S=>l.openSubjectBookDialog("common",b,r)},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-book-multiple"})]),append:n(()=>[t(E,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(r.length)+"个部分 ",1)]),_:2},1024),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:re(()=>l.deleteBookType("common",b),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(C,{class:"my-2"}),t(x,null,{default:n(()=>[t(U,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=r=>i.newAction=r),"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(P,{border:"",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.config.actions,r=>(m(),h(x,{key:r,title:r,onClick:b=>l.openActionDialog(r)},{append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:re(b=>l.removeAction(r),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(ee,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=r=>i.dialog.show=r),"max-width":"600px"},{default:n(()=>[t(V,null,{default:n(()=>[t(N,{class:"text-h5 pa-4"},{default:n(()=>[o(w(i.dialog.title),1)]),_:1}),t(_,null,{default:n(()=>[t(Re,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(U,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=r=>i.dialog.editedItem.name=r),label:i.dialog.nameLabel,rules:[r=>!!r||"名称不能为空"],density:"comfortable",variant:"outlined"},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(m(),h(M,{key:0,cols:"12"},{default:n(()=>[e[10]||(e[10]=c("div",{class:"text-subtitle-2 mb-2"}," 所属科目 ",-1)),t(E,{color:"primary"},{default:n(()=>[o(w(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):v("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(m(),h(M,{key:1,cols:"12"},{default:n(()=>[t(V,{variant:"outlined"},{default:n(()=>[t(N,{class:"text-subtitle-1 py-2"},{default:n(()=>[...e[11]||(e[11]=[o(" 需完成部分 ",-1)])]),_:1}),t(_,{class:"pt-0"},{default:n(()=>[t(P,{border:"",class:"mb-2",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.dialog.editedItem.tasks,(r,b)=>(m(),h(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:S=>l.removeTask(b)},null,8,["onClick"])]),default:n(()=>[t(U,{modelValue:i.dialog.editedItem.tasks[b],"onUpdate:modelValue":S=>i.dialog.editedItem.tasks[b]=S,density:"compact","hide-details":"",variant:"plain"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(U,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=r=>i.newTask=r),"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(Y,{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(Ee,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=r=>i.showSnackbar=r),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const gt=z(qn,[["render",Xn],["__scopeId","data-v-a2517340"]]),$n={name:"SubjectManagementCard",components:{SettingsCard:O},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 G.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 G.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,u)=>{a.order=u}))},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")}}},es={class:"d-flex justify-space-between align-center mb-6"},ts={class:"d-flex flex-column align-center mr-2"};function ns(s,e,a,u,i,l){const d=O;return m(),h(d,{loading:i.loading,border:"",icon:"mdi-book-multiple",title:"科目管理"},{default:n(()=>[i.error?(m(),h(K,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),c("div",es,[c("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?(m(),h(E,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[5]||(e[5]=[o(" 有未保存的更改 ",-1)])]),_:1})):v("",!0)]),t(V,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(_,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12",sm:"6"},{default:n(()=>[t(U,{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:ae(l.addSubject,["enter"]),"onClick:appendInner":l.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(V,{variant:"outlined"},{default:n(()=>[t(_,{class:"pa-0"},{default:n(()=>[t(P,{lines:"one"},{default:n(()=>[(m(!0),y(L,null,H(i.subjects,(p,r)=>(m(),h(x,{key:p.order},{prepend:n(()=>[c("div",ts,[t(f,{disabled:r===0,icon:"mdi-chevron-up",size:"small",variant:"text",onClick:b=>l.moveSubject(r,-1)},null,8,["disabled","onClick"]),t(f,{disabled:r===i.subjects.length-1,icon:"mdi-chevron-down",size:"small",variant:"text",onClick:b=>l.moveSubject(r,1)},null,8,["disabled","onClick"])])]),append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(p)},null,8,["onClick"])]),default:n(()=>[t(B,null,{default:n(()=>[t(U,{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(Ee,{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 wt=z($n,[["render",ns],["__scopeId","data-v-22202eda"]]),ss={};function is(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"randomPicker.enabled"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.mode"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.minNumber"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.maxNumber"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.defaultCount"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const vt=z(ss,[["render",is]]),ls={name:"HitokotoSettings",components:{SettingGroup:Ue,SettingItem:te},data(){return{kvConfig:{sources:["zhaoyu"],sensitiveWords:"",jinrishiciToken:null,hitokotoCategories:[]},hitokotoCategories:[{value:"a",label:"动画"},{value:"b",label:"漫画"},{value:"c",label:"游戏"},{value:"d",label:"文学"},{value:"e",label:"原创"},{value:"f",label:"来自网络"},{value:"g",label:"其他"},{value:"h",label:"影视"},{value:"i",label:"诗词"},{value:"j",label:"网易云"},{value:"k",label:"哲学"},{value:"l",label:"抖机灵"}],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 G.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,hitokotoCategories:Array.isArray(e.hitokotoCategories)?e.hitokotoCategories:[]})}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 Ae.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 G.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 u=await Ae.get("https://v2.jinrishici.com/info?X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken));if(u.data&&u.data.status==="success"){this.testResultData=u.data,this.testResultDialog=!0;const i=(s=u.data.data)==null?void 0:s.token,l=(e=u.data.data)==null?void 0:e.region,d=this.kvConfig.jinrishiciToken?i===this.kvConfig.jinrishiciToken:!0;this.testColor=d?"success":"warning",this.testMessage=d?`接口正常,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}}}},os={class:"d-flex flex-wrap gap-2"},as={class:"text-caption text-orange mt-2"},rs={class:"d-flex flex-wrap gap-2"},us={class:"d-flex flex-column flex-sm-row align-center w-100"},ds={key:3,class:"text-center pb-4"},cs={class:"d-flex align-center mb-2"},ms={class:"text-body-1 font-weight-medium"},fs={class:"d-flex align-center mb-2"},ps={class:"text-body-1 font-weight-medium"},hs={class:"d-flex align-center mb-2"},gs={class:"text-body-1 font-weight-medium"},ws={class:"d-flex align-center mb-2"},vs={class:"text-body-2 font-weight-medium"},bs={class:"d-flex align-center mb-2"},ys={class:"text-body-1 font-weight-medium"},ks={class:"d-flex align-center mb-2"},xs={class:"text-body-1 font-weight-medium"},Ss={class:"px-4 py-3"},Cs={class:"d-flex flex-wrap gap-2"};function _s(s,e,a,u,i,l){const d=te,p=Ue;return m(),y("div",null,[t(p,{title:"一言设置",icon:"mdi-comment-quote"},{default:n(()=>[t(d,{"setting-key":"hitokoto.enabled"}),t(d,{"setting-key":"hitokoto.refreshInterval"})]),_:1}),t(p,{title:"数据源配置",icon:"mdi-cloud-sync",class:"mt-4"},{default:n(()=>[e[16]||(e[16]=c("div",{class:"text-caption text-grey px-4 pt-2 pb-2"}," 以下配置将同步到云端,对所有连接此班级的设备生效。 ",-1)),t(x,null,{default:n(()=>[t(B,{class:"mb-2"},{default:n(()=>[...e[8]||(e[8]=[o(" 启用数据源 ",-1)])]),_:1}),c("div",os,[t(le,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[0]||(e[0]=r=>i.kvConfig.sources=r),l.saveKvSettings],label:"一言 (Hitokoto)",value:"hitokoto","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(le,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.kvConfig.sources=r),l.saveKvSettings],label:"诏预 (Zhaoyu)",value:"zhaoyu","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(le,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[2]||(e[2]=r=>i.kvConfig.sources=r),l.saveKvSettings],label:"今日诗词 (Jinrishici)",value:"jinrishici","hide-details":"",density:"compact",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"])]),c("div",as,[t(g,{size:"x-small",color:"orange",class:"mr-1"},{default:n(()=>[...e[9]||(e[9]=[o(" mdi-alert ",-1)])]),_:1}),e[10]||(e[10]=o(" 一言(Hitokoto)数据源已收到关于存在负面内容的大量反馈,请用户谨慎启用。 ",-1))])]),_:1}),i.kvConfig.sources.includes("hitokoto")?(m(),h(x,{key:0},{default:n(()=>[t(B,{class:"mb-2"},{default:n(()=>[...e[11]||(e[11]=[o(" 一言句子类型 ",-1)])]),_:1}),e[12]||(e[12]=c("div",{class:"text-caption text-grey mb-2"}," 不选则返回所有类型;可多选。 ",-1)),c("div",rs,[(m(!0),y(L,null,H(i.hitokotoCategories,r=>(m(),h(le,{key:r.value,modelValue:i.kvConfig.hitokotoCategories,"onUpdate:modelValue":[e[3]||(e[3]=b=>i.kvConfig.hitokotoCategories=b),l.saveKvSettings],label:r.label,value:r.value,"hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","label","value","disabled","onUpdate:modelValue"]))),128))])]),_:1})):v("",!0),i.kvConfig.sources.includes("jinrishici")?(m(),h(x,{key:1},{default:n(()=>[t(U,{modelValue:i.kvConfig.jinrishiciToken,"onUpdate:modelValue":e[4]||(e[4]=r=>i.kvConfig.jinrishiciToken=r),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")?(m(),h(x,{key:2},{default:n(()=>[c("div",us,[t(f,{loading:i.testLoading,color:"primary",variant:"outlined",class:"mr-sm-4 mb-2 mb-sm-0",onClick:l.testJinrishici},{default:n(()=>[...e[13]||(e[13]=[o(" 测试今日诗词接口 ",-1)])]),_:1},8,["loading","onClick"]),i.testMessage?(m(),h(K,{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(we,{modelValue:i.kvConfig.sensitiveWords,"onUpdate:modelValue":e[5]||(e[5]=r=>i.kvConfig.sensitiveWords=r),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(le,{modelValue:i.enableCloudSensitiveWords,"onUpdate:modelValue":e[6]||(e[6]=r=>i.enableCloudSensitiveWords=r),label:"启用云端敏感词列表","hide-details":"",density:"compact",disabled:"",class:"mb-2"},null,8,["modelValue"]),e[14]||(e[14]=c("div",{class:"text-caption text-grey"},[o(" 已启用的数据源将在获取一言时随机尝试,直到成功获取内容为止。"),c("br"),o(" 敏感词过滤会将包含任意敏感词的句子过滤掉,避免显示不当内容。"),c("br")],-1))]),_:1}),i.loading?(m(),y("div",ds,[t(rt,{indeterminate:"",size:"24",color:"primary"}),e[15]||(e[15]=c("span",{class:"ml-2 text-caption"},"正在同步配置...",-1))])):v("",!0)]),_:1}),t(ee,{modelValue:i.testResultDialog,"onUpdate:modelValue":e[7]||(e[7]=r=>i.testResultDialog=r),"max-width":"600"},{default:n(()=>[i.testResultData?(m(),h(V,{key:0,class:"rounded-lg"},{default:n(()=>[t(_,{class:"pa-0"},{default:n(()=>[t(P,{lines:"two",class:"py-0"},{default:n(()=>[t(x,{class:"px-4 py-3"},{prepend:n(()=>[t(Te,{color:"primary",variant:"tonal",class:"mr-2"},{default:n(()=>[t(g,{icon:"mdi-key-variant"})]),_:1})]),default:n(()=>[t(B,{class:"text-subtitle-2 font-weight-bold mb-1"},{default:n(()=>[...e[17]||(e[17]=[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(C),t(q,{"no-gutters":""},{default:n(()=>[t(M,{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(B,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[18]||(e[18]=[o(" IP 地址 ",-1)])]),_:1}),t(Q,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.ip),1)]),_:1})]),_:1})]),_:1}),t(M,{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(B,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[19]||(e[19]=[o(" 地区 ",-1)])]),_:1}),t(Q,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.region),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(C),t(Re,{class:"px-4 py-3"},{default:n(()=>[t(q,{dense:""},{default:n(()=>[t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",cs,[t(g,{icon:"mdi-thermometer",color:"orange",class:"mr-2"}),c("div",null,[e[20]||(e[20]=c("div",{class:"text-caption text-grey"}," 温度 ",-1)),c("div",ms,w(i.testResultData.data.weatherData.temperature)+"°C ",1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",fs,[t(g,{icon:"mdi-weather-cloudy",color:"blue-grey",class:"mr-2"}),c("div",null,[e[21]||(e[21]=c("div",{class:"text-caption text-grey"}," 天气 ",-1)),c("div",ps,w(i.testResultData.data.weatherData.weather),1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",hs,[t(g,{icon:"mdi-water-percent",color:"blue",class:"mr-2"}),c("div",null,[e[22]||(e[22]=c("div",{class:"text-caption text-grey"}," 湿度 ",-1)),c("div",gs,w(i.testResultData.data.weatherData.humidity)+"% ",1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",ws,[t(g,{icon:"mdi-weather-windy",color:"teal",class:"mr-2"}),c("div",null,[e[23]||(e[23]=c("div",{class:"text-caption text-grey"}," 风向/风力 ",-1)),c("div",vs,w(i.testResultData.data.weatherData.windDirection)+" "+w(i.testResultData.data.weatherData.windPower)+"级 ",1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",bs,[t(g,{icon:"mdi-blur",color:"grey",class:"mr-2"}),c("div",null,[e[24]||(e[24]=c("div",{class:"text-caption text-grey"}," PM2.5 ",-1)),c("div",ys,w(i.testResultData.data.weatherData.pm25),1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",ks,[t(g,{icon:"mdi-eye",color:"indigo",class:"mr-2"}),c("div",null,[e[25]||(e[25]=c("div",{class:"text-caption text-grey"}," 能见度 ",-1)),c("div",xs,w(i.testResultData.data.weatherData.visibility),1)])])]),_:1})]),_:1})]),_:1}),t(C),c("div",Ss,[e[26]||(e[26]=c("div",{class:"text-caption text-grey mb-2"}," 环境标签 ",-1)),c("div",Cs,[(m(!0),y(L,null,H(i.testResultData.data.tags,r=>(m(),h(E,{key:r,size:"small",color:"primary",variant:"tonal",class:"mr-1 mb-1"},{default:n(()=>[o(w(r),1)]),_:2},1024))),128))])]),t(C),t(x,{class:"px-4 py-2"},{prepend:n(()=>[t(g,{icon:"mdi-clock-outline",size:"small",class:"mr-2"})]),default:n(()=>[t(B,{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 bt=z(ls,[["render",_s]]),Vs={name:"NotificationSoundSettings",data(){return{singleSound:"",urgentSound:"",currentAudio:null,showAutoplayWarning:!0}},computed:{soundOptions(){return Yt.map(s=>({title:s.replace(".mp3",""),value:s}))}},mounted(){this.loadSettings()},beforeUnmount(){this.stopPreview()},methods:{loadSettings(){this.singleSound=k("notification.singleSound"),this.urgentSound=k("notification.urgentSound")},onSingleSoundChange(s){var e;W("notification.singleSound",s),(e=this.$message)==null||e.success("设置已保存",`单次通知铃声: ${s}`)},onUrgentSoundChange(s){var e;W("notification.urgentSound",s),(e=this.$message)==null||e.success("设置已保存",`紧急通知铃声: ${s}`)},async previewSound(s){var e,a;this.showAutoplayWarning=!1,this.stopPreview();try{const u=await this.playSoundWithPromise(s,!1);this.currentAudio=u,this.currentAudio&&this.currentAudio.addEventListener("ended",()=>{this.currentAudio=null},{once:!0})}catch(u){console.error("播放音频失败:",u),u.name==="NotAllowedError"?(e=this.$message)==null||e.warning("无法播放音频","浏览器阻止了自动播放,请再次点击试听按钮"):(a=this.$message)==null||a.error("播放失败","音频文件加载失败,请稍后重试")}},playSoundWithPromise(s,e=!1){return new Promise((a,u)=>{const i=this.getSoundPath(s);if(!i){u(new Error("音频文件不存在"));return}try{const l=new Audio(i);l.loop=e,l.play().then(()=>{a(l)}).catch(d=>{u(d)})}catch(l){u(l)}})},getSoundPath(s){if(!s)return null;try{return`/sounds/${s}`}catch{return null}},stopPreview(){this.currentAudio&&(Wt(this.currentAudio),this.currentAudio=null)},resetSingleSound(){var s;this.singleSound="Teams 默认.mp3",W("notification.singleSound",this.singleSound),(s=this.$message)==null||s.success("已恢复单次通知铃声默认设置")},resetUrgentSound(){var s;this.urgentSound="Teams 默认通话铃.mp3",W("notification.urgentSound",this.urgentSound),(s=this.$message)==null||s.success("已恢复紧急通知铃声默认设置")}}},Ds={class:"d-flex align-center"},As={class:"mt-3 d-flex gap-2"},Is={class:"mt-3 d-flex gap-2"};function Ts(s,e,a,u,i,l){return m(),h(V,{class:"notification-sound-settings"},{default:n(()=>[t(N,null,{default:n(()=>[...e[5]||(e[5]=[o(" 通知铃声设置 ",-1)])]),_:1}),t(_,null,{default:n(()=>[i.showAutoplayWarning?(m(),h(K,{key:0,type:"info",variant:"tonal",closable:"",class:"mb-4","onClick:close":e[0]||(e[0]=d=>i.showAutoplayWarning=!1)},{default:n(()=>[c("div",Ds,[t(g,{class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[o(" mdi-information ",-1)])]),_:1}),e[7]||(e[7]=c("span",null,"首次使用请点击试听按钮测试音频播放是否正常",-1))])]),_:1})):v("",!0),t(q,null,{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(V,{border:""},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[t(De,{modelValue:i.singleSound,"onUpdate:modelValue":[e[1]||(e[1]=d=>i.singleSound=d),l.onSingleSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:d,item:p})=>[t(x,he(d,{onClick:r=>l.previewSound(p.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:re(r=>l.previewSound(p.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"]),c("div",As,[t(f,{color:"primary",variant:"tonal",onClick:e[2]||(e[2]=d=>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(M,{cols:"12"},{default:n(()=>[t(V,{border:""},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[t(De,{modelValue:i.urgentSound,"onUpdate:modelValue":[e[3]||(e[3]=d=>i.urgentSound=d),l.onUrgentSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:d,item:p})=>[t(x,he(d,{onClick:r=>l.previewSound(p.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:re(r=>l.previewSound(p.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"]),c("div",Is,[t(f,{color:"error",variant:"tonal",onClick:e[4]||(e[4]=d=>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 yt=z(Vs,[["render",Ts],["__scopeId","data-v-632dcdba"]]),st={sessions:[{name:"第1节晚自习",start:"19:20",duration:70,enabled:!0},{name:"第2节晚自习",start:"20:20",duration:110,enabled:!0}],alertThresholdDb:55},Us={name:"NoiseSettingsCard",components:{SettingsCard:O,SettingItem:te},data(){return{sessionLoading:!0,sessionSaving:!1,editSessions:[],editAlertThreshold:55,timePickerMenus:{}}},mounted(){this.loadSessionConfig()},methods:{async loadSessionConfig(){this.sessionLoading=!0;try{const s=await G.loadData("noise-session-config"),e=(s==null?void 0:s.data)||s;e&&e.sessions?(this.editSessions=JSON.parse(JSON.stringify(e.sessions)),this.editAlertThreshold=e.alertThresholdDb||55):this.resetSessionConfig()}catch{this.resetSessionConfig()}finally{this.sessionLoading=!1}},async saveSessionConfig(){this.sessionSaving=!0;try{const s={sessions:this.editSessions,alertThresholdDb:this.editAlertThreshold};await G.saveData("noise-session-config",s)}catch(s){console.error("保存自习配置失败:",s)}finally{this.sessionSaving=!1}},resetSessionConfig(){this.editSessions=JSON.parse(JSON.stringify(st.sessions)),this.editAlertThreshold=st.alertThresholdDb},addSession(){this.editSessions.push({name:`第${this.editSessions.length+1}节晚自习`,start:"19:00",duration:70,enabled:!0})},sessionEndTime(s){if(!(s!=null&&s.start)||!(s!=null&&s.duration))return"--:--";const[e,a]=s.start.split(":").map(Number),u=e*60+a+(s.duration||0),i=Math.floor(u/60)%24,l=u%60;return`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}`}}},js={class:"px-4 pb-4"},Bs={class:"d-flex align-center mb-4"},Ms={class:"d-flex align-center ga-3 flex-wrap"},Ns={class:"text-caption text-medium-emphasis"},Ps={key:0,class:"text-center text-medium-emphasis py-4"},zs={class:"d-flex align-center mb-4"},Es={class:"d-flex align-center flex-wrap ga-4 mb-4"},Ls={class:"d-flex justify-end ga-3 mb-2"};function Os(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{border:"",icon:"mdi-microphone",title:"噪音监测"},{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"noiseMonitor.enabled"}),t(C,{class:"my-2"}),t(d,{"setting-key":"noiseMonitor.autoStart"}),t(C,{class:"my-2"}),t(d,{"setting-key":"noiseMonitor.permissionDismissed"})]),_:1}),t(C,{class:"mb-4"}),c("div",js,[c("div",Bs,[t(g,{class:"mr-2",color:"teal"},{default:n(()=>[...e[1]||(e[1]=[o(" mdi-clock-edit-outline ",-1)])]),_:1}),e[3]||(e[3]=c("span",{class:"text-subtitle-1 font-weight-bold"},"晚自习时间段",-1)),t(R),t(f,{color:"primary",variant:"tonal",size:"small","prepend-icon":"mdi-plus",onClick:l.addSession},{default:n(()=>[...e[2]||(e[2]=[o(" 添加时段 ",-1)])]),_:1},8,["onClick"])]),e[10]||(e[10]=c("div",{class:"text-caption text-medium-emphasis mb-4"}," 配置晚自习时间段后,系统会在对应时段内自动开启噪音监测并记录统计报告。时间段外不会长期记录。 ",-1)),i.sessionLoading?(m(),h(qt,{key:0,type:"card",class:"mb-4"})):(m(),y(L,{key:1},[(m(!0),y(L,null,H(i.editSessions,(r,b)=>(m(),y("div",{key:b,class:"mb-3"},[t(V,{variant:"outlined",rounded:"xl"},{default:n(()=>[t(_,{class:"pa-4"},{default:n(()=>[c("div",Ms,[t(U,{modelValue:r.name,"onUpdate:modelValue":S=>r.name=S,density:"compact",variant:"outlined",label:"名称","hide-details":"",style:{"max-width":"160px"}},null,8,["modelValue","onUpdate:modelValue"]),t(Ke,{modelValue:i.timePickerMenus[b],"onUpdate:modelValue":S=>i.timePickerMenus[b]=S,"close-on-content-click":!1,location:"bottom"},{activator:n(({props:S})=>[t(U,he({ref_for:!0},S,{"model-value":r.start,density:"compact",variant:"outlined",label:"开始时间",readonly:"","hide-details":"","prepend-inner-icon":"mdi-clock-outline",style:{"max-width":"170px"}}),null,16,["model-value"])]),default:n(()=>[t(Zt,{modelValue:r.start,"onUpdate:modelValue":[S=>r.start=S,S=>i.timePickerMenus[b]=!1],color:"primary",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue"]),t(U,{modelValue:r.duration,"onUpdate:modelValue":S=>r.duration=S,modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"时长",suffix:"分钟","hide-details":"",style:{"max-width":"130px"},min:10,max:300},null,8,["modelValue","onUpdate:modelValue"]),c("span",Ns," 至 "+w(l.sessionEndTime(r)),1),t(Oe,{modelValue:r.enabled,"onUpdate:modelValue":S=>r.enabled=S,density:"compact",color:"primary","hide-details":"",label:"启用"},null,8,["modelValue","onUpdate:modelValue"]),t(f,{icon:"mdi-delete",color:"error",size:"x-small",variant:"text",onClick:S=>i.editSessions.splice(b,1)},null,8,["onClick"])])]),_:2},1024)]),_:2},1024)]))),128)),i.editSessions.length===0?(m(),y("div",Ps,[t(g,{class:"mb-1"},{default:n(()=>[...e[4]||(e[4]=[o(" mdi-clock-outline ",-1)])]),_:1}),e[5]||(e[5]=c("div",{class:"text-caption"}," 暂无时间段,点击上方「添加时段」创建 ",-1))])):v("",!0)],64)),t(C,{class:"my-5"}),c("div",zs,[t(g,{class:"mr-2",color:"orange"},{default:n(()=>[...e[6]||(e[6]=[o(" mdi-alert-decagram ",-1)])]),_:1}),e[7]||(e[7]=c("span",{class:"text-subtitle-1 font-weight-bold"},"监测参数",-1))]),c("div",Es,[t(U,{modelValue:i.editAlertThreshold,"onUpdate:modelValue":e[0]||(e[0]=r=>i.editAlertThreshold=r),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"噪音报警阈值",suffix:"dB","hide-details":"",style:{"max-width":"200px"},min:30,max:90},null,8,["modelValue"])]),c("div",Ls,[t(f,{variant:"text","prepend-icon":"mdi-restore",onClick:l.resetSessionConfig},{default:n(()=>[...e[8]||(e[8]=[o(" 重置 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"primary",variant:"elevated","prepend-icon":"mdi-content-save",loading:i.sessionSaving,onClick:l.saveSessionConfig},{default:n(()=>[...e[9]||(e[9]=[o(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])])])]),_:1})}const kt=z(Us,[["render",Os]]),Ks={name:"DisplaySettingsCard",components:{SettingsCard:O,SettingItem:te},setup(){return{theme:Xt()}},data(){return{localTheme:k("theme.mode")}},watch:{localTheme(s){W("theme.mode",s),this.theme.global.name.value=s}}};function Rs(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{border:"",icon:"mdi-monitor",title:"显示设置"},{default:n(()=>[t(P,null,{default:n(()=>[t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-theme-light-dark"})]),append:n(()=>[t(at,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=r=>i.localTheme=r),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(B,null,{default:n(()=>[...e[1]||(e[1]=[o("主题模式",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[2]||(e[2]=[o("选择明亮或暗黑主题",-1)])]),_:1})]),_:1}),t(C,{class:"my-2"}),t(d,{"setting-key":"timeCard.enabled"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.emptySubjectDisplay"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.dynamicSort"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showRandomButton"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showFullscreenButton"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.cardHoverEffect"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.enhancedTouchMode"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showQuickTools"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showAntiScreenBurnCard"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showExamScheduleButton"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showUafTransfer"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.forceDesktopMode"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.lateStudentsArePresent"})]),_:1})]),_:1})}const xt=z(Ks,[["render",Rs]]),Fs={};function Js(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"edit.autoSave"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.blockNonTodayAutoSave"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.confirmNonTodaySave"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.refreshBeforeEdit"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.autoSavePromptText"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.manualSavePromptText"})]),_:1})]),_:1})}const St=z(Fs,[["render",Js]]),Hs={name:"RefreshSettingsCard",components:{SettingsCard:O},data(){return{}}};function Qs(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{icon:"mdi-refresh-circle",title:"刷新设置"},{default:n(()=>[t(dt,null,{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"refresh.auto",title:"自动刷新"}),t(C,{class:"my-2"}),t(d,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const Ct=z(Hs,[["render",Qs]]),Gs={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=Se(),e=[];for(const[a,u]of Object.entries(ze)){if(u.requireDeveloper&&!s["developer.enabled"])continue;const i=s[a]!==u.default;e.push({key:a,description:u.description||a,value:s[a],icon:u.icon||"mdi-cog",isChanged:i,defaultValue:u.default})}return e.sort((a,u)=>a.key.localeCompare(u.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(),u=e.key.toLowerCase(),i=String(e.value).toLowerCase(),l=e.isChanged?"已修改":"默认";return a.includes(s)||u.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=Se();return this.selectedItems.some(e=>{const a=ze[e];return a&&s[e]!==a.default})}},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()}}},methods:{handleSelectionChange(s){this.selectedItems=s.map(e=>e.key),this.generateLink()},generateLink(){const s=`${window.location.protocol}//${window.location.host}/`,e=Se(),a={};for(const u of this.selectedItems)a[u]=e[u];if(Object.keys(a).length===0){this.generatedLink=s;return}try{const u=JSON.stringify(a),l=new TextEncoder().encode(u),p={config:btoa(Array.from(l).map(T=>String.fromCharCode(T)).join(""))},b=new URLSearchParams(window.location.search).get("date");b&&(p.date=b);const S=new URLSearchParams(p).toString();this.generatedLink=`${s}?${S}`}catch(u){console.error("生成链接失败:",u),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=Se(),u={};for(const r of this.selectedItems)u[r]=a[r];const i=JSON.stringify(u),d=new TextEncoder().encode(i),p=btoa(Array.from(d).map(r=>String.fromCharCode(r)).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}}},Ws={class:"d-flex mb-3 gap-2 flex-wrap"},Ys={class:"d-flex align-center mb-3 flex-wrap gap-2"},qs={class:"d-flex align-center"},Zs={class:"d-flex align-center"},Xs={key:0},$s={key:1},ei={key:2},ti={class:"text-caption text-grey"},ni={class:"d-flex mb-3 gap-2 flex-wrap"},si={class:"d-flex flex-wrap gap-1"};function ii(s,e,a,u,i,l){return m(),y("div",null,[t(V,{border:"",class:"unified-link-generator"},{default:n(()=>[t(N,{class:"text-h6"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-link-variant",start:""}),e[6]||(e[6]=o(" 统一链接生成器 ",-1))]),_:1}),t(_,null,{default:n(()=>[e[35]||(e[35]=c("div",{class:"text-body-2 text-medium-emphasis mb-4"}," 生成包含预配置认证信息和设置的统一链接。可以同时预配置设备认证和应用设置。 ",-1)),t(V,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12",md:"6"},{default:n(()=>[t(U,{modelValue:i.preconfigForm.namespace,"onUpdate:modelValue":e[0]||(e[0]=d=>i.preconfigForm.namespace=d),hint:"设备的命名空间标识符",label:"命名空间","persistent-hint":"",placeholder:"例如: classroom-001","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(M,{cols:"12",md:"6"},{default:n(()=>[t(U,{modelValue:i.preconfigForm.authCode,"onUpdate:modelValue":e[1]||(e[1]=d=>i.preconfigForm.authCode=d),hint:"留空则需要用户手动输入",label:"认证码","persistent-hint":"",placeholder:"设备认证码(可选)","prepend-inner-icon":"mdi-lock-outline",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),t(q,{class:"mt-2"},{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(le,{modelValue:i.preconfigForm.autoExecute,"onUpdate:modelValue":e[2]||(e[2]=d=>i.preconfigForm.autoExecute=d),density:"compact",hint:"启用后会自动尝试认证,即使没有认证码也会尝试",label:"自动执行认证","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),i.preconfigForm.namespace?(m(),h(K,{key:0,class:"mt-3",type:"info",variant:"tonal"},{default:n(()=>[e[13]||(e[13]=c("div",{class:"text-subtitle-2 mb-2"}," 预配置信息: ",-1)),t(E,{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?(m(),h(E,{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})):(m(),h(E,{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(E,{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(V,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[e[22]||(e[22]=c("div",{class:"text-body-2 text-medium-emphasis mb-3"}," 选择需要包含在链接中的设置项。如果不选择任何设置,将只生成预配置认证链接。 ",-1)),c("div",Ws,[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"])]),c("div",Ys,[t(E,{class:"mr-2",color:"primary"},{default:n(()=>[o(" 已选 "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(m(),y(L,{key:0},[(m(!0),y(L,null,H(i.selectedItems.slice(0,3),d=>(m(),h(E,{key:d,class:"mr-1",size:"small",variant:"text"},{default:n(()=>[o(w(l.getSettingDescription(d)),1)]),_:2},1024))),128)),i.selectedItems.length>3?(m(),h(E,{key:0,color:"grey",size:"small",variant:"text"},{default:n(()=>[o(" +"+w(i.selectedItems.length-3)+" 更多 ",1)]),_:1})):v("",!0)],64)):v("",!0)]),t(Fe,{variant:"accordion"},{default:n(()=>[t(Je,null,{default:n(()=>[t(ct,null,{default:n(({expanded:d})=>[c("div",qs,[t(g,{class:"mr-2"},{default:n(()=>[o(w(d?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024),e[20]||(e[20]=o(" 显示设置列表详情 ",-1))])]),_:1}),t(He,null,{default:n(()=>[t(U,{modelValue:i.search,"onUpdate:modelValue":e[3]||(e[3]=d=>i.search=d),class:"mb-4",clearable:"","hide-details":"",label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":""},null,8,["modelValue"]),t(mt,{modelValue:i.selectedItems,"onUpdate:modelValue":e[4]||(e[4]=d=>i.selectedItems=d),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:d})=>[c("div",Zs,[t(g,{icon:d.icon,class:"mr-2",size:"small"},null,8,["icon"]),o(" "+w(d.description)+" ",1),d.key==="server.kvToken"?(m(),h(E,{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:d})=>[typeof d.value=="boolean"?(m(),y("span",Xs,w(d.value?"是":"否"),1)):d.key==="server.kvToken"&&d.value?(m(),y("span",$s,w(d.value.substring(0,8))+"... ",1)):(m(),y("span",ei,w(d.value),1))]),"item.key":n(({item:d})=>[c("span",ti,w(d.key),1)]),"item.isChanged":n(({item:d})=>[t(E,{color:d.isChanged?"warning":"success",text:d.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(V,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[c("div",ni,[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(U,{modelValue:i.unifiedLink,"onUpdate:modelValue":e[5]||(e[5]=d=>i.unifiedLink=d),"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?(m(),h(K,{key:0,class:"mb-3",type:"success",variant:"tonal"},{default:n(()=>[e[33]||(e[33]=c("div",{class:"text-subtitle-2 mb-2"}," 链接包含内容: ",-1)),c("div",si,[t(E,{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?(m(),h(E,{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})):(m(),h(E,{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(K,{type:"warning",variant:"tonal"},{default:n(()=>[...e[34]||(e[34]=[c("div",{class:"text-subtitle-2 mb-2"}," ⚠️ 安全提醒 ",-1),c("ul",{class:"text-body-2 pl-4"},[c("li",null,"认证码和设置信息会在URL中传输,请谨慎分发"),c("li",null,"建议仅在受信任的网络环境中使用"),c("li",null,"生产环境建议使用HTTPS协议"),c("li",null,"数据源设置和已变更设置默认不包含敏感Token信息")],-1)])]),_:1})]),_:1})]),_:1})])}const _t=z(Gs,[["render",ii]]),li={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},oi={class:"warning-container"};function ai(s,e,a,u,i,l){return m(),y("div",oi,[a.show?(m(),h(E,{key:0,class:"warning-chip",color:"warning",size:"small"},{default:n(()=>[o(w(a.message),1)]),_:1})):v("",!0)])}const je=z(li,[["render",ai],["__scopeId","data-v-0f36b655"]]),ri=tn({disabled:Boolean,modelValue:{type:Boolean,default:null},...Et()},"VHover"),Vt=$t()({name:"VHover",props:ri(),emits:{"update:modelValue":s=>!0},setup(s,e){let{slots:a}=e;const u=en(s,"modelValue"),{runOpenDelay:i,runCloseDelay:l}=zt(s,d=>!s.disabled&&(u.value=d));return()=>{var d;return(d=a.default)==null?void 0:d.call(a,{isHovering:u.value,props:{onMouseenter:i,onMouseleave:l}})}}}),ui={name:"TeacherListCard",components:{UnsavedWarning:je},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,!k("server.classNumber"))throw new Error("请先设置班号");try{const a=await G.loadData("classworks-list-teacher");a.success!==!1&&Array.isArray(a)&&(this.modelValue.list=a.map(u=>({name:u.name||"",subjects:Array.isArray(u.subjects)?u.subjects:[],isHeadTeacher:!!u.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(!k("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.map(d=>({name:d.name,subjects:Array.isArray(d.subjects)?d.subjects:[],isHeadTeacher:!!d.isHeadTeacher})),l=await G.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(u){console.error("保存教师列表失败:",u),(a=this.$message)==null||a.error("保存失败",u.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)}}},di={key:0},ci={class:"d-flex align-start mb-3"},mi={class:"flex-grow-1"},fi={class:"d-flex align-center mb-1"},pi=["onClick"],hi={key:0,class:"mt-2"},gi={key:1,class:"mt-1"},wi={key:1,class:"pt-2"};function vi(s,e,a,u,i,l){const d=je;return m(),h(V,{class:_e({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(ve,null,{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-account-tie",size:"large"})]),append:n(()=>[t(d,{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(N,{class:"text-h6"},{default:n(()=>[...e[4]||(e[4]=[o(" 教师列表 ",-1)])]),_:1})]),_:1}),t(_,null,{default:n(()=>[i.loading?(m(),h(Ie,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),i.error?(m(),h(K,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),t(ut,null,{default:n(()=>[i.modelValue.advanced?(m(),y("div",wi,[t(we,{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"])])):(m(),y("div",di,[t(V,{class:"mb-6",variant:"outlined"},{default:n(()=>[t(_,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12",md:"4"},{default:n(()=>[t(U,{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(M,{cols:"12",md:"5"},{default:n(()=>[t(qe,{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(M,{cols:"12",md:"3",class:"d-flex align-center gap-2"},{default:n(()=>[t(le,{modelValue:i.newTeacher.isHeadTeacher,"onUpdate:modelValue":e[2]||(e[2]=p=>i.newTeacher.isHeadTeacher=p),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?(m(),h(q,{key:0},{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(K,{type:"info",variant:"tonal"},{default:n(()=>[...e[6]||(e[6]=[o(" 暂无教师信息,请添加教师 ",-1)])]),_:1})]),_:1})]),_:1})):(m(),h(q,{key:1},{default:n(()=>[(m(!0),y(L,null,H(i.modelValue.list,(p,r)=>(m(),h(M,{key:r,cols:"12",lg:"6",xl:"4"},{default:n(()=>[t(Vt,null,{default:n(({isHovering:b,props:S})=>[t(V,he({elevation:a.isMobile?1:b?4:1,border:"",class:"teacher-card"},{ref_for:!0},S),{default:n(()=>[t(_,{class:"pa-4"},{default:n(()=>[c("div",ci,[t(Te,{color:p.isHeadTeacher?"primary":"grey-lighten-1",class:"mr-3",size:"48"},{default:n(()=>[t(g,{icon:p.isHeadTeacher?"mdi-star":"mdi-account",size:"28"},null,8,["icon"])]),_:2},1032,["color"]),c("div",mi,[c("div",fi,[i.editState.index===r?(m(),h(U,{key:0,modelValue:i.editState.teacher.name,"onUpdate:modelValue":T=>i.editState.teacher.name=T,autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined"},null,8,["modelValue","onUpdate:modelValue"])):(m(),y("span",{key:1,class:"text-h6 font-weight-medium",onClick:T=>l.handleClick(r,p)},w(p.name),9,pi)),p.isHeadTeacher?(m(),h(E,{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===r?(m(),y("div",hi,[t(qe,{modelValue:i.editState.teacher.subjects,"onUpdate:modelValue":T=>i.editState.teacher.subjects=T,items:i.commonSubjects,chips:"","closable-chips":"",density:"compact","hide-details":"",label:"任教科目",multiple:"",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"]),t(le,{modelValue:i.editState.teacher.isHeadTeacher,"onUpdate:modelValue":T=>i.editState.teacher.isHeadTeacher=T,class:"mt-2",density:"compact","hide-details":"",label:"班主任"},null,8,["modelValue","onUpdate:modelValue"])])):(m(),y("div",gi,[(m(!0),y(L,null,H(p.subjects,(T,se)=>(m(),h(E,{key:se,class:"mr-1 mb-1",density:"comfortable",size:"small",variant:"tonal"},{default:n(()=>[o(w(T),1)]),_:2},1024))),128))]))]),c("div",{class:_e([{"opacity-100":b||a.isMobile||i.editState.index===r},"d-flex gap-1 action-buttons ml-2"])},[i.editState.index===r?(m(),h(f,{key:0,color:"success",icon:"mdi-check",size:"small",variant:"text",onClick:l.saveEdit},null,8,["onClick"])):v("",!0),i.editState.index===r?(m(),h(f,{key:1,color:"grey",icon:"mdi-close",size:"small",variant:"text",onClick:l.cancelEdit},null,8,["onClick"])):(m(),h(f,{key:2,color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:T=>l.startEdit(r,p)},null,8,["onClick"])),i.editState.index!==r?(m(),h(f,{key:3,color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:T=>l.removeTeacher(r)},null,8,["onClick"])):v("",!0)],2)])]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]))]),_:1}),t(q,{class:"mt-6"},{default:n(()=>[t(M,{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 Dt=z(ui,[["render",vi],["__scopeId","data-v-96a84acd"]]);let Pe=null;async function bi(){return Pe||(Pe=(await ot(async()=>{const{pinyin:s}=await import("./index-DdToQrR8.js");return{pinyin:s}},[],import.meta.url)).pinyin),Pe}const yi={name:"StudentListCard",components:{UnsavedWarning:je},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(` +import{_ as it,V as Nt}from"./MessageLog-CK1yxPmJ.js";import{_ as z,W as ve,c as N,f as g,d as _,j as Ie,l as Y,e as V,o as Te,C as lt,x as ot,X as pe,n as k,s as W,Y as Pt,r as B,h as f,p as P,q as x,i as C,z as Ee,Z as Se,w as Le,A as ze,g as R,F as at,E as Ce,k as ee,V as rt,t as Q,$ as zt,a0 as Et,a1 as ut,a2 as Lt,y as Qe}from"./index-BvGH7GyK.js";import{X as m,Y as h,Z as n,j as t,a1 as o,S as w,$ as v,af as Ve,k as c,P as Ot,_ as y,m as he,F as L,a2 as H,N as Be,aa as re,n as _e,r as Kt,ae,o as Ge,b as X,ac as Rt,D as Ft,e as ke,a4 as Jt}from"./vendor-vue-Hxtt57UU.js";import{V as E}from"./VChip-CyVmT8se.js";import{V as Oe}from"./VSwitch-DEARo61Y.js";import{V as De}from"./VSelect-BdFWh1xd.js";import{V as U}from"./VTextField-jDykTfh9.js";import{V as Ke}from"./VMenu-CEn1TBeC.js";import{V as K,a as ge}from"./VAlert-DdY_LS-W.js";import{V as We}from"./VSlider-D5-S_tyd.js";import{d as G,b as Ye,a as Ht,o as Qt,k as Gt}from"./dataProvider-oxZzGARG.js";import{V as q,a as M}from"./VRow-CFI96Yew.js";import{V as Re}from"./VContainer-Cz0t7N-s.js";import{a as Ae}from"./vendor-utils-SR2uUhRI.js";import{V as le}from"./VCheckbox-VrkfbZWi.js";import{V as we}from"./VTextarea-CCvrj_Hr.js";import{s as Wt,a as Yt}from"./soundList-D9U-Grcp.js";import{V as qt}from"./VSkeletonLoader-BwErr64p.js";import{V as Zt}from"./VTimePicker-D1xrFTMs.js";import{t as Xt,j as $t,q as en,p as tn,a0 as nn}from"./vendor-vuetify-KiFW-YAv.js";import{V as dt}from"./VForm-DrJP9yK2.js";import{V as Fe,a as Je,b as ct,c as He}from"./VExpansionPanels-D75JoFxE.js";import{V as mt}from"./VDataTable-C0z5sFU7.js";import{V as qe}from"./VCombobox-D1qFxhIj.js";import{V as Ze}from"./VCheckboxBtn-D_PchAC2.js";import{i as sn,t as ln}from"./serverRotation-CVerzUcJ.js";import{getVisitorId as on}from"./visitorId-CmQTZ-fb.js";import{b as Xe,c as $e,V as an,a as rn}from"./VAppBarTitle-CA6uS5-F.js";import{V as un}from"./VSheet-PSmzyJOR.js";import{V as dn,a as Z}from"./VTable-C8JDgtcy.js";import"./VPicker-DssJ0SqJ.js";import"./VPagination-DC48wzod.js";const cn={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function mn(s,e,a,u,i,l){return m(),h(V,{class:"settings-card rounded-lg",elevation:"2"},{default:n(()=>[t(ve,null,{prepend:n(()=>[t(g,{icon:a.icon,class:"mr-2",size:"large"},null,8,["icon"])]),default:n(()=>[t(N,{class:"text-h6"},{default:n(()=>[o(w(a.title),1)]),_:1})]),_:1}),t(_,null,{default:n(()=>[a.loading?(m(),h(Ie,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),Ve(s.$slots,"default",{},void 0,!0)]),_:3}),s.$slots.actions?(m(),h(Y,{key:0,class:"pa-4"},{default:n(()=>[Ve(s.$slots,"actions",{},void 0,!0)]),_:3})):v("",!0)]),_:3})}const O=z(cn,[["render",mn],["__scopeId","data-v-cd0153ca"]]),fn=[{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"}],et={quotes:fn};let Me=null;async function pn(){return Me||(Me=(await ot(async()=>{const{default:s}=await import("./core-Cy2g3AD-.js").then(e=>e.c);return{default:s}},[],import.meta.url)).default),Me}const tt={text:"点击此处可以查看 Classworks 用户群里沙雕群友们的发言",author:"点击后会复制当前句子到剪贴板中"},nt={main:{delay:50,deleteSpeed:100},source:{delay:10,deleteSpeed:10,cursor:""}},hn={name:"EchoChamberCard",components:{SettingsCard:O},data:()=>({typewriter:null,sourceWriter:null,currentQuote:tt,hasClicked:!1}),mounted(){this.initTypewriters()},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(s=>s==null?void 0:s.stop())},methods:{async initTypewriters(){const s=await pn();this.typewriter=new s(this.$refs.typewriter,nt.main),this.sourceWriter=new s(this.$refs.sourceWriter,nt.source),this.typeQuote(tt)},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 et.quotes[Math.floor(Math.random()*et.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:s,author:e,contributor:a,link:u}=this.currentQuote,i=[s,e&&`作者:${e}`,a&&`贡献者:${a}`,(u||a)&&`来源:${u||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` +`))}catch(l){console.error("复制失败:",l)}}}},gn={ref:"typewriter",class:"typewriter-text"},wn={ref:"sourceWriter",class:"source-text"};function vn(s,e,a,u,i,l){const d=O;return m(),h(d,{border:"",icon:"mdi-thought-bubble",title:"回声洞",onClick:l.handleClick},{default:n(()=>[t(_,null,{default:n(()=>[c("div",gn,null,512),c("div",wn,null,512)]),_:1}),t(Ot,{name:"fade"},{default:n(()=>{var p;return[(p=s.currentQuote)!=null&&p.contributor?(m(),h(E,{key:0,class:"contributor"},{default:n(()=>[t(Te,{start:""},{default:n(()=>[t(lt,{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 ft=z(hn,[["render",vn],["__scopeId","data-v-c75e2e66"]]),bn={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=Pt(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=k(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 u=e[1].split(",").map(i=>{const l=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(l)||l,value:l}});u.length>0&&(this.selectOptions=u,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 u=this.maxValue-this.minValue;u>100?this.stepValue=10:u>20?this.stepValue=5:u>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)),W(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=k(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&&(pe(this.settingKey),this.localValue=k(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(s){this.snackbarText=s,this.showSnackbar=!0}}},yn={class:"d-flex flex-column flex-sm-row align-center"},kn={key:0,class:"me-2"},xn={key:2,class:"d-flex align-center"},Sn={key:0,class:"px-4 pb-2 pt-0"};function Cn(s,e,a,u,i,l){return m(),y(L,null,[t(x,{disabled:a.disabled,class:"setting-item"},{prepend:n(()=>[t(g,{icon:l.settingIcon},null,8,["icon"])]),append:n(()=>[c("div",yn,[i.type!=="string"||i.hasOptions?(m(),y("div",kn,[i.type==="boolean"?(m(),h(Oe,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=d=>i.localValue=d),l.updateSetting],disabled:a.disabled,density:"comfortable","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(m(),h(De,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=d=>i.localValue=d),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"?(m(),y("div",xn,[t(f,{disabled:a.disabled||i.localValue<=i.minValue,icon:"mdi-minus",size:"small",variant:"text",onClick:e[2]||(e[2]=d=>l.adjustValue(-i.stepValue))},null,8,["disabled"]),t(U,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=d=>i.localValue=d),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]=d=>l.adjustValue(i.stepValue))},null,8,["disabled"])])):v("",!0)])):v("",!0),t(Ke,{location:"bottom"},{activator:n(({props:d})=>[t(f,he({disabled:a.disabled,class:"ml-2",icon:"mdi-dots-vertical",size:"small"},d,{variant:"text"}),null,16,["disabled"])]),default:n(()=>[t(P,{density:"compact"},{default:n(()=>[t(x,{onClick:l.copySettingId},{prepend:n(()=>[t(g,{icon:"mdi-key",size:"small"})]),default:n(()=>[t(B,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(B,null,{default:n(()=>[...e[8]||(e[8]=[o("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(C),t(x,{disabled:l.isDefaultValue,onClick:l.resetToDefault},{prepend:n(()=>[t(g,{icon:"mdi-restore",size:"small"})]),default:n(()=>[t(B,null,{default:n(()=>[...e[9]||(e[9]=[o("重置为默认值",-1)])]),_:1})]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})])]),default:n(()=>[t(B,{class:"text-wrap"},{default:n(()=>[o(w(l.displayTitle),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(m(),y("div",Sn,[t(U,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=d=>i.localValue=d),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(Ee,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=d=>i.showSnackbar=d),timeout:2e3,color:"success",location:"top"},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const te=z(bn,[["render",Cn],["__scopeId","data-v-14c3ef9d"]]),_n={name:"SettingsExplorer",components:{SettingItem:te},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return k("developer.enabled")},allSettings(){var e;const s=[];for(const[a,u]of Object.entries(ze))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=u.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||s.push({key:a,...u});return s},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=Le(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Se()},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:"复制到剪贴板失败"})})}}},Vn={class:"settings-explorer"},Dn={class:"settings-json"};function An(s,e,a,u,i,l){const d=te;return m(),y("div",Vn,[c("div",null,[t(U,{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(P,null,{default:n(()=>[(m(!0),y(L,null,H(l.allSettings,p=>(m(),y("div",{key:p.key},[(m(),h(d,{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(C,{class:"my-2"})]))),128))]),_:1}),t(V,{border:""},{default:n(()=>[t(N,{class:"text-subtitle-1"},{default:n(()=>[...e[1]||(e[1]=[o(" 当前配置 ",-1)])]),_:1}),t(_,null,{default:n(()=>[c("pre",Dn,w(l.formattedSettings),1)]),_:1}),t(Y,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 pt=z(_n,[["render",An],["__scopeId","data-v-9750a84f"]]),In=[{label:"Bing 随机壁纸",url:"https://bing.img.run/rand.php"},{label:"Bing 每日壁纸",url:"https://bing.img.run/1920x1080.php"},{label:"随机风景",url:"https://picsum.photos/1920/1080?random=1"},{label:"随机二次元",url:"https://uapis.cn/api/v1/random/image?category=acg&type=pc"}],Ne=10,Tn={name:"BackgroundSettingsCard",components:{SettingsCard:O,SettingItem:te},data(){const s=k("background.imageData")||"",e=k("background.url")||"";return{imageSource:s?"upload":"url",localUrl:e,localImageData:s,localBlur:k("background.blur")??10,localOpacity:k("background.opacity")??30,isDragging:!1,saving:!1,uploadWarning:"",urlPresets:In,settingItemKey:0,maxImageSizeMB:Ne}},computed:{activeImageSrc(){return this.imageSource==="upload"&&this.localImageData?this.localImageData:this.imageSource==="url"&&this.localUrl?this.localUrl:""},previewContainerStyle(){return{position:"relative",width:"100%",height:"160px",borderRadius:"12px",overflow:"hidden",border:"1px solid rgba(128,128,128,0.3)"}},previewBgStyle(){return this.activeImageSrc?{position:"absolute",inset:"0",backgroundImage:`url(${this.activeImageSrc})`,backgroundSize:"cover",backgroundPosition:"center",filter:`blur(${this.localBlur}px)`,transform:"scale(1.1)"}:{position:"absolute",inset:"0",background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",filter:`blur(${this.localBlur}px)`,transform:"scale(1.1)"}},previewOverlayStyle(){return{position:"absolute",inset:"0",background:`rgba(0, 0, 0, ${this.localOpacity/100})`}}},methods:{validateUrl(s){if(!s)return!0;try{return new URL(s),!0}catch{return"请输入有效的图片地址"}},onUrlChange(s){this.localUrl=s||""},onBlurChange(s){this.localBlur=s},onOpacityChange(s){this.localOpacity=s},applyPreset(s){this.localUrl=s,this.imageSource="url"},triggerFileInput(){this.$refs.fileInput.click()},handleDrop(s){var a,u;this.isDragging=!1;const e=(u=(a=s.dataTransfer)==null?void 0:a.files)==null?void 0:u[0];e&&this.processFile(e)},handleFileChange(s){var a;const e=(a=s.target.files)==null?void 0:a[0];e&&this.processFile(e),s.target.value=""},processFile(s){if(this.uploadWarning="",!s.type.startsWith("image/")){this.uploadWarning="请选择图片文件";return}const e=s.size/1024/1024;if(e>Ne){this.uploadWarning=`图片大小为 ${e.toFixed(1)}MB,超过 ${Ne}MB 限制,请压缩后重试`;return}const a=new FileReader;a.onload=u=>{this.localImageData=u.target.result},a.readAsDataURL(s)},clearUploadedImage(){this.localImageData="",this.uploadWarning=""},async saveAll(){this.saving=!0;try{this.imageSource==="upload"?(W("background.imageData",this.localImageData||""),W("background.url","")):(W("background.url",this.localUrl||""),W("background.imageData","")),W("background.blur",this.localBlur),W("background.opacity",this.localOpacity)}finally{this.saving=!1}},resetAll(){pe("background.enabled"),pe("background.url"),pe("background.imageData"),pe("background.blur"),pe("background.opacity"),this.localUrl=k("background.url")||"",this.localImageData=k("background.imageData")||"",this.localBlur=k("background.blur")??10,this.localOpacity=k("background.opacity")??30,this.imageSource="url",this.uploadWarning="",this.settingItemKey++}}},Un={class:"px-4 pb-4"},jn={class:"d-flex align-center mb-4"},Bn={key:0,class:"mb-4"},Mn={class:"d-flex flex-wrap gap-2 mt-2"},Nn={key:1,class:"mb-4"},Pn={class:"text-caption text-medium-emphasis mt-1"},zn={key:1,class:"d-flex align-center ga-2"},En={class:"d-flex align-center mb-4"},Ln={class:"mb-4"},On={class:"d-flex justify-space-between align-center mb-1"},Kn={class:"text-body-2 font-weight-bold"},Rn={class:"mb-4"},Fn={class:"d-flex justify-space-between align-center mb-1"},Jn={class:"text-body-2 font-weight-bold"},Hn={class:"d-flex justify-end ga-3"};function Qn(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{border:"",icon:"mdi-image",title:"背景设置"},{default:n(()=>[t(P,null,{default:n(()=>[(m(),h(d,{key:i.settingItemKey,"setting-key":"background.enabled"}))]),_:1}),t(C,{class:"mb-4"}),c("div",Un,[c("div",{class:"preview-area mb-6",style:Be(l.previewContainerStyle)},[c("div",{class:"preview-bg",style:Be(l.previewBgStyle)},null,4),c("div",{class:"preview-overlay",style:Be(l.previewOverlayStyle)},null,4),e[9]||(e[9]=c("div",{class:"preview-text"}," 背景预览 ",-1))],4),c("div",jn,[t(g,{class:"mr-2",color:"primary"},{default:n(()=>[...e[10]||(e[10]=[o(" mdi-image-search ",-1)])]),_:1}),e[11]||(e[11]=c("span",{class:"text-subtitle-1 font-weight-bold"},"图片来源",-1))]),t(at,{modelValue:i.imageSource,"onUpdate:modelValue":e[0]||(e[0]=r=>i.imageSource=r),color:"primary",density:"comfortable",class:"mb-4",mandatory:"",rounded:"xl"},{default:n(()=>[t(f,{value:"url","prepend-icon":"mdi-link-variant"},{default:n(()=>[...e[12]||(e[12]=[o(" 网络地址 ",-1)])]),_:1}),t(f,{value:"upload","prepend-icon":"mdi-upload"},{default:n(()=>[...e[13]||(e[13]=[o(" 本地上传 ",-1)])]),_:1})]),_:1},8,["modelValue"]),i.imageSource==="url"?(m(),y("div",Bn,[t(U,{modelValue:i.localUrl,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.localUrl=r),l.onUrlChange],label:"图片地址",placeholder:"https://example.com/background.jpg",variant:"outlined",density:"compact","prepend-inner-icon":"mdi-link",clearable:"","hide-details":"auto",rules:[l.validateUrl]},null,8,["modelValue","rules","onUpdate:modelValue"]),c("div",Mn,[(m(!0),y(L,null,H(i.urlPresets,r=>(m(),h(E,{key:r.label,size:"small",variant:"tonal",color:"primary",class:"cursor-pointer",onClick:b=>l.applyPreset(r.url)},{default:n(()=>[o(w(r.label),1)]),_:2},1032,["onClick"]))),128))])])):v("",!0),i.imageSource==="upload"?(m(),y("div",Nn,[c("div",{class:_e(["upload-area rounded-xl pa-6 text-center mb-3",{"upload-hover":i.isDragging}]),onDragover:e[3]||(e[3]=re(r=>i.isDragging=!0,["prevent"])),onDragleave:e[4]||(e[4]=r=>i.isDragging=!1),onDrop:e[5]||(e[5]=re((...r)=>l.handleDrop&&l.handleDrop(...r),["prevent"])),onClick:e[6]||(e[6]=(...r)=>l.triggerFileInput&&l.triggerFileInput(...r))},[t(g,{size:"40",color:"primary",class:"mb-2"},{default:n(()=>[...e[14]||(e[14]=[o(" mdi-image-plus ",-1)])]),_:1}),e[15]||(e[15]=c("div",{class:"text-body-2"}," 点击或拖拽图片到此处上传 ",-1)),c("div",Pn," 支持 JPG、PNG、WebP、GIF(建议小于 "+w(i.maxImageSizeMB)+"MB) ",1),c("input",{ref:"fileInput",type:"file",accept:"image/*",style:{display:"none"},onChange:e[2]||(e[2]=(...r)=>l.handleFileChange&&l.handleFileChange(...r))},null,544)],34),i.uploadWarning?(m(),h(K,{key:0,type:"warning",variant:"tonal",density:"compact",class:"mb-2",icon:"mdi-alert"},{default:n(()=>[o(w(i.uploadWarning),1)]),_:1})):v("",!0),i.localImageData?(m(),y("div",zn,[t(E,{color:"success","prepend-icon":"mdi-check-circle",size:"small"},{default:n(()=>[...e[16]||(e[16]=[o(" 已上传本地图片 ",-1)])]),_:1}),t(f,{size:"small",variant:"text",color:"error","prepend-icon":"mdi-delete",onClick:l.clearUploadedImage},{default:n(()=>[...e[17]||(e[17]=[o(" 清除 ",-1)])]),_:1},8,["onClick"])])):v("",!0)])):v("",!0),t(C,{class:"my-5"}),c("div",En,[t(g,{class:"mr-2",color:"blue"},{default:n(()=>[...e[18]||(e[18]=[o(" mdi-blur ",-1)])]),_:1}),e[19]||(e[19]=c("span",{class:"text-subtitle-1 font-weight-bold"},"毛玻璃效果",-1))]),c("div",Ln,[c("div",On,[e[20]||(e[20]=c("span",{class:"text-body-2 text-medium-emphasis"},"模糊幅度",-1)),c("span",Kn,w(i.localBlur)+"px",1)]),t(We,{modelValue:i.localBlur,"onUpdate:modelValue":[e[7]||(e[7]=r=>i.localBlur=r),l.onBlurChange],min:0,max:50,step:1,color:"primary","track-color":"grey-lighten-3","thumb-label":"","hide-details":""},{prepend:n(()=>[t(g,{size:"small",color:"grey"},{default:n(()=>[...e[21]||(e[21]=[o(" mdi-blur-off ",-1)])]),_:1})]),append:n(()=>[t(g,{size:"small",color:"primary"},{default:n(()=>[...e[22]||(e[22]=[o(" mdi-blur ",-1)])]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),c("div",Rn,[c("div",Fn,[e[23]||(e[23]=c("span",{class:"text-body-2 text-medium-emphasis"},"遮罩暗色程度",-1)),c("span",Jn,w(i.localOpacity)+"%",1)]),t(We,{modelValue:i.localOpacity,"onUpdate:modelValue":[e[8]||(e[8]=r=>i.localOpacity=r),l.onOpacityChange],min:0,max:80,step:1,color:"blue-grey","track-color":"grey-lighten-3","thumb-label":"","hide-details":""},{prepend:n(()=>[t(g,{size:"small",color:"grey"},{default:n(()=>[...e[24]||(e[24]=[o(" mdi-brightness-7 ",-1)])]),_:1})]),append:n(()=>[t(g,{size:"small",color:"blue-grey"},{default:n(()=>[...e[25]||(e[25]=[o(" mdi-brightness-2 ",-1)])]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),t(C,{class:"my-5"}),c("div",Hn,[t(f,{variant:"text","prepend-icon":"mdi-restore",onClick:l.resetAll},{default:n(()=>[...e[26]||(e[26]=[o(" 重置 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"primary",variant:"elevated","prepend-icon":"mdi-content-save",loading:i.saving,onClick:l.saveAll},{default:n(()=>[...e[27]||(e[27]=[o(" 保存设置 ",-1)])]),_:1},8,["loading","onClick"])])])]),_:1})}const ht=z(Tn,[["render",Qn],["__scopeId","data-v-bb9183b0"]]),Gn={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 Wn(s,e,a,u,i,l){return m(),h(V,{border:a.border,class:"setting-group"},{default:n(()=>[a.title?(m(),h(N,{key:0,class:"d-flex align-center"},{default:n(()=>[a.icon?(m(),h(g,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):v("",!0),o(" "+w(a.title),1)]),_:1})):v("",!0),a.description?(m(),h(Ce,{key:1},{default:n(()=>[o(w(a.description),1)]),_:1})):v("",!0),t(_,null,{default:n(()=>[t(P,null,{default:n(()=>[Ve(s.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),s.$slots.actions?(m(),h(Y,{key:2},{default:n(()=>[Ve(s.$slots,"actions",{},void 0,!0)]),_:3})):v("",!0)]),_:3},8,["border"])}const Ue=z(Gn,[["render",Wn],["__scopeId","data-v-acac458a"]]),Yn={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},qn={name:"HomeworkTemplateCard",components:{SettingsCard:O,SettingGroup:Ue},data(){return{loading:!1,error:null,config:Kt(JSON.parse(JSON.stringify(Yn))),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 G.loadData("classworks-config-homework-template");if(a){const u=a;Object.assign(this.config,u),this.originalConfig=JSON.parse(JSON.stringify(u)),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 u=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${u},可继续编辑当前配置`,"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 G.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}`,u=this.editedBookTypes[a];if(u&&u!==e){const i=this.config.subjects[s].books[e];this.config.subjects[s].books[u]=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}`,u=this.newBooks[a];u&&(this.config.subjects[s].books[e].includes(u)||this.config.subjects[s].books[e].push(u),this.newBooks[a]="")},removeBook(s,e,a){const u=this.config.subjects[s].books[e],i=u.indexOf(a);i>-1&&u.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:u,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let l;const d=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(s){case"subjectBook":d&&(u!==e?(d[e]=i||[],delete d[u]):d[e]=i||[]);break;case"action":l=this.config.actions.indexOf(u),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=""}}},Zn={class:"d-flex justify-space-between align-center mb-6"};function Xn(s,e,a,u,i,l){const d=Ue,p=O;return m(),h(p,{loading:i.loading,border:"",icon:"mdi-book-edit",title:"作业模板配置"},{default:n(()=>[i.error?(m(),h(K,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),c("div",Zn,[c("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?(m(),h(E,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[9]||(e[9]=[o(" 有未保存的更改 ",-1)])]),_:1})):v("",!0)]),t(q,null,{default:n(()=>[t(M,{cols:"12",md:"6"},{default:n(()=>[t(d,{border:"",icon:"mdi-book",title:"科目配置"},{default:n(()=>[t(P,null,{default:n(()=>[t(x,null,{default:n(()=>[t(U,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=r=>i.newSubject=r),"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}),(m(!0),y(L,null,H(l.subjectList,r=>(m(),h(x,{key:r},{default:n(()=>[t(V,{border:"",class:"w-100 mb-2"},{default:n(()=>[t(N,{class:"d-flex align-center"},{default:n(()=>[t(U,{modelValue:i.editedSubjects[r],"onUpdate:modelValue":b=>i.editedSubjects[r]=b,placeholder:r,density:"comfortable","hide-details":"",variant:"plain",onBlur:b=>l.updateSubject(r)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(R),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(r)},null,8,["onClick"])]),_:2},1024),t(_,null,{default:n(()=>[t(U,{modelValue:i.newBookTypes[r],"onUpdate:modelValue":b=>i.newBookTypes[r]=b,"append-inner-icon":"mdi-plus",class:"mb-2",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":()=>l.addBookType(r),onKeyup:ae(()=>l.addBookType(r),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(P,{border:"",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.config.subjects[r].books,(b,S)=>(m(),h(x,{key:S,title:S,onClick:T=>l.openSubjectBookDialog(r,S,b)},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-book-open-variant"})]),append:n(()=>[t(E,{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:re(()=>l.deleteBookType(r,S),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(M,{cols:"12",md:"6"},{default:n(()=>[t(d,{border:"",icon:"mdi-cog",title:"通用配置"},{default:n(()=>[t(P,null,{default:n(()=>[t(x,null,{default:n(()=>[t(U,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=r=>i.newCommonBook=r),"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(P,{border:"",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.config.commonSubject.books,(r,b)=>(m(),h(x,{key:b,title:b,onClick:S=>l.openSubjectBookDialog("common",b,r)},{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-book-multiple"})]),append:n(()=>[t(E,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(r.length)+"个部分 ",1)]),_:2},1024),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:re(()=>l.deleteBookType("common",b),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(C,{class:"my-2"}),t(x,null,{default:n(()=>[t(U,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=r=>i.newAction=r),"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(P,{border:"",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.config.actions,r=>(m(),h(x,{key:r,title:r,onClick:b=>l.openActionDialog(r)},{append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:re(b=>l.removeAction(r),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(ee,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=r=>i.dialog.show=r),"max-width":"600px"},{default:n(()=>[t(V,null,{default:n(()=>[t(N,{class:"text-h5 pa-4"},{default:n(()=>[o(w(i.dialog.title),1)]),_:1}),t(_,null,{default:n(()=>[t(Re,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(U,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=r=>i.dialog.editedItem.name=r),label:i.dialog.nameLabel,rules:[r=>!!r||"名称不能为空"],density:"comfortable",variant:"outlined"},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(m(),h(M,{key:0,cols:"12"},{default:n(()=>[e[10]||(e[10]=c("div",{class:"text-subtitle-2 mb-2"}," 所属科目 ",-1)),t(E,{color:"primary"},{default:n(()=>[o(w(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):v("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(m(),h(M,{key:1,cols:"12"},{default:n(()=>[t(V,{variant:"outlined"},{default:n(()=>[t(N,{class:"text-subtitle-1 py-2"},{default:n(()=>[...e[11]||(e[11]=[o(" 需完成部分 ",-1)])]),_:1}),t(_,{class:"pt-0"},{default:n(()=>[t(P,{border:"",class:"mb-2",density:"compact",rounded:""},{default:n(()=>[(m(!0),y(L,null,H(i.dialog.editedItem.tasks,(r,b)=>(m(),h(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:S=>l.removeTask(b)},null,8,["onClick"])]),default:n(()=>[t(U,{modelValue:i.dialog.editedItem.tasks[b],"onUpdate:modelValue":S=>i.dialog.editedItem.tasks[b]=S,density:"compact","hide-details":"",variant:"plain"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(U,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=r=>i.newTask=r),"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(Y,{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(Ee,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=r=>i.showSnackbar=r),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const gt=z(qn,[["render",Xn],["__scopeId","data-v-a2517340"]]),$n={name:"SubjectManagementCard",components:{SettingsCard:O},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 G.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 G.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,u)=>{a.order=u}))},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")}}},es={class:"d-flex justify-space-between align-center mb-6"},ts={class:"d-flex flex-column align-center mr-2"};function ns(s,e,a,u,i,l){const d=O;return m(),h(d,{loading:i.loading,border:"",icon:"mdi-book-multiple",title:"科目管理"},{default:n(()=>[i.error?(m(),h(K,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),c("div",es,[c("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?(m(),h(E,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[5]||(e[5]=[o(" 有未保存的更改 ",-1)])]),_:1})):v("",!0)]),t(V,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(_,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12",sm:"6"},{default:n(()=>[t(U,{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:ae(l.addSubject,["enter"]),"onClick:appendInner":l.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(V,{variant:"outlined"},{default:n(()=>[t(_,{class:"pa-0"},{default:n(()=>[t(P,{lines:"one"},{default:n(()=>[(m(!0),y(L,null,H(i.subjects,(p,r)=>(m(),h(x,{key:p.order},{prepend:n(()=>[c("div",ts,[t(f,{disabled:r===0,icon:"mdi-chevron-up",size:"small",variant:"text",onClick:b=>l.moveSubject(r,-1)},null,8,["disabled","onClick"]),t(f,{disabled:r===i.subjects.length-1,icon:"mdi-chevron-down",size:"small",variant:"text",onClick:b=>l.moveSubject(r,1)},null,8,["disabled","onClick"])])]),append:n(()=>[t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:b=>l.deleteSubject(p)},null,8,["onClick"])]),default:n(()=>[t(B,null,{default:n(()=>[t(U,{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(Ee,{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 wt=z($n,[["render",ns],["__scopeId","data-v-22202eda"]]),ss={};function is(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"randomPicker.enabled"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.mode"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.minNumber"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.maxNumber"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.defaultCount"}),t(C,{class:"my-2"}),t(d,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const vt=z(ss,[["render",is]]),ls={name:"HitokotoSettings",components:{SettingGroup:Ue,SettingItem:te},data(){return{kvConfig:{sources:["zhaoyu"],sensitiveWords:"",jinrishiciToken:null,hitokotoCategories:[]},hitokotoCategories:[{value:"a",label:"动画"},{value:"b",label:"漫画"},{value:"c",label:"游戏"},{value:"d",label:"文学"},{value:"e",label:"原创"},{value:"f",label:"来自网络"},{value:"g",label:"其他"},{value:"h",label:"影视"},{value:"i",label:"诗词"},{value:"j",label:"网易云"},{value:"k",label:"哲学"},{value:"l",label:"抖机灵"}],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 G.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,hitokotoCategories:Array.isArray(e.hitokotoCategories)?e.hitokotoCategories:[]})}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 Ae.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 G.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 u=await Ae.get("https://v2.jinrishici.com/info?X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken));if(u.data&&u.data.status==="success"){this.testResultData=u.data,this.testResultDialog=!0;const i=(s=u.data.data)==null?void 0:s.token,l=(e=u.data.data)==null?void 0:e.region,d=this.kvConfig.jinrishiciToken?i===this.kvConfig.jinrishiciToken:!0;this.testColor=d?"success":"warning",this.testMessage=d?`接口正常,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}}}},os={class:"d-flex flex-wrap gap-2"},as={class:"text-caption text-orange mt-2"},rs={class:"d-flex flex-wrap gap-2"},us={class:"d-flex flex-column flex-sm-row align-center w-100"},ds={key:3,class:"text-center pb-4"},cs={class:"d-flex align-center mb-2"},ms={class:"text-body-1 font-weight-medium"},fs={class:"d-flex align-center mb-2"},ps={class:"text-body-1 font-weight-medium"},hs={class:"d-flex align-center mb-2"},gs={class:"text-body-1 font-weight-medium"},ws={class:"d-flex align-center mb-2"},vs={class:"text-body-2 font-weight-medium"},bs={class:"d-flex align-center mb-2"},ys={class:"text-body-1 font-weight-medium"},ks={class:"d-flex align-center mb-2"},xs={class:"text-body-1 font-weight-medium"},Ss={class:"px-4 py-3"},Cs={class:"d-flex flex-wrap gap-2"};function _s(s,e,a,u,i,l){const d=te,p=Ue;return m(),y("div",null,[t(p,{title:"一言设置",icon:"mdi-comment-quote"},{default:n(()=>[t(d,{"setting-key":"hitokoto.enabled"}),t(d,{"setting-key":"hitokoto.refreshInterval"})]),_:1}),t(p,{title:"数据源配置",icon:"mdi-cloud-sync",class:"mt-4"},{default:n(()=>[e[16]||(e[16]=c("div",{class:"text-caption text-grey px-4 pt-2 pb-2"}," 以下配置将同步到云端,对所有连接此班级的设备生效。 ",-1)),t(x,null,{default:n(()=>[t(B,{class:"mb-2"},{default:n(()=>[...e[8]||(e[8]=[o(" 启用数据源 ",-1)])]),_:1}),c("div",os,[t(le,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[0]||(e[0]=r=>i.kvConfig.sources=r),l.saveKvSettings],label:"一言 (Hitokoto)",value:"hitokoto","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(le,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.kvConfig.sources=r),l.saveKvSettings],label:"诏预 (Zhaoyu)",value:"zhaoyu","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(le,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[2]||(e[2]=r=>i.kvConfig.sources=r),l.saveKvSettings],label:"今日诗词 (Jinrishici)",value:"jinrishici","hide-details":"",density:"compact",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"])]),c("div",as,[t(g,{size:"x-small",color:"orange",class:"mr-1"},{default:n(()=>[...e[9]||(e[9]=[o(" mdi-alert ",-1)])]),_:1}),e[10]||(e[10]=o(" 一言(Hitokoto)数据源已收到关于存在负面内容的大量反馈,请用户谨慎启用。 ",-1))])]),_:1}),i.kvConfig.sources.includes("hitokoto")?(m(),h(x,{key:0},{default:n(()=>[t(B,{class:"mb-2"},{default:n(()=>[...e[11]||(e[11]=[o(" 一言句子类型 ",-1)])]),_:1}),e[12]||(e[12]=c("div",{class:"text-caption text-grey mb-2"}," 不选则返回所有类型;可多选。 ",-1)),c("div",rs,[(m(!0),y(L,null,H(i.hitokotoCategories,r=>(m(),h(le,{key:r.value,modelValue:i.kvConfig.hitokotoCategories,"onUpdate:modelValue":[e[3]||(e[3]=b=>i.kvConfig.hitokotoCategories=b),l.saveKvSettings],label:r.label,value:r.value,"hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","label","value","disabled","onUpdate:modelValue"]))),128))])]),_:1})):v("",!0),i.kvConfig.sources.includes("jinrishici")?(m(),h(x,{key:1},{default:n(()=>[t(U,{modelValue:i.kvConfig.jinrishiciToken,"onUpdate:modelValue":e[4]||(e[4]=r=>i.kvConfig.jinrishiciToken=r),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")?(m(),h(x,{key:2},{default:n(()=>[c("div",us,[t(f,{loading:i.testLoading,color:"primary",variant:"outlined",class:"mr-sm-4 mb-2 mb-sm-0",onClick:l.testJinrishici},{default:n(()=>[...e[13]||(e[13]=[o(" 测试今日诗词接口 ",-1)])]),_:1},8,["loading","onClick"]),i.testMessage?(m(),h(K,{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(we,{modelValue:i.kvConfig.sensitiveWords,"onUpdate:modelValue":e[5]||(e[5]=r=>i.kvConfig.sensitiveWords=r),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(le,{modelValue:i.enableCloudSensitiveWords,"onUpdate:modelValue":e[6]||(e[6]=r=>i.enableCloudSensitiveWords=r),label:"启用云端敏感词列表","hide-details":"",density:"compact",disabled:"",class:"mb-2"},null,8,["modelValue"]),e[14]||(e[14]=c("div",{class:"text-caption text-grey"},[o(" 已启用的数据源将在获取一言时随机尝试,直到成功获取内容为止。"),c("br"),o(" 敏感词过滤会将包含任意敏感词的句子过滤掉,避免显示不当内容。"),c("br")],-1))]),_:1}),i.loading?(m(),y("div",ds,[t(rt,{indeterminate:"",size:"24",color:"primary"}),e[15]||(e[15]=c("span",{class:"ml-2 text-caption"},"正在同步配置...",-1))])):v("",!0)]),_:1}),t(ee,{modelValue:i.testResultDialog,"onUpdate:modelValue":e[7]||(e[7]=r=>i.testResultDialog=r),"max-width":"600"},{default:n(()=>[i.testResultData?(m(),h(V,{key:0,class:"rounded-lg"},{default:n(()=>[t(_,{class:"pa-0"},{default:n(()=>[t(P,{lines:"two",class:"py-0"},{default:n(()=>[t(x,{class:"px-4 py-3"},{prepend:n(()=>[t(Te,{color:"primary",variant:"tonal",class:"mr-2"},{default:n(()=>[t(g,{icon:"mdi-key-variant"})]),_:1})]),default:n(()=>[t(B,{class:"text-subtitle-2 font-weight-bold mb-1"},{default:n(()=>[...e[17]||(e[17]=[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(C),t(q,{"no-gutters":""},{default:n(()=>[t(M,{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(B,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[18]||(e[18]=[o(" IP 地址 ",-1)])]),_:1}),t(Q,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.ip),1)]),_:1})]),_:1})]),_:1}),t(M,{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(B,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[19]||(e[19]=[o(" 地区 ",-1)])]),_:1}),t(Q,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.region),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(C),t(Re,{class:"px-4 py-3"},{default:n(()=>[t(q,{dense:""},{default:n(()=>[t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",cs,[t(g,{icon:"mdi-thermometer",color:"orange",class:"mr-2"}),c("div",null,[e[20]||(e[20]=c("div",{class:"text-caption text-grey"}," 温度 ",-1)),c("div",ms,w(i.testResultData.data.weatherData.temperature)+"°C ",1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",fs,[t(g,{icon:"mdi-weather-cloudy",color:"blue-grey",class:"mr-2"}),c("div",null,[e[21]||(e[21]=c("div",{class:"text-caption text-grey"}," 天气 ",-1)),c("div",ps,w(i.testResultData.data.weatherData.weather),1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",hs,[t(g,{icon:"mdi-water-percent",color:"blue",class:"mr-2"}),c("div",null,[e[22]||(e[22]=c("div",{class:"text-caption text-grey"}," 湿度 ",-1)),c("div",gs,w(i.testResultData.data.weatherData.humidity)+"% ",1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",ws,[t(g,{icon:"mdi-weather-windy",color:"teal",class:"mr-2"}),c("div",null,[e[23]||(e[23]=c("div",{class:"text-caption text-grey"}," 风向/风力 ",-1)),c("div",vs,w(i.testResultData.data.weatherData.windDirection)+" "+w(i.testResultData.data.weatherData.windPower)+"级 ",1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",bs,[t(g,{icon:"mdi-blur",color:"grey",class:"mr-2"}),c("div",null,[e[24]||(e[24]=c("div",{class:"text-caption text-grey"}," PM2.5 ",-1)),c("div",ys,w(i.testResultData.data.weatherData.pm25),1)])])]),_:1}),t(M,{cols:"6",sm:"4"},{default:n(()=>[c("div",ks,[t(g,{icon:"mdi-eye",color:"indigo",class:"mr-2"}),c("div",null,[e[25]||(e[25]=c("div",{class:"text-caption text-grey"}," 能见度 ",-1)),c("div",xs,w(i.testResultData.data.weatherData.visibility),1)])])]),_:1})]),_:1})]),_:1}),t(C),c("div",Ss,[e[26]||(e[26]=c("div",{class:"text-caption text-grey mb-2"}," 环境标签 ",-1)),c("div",Cs,[(m(!0),y(L,null,H(i.testResultData.data.tags,r=>(m(),h(E,{key:r,size:"small",color:"primary",variant:"tonal",class:"mr-1 mb-1"},{default:n(()=>[o(w(r),1)]),_:2},1024))),128))])]),t(C),t(x,{class:"px-4 py-2"},{prepend:n(()=>[t(g,{icon:"mdi-clock-outline",size:"small",class:"mr-2"})]),default:n(()=>[t(B,{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 bt=z(ls,[["render",_s]]),Vs={name:"NotificationSoundSettings",data(){return{singleSound:"",urgentSound:"",currentAudio:null,showAutoplayWarning:!0}},computed:{soundOptions(){return Yt.map(s=>({title:s.replace(".mp3",""),value:s}))}},mounted(){this.loadSettings()},beforeUnmount(){this.stopPreview()},methods:{loadSettings(){this.singleSound=k("notification.singleSound"),this.urgentSound=k("notification.urgentSound")},onSingleSoundChange(s){var e;W("notification.singleSound",s),(e=this.$message)==null||e.success("设置已保存",`单次通知铃声: ${s}`)},onUrgentSoundChange(s){var e;W("notification.urgentSound",s),(e=this.$message)==null||e.success("设置已保存",`紧急通知铃声: ${s}`)},async previewSound(s){var e,a;this.showAutoplayWarning=!1,this.stopPreview();try{const u=await this.playSoundWithPromise(s,!1);this.currentAudio=u,this.currentAudio&&this.currentAudio.addEventListener("ended",()=>{this.currentAudio=null},{once:!0})}catch(u){console.error("播放音频失败:",u),u.name==="NotAllowedError"?(e=this.$message)==null||e.warning("无法播放音频","浏览器阻止了自动播放,请再次点击试听按钮"):(a=this.$message)==null||a.error("播放失败","音频文件加载失败,请稍后重试")}},playSoundWithPromise(s,e=!1){return new Promise((a,u)=>{const i=this.getSoundPath(s);if(!i){u(new Error("音频文件不存在"));return}try{const l=new Audio(i);l.loop=e,l.play().then(()=>{a(l)}).catch(d=>{u(d)})}catch(l){u(l)}})},getSoundPath(s){if(!s)return null;try{return`/sounds/${s}`}catch{return null}},stopPreview(){this.currentAudio&&(Wt(this.currentAudio),this.currentAudio=null)},resetSingleSound(){var s;this.singleSound="Teams 默认.mp3",W("notification.singleSound",this.singleSound),(s=this.$message)==null||s.success("已恢复单次通知铃声默认设置")},resetUrgentSound(){var s;this.urgentSound="Teams 默认通话铃.mp3",W("notification.urgentSound",this.urgentSound),(s=this.$message)==null||s.success("已恢复紧急通知铃声默认设置")}}},Ds={class:"d-flex align-center"},As={class:"mt-3 d-flex gap-2"},Is={class:"mt-3 d-flex gap-2"};function Ts(s,e,a,u,i,l){return m(),h(V,{class:"notification-sound-settings"},{default:n(()=>[t(N,null,{default:n(()=>[...e[5]||(e[5]=[o(" 通知铃声设置 ",-1)])]),_:1}),t(_,null,{default:n(()=>[i.showAutoplayWarning?(m(),h(K,{key:0,type:"info",variant:"tonal",closable:"",class:"mb-4","onClick:close":e[0]||(e[0]=d=>i.showAutoplayWarning=!1)},{default:n(()=>[c("div",Ds,[t(g,{class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[o(" mdi-information ",-1)])]),_:1}),e[7]||(e[7]=c("span",null,"首次使用请点击试听按钮测试音频播放是否正常",-1))])]),_:1})):v("",!0),t(q,null,{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(V,{border:""},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[t(De,{modelValue:i.singleSound,"onUpdate:modelValue":[e[1]||(e[1]=d=>i.singleSound=d),l.onSingleSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:d,item:p})=>[t(x,he(d,{onClick:r=>l.previewSound(p.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:re(r=>l.previewSound(p.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"]),c("div",As,[t(f,{color:"primary",variant:"tonal",onClick:e[2]||(e[2]=d=>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(M,{cols:"12"},{default:n(()=>[t(V,{border:""},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[t(De,{modelValue:i.urgentSound,"onUpdate:modelValue":[e[3]||(e[3]=d=>i.urgentSound=d),l.onUrgentSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:d,item:p})=>[t(x,he(d,{onClick:r=>l.previewSound(p.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:re(r=>l.previewSound(p.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"]),c("div",Is,[t(f,{color:"error",variant:"tonal",onClick:e[4]||(e[4]=d=>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 yt=z(Vs,[["render",Ts],["__scopeId","data-v-632dcdba"]]),st={sessions:[{name:"第1节晚自习",start:"19:20",duration:70,enabled:!0},{name:"第2节晚自习",start:"20:20",duration:110,enabled:!0}],alertThresholdDb:55},Us={name:"NoiseSettingsCard",components:{SettingsCard:O,SettingItem:te},data(){return{sessionLoading:!0,sessionSaving:!1,editSessions:[],editAlertThreshold:55,timePickerMenus:{}}},mounted(){this.loadSessionConfig()},methods:{async loadSessionConfig(){this.sessionLoading=!0;try{const s=await G.loadData("noise-session-config"),e=(s==null?void 0:s.data)||s;e&&e.sessions?(this.editSessions=JSON.parse(JSON.stringify(e.sessions)),this.editAlertThreshold=e.alertThresholdDb||55):this.resetSessionConfig()}catch{this.resetSessionConfig()}finally{this.sessionLoading=!1}},async saveSessionConfig(){this.sessionSaving=!0;try{const s={sessions:this.editSessions,alertThresholdDb:this.editAlertThreshold};await G.saveData("noise-session-config",s)}catch(s){console.error("保存自习配置失败:",s)}finally{this.sessionSaving=!1}},resetSessionConfig(){this.editSessions=JSON.parse(JSON.stringify(st.sessions)),this.editAlertThreshold=st.alertThresholdDb},addSession(){this.editSessions.push({name:`第${this.editSessions.length+1}节晚自习`,start:"19:00",duration:70,enabled:!0})},sessionEndTime(s){if(!(s!=null&&s.start)||!(s!=null&&s.duration))return"--:--";const[e,a]=s.start.split(":").map(Number),u=e*60+a+(s.duration||0),i=Math.floor(u/60)%24,l=u%60;return`${String(i).padStart(2,"0")}:${String(l).padStart(2,"0")}`}}},js={class:"px-4 pb-4"},Bs={class:"d-flex align-center mb-4"},Ms={class:"d-flex align-center ga-3 flex-wrap"},Ns={class:"text-caption text-medium-emphasis"},Ps={key:0,class:"text-center text-medium-emphasis py-4"},zs={class:"d-flex align-center mb-4"},Es={class:"d-flex align-center flex-wrap ga-4 mb-4"},Ls={class:"d-flex justify-end ga-3 mb-2"};function Os(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{border:"",icon:"mdi-microphone",title:"噪音监测"},{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"noiseMonitor.enabled"}),t(C,{class:"my-2"}),t(d,{"setting-key":"noiseMonitor.autoStart"}),t(C,{class:"my-2"}),t(d,{"setting-key":"noiseMonitor.permissionDismissed"})]),_:1}),t(C,{class:"mb-4"}),c("div",js,[c("div",Bs,[t(g,{class:"mr-2",color:"teal"},{default:n(()=>[...e[1]||(e[1]=[o(" mdi-clock-edit-outline ",-1)])]),_:1}),e[3]||(e[3]=c("span",{class:"text-subtitle-1 font-weight-bold"},"晚自习时间段",-1)),t(R),t(f,{color:"primary",variant:"tonal",size:"small","prepend-icon":"mdi-plus",onClick:l.addSession},{default:n(()=>[...e[2]||(e[2]=[o(" 添加时段 ",-1)])]),_:1},8,["onClick"])]),e[10]||(e[10]=c("div",{class:"text-caption text-medium-emphasis mb-4"}," 配置晚自习时间段后,系统会在对应时段内自动开启噪音监测并记录统计报告。时间段外不会长期记录。 ",-1)),i.sessionLoading?(m(),h(qt,{key:0,type:"card",class:"mb-4"})):(m(),y(L,{key:1},[(m(!0),y(L,null,H(i.editSessions,(r,b)=>(m(),y("div",{key:b,class:"mb-3"},[t(V,{variant:"outlined",rounded:"xl"},{default:n(()=>[t(_,{class:"pa-4"},{default:n(()=>[c("div",Ms,[t(U,{modelValue:r.name,"onUpdate:modelValue":S=>r.name=S,density:"compact",variant:"outlined",label:"名称","hide-details":"",style:{"max-width":"160px"}},null,8,["modelValue","onUpdate:modelValue"]),t(Ke,{modelValue:i.timePickerMenus[b],"onUpdate:modelValue":S=>i.timePickerMenus[b]=S,"close-on-content-click":!1,location:"bottom"},{activator:n(({props:S})=>[t(U,he({ref_for:!0},S,{"model-value":r.start,density:"compact",variant:"outlined",label:"开始时间",readonly:"","hide-details":"","prepend-inner-icon":"mdi-clock-outline",style:{"max-width":"170px"}}),null,16,["model-value"])]),default:n(()=>[t(Zt,{modelValue:r.start,"onUpdate:modelValue":[S=>r.start=S,S=>i.timePickerMenus[b]=!1],color:"primary",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue"]),t(U,{modelValue:r.duration,"onUpdate:modelValue":S=>r.duration=S,modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"时长",suffix:"分钟","hide-details":"",style:{"max-width":"130px"},min:10,max:300},null,8,["modelValue","onUpdate:modelValue"]),c("span",Ns," 至 "+w(l.sessionEndTime(r)),1),t(Oe,{modelValue:r.enabled,"onUpdate:modelValue":S=>r.enabled=S,density:"compact",color:"primary","hide-details":"",label:"启用"},null,8,["modelValue","onUpdate:modelValue"]),t(f,{icon:"mdi-delete",color:"error",size:"x-small",variant:"text",onClick:S=>i.editSessions.splice(b,1)},null,8,["onClick"])])]),_:2},1024)]),_:2},1024)]))),128)),i.editSessions.length===0?(m(),y("div",Ps,[t(g,{class:"mb-1"},{default:n(()=>[...e[4]||(e[4]=[o(" mdi-clock-outline ",-1)])]),_:1}),e[5]||(e[5]=c("div",{class:"text-caption"}," 暂无时间段,点击上方「添加时段」创建 ",-1))])):v("",!0)],64)),t(C,{class:"my-5"}),c("div",zs,[t(g,{class:"mr-2",color:"orange"},{default:n(()=>[...e[6]||(e[6]=[o(" mdi-alert-decagram ",-1)])]),_:1}),e[7]||(e[7]=c("span",{class:"text-subtitle-1 font-weight-bold"},"监测参数",-1))]),c("div",Es,[t(U,{modelValue:i.editAlertThreshold,"onUpdate:modelValue":e[0]||(e[0]=r=>i.editAlertThreshold=r),modelModifiers:{number:!0},density:"compact",variant:"outlined",type:"number",label:"噪音报警阈值",suffix:"dB","hide-details":"",style:{"max-width":"200px"},min:30,max:90},null,8,["modelValue"])]),c("div",Ls,[t(f,{variant:"text","prepend-icon":"mdi-restore",onClick:l.resetSessionConfig},{default:n(()=>[...e[8]||(e[8]=[o(" 重置 ",-1)])]),_:1},8,["onClick"]),t(f,{color:"primary",variant:"elevated","prepend-icon":"mdi-content-save",loading:i.sessionSaving,onClick:l.saveSessionConfig},{default:n(()=>[...e[9]||(e[9]=[o(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])])])]),_:1})}const kt=z(Us,[["render",Os]]),Ks={name:"DisplaySettingsCard",components:{SettingsCard:O,SettingItem:te},setup(){return{theme:Xt()}},data(){return{localTheme:k("theme.mode")}},watch:{localTheme(s){W("theme.mode",s),this.theme.global.name.value=s}}};function Rs(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{border:"",icon:"mdi-monitor",title:"显示设置"},{default:n(()=>[t(P,null,{default:n(()=>[t(x,null,{prepend:n(()=>[t(g,{class:"mr-3",icon:"mdi-theme-light-dark"})]),append:n(()=>[t(at,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=r=>i.localTheme=r),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(B,null,{default:n(()=>[...e[1]||(e[1]=[o("主题模式",-1)])]),_:1}),t(Q,null,{default:n(()=>[...e[2]||(e[2]=[o("选择明亮或暗黑主题",-1)])]),_:1})]),_:1}),t(C,{class:"my-2"}),t(d,{"setting-key":"timeCard.enabled"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.emptySubjectDisplay"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.dynamicSort"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showRandomButton"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showFullscreenButton"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.cardHoverEffect"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.enhancedTouchMode"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showQuickTools"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showAntiScreenBurnCard"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showExamScheduleButton"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.showUafTransfer"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.forceDesktopMode"}),t(C,{class:"my-2"}),t(d,{"setting-key":"display.lateStudentsArePresent"})]),_:1})]),_:1})}const xt=z(Ks,[["render",Rs]]),Fs={};function Js(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"edit.autoSave"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.blockNonTodayAutoSave"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.confirmNonTodaySave"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.refreshBeforeEdit"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.autoSavePromptText"}),t(C,{class:"my-2"}),t(d,{"setting-key":"edit.manualSavePromptText"})]),_:1})]),_:1})}const St=z(Fs,[["render",Js]]),Hs={name:"RefreshSettingsCard",components:{SettingsCard:O},data(){return{}}};function Qs(s,e,a,u,i,l){const d=te,p=O;return m(),h(p,{icon:"mdi-refresh-circle",title:"刷新设置"},{default:n(()=>[t(dt,null,{default:n(()=>[t(P,null,{default:n(()=>[t(d,{"setting-key":"refresh.auto",title:"自动刷新"}),t(C,{class:"my-2"}),t(d,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const Ct=z(Hs,[["render",Qs]]),Gs={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=Se(),e=[];for(const[a,u]of Object.entries(ze)){if(u.requireDeveloper&&!s["developer.enabled"])continue;const i=s[a]!==u.default;e.push({key:a,description:u.description||a,value:s[a],icon:u.icon||"mdi-cog",isChanged:i,defaultValue:u.default})}return e.sort((a,u)=>a.key.localeCompare(u.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(),u=e.key.toLowerCase(),i=String(e.value).toLowerCase(),l=e.isChanged?"已修改":"默认";return a.includes(s)||u.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=Se();return this.selectedItems.some(e=>{const a=ze[e];return a&&s[e]!==a.default})}},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()}}},methods:{handleSelectionChange(s){this.selectedItems=s.map(e=>e.key),this.generateLink()},generateLink(){const s=`${window.location.protocol}//${window.location.host}/`,e=Se(),a={};for(const u of this.selectedItems)a[u]=e[u];if(Object.keys(a).length===0){this.generatedLink=s;return}try{const u=JSON.stringify(a),l=new TextEncoder().encode(u),p={config:btoa(Array.from(l).map(T=>String.fromCharCode(T)).join(""))},b=new URLSearchParams(window.location.search).get("date");b&&(p.date=b);const S=new URLSearchParams(p).toString();this.generatedLink=`${s}?${S}`}catch(u){console.error("生成链接失败:",u),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=Se(),u={};for(const r of this.selectedItems)u[r]=a[r];const i=JSON.stringify(u),d=new TextEncoder().encode(i),p=btoa(Array.from(d).map(r=>String.fromCharCode(r)).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}}},Ws={class:"d-flex mb-3 gap-2 flex-wrap"},Ys={class:"d-flex align-center mb-3 flex-wrap gap-2"},qs={class:"d-flex align-center"},Zs={class:"d-flex align-center"},Xs={key:0},$s={key:1},ei={key:2},ti={class:"text-caption text-grey"},ni={class:"d-flex mb-3 gap-2 flex-wrap"},si={class:"d-flex flex-wrap gap-1"};function ii(s,e,a,u,i,l){return m(),y("div",null,[t(V,{border:"",class:"unified-link-generator"},{default:n(()=>[t(N,{class:"text-h6"},{default:n(()=>[t(g,{class:"mr-2",icon:"mdi-link-variant",start:""}),e[6]||(e[6]=o(" 统一链接生成器 ",-1))]),_:1}),t(_,null,{default:n(()=>[e[35]||(e[35]=c("div",{class:"text-body-2 text-medium-emphasis mb-4"}," 生成包含预配置认证信息和设置的统一链接。可以同时预配置设备认证和应用设置。 ",-1)),t(V,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12",md:"6"},{default:n(()=>[t(U,{modelValue:i.preconfigForm.namespace,"onUpdate:modelValue":e[0]||(e[0]=d=>i.preconfigForm.namespace=d),hint:"设备的命名空间标识符",label:"命名空间","persistent-hint":"",placeholder:"例如: classroom-001","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(M,{cols:"12",md:"6"},{default:n(()=>[t(U,{modelValue:i.preconfigForm.authCode,"onUpdate:modelValue":e[1]||(e[1]=d=>i.preconfigForm.authCode=d),hint:"留空则需要用户手动输入",label:"认证码","persistent-hint":"",placeholder:"设备认证码(可选)","prepend-inner-icon":"mdi-lock-outline",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),t(q,{class:"mt-2"},{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(le,{modelValue:i.preconfigForm.autoExecute,"onUpdate:modelValue":e[2]||(e[2]=d=>i.preconfigForm.autoExecute=d),density:"compact",hint:"启用后会自动尝试认证,即使没有认证码也会尝试",label:"自动执行认证","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),i.preconfigForm.namespace?(m(),h(K,{key:0,class:"mt-3",type:"info",variant:"tonal"},{default:n(()=>[e[13]||(e[13]=c("div",{class:"text-subtitle-2 mb-2"}," 预配置信息: ",-1)),t(E,{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?(m(),h(E,{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})):(m(),h(E,{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(E,{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(V,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[e[22]||(e[22]=c("div",{class:"text-body-2 text-medium-emphasis mb-3"}," 选择需要包含在链接中的设置项。如果不选择任何设置,将只生成预配置认证链接。 ",-1)),c("div",Ws,[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"])]),c("div",Ys,[t(E,{class:"mr-2",color:"primary"},{default:n(()=>[o(" 已选 "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(m(),y(L,{key:0},[(m(!0),y(L,null,H(i.selectedItems.slice(0,3),d=>(m(),h(E,{key:d,class:"mr-1",size:"small",variant:"text"},{default:n(()=>[o(w(l.getSettingDescription(d)),1)]),_:2},1024))),128)),i.selectedItems.length>3?(m(),h(E,{key:0,color:"grey",size:"small",variant:"text"},{default:n(()=>[o(" +"+w(i.selectedItems.length-3)+" 更多 ",1)]),_:1})):v("",!0)],64)):v("",!0)]),t(Fe,{variant:"accordion"},{default:n(()=>[t(Je,null,{default:n(()=>[t(ct,null,{default:n(({expanded:d})=>[c("div",qs,[t(g,{class:"mr-2"},{default:n(()=>[o(w(d?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024),e[20]||(e[20]=o(" 显示设置列表详情 ",-1))])]),_:1}),t(He,null,{default:n(()=>[t(U,{modelValue:i.search,"onUpdate:modelValue":e[3]||(e[3]=d=>i.search=d),class:"mb-4",clearable:"","hide-details":"",label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":""},null,8,["modelValue"]),t(mt,{modelValue:i.selectedItems,"onUpdate:modelValue":e[4]||(e[4]=d=>i.selectedItems=d),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:d})=>[c("div",Zs,[t(g,{icon:d.icon,class:"mr-2",size:"small"},null,8,["icon"]),o(" "+w(d.description)+" ",1),d.key==="server.kvToken"?(m(),h(E,{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:d})=>[typeof d.value=="boolean"?(m(),y("span",Xs,w(d.value?"是":"否"),1)):d.key==="server.kvToken"&&d.value?(m(),y("span",$s,w(d.value.substring(0,8))+"... ",1)):(m(),y("span",ei,w(d.value),1))]),"item.key":n(({item:d})=>[c("span",ti,w(d.key),1)]),"item.isChanged":n(({item:d})=>[t(E,{color:d.isChanged?"warning":"success",text:d.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(V,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(N,{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(_,null,{default:n(()=>[c("div",ni,[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(U,{modelValue:i.unifiedLink,"onUpdate:modelValue":e[5]||(e[5]=d=>i.unifiedLink=d),"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?(m(),h(K,{key:0,class:"mb-3",type:"success",variant:"tonal"},{default:n(()=>[e[33]||(e[33]=c("div",{class:"text-subtitle-2 mb-2"}," 链接包含内容: ",-1)),c("div",si,[t(E,{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?(m(),h(E,{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})):(m(),h(E,{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(K,{type:"warning",variant:"tonal"},{default:n(()=>[...e[34]||(e[34]=[c("div",{class:"text-subtitle-2 mb-2"}," ⚠️ 安全提醒 ",-1),c("ul",{class:"text-body-2 pl-4"},[c("li",null,"认证码和设置信息会在URL中传输,请谨慎分发"),c("li",null,"建议仅在受信任的网络环境中使用"),c("li",null,"生产环境建议使用HTTPS协议"),c("li",null,"数据源设置和已变更设置默认不包含敏感Token信息")],-1)])]),_:1})]),_:1})]),_:1})])}const _t=z(Gs,[["render",ii]]),li={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},oi={class:"warning-container"};function ai(s,e,a,u,i,l){return m(),y("div",oi,[a.show?(m(),h(E,{key:0,class:"warning-chip",color:"warning",size:"small"},{default:n(()=>[o(w(a.message),1)]),_:1})):v("",!0)])}const je=z(li,[["render",ai],["__scopeId","data-v-0f36b655"]]),ri=tn({disabled:Boolean,modelValue:{type:Boolean,default:null},...Et()},"VHover"),Vt=$t()({name:"VHover",props:ri(),emits:{"update:modelValue":s=>!0},setup(s,e){let{slots:a}=e;const u=en(s,"modelValue"),{runOpenDelay:i,runCloseDelay:l}=zt(s,d=>!s.disabled&&(u.value=d));return()=>{var d;return(d=a.default)==null?void 0:d.call(a,{isHovering:u.value,props:{onMouseenter:i,onMouseleave:l}})}}}),ui={name:"TeacherListCard",components:{UnsavedWarning:je},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,!k("server.classNumber"))throw new Error("请先设置班号");try{const a=await G.loadData("classworks-list-teacher");a.success!==!1&&Array.isArray(a)&&(this.modelValue.list=a.map(u=>({name:u.name||"",subjects:Array.isArray(u.subjects)?u.subjects:[],isHeadTeacher:!!u.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(!k("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.map(d=>({name:d.name,subjects:Array.isArray(d.subjects)?d.subjects:[],isHeadTeacher:!!d.isHeadTeacher})),l=await G.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(u){console.error("保存教师列表失败:",u),(a=this.$message)==null||a.error("保存失败",u.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)}}},di={key:0},ci={class:"d-flex align-start mb-3"},mi={class:"flex-grow-1"},fi={class:"d-flex align-center mb-1"},pi=["onClick"],hi={key:0,class:"mt-2"},gi={key:1,class:"mt-1"},wi={key:1,class:"pt-2"};function vi(s,e,a,u,i,l){const d=je;return m(),h(V,{class:_e({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(ve,null,{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-account-tie",size:"large"})]),append:n(()=>[t(d,{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(N,{class:"text-h6"},{default:n(()=>[...e[4]||(e[4]=[o(" 教师列表 ",-1)])]),_:1})]),_:1}),t(_,null,{default:n(()=>[i.loading?(m(),h(Ie,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),i.error?(m(),h(K,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),t(ut,null,{default:n(()=>[i.modelValue.advanced?(m(),y("div",wi,[t(we,{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"])])):(m(),y("div",di,[t(V,{class:"mb-6",variant:"outlined"},{default:n(()=>[t(_,null,{default:n(()=>[t(q,null,{default:n(()=>[t(M,{cols:"12",md:"4"},{default:n(()=>[t(U,{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(M,{cols:"12",md:"5"},{default:n(()=>[t(qe,{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(M,{cols:"12",md:"3",class:"d-flex align-center gap-2"},{default:n(()=>[t(le,{modelValue:i.newTeacher.isHeadTeacher,"onUpdate:modelValue":e[2]||(e[2]=p=>i.newTeacher.isHeadTeacher=p),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?(m(),h(q,{key:0},{default:n(()=>[t(M,{cols:"12"},{default:n(()=>[t(K,{type:"info",variant:"tonal"},{default:n(()=>[...e[6]||(e[6]=[o(" 暂无教师信息,请添加教师 ",-1)])]),_:1})]),_:1})]),_:1})):(m(),h(q,{key:1},{default:n(()=>[(m(!0),y(L,null,H(i.modelValue.list,(p,r)=>(m(),h(M,{key:r,cols:"12",lg:"6",xl:"4"},{default:n(()=>[t(Vt,null,{default:n(({isHovering:b,props:S})=>[t(V,he({elevation:a.isMobile?1:b?4:1,border:"",class:"teacher-card"},{ref_for:!0},S),{default:n(()=>[t(_,{class:"pa-4"},{default:n(()=>[c("div",ci,[t(Te,{color:p.isHeadTeacher?"primary":"grey-lighten-1",class:"mr-3",size:"48"},{default:n(()=>[t(g,{icon:p.isHeadTeacher?"mdi-star":"mdi-account",size:"28"},null,8,["icon"])]),_:2},1032,["color"]),c("div",mi,[c("div",fi,[i.editState.index===r?(m(),h(U,{key:0,modelValue:i.editState.teacher.name,"onUpdate:modelValue":T=>i.editState.teacher.name=T,autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined"},null,8,["modelValue","onUpdate:modelValue"])):(m(),y("span",{key:1,class:"text-h6 font-weight-medium",onClick:T=>l.handleClick(r,p)},w(p.name),9,pi)),p.isHeadTeacher?(m(),h(E,{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===r?(m(),y("div",hi,[t(qe,{modelValue:i.editState.teacher.subjects,"onUpdate:modelValue":T=>i.editState.teacher.subjects=T,items:i.commonSubjects,chips:"","closable-chips":"",density:"compact","hide-details":"",label:"任教科目",multiple:"",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"]),t(le,{modelValue:i.editState.teacher.isHeadTeacher,"onUpdate:modelValue":T=>i.editState.teacher.isHeadTeacher=T,class:"mt-2",density:"compact","hide-details":"",label:"班主任"},null,8,["modelValue","onUpdate:modelValue"])])):(m(),y("div",gi,[(m(!0),y(L,null,H(p.subjects,(T,se)=>(m(),h(E,{key:se,class:"mr-1 mb-1",density:"comfortable",size:"small",variant:"tonal"},{default:n(()=>[o(w(T),1)]),_:2},1024))),128))]))]),c("div",{class:_e([{"opacity-100":b||a.isMobile||i.editState.index===r},"d-flex gap-1 action-buttons ml-2"])},[i.editState.index===r?(m(),h(f,{key:0,color:"success",icon:"mdi-check",size:"small",variant:"text",onClick:l.saveEdit},null,8,["onClick"])):v("",!0),i.editState.index===r?(m(),h(f,{key:1,color:"grey",icon:"mdi-close",size:"small",variant:"text",onClick:l.cancelEdit},null,8,["onClick"])):(m(),h(f,{key:2,color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:T=>l.startEdit(r,p)},null,8,["onClick"])),i.editState.index!==r?(m(),h(f,{key:3,color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:T=>l.removeTeacher(r)},null,8,["onClick"])):v("",!0)],2)])]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]))]),_:1}),t(q,{class:"mt-6"},{default:n(()=>[t(M,{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 Dt=z(ui,[["render",vi],["__scopeId","data-v-96a84acd"]]);let Pe=null;async function bi(){return Pe||(Pe=(await ot(async()=>{const{pinyin:s}=await import("./index-BGIq5yfq.js");return{pinyin:s}},[],import.meta.url)).pinyin),Pe}const yi={name:"StudentListCard",components:{UnsavedWarning:je},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,!k("server.classNumber"))throw new Error("请先设置班号");try{const a=await G.loadData("classworks-list-main");a.success!=!1&&Array.isArray(a)&&(this.modelValue.list=a.map((u,i)=>typeof u=="string"?{id:i+1,name:u}:{id:u.id||i+1,name:u.name||u.toString()}),this.modelValue.list.sort((u,i)=>u.id-i.id),this.modelValue.text=this.modelValue.list.map(u=>u.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(!k("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.slice().sort((d,p)=>d.id-p.id).map((d,p)=>({id:p+1,name:d.name})),l=await G.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(u){console.error("保存学生列表失败:",u),(a=this.$message)==null||a.error("保存失败",u.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 u=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:++u,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((u,i)=>u.id=i+1)}}else{const a=e==="up"?s-1:s+1;a>=0&&a{const i=s(a.name,{toneType:"none"}),l=s(u.name,{toneType:"none"});return i.localeCompare(l)});e.forEach((a,u)=>a.id=u+1),this.modelValue.list=e}}},ki={key:0},xi=["onClick"],Si={key:1,class:"pt-2"};function Ci(s,e,a,u,i,l){const d=je;return m(),h(V,{class:_e({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(ve,null,{prepend:n(()=>[t(g,{class:"mr-2",icon:"mdi-account-group",size:"large"})]),append:n(()=>[t(d,{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(N,{class:"text-h6"},{default:n(()=>[...e[3]||(e[3]=[o(" 学生列表 ",-1)])]),_:1})]),_:1}),t(_,null,{default:n(()=>[i.loading?(m(),h(Ie,{key:0,class:"mb-4",color:"primary",indeterminate:""})):v("",!0),i.error?(m(),h(K,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):v("",!0),t(ut,null,{default:n(()=>[i.modelValue.advanced?(m(),y("div",Si,[t(we,{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"])])):(m(),y("div",ki,[t(q,{class:"mb-6"},{default:n(()=>[t(M,{cols:"12",md:"4",sm:"6"},{default:n(()=>[t(U,{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: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(q,null,{default:n(()=>[(m(!0),y(L,null,H(i.modelValue.list,(p,r)=>(m(),h(M,{key:r,cols:"12",lg:"3",md:"4",sm:"6"},{default:n(()=>[t(Vt,null,{default:n(({isHovering:b,props:S})=>[t(V,he({elevation:a.isMobile?1:b?4:1,border:"",class:"student-card"},{ref_for:!0},S),{default:n(()=>[t(_,{class:"d-flex align-center pa-3"},{default:n(()=>[t(Ke,{"open-on-hover":!a.isMobile,location:"bottom"},{activator:n(({props:T})=>[t(f,he({class:"mr-3 font-weight-medium",size:"small"},{ref_for:!0},T,{variant:"tonal"}),{default:n(()=>[o(w(r+1),1)]),_:2},1040)]),default:n(()=>[t(P,{density:"compact",nav:""},{default:n(()=>[t(x,{disabled:r===0,"prepend-icon":"mdi-arrow-up-bold",onClick:T=>l.moveStudent(r,"top")},{default:n(()=>[...e[5]||(e[5]=[o(" 置顶 ",-1)])]),_:1},8,["disabled","onClick"]),t(C),t(x,{disabled:r===0,"prepend-icon":"mdi-arrow-up",onClick:T=>l.moveStudent(r,"up")},{default:n(()=>[...e[6]||(e[6]=[o(" 上移 ",-1)])]),_:1},8,["disabled","onClick"]),t(x,{disabled:r===i.modelValue.list.length-1,"prepend-icon":"mdi-arrow-down",onClick:T=>l.moveStudent(r,"down")},{default:n(()=>[...e[7]||(e[7]=[o(" 下移 ",-1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["open-on-hover"]),i.editState.index===r?(m(),h(U,{key:0,modelValue:i.editState.name,"onUpdate:modelValue":e[1]||(e[1]=T=>i.editState.name=T),autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined",onBlur:l.saveEdit,onKeyup:ae(l.saveEdit,["enter"])},null,8,["modelValue","onBlur","onKeyup"])):(m(),y("span",{key:1,class:"text-body-1 flex-grow-1",onClick:T=>l.handleClick(r,p)},w(p.name),9,xi)),c("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:T=>l.startEdit(r,p)},null,8,["onClick"]),t(f,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:T=>l.removeStudent(r)},null,8,["onClick"])],2)]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]))]),_:1}),t(q,{class:"mt-6"},{default:n(()=>[t(M,{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 At=z(yi,[["render",Ci],["__scopeId","data-v-a0226a40"]]),_i={key:0,class:"d-flex justify-center align-center fill-height"},Vi={key:1,class:"d-flex justify-center align-center fill-height"},Di={key:2},Ai={class:"text-caption ml-4 text-medium-emphasis"},Ii={key:0},Ti={key:1},Ui={class:"text-error"},It={__name:"CloudMigrationDialog",props:{modelValue:Boolean},emits:["update:modelValue"],setup(s,{emit:e}){const a=s,u=e,i=X(!1),l=X(!1),d=X(!1),p=X([]),r=X([]),b=X(!1),S=X(null),T=X(null),se=[{id:"student-list",label:"学生列表",description:"classworks-list-main",matcher:I=>I==="classworks-list-main"||I.startsWith("classworks-list-main")},{id:"homework-data",label:"作业数据",description:"classworks-data-*",matcher:I=>I.startsWith("classworks-data-")},{id:"lists",label:"列表",description:"classworks-list-*",matcher:I=>I.startsWith("classworks-list-")},{id:"other",label:"其他",description:"所有其他键",matcher:I=>!I.startsWith("classworks-data-")&&!I.startsWith("classworks-list-")}];Ge(()=>a.modelValue,I=>{i.value=I,I&&ue()}),Ge(i,I=>{u("update:modelValue",I)});const ue=async()=>{l.value=!0;try{const I=await Ye.loadKeys({limit:1e3});p.value=I.keys||[],r.value=[]}catch(I){console.error(I)}finally{l.value=!1}},$=I=>p.value.filter(I.matcher),be=I=>$(I).length,de=I=>{const D=$(I);return D.length===0?!1:D.filter(A=>r.value.includes(A)).length===D.length},ce=I=>{const D=$(I);if(D.length===0)return!1;const j=D.filter(A=>r.value.includes(A)).length;return j>0&&j{const D=$(I);if(D.length===0)return;const j=de(I),A=new Set(r.value);j?D.forEach(J=>A.delete(J)):D.forEach(J=>A.add(J)),r.value=Array.from(A)},ye=async()=>{var I,D,j;d.value=!0,T.value=null,S.value=null;try{const A={};for(const F of r.value){const ie=await Ye.loadData(F);if(ie){if(ie&&ie.success===!1&&ie.error){console.warn(`Skipping key ${F} due to load error`,ie.error);continue}A[F]=ie}}const J=k("server.domain"),ne=k("server.kvToken");if(!J||!ne)throw new Error("请先配置服务器地址和 Token");const me=J.replace(/\/$/,""),fe=await Ht.post(`${me}/kv/_batchimport`,A,{headers:{Authorization:`Bearer ${ne}`,"Content-Type":"application/json"}});if(fe.data&&fe.data.code===200)S.value=fe.data.data,b.value=!0,i.value=!1;else throw new Error(((I=fe.data)==null?void 0:I.message)||"迁移失败")}catch(A){console.error(A),T.value=((j=(D=A.response)==null?void 0:D.data)==null?void 0:j.message)||A.message||"发生未知错误",b.value=!0}finally{d.value=!1}};return(I,D)=>(m(),y(L,null,[t(ee,{modelValue:i.value,"onUpdate:modelValue":D[2]||(D[2]=j=>i.value=j),"max-width":"600",scrollable:""},{default:n(()=>[t(V,null,{default:n(()=>[t(N,null,{default:n(()=>[...D[5]||(D[5]=[o("迁移到云端",-1)])]),_:1}),t(_,{style:{height:"400px"}},{default:n(()=>[l.value?(m(),y("div",_i,[t(rt,{indeterminate:"",color:"primary"})])):p.value.length===0?(m(),y("div",Vi," 没有找到本地数据 ")):(m(),y("div",Di,[t(P,{"select-strategy":"classic",class:"mb-4"},{default:n(()=>[t(Lt,null,{default:n(()=>[...D[6]||(D[6]=[o("选择数据类型",-1)])]),_:1}),(m(),y(L,null,H(se,j=>t(x,{key:j.id,onClick:A=>oe(j)},{prepend:n(()=>[t(Ze,{"model-value":de(j),indeterminate:ce(j),onClick:re(A=>oe(j),["stop"])},null,8,["model-value","indeterminate","onClick"])]),default:n(()=>[t(B,null,{default:n(()=>[o(w(j.label),1)]),_:2},1024),t(Q,null,{default:n(()=>[o(w(j.description)+" ("+w(be(j))+" 项)",1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1}),t(C,{class:"mb-4"}),t(Fe,null,{default:n(()=>[t(Je,{title:"详细数据列表"},{default:n(()=>[t(He,null,{default:n(()=>[t(P,{"select-strategy":"classic",density:"compact"},{default:n(()=>[(m(!0),y(L,null,H(p.value,j=>(m(),h(x,{key:j,value:j},{prepend:n(()=>[t(Ze,{modelValue:r.value,"onUpdate:modelValue":D[0]||(D[0]=A=>r.value=A),value:j},null,8,["modelValue","value"])]),default:n(()=>[t(B,null,{default:n(()=>[o(w(j),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]))]),_:1}),t(C),t(Y,null,{default:n(()=>[c("div",Ai," 已选择 "+w(r.value.length)+" 项 ",1),t(R),t(f,{variant:"text",onClick:D[1]||(D[1]=j=>i.value=!1)},{default:n(()=>[...D[7]||(D[7]=[o(" 取消 ",-1)])]),_:1}),t(f,{color:"primary",loading:d.value,disabled:r.value.length===0,onClick:ye},{default:n(()=>[...D[8]||(D[8]=[o(" 开始迁移 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ee,{modelValue:b.value,"onUpdate:modelValue":D[4]||(D[4]=j=>b.value=j),"max-width":"500"},{default:n(()=>[t(V,null,{default:n(()=>[t(N,null,{default:n(()=>[...D[9]||(D[9]=[o("迁移结果",-1)])]),_:1}),t(_,null,{default:n(()=>[S.value?(m(),y("div",Ii,[c("p",null,"总计: "+w(S.value.summary.total),1),c("p",null,"成功: "+w(S.value.summary.successful),1),c("p",null,"失败: "+w(S.value.summary.failed),1)])):T.value?(m(),y("div",Ti,[c("p",Ui,w(T.value),1)])):v("",!0)]),_:1}),t(Y,null,{default:n(()=>[t(R),t(f,{color:"primary",onClick:D[3]||(D[3]=j=>b.value=!1)},{default:n(()=>[...D[10]||(D[10]=[o(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}},ji={name:"KvDatabaseCard",components:{SettingsCard:O,CloudMigrationDialog:It},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 k("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 G.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 G.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=`{ diff --git a/assets/socket-debugger-B6tlnHna.js b/assets/socket-debugger-CntG8haY.js similarity index 96% rename from assets/socket-debugger-B6tlnHna.js rename to assets/socket-debugger-CntG8haY.js index b9d4761..44ecb2a 100644 --- a/assets/socket-debugger-B6tlnHna.js +++ b/assets/socket-debugger-CntG8haY.js @@ -1,4 +1,4 @@ -import{c as Ce,g as I,d as se}from"./socketClient-D9GaxO-Q.js";import{_ as Se,e as g,c as D,f as L,g as re,d as k,p as Y,q as _,r as y,t as x,i as ue,h as V}from"./index-D042plwv.js";import{V as Z,a as m}from"./VRow-CH6EAfU_.js";import{V as Q}from"./VChip-nQelUOZI.js";import{V as we}from"./VTextField-BoJUR4Xs.js";import{V as Le}from"./VTextarea-CnWToSV7.js";import{V as $e}from"./VSwitch-CEojN9Vi.js";import{V as Re}from"./VAlert-ZP8s_5ha.js";import{V as De}from"./VContainer-MApP1Vz1.js";import{b as c,D as Ie,a3 as Te,X as C,Y as H,Z as t,j as n,a1 as o,S as u,k as p,$ as q,_ as z,F as de,a2 as ie,n as Ue,I as Be,e as ce}from"./vendor-vue-BiQC5iF7.js";import"./vendor-socket-dm1FmSOd.js";import"./serverRotation-CbFrj566.js";import"./vendor-vuetify-DpmmaPkh.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(qe){const fe=c(Ce()),$=c(!1),G=c(""),S=c(""),W=c(0),h=c(""),M=c(null),K=c("00:00:00"),X=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(),X.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);K.value=`${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(f).padStart(2,"0")}`}else K.value="00:00:00"}let T=null;function ne(){var U;const l=I();T&&le();const e=()=>{var r,B,ae;$.value=!0,G.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,G.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?` +import{c as Ce,g as I,d as se}from"./socketClient-B3vfwKNR.js";import{_ as Se,e as g,c as D,f as L,g as re,d as k,p as Y,q as _,r as y,t as x,i as ue,h as V}from"./index-BvGH7GyK.js";import{V as Z,a as m}from"./VRow-CFI96Yew.js";import{V as Q}from"./VChip-CyVmT8se.js";import{V as we}from"./VTextField-jDykTfh9.js";import{V as Le}from"./VTextarea-CCvrj_Hr.js";import{V as $e}from"./VSwitch-DEARo61Y.js";import{V as Re}from"./VAlert-DdY_LS-W.js";import{V as De}from"./VContainer-Cz0t7N-s.js";import{b as c,D as Ie,a3 as Te,X as C,Y as H,Z as t,j as n,a1 as o,S as u,k as p,$ as q,_ as z,F as de,a2 as ie,n as Ue,I as Be,e as ce}from"./vendor-vue-Hxtt57UU.js";import"./vendor-socket-SYmKJpIj.js";import"./serverRotation-CVerzUcJ.js";import"./vendor-vuetify-KiFW-YAv.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(qe){const fe=c(Ce()),$=c(!1),G=c(""),S=c(""),W=c(0),h=c(""),M=c(null),K=c("00:00:00"),X=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(),X.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);K.value=`${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(f).padStart(2,"0")}`}else K.value="00:00:00"}let T=null;function ne(){var U;const l=I();T&&le();const e=()=>{var r,B,ae;$.value=!0,G.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,G.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(Z,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(Y,{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(G.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(K.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(Z,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(Y,{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(Y,{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})):q("",!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:X.value,"onUpdate:modelValue":e[2]||(e[2]=a=>X.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)):q("",!0)],2))),128)),R.value.length===0?(C(),z("div",Je," 暂无日志 ")):q("",!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(Z,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"])):q("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},at=Se(He,[["__scopeId","data-v-a4520d11"]]);export{at as default}; diff --git a/assets/socketClient-D9GaxO-Q.js b/assets/socketClient-B3vfwKNR.js similarity index 83% rename from assets/socketClient-D9GaxO-Q.js rename to assets/socketClient-B3vfwKNR.js index 94f538a..78981aa 100644 --- a/assets/socketClient-D9GaxO-Q.js +++ b/assets/socketClient-B3vfwKNR.js @@ -1 +1 @@ -import{l as f}from"./vendor-socket-dm1FmSOd.js";import{n as l}from"./index-D042plwv.js";import{i as a,g as u}from"./serverRotation-CbFrj566.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}),()=>v(n,t)}function v(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}; +import{l as f}from"./vendor-socket-SYmKJpIj.js";import{n as l}from"./index-BvGH7GyK.js";import{i as a,g as u}from"./serverRotation-CVerzUcJ.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}),()=>v(n,t)}function v(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/vendor-socket-dm1FmSOd.js b/assets/vendor-socket-SYmKJpIj.js similarity index 55% rename from assets/vendor-socket-dm1FmSOd.js rename to assets/vendor-socket-SYmKJpIj.js index c9d39e0..7be707b 100644 --- a/assets/vendor-socket-dm1FmSOd.js +++ b/assets/vendor-socket-SYmKJpIj.js @@ -1 +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(n=>{T[y[n]]=n});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=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,V=({type:n,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[n]+(e||"")),$=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function Y(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let B;function he(n,e){if(Q&&n.data instanceof Blob)return n.data.arrayBuffer().then(Y).then(e);if(j&&(n.data instanceof ArrayBuffer||G(n.data)))return e(Y(n.data));V(n,!1,t=>{B||(B=new TextEncoder),e(B.encode(t))})}const z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n{let e=n.length*.75,t=n.length,s,i=0,r,o,a,h;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const m=new ArrayBuffer(e),f=new Uint8Array(m);for(s=0;s>4,f[i++]=(o&15)<<4|a>>2,f[i++]=(a&3)<<6|h&63;return m},fe=typeof ArrayBuffer=="function",M=(n,e)=>{if(typeof n!="string")return{type:"message",data:Z(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:le(n.substring(1),e)}:T[t]?n.length>1?{type:T[t],data:n.substring(1)}:{type:T[t]}:P},le=(n,e)=>{if(fe){const t=ue(n);return Z(t,e)}else return{base64:!0,data:n}},Z=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},ee="",pe=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((r,o)=>{V(r,!1,a=>{s[o]=a,++i===t&&e(s.join(ee))})})},de=(n,e)=>{const t=n.split(ee),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 x;function k(n){return n.reduce((e,t)=>e+t.length,0)}function A(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){a.enqueue(P);break}i=f*Math.pow(2,32)+m.getUint32(4),s=3}else{if(k(t)n){a.enqueue(P);break}}}})}const te=4;function u(n){if(n)return ge(n)}function ge(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),l=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),_e="arraybuffer";function se(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const be=l.setTimeout,we=l.clearTimeout;function S(n,e){e.useNativeTimers?(n.setTimeoutFn=be.bind(l),n.clearTimeoutFn=we.bind(l)):(n.setTimeoutFn=l.setTimeout.bind(l),n.clearTimeoutFn=l.clearTimeout.bind(l))}const ve=1.33;function Ee(n){return typeof n=="string"?ke(n):Math.ceil((n.byteLength||n.size)*ve)}function ke(n){let e=0,t=0;for(let s=0,i=n.length;s=57344?t+=3:(s++,t+=4);return t}function ne(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Ae(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function Te(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)};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]=ne()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let ie=!1;try{ie=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Ce=ie;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",(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 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 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=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 n="onpagehide"in l?"pagehide":"unload";addEventListener(n,J,!1)}}function J(){for(let n in d.requests)d.requests.hasOwnProperty(n)&&d.requests[n].abort()}const xe=function(){const n=re({xdomain:!1});return n&&n.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(n){const e=n.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(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&&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]=ne()),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=me(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=ye();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const r=()=>{s.read().then(({done:a,value:h})=>{a||(this.onPacket(h),r())}).catch(a=>{})};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&&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(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=Ie.exec(n||""),r={},o=14;for(;o--;)r[Ue[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=Fe(r,r.path),r.queryKey=Ve(r,r.query),r}function Fe(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 Ve(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,r){i&&(t[i]=r)}),t}const D=typeof addEventListener=="function"&&typeof removeEventListener=="function",R=[];D&&addEventListener("offline",()=>{R.forEach(n=>n())},!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 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=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,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(_.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",g=>{if(!s)if(g.type==="pong"&&g.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=g=>{const w=new Error("probe error: "+g);w.transport=t.name,r(),this.emitReserved("upgradeError",w)};function a(){o("transport closed")}function h(){o("socket closed")}function m(g){t&&g.name!==t.name&&r()}const f=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",a),this.off("close",h),this.off("upgrading",m)};t.once("open",i),t.once("error",o),t.once("close",a),this.once("close",h),this.once("upgrading",m),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[r]).filter(r=>!!r)),super(s?i:e,i)}};function Ke(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=q(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 We=typeof ArrayBuffer=="function",$e=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.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(n){return We&&(n instanceof ArrayBuffer||$e(n))||Ye&&n instanceof Blob||ze&&n instanceof File}function O(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t=0&&n.numthis.opts.maxAttachments)throw new Error("too many attachments");s.attachments=a}if(e.charAt(t+1)==="/"){const r=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(r,t)}else s.nsp="/";const i=e.charAt(t+1);if(i!==""&&Number(i)==i){const r=t+1;for(;++t;){const o=e.charAt(t);if(o==null||Number(o)!=o){--t;break}if(t===e.length)break}s.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(W.isPayloadValid(s.type,r))s.data=r;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case c.CONNECT:return X(t);case c.DISCONNECT:return t===void 0;case c.CONNECT_ERROR:return typeof t=="string"||X(t);case c.EVENT:case c.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Qe.indexOf(t[0])===-1);case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Ge{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=Xe(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Ze=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n};function X(n){return Object.prototype.toString.call(n)==="[object Object]"}const et=Object.freeze(Object.defineProperty({__proto__:null,Decoder:W,Encoder:je,get PacketType(){return c}},Symbol.toStringTag,{value:"Module"}));function p(n,e,t){return n.on(e,t),function(){n.off(e,t)}}const tt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class ce extends u{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[p(e,"open",this.onopen.bind(this)),p(e,"packet",this.onpacket.bind(this)),p(e,"error",this.onerror.bind(this)),p(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,r;if(tt.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const o={type:c.EVENT,data:t};if(o.options={},o.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const f=this.ids++,g=t.pop();this._registerAckCallback(f,g),o.id=f}const a=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,h=this.connected&&!(!((r=this.io.engine)===null||r===void 0)&&r._hasPingExpired());return this.flags.volatile&&!a||(h?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}_registerAckCallback(e,t){var s;const i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}const r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let a=0;a{this.io.clearTimeoutFn(r),t.apply(this,a)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{const r=(o,a)=>o?i(o):s(a);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:c.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 c.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 c.EVENT:case c.BINARY_EVENT:this.onevent(e);break;case c.ACK:case c.BINARY_ACK:this.onack(e);break;case c.DISCONNECT:this.ondisconnect();break;case c.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:c.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:c.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}b.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};b.prototype.reset=function(){this.attempts=0};b.prototype.setMin=function(n){this.ms=n};b.prototype.setMax=function(n){this.max=n};b.prototype.setJitter=function(n){this.jitter=n};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 i=t.parser||et;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 He(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=p(t,"open",function(){s.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=p(t,"error",r);if(this._timeout!==!1){const a=this._timeout,h=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),t.close()},a);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(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(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 v={};function L(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Ke(n,e.path||"/socket.io"),s=t.source,i=t.id,r=t.path,o=v[i]&&r in v[i].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let h;return a?h=new F(s,e):(v[i]||(v[i]=new F(s,e)),h=v[i]),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}; +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(n=>{T[y[n]]=n});const q={type:"error",data:"parser error"},Q=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",j=typeof ArrayBuffer=="function",G=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,V=({type:n,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[n]+(e||"")),$=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function Y(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let N;function he(n,e){if(Q&&n.data instanceof Blob)return n.data.arrayBuffer().then(Y).then(e);if(j&&(n.data instanceof ArrayBuffer||G(n.data)))return e(Y(n.data));V(n,!1,t=>{N||(N=new TextEncoder),e(N.encode(t))})}const z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n{let e=n.length*.75,t=n.length,s,i=0,r,o,a,h;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const m=new ArrayBuffer(e),f=new Uint8Array(m);for(s=0;s>4,f[i++]=(o&15)<<4|a>>2,f[i++]=(a&3)<<6|h&63;return m},fe=typeof ArrayBuffer=="function",M=(n,e)=>{if(typeof n!="string")return{type:"message",data:Z(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:le(n.substring(1),e)}:T[t]?n.length>1?{type:T[t],data:n.substring(1)}:{type:T[t]}:q},le=(n,e)=>{if(fe){const t=ue(n);return Z(t,e)}else return{base64:!0,data:n}},Z=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},ee="",pe=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((r,o)=>{V(r,!1,a=>{s[o]=a,++i===t&&e(s.join(ee))})})},de=(n,e)=>{const t=n.split(ee),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 x;function k(n){return n.reduce((e,t)=>e+t.length,0)}function A(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){a.enqueue(q);break}i=f*Math.pow(2,32)+m.getUint32(4),s=3}else{if(k(t)n){a.enqueue(q);break}}}})}const te=4;function u(n){if(n)return ge(n)}function ge(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),l=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),_e="arraybuffer";function se(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const be=l.setTimeout,we=l.clearTimeout;function B(n,e){e.useNativeTimers?(n.setTimeoutFn=be.bind(l),n.clearTimeoutFn=we.bind(l)):(n.setTimeoutFn=l.setTimeout.bind(l),n.clearTimeoutFn=l.clearTimeout.bind(l))}const ve=1.33;function Ee(n){return typeof n=="string"?ke(n):Math.ceil((n.byteLength||n.size)*ve)}function ke(n){let e=0,t=0;for(let s=0,i=n.length;s=57344?t+=3:(s++,t+=4);return t}function ne(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Ae(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function Te(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)};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]=ne()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let ie=!1;try{ie=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Se=ie;function Ce(){}class Be extends Re{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 d extends u{constructor(e,t,s){super(),this.createRequest=e,B(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 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=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=Ce,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 n="onpagehide"in l?"pagehide":"unload";addEventListener(n,J,!1)}}function J(){for(let n in d.requests)d.requests.hasOwnProperty(n)&&d.requests[n].abort()}const Ne=function(){const n=re({xdomain:!1});return n&&n.responseType!==null}();class xe extends Be{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=Ne&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new d(re,this.uri(),e)}}function re(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Se))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(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&&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]=ne()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const L=l.WebSocket||l.MozWebSocket;class Pe extends Le{createSocket(e,t,s){return oe?new L(e,t,s):t?new L(e,t):new L(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=me(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=ye();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const r=()=>{s.read().then(({done:a,value:h})=>{a||(this.onPacket(h),r())}).catch(a=>{})};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&&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:xe},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 D(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=Ie.exec(n||""),r={},o=14;for(;o--;)r[Ue[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=Fe(r,r.path),r.queryKey=Ve(r,r.query),r}function Fe(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 Ve(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,r){i&&(t[i]=r)}),t}const I=typeof addEventListener=="function"&&typeof removeEventListener=="function",O=[];I&&addEventListener("offline",()=>{O.forEach(n=>n())},!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=D(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=D(t.host).host);B(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=Te(this.opts.query)),I&&(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"})},O.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,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(_.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(),I&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=O.indexOf(this._offlineEventListener);s!==-1&&O.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",g=>{if(!s)if(g.type==="pong"&&g.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=g=>{const w=new Error("probe error: "+g);w.transport=t.name,r(),this.emitReserved("upgradeError",w)};function a(){o("transport closed")}function h(){o("socket closed")}function m(g){t&&g.name!==t.name&&r()}const f=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",a),this.off("close",h),this.off("upgrading",m)};t.once("open",i),t.once("error",o),t.once("close",a),this.once("close",h),this.once("upgrading",m),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[r]).filter(r=>!!r)),super(s?i:e,i)}};function Ke(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=D(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 We=typeof ArrayBuffer=="function",$e=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.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(n){return We&&(n instanceof ArrayBuffer||$e(n))||Ye&&n instanceof Blob||ze&&n instanceof File}function R(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t=0&&n.numthis.opts.maxAttachments)throw new Error("too many attachments");s.attachments=a}if(e.charAt(t+1)==="/"){const r=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(r,t)}else s.nsp="/";const i=e.charAt(t+1);if(i!==""&&Number(i)==i){const r=t+1;for(;++t;){const o=e.charAt(t);if(o==null||Number(o)!=o){--t;break}if(t===e.length)break}s.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(W.isPayloadValid(s.type,r))s.data=r;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case c.CONNECT:return X(t);case c.DISCONNECT:return t===void 0;case c.CONNECT_ERROR:return typeof t=="string"||X(t);case c.EVENT:case c.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Qe.indexOf(t[0])===-1);case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Ge{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=Xe(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Ze=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n};function X(n){return Object.prototype.toString.call(n)==="[object Object]"}const et=Object.freeze(Object.defineProperty({__proto__:null,Decoder:W,Encoder:je,get PacketType(){return c}},Symbol.toStringTag,{value:"Module"}));function p(n,e,t){return n.on(e,t),function(){n.off(e,t)}}const tt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class ce extends u{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[p(e,"open",this.onopen.bind(this)),p(e,"packet",this.onpacket.bind(this)),p(e,"error",this.onerror.bind(this)),p(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,r;if(tt.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const o={type:c.EVENT,data:t};if(o.options={},o.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const f=this.ids++,g=t.pop();this._registerAckCallback(f,g),o.id=f}const a=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,h=this.connected&&!(!((r=this.io.engine)===null||r===void 0)&&r._hasPingExpired());return this.flags.volatile&&!a||(h?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}_registerAckCallback(e,t){var s;const i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}const r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let a=0;a{this.io.clearTimeoutFn(r),t.apply(this,a)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{const r=(o,a)=>o?i(o):s(a);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:c.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 c.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 c.EVENT:case c.BINARY_EVENT:this.onevent(e);break;case c.ACK:case c.BINARY_ACK:this.onack(e);break;case c.DISCONNECT:this.ondisconnect();break;case c.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:c.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:c.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}b.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};b.prototype.reset=function(){this.attempts=0};b.prototype.setMin=function(n){this.ms=n};b.prototype.setMax=function(n){this.max=n};b.prototype.setJitter=function(n){this.jitter=n};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,B(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 i=t.parser||et;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 He(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=p(t,"open",function(){s.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=p(t,"error",r);if(this._timeout!==!1){const a=this._timeout,h=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),t.close()},a);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(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(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 v={};function P(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Ke(n,e.path||"/socket.io"),s=t.source,i=t.id,r=t.path,o=v[i]&&r in v[i].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let h;return a?h=new F(s,e):(v[i]||(v[i]=new F(s,e)),h=v[i]),t.query&&!e.query&&(e.query=t.queryKey),h.socket(t.path,e)}Object.assign(P,{Manager:F,Socket:ce,io:P,connect:P});export{P as l}; diff --git a/assets/vendor-utils-2lvrqI0-.js b/assets/vendor-utils-2lvrqI0-.js deleted file mode 100644 index 4ca22dc..0000000 --- a/assets/vendor-utils-2lvrqI0-.js +++ /dev/null @@ -1,9 +0,0 @@ -function Dt(e,t){return function(){return e.apply(t,arguments)}}const{toString:En}=Object.prototype,{getPrototypeOf:te}=Object,{iterator:de,toStringTag:Nt}=Symbol,_e=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),fe=(e,t)=>{let n=e;const r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),_e(n,t))return!0;n=te(n)}return!1},Rn=(e,t)=>e!=null&&fe(e,t)?e[t]:void 0,Je=(e=>t=>{const n=En.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),j=e=>(e=e.toLowerCase(),t=>Je(t)===e),Ce=e=>t=>typeof t===e,{isArray:Z}=Array,ne=Ce("undefined");function re(e){return e!==null&&!ne(e)&&e.constructor!==null&&!ne(e.constructor)&&B(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ft=j("ArrayBuffer");function gn(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ft(e.buffer),t}const Sn=Ce("string"),B=Ce("function"),Bt=Ce("number"),se=e=>e!==null&&typeof e=="object",On=e=>e===!0||e===!1,ge=e=>{if(!se(e))return!1;const t=te(e);return(t===null||t===Object.prototype||te(t)===null)&&!fe(e,Nt)&&!fe(e,de)},An=e=>{if(!se(e)||re(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},_n=j("Date"),xn=j("File"),Tn=e=>!!(e&&typeof e.uri<"u"),Cn=e=>e&&typeof e.getParts<"u",Pn=j("Blob"),Un=j("FileList"),Dn=e=>se(e)&&B(e.pipe);function Nn(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const ct=Nn(),lt=typeof ct.FormData<"u"?ct.FormData:void 0,Fn=e=>{if(!e)return!1;if(lt&&e instanceof lt)return!0;const t=te(e);if(!t||t===Object.prototype||!B(e.append))return!1;const n=Je(e);return n==="formdata"||n==="object"&&B(e.toString)&&e.toString()==="[object FormData]"},Bn=j("URLSearchParams"),[Ln,In,jn,kn]=["ReadableStream","Request","Response","Headers"].map(j),qn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function pe(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),Z(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,It=e=>!ne(e)&&e!==K;function He(...e){const{caseless:t,skipUndefined:n}=It(this)&&this||{},r={},s=(o,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;const c=t&&typeof i=="string"&&Lt(r,i)||i,l=_e(r,c)?r[c]:void 0;ge(l)&&ge(o)?r[c]=He(l,o):ge(o)?r[c]=He({},o):Z(o)?r[c]=o.slice():(!n||!ne(o))&&(r[c]=o)};for(let o=0,i=e.length;o(pe(t,(s,o)=>{n&&B(s)?Object.defineProperty(e,o,{__proto__:null,value:Dt(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Mn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),zn=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},vn=(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&&te(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},$n=(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},Vn=e=>{if(!e)return null;if(Z(e))return e;let t=e.length;if(!Bt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Jn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&te(Uint8Array)),Wn=(e,t)=>{const r=(e&&e[de]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},Kn=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Xn=j("HTMLFormElement"),Zn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),{propertyIsEnumerable:Gn}=Object.prototype,Qn=j("RegExp"),jt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};pe(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},Yn=e=>{jt(e,(t,n)=>{if(B(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(B(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+"'")})}})},er=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return Z(e)?r(e):r(String(e).split(t)),n},tr=()=>{},nr=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function rr(e){return!!(e&&B(e.append)&&e[Nt]==="FormData"&&e[de])}const sr=e=>{const t=new WeakSet,n=r=>{if(se(r)){if(t.has(r))return;if(re(r))return r;if(!("toJSON"in r)){t.add(r);const s=Z(r)?[]:{};return pe(r,(o,i)=>{const c=n(o);!ne(c)&&(s[i]=c)}),t.delete(r),s}}return r};return n(e)},or=j("AsyncFunction"),ir=e=>e&&(se(e)||B(e))&&B(e.then)&&B(e.catch),kt=((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",B(K.postMessage)),ar=typeof queueMicrotask<"u"?queueMicrotask.bind(K):typeof process<"u"&&process.nextTick||kt,qt=e=>e!=null&&B(e[de]),cr=e=>e!=null&&fe(e,de)&&qt(e),a={isArray:Z,isArrayBuffer:Ft,isBuffer:re,isFormData:Fn,isArrayBufferView:gn,isString:Sn,isNumber:Bt,isBoolean:On,isObject:se,isPlainObject:ge,isEmptyObject:An,isReadableStream:Ln,isRequest:In,isResponse:jn,isHeaders:kn,isUndefined:ne,isDate:_n,isFile:xn,isReactNativeBlob:Tn,isReactNative:Cn,isBlob:Pn,isRegExp:Qn,isFunction:B,isStream:Dn,isURLSearchParams:Bn,isTypedArray:Jn,isFileList:Un,forEach:pe,merge:He,extend:Hn,trim:qn,stripBOM:Mn,inherits:zn,toFlatObject:vn,kindOf:Je,kindOfTest:j,endsWith:$n,toArray:Vn,forEachEntry:Wn,matchAll:Kn,isHTMLForm:Xn,hasOwnProperty:_e,hasOwnProp:_e,hasOwnInPrototypeChain:fe,getSafeProp:Rn,reduceDescriptors:jt,freezeMethods:Yn,toObjectSet:er,toCamelCase:Zn,noop:tr,toFiniteNumber:nr,findKey:Lt,global:K,isContextDefined:It,isSpecCompliantForm:rr,toJSONObject:sr,isAsyncFn:or,isThenable:ir,setImmediate:kt,asap:ar,isIterable:qt,isSafeIterable:cr},lr=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"]),ur=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]&&lr[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t};function fr(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const dr=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),pr=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function We(e,t){return a.isArray(e)?e.map(n=>We(n,t)):fr(String(e).replace(t,""))}const hr=e=>We(e,dr),mr=e=>We(e,pr);function Ht(e){const t=Object.create(null);return a.forEach(e.toJSON(),(n,r)=>{t[r]=mr(n)}),t}const ut=Symbol("internals");function le(e){return e&&String(e).trim().toLowerCase()}function Se(e){return e===!1||e==null?e:a.isArray(e)?e.map(Se):hr(String(e))}function yr(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 br=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Le(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 wr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Er(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let F=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(c,l,f){const u=le(l);if(!u)return;const p=a.findKey(s,u);(!p||s[p]===void 0||f===!0||f===void 0&&s[p]!==!1)&&(s[p||l]=Se(c))}const i=(c,l)=>a.forEach(c,(f,u)=>o(f,u,l));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(a.isString(t)&&(t=t.trim())&&!br(t))i(ur(t),n);else if(a.isObject(t)&&a.isSafeIterable(t)){let c=Object.create(null),l,f;for(const u of t){if(!a.isArray(u))throw new TypeError("Object iterator must return a key-value pair");f=u[0],a.hasOwnProp(c,f)?(l=c[f],c[f]=a.isArray(l)?[...l,u[1]]:[l,u[1]]):c[f]=u[1]}i(c,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=le(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return yr(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=le(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Le(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=le(i),i){const c=a.findKey(r,i);c&&(!n||Le(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||Le(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]=Se(s),delete n[o];return}const c=t?wr(o):String(o).trim();c!==o&&delete n[o],n[c]=Se(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[ut]=this[ut]={accessors:{}}).accessors,s=this.prototype;function o(i){const c=le(i);r[c]||(Er(s,i),r[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};F.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(F.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(F);const Rr="[REDACTED ****]";function gr(e){if(a.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(a.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function Sr(e,t){const n=new Set(t.map(o=>String(o).toLowerCase())),r=[],s=o=>{if(o===null||typeof o!="object"||a.isBuffer(o))return o;if(r.indexOf(o)!==-1)return;o instanceof F&&(o=o.toJSON()),r.push(o);let i;if(a.isArray(o))i=[],o.forEach((c,l)=>{const f=s(c);a.isUndefined(f)||(i[l]=f)});else{if(!a.isPlainObject(o)&&gr(o))return r.pop(),o;i=Object.create(null);for(const[c,l]of Object.entries(o)){const f=n.has(c.toLowerCase())?Rr:s(l);a.isUndefined(f)||(i[c]=f)}}return r.pop(),i};return s(e)}let h=class Mt extends Error{static from(t,n,r,s,o,i){const c=new Mt(t.message,n||t.code,r,s,o);return Object.defineProperty(c,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),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",{__proto__:null,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(){const t=this.config,n=t&&a.hasOwnProp(t,"redact")?t.redact:void 0,r=a.isArray(n)&&n.length>0?Sr(t,n):a.toJSONObject(t);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:r,code:this.code,status:this.status}}};h.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";h.ERR_BAD_OPTION="ERR_BAD_OPTION";h.ECONNABORTED="ECONNABORTED";h.ETIMEDOUT="ETIMEDOUT";h.ECONNREFUSED="ECONNREFUSED";h.ERR_NETWORK="ERR_NETWORK";h.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";h.ERR_DEPRECATED="ERR_DEPRECATED";h.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";h.ERR_BAD_REQUEST="ERR_BAD_REQUEST";h.ERR_CANCELED="ERR_CANCELED";h.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";h.ERR_INVALID_URL="ERR_INVALID_URL";h.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Or=null,zt=100;function Me(e){return a.isPlainObject(e)||a.isArray(e)}function vt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function Ie(e,t,n){return e?e.concat(t).map(function(s,o){return s=vt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function Ar(e){return a.isArray(e)&&!e.some(Me)}const _r=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(y,E){return!a.isUndefined(E[y])});const r=n.metaTokens,s=n.visitor||g,o=n.dots,i=n.indexes,c=n.Blob||typeof Blob<"u"&&Blob,l=n.maxDepth===void 0?zt:n.maxDepth,f=c&&a.isSpecCompliantForm(t),u=[];if(!a.isFunction(s))throw new TypeError("visitor must be a function");function p(d){if(d===null)return"";if(a.isDate(d))return d.toISOString();if(a.isBoolean(d))return d.toString();if(!f&&a.isBlob(d))throw new h("Blob is not supported. Use a Buffer instead.");if(a.isArrayBuffer(d)||a.isTypedArray(d)){if(f&&typeof c=="function")return new c([d]);if(typeof Buffer<"u")return Buffer.from(d);throw new h("Blob is not supported. Use a Buffer instead.",h.ERR_NOT_SUPPORT)}return d}function b(d){if(d>l)throw new h("Object is too deeply nested ("+d+" levels). Max depth: "+l,h.ERR_FORM_DATA_DEPTH_EXCEEDED)}function w(d,y){if(l===1/0)return JSON.stringify(d);const E=[];return JSON.stringify(d,function(D,_){if(!a.isObject(_))return _;for(;E.length&&E[E.length-1]!==this;)E.pop();return E.push(_),b(y+E.length-1),_})}function g(d,y,E){let O=d;if(a.isReactNative(t)&&a.isReactNativeBlob(d))return t.append(Ie(E,y,o),p(d)),!1;if(d&&!E&&typeof d=="object"){if(a.endsWith(y,"{}"))y=r?y:y.slice(0,-2),d=w(d,1);else if(a.isArray(d)&&Ar(d)||(a.isFileList(d)||a.endsWith(y,"[]"))&&(O=a.toArray(d)))return y=vt(y),O.forEach(function(_,M){!(a.isUndefined(_)||_===null)&&t.append(i===!0?Ie([y],M,o):i===null?y:y+"[]",p(_))}),!1}return Me(d)?!0:(t.append(Ie(E,y,o),p(d)),!1)}const S=Object.assign(_r,{defaultVisitor:g,convertValue:p,isVisitable:Me});function m(d,y,E=0){if(!a.isUndefined(d)){if(b(E),u.indexOf(d)!==-1)throw new Error("Circular reference detected in "+y.join("."));u.push(d),a.forEach(d,function(D,_){(!(a.isUndefined(D)||D===null)&&s.call(t,D,a.isString(_)?_.trim():_,y,S))===!0&&m(D,y?y.concat(_):[_],E+1)}),u.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return m(e),t}function ft(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Ke(e,t){this._pairs=[],e&&Pe(e,this,t)}const $t=Ke.prototype;$t.append=function(t,n){this._pairs.push([t,n])};$t.toString=function(t){const n=t?r=>t.call(this,r,ft):ft;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function xr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Vt(e,t,n){if(!t)return e;e=e||"";const r=a.isFunction(n)?{serialize:n}:n,s=a.getSafeProp(r,"encode")||xr,o=a.getSafeProp(r,"serialize");let i;if(o?i=o(t,r):i=a.isURLSearchParams(t)?t.toString():new Ke(t,r).toString(s),i){const c=e.indexOf("#");c!==-1&&(e=e.slice(0,c)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class dt{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 Xe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Tr=typeof URLSearchParams<"u"?URLSearchParams:Ke,Cr=typeof FormData<"u"?FormData:null,Pr=typeof Blob<"u"?Blob:null,Ur={isBrowser:!0,classes:{URLSearchParams:Tr,FormData:Cr,Blob:Pr},protocols:["http","https","file","blob","url","data"]},Ze=typeof window<"u"&&typeof document<"u",ze=typeof navigator=="object"&&navigator||void 0,Dr=Ze&&(!ze||["ReactNative","NativeScript","NS"].indexOf(ze.product)<0),Nr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Fr=Ze&&window.location.href||"http://localhost",Br=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ze,hasStandardBrowserEnv:Dr,hasStandardBrowserWebWorkerEnv:Nr,navigator:ze,origin:Fr},Symbol.toStringTag,{value:"Module"})),U={...Br,...Ur};function Lr(e,t){return Pe(e,new U.classes.URLSearchParams,{visitor:function(n,r,s,o){return U.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}const pt=zt;function Jt(e){if(e>pt)throw new h("FormData field is too deeply nested ("+e+" levels). Max depth: "+pt,h.ERR_FORM_DATA_DEPTH_EXCEEDED)}function Ir(e){const t=[],n=/\w+|\[(\w*)]/g;let r;for(;(r=n.exec(e))!==null;)Jt(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function jr(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,l?(a.hasOwnProp(s,i)?s[i]=a.isArray(s[i])?s[i].concat(r):[s[i],r]:s[i]=r,!c):((!a.hasOwnProp(s,i)||!a.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=jr(s[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(Ir(r),s,n,0)}),n}return null}const Y=(e,t)=>e!=null&&a.hasOwnProp(e,t)?e[t]:void 0;function kr(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 he={transitional:Xe,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(Wt(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){const l=Y(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Lr(t,l).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const f=Y(this,"env"),u=f&&f.FormData;return Pe(c?{"files[]":t}:t,u&&new u,l)}}return o||s?(n.setContentType("application/json",!1),kr(t)):t}],transformResponse:[function(t){const n=Y(this,"transitional")||he.transitional,r=n&&n.forcedJSONParsing,s=Y(this,"responseType"),o=s==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!s||o)){const c=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,Y(this,"parseReviver"))}catch(l){if(c)throw l.name==="SyntaxError"?h.from(l,h.ERR_BAD_RESPONSE,this,null,Y(this,"response")):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:U.classes.FormData,Blob:U.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","query"],e=>{he.headers[e]={}});function je(e,t){const n=this||he,r=t||n,s=F.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 Kt(e){return!!(e&&e.__CANCEL__)}let me=class extends h{constructor(t,n,r){super(t??"canceled",h.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 h("Request failed with status code "+n.status,n.status>=400&&n.status<500?h.ERR_BAD_REQUEST:h.ERR_BAD_RESPONSE,n.config,n.request,n))}function qr(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Hr(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(l){const f=Date.now(),u=r[o];i||(i=f),n[s]=l,r[s]=f;let p=o,b=0;for(;p!==s;)b+=n[p++],p=p%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(),p=u-n;p>=r?i(f,u):(s=f,o||(o=setTimeout(()=>{o=null,i(s)},r-p)))},()=>s&&i(s)]}const xe=(e,t,n=3)=>{let r=0;const s=Hr(50,250);return Mr(o=>{if(!o||typeof o.loaded!="number")return;const i=o.loaded,c=o.lengthComputable?o.total:void 0,l=c!=null?Math.min(i,c):i,f=Math.max(0,l-r),u=s(f);r=Math.max(r,l);const p={loaded:l,total:c,progress:c?l/c:void 0,bytes:f,rate:u||void 0,estimated:u&&c?(c-l)/u:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(p)},n)},ht=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},mt=e=>(...t)=>a.asap(()=>e(...t)),zr=U.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,U.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(U.origin),U.navigator&&/(msie|trident)/i.test(U.navigator.userAgent)):()=>!0,vr=U.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.split(";");for(let n=0;ne instanceof F?{...e}:e;function G(e,t){e=e||{},t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,p,b,w){return a.isPlainObject(u)&&a.isPlainObject(p)?a.merge.call({caseless:w},u,p):a.isPlainObject(p)?a.merge({},p):a.isArray(p)?p.slice():p}function s(u,p,b,w){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u,b,w)}else return r(u,p,b,w)}function o(u,p){if(!a.isUndefined(p))return r(void 0,p)}function i(u,p){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u)}else return r(void 0,p)}function c(u){const p=a.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!a.isUndefined(p))if(a.isPlainObject(p)){if(a.hasOwnProp(p,u))return p[u]}else return;const b=a.hasOwnProp(e,"transitional")?e.transitional:void 0;if(a.isPlainObject(b)&&a.hasOwnProp(b,u))return b[u]}function l(u,p,b){if(a.hasOwnProp(t,b))return r(u,p);if(a.hasOwnProp(e,b))return r(void 0,u)}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,allowedSocketPaths:i,responseEncoding:i,validateStatus:l,headers:(u,p,b)=>s(bt(u),bt(p),b,!0)};return a.forEach(Object.keys({...e,...t}),function(p){if(p==="__proto__"||p==="constructor"||p==="prototype")return;const b=a.hasOwnProp(f,p)?f[p]:s,w=a.hasOwnProp(e,p)?e[p]:void 0,g=a.hasOwnProp(t,p)?t[p]:void 0,S=b(w,g,p);a.isUndefined(S)&&b!==l||(n[p]=S)}),a.hasOwnProp(t,"validateStatus")&&a.isUndefined(t.validateStatus)&&c("validateStatusUndefinedResolves")===!1&&(a.hasOwnProp(e,"validateStatus")?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}const Zr=["content-type","content-length"];function Gr(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,s])=>{Zr.includes(r.toLowerCase())&&e.set(r,s)})}const Qr=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function Gt(e){const t=G({},e),n=b=>a.hasOwnProp(t,b)?t[b]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),i=n("xsrfCookieName");let c=n("headers");const l=n("auth"),f=n("baseURL"),u=n("allowAbsoluteUrls"),p=n("url");if(t.headers=c=F.from(c),t.url=Vt(Zt(f,p,u,t),n("params"),n("paramsSerializer")),l){const b=a.getSafeProp(l,"username")||"",w=a.getSafeProp(l,"password")||"";try{c.set("Authorization","Basic "+btoa(b+":"+(w?Qr(w):"")))}catch(g){throw h.from(g,h.ERR_BAD_OPTION_VALUE,e)}}if(a.isFormData(r)&&(U.hasStandardBrowserEnv||U.hasStandardBrowserWebWorkerEnv||a.isReactNative(r)?c.setContentType(void 0):a.isFunction(r.getHeaders)&&Gr(c,r.getHeaders(),n("formDataHeaderPolicy"))),U.hasStandardBrowserEnv&&(a.isFunction(s)&&(s=s(t)),s===!0||s==null&&zr(t.url))){const w=o&&i&&vr.read(i);w&&c.set(o,w)}return t}const Yr=typeof XMLHttpRequest<"u",es=Yr&&function(e){return new Promise(function(n,r){const s=Gt(e);let o=s.data;const i=F.from(s.headers).normalize();let{responseType:c,onUploadProgress:l,onDownloadProgress:f}=s,u,p,b,w,g;function S(){w&&w(),g&&g(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(s.method.toUpperCase(),s.url,!0),m.timeout=s.timeout;function d(){if(!m)return;const E=F.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),D={data:!c||c==="text"||c==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:E,config:e,request:m};Xt(function(M){n(M),S()},function(M){r(M),S()},D),m=null}"onloadend"in m?m.onloadend=d:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.startsWith("file:"))||setTimeout(d)},m.onabort=function(){m&&(r(new h("Request aborted",h.ECONNABORTED,e,m)),S(),m=null)},m.onerror=function(O){const D=O&&O.message?O.message:"Network Error",_=new h(D,h.ERR_NETWORK,e,m);_.event=O||null,r(_),S(),m=null},m.ontimeout=function(){let O=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const D=s.transitional||Xe;s.timeoutErrorMessage&&(O=s.timeoutErrorMessage),r(new h(O,D.clarifyTimeoutError?h.ETIMEDOUT:h.ECONNABORTED,e,m)),S(),m=null},o===void 0&&i.setContentType(null),"setRequestHeader"in m&&a.forEach(Ht(i),function(O,D){m.setRequestHeader(D,O)}),a.isUndefined(s.withCredentials)||(m.withCredentials=!!s.withCredentials),c&&c!=="json"&&(m.responseType=s.responseType),f&&([b,g]=xe(f,!0),m.addEventListener("progress",b)),l&&m.upload&&([p,w]=xe(l),m.upload.addEventListener("progress",p),m.upload.addEventListener("loadend",w)),(s.cancelToken||s.signal)&&(u=E=>{m&&(r(!E||E.type?new me(null,e,m):E),m.abort(),S(),m=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const y=qr(s.url);if(y&&!U.protocols.includes(y)){r(new h("Unsupported protocol "+y+":",h.ERR_BAD_REQUEST,e)),S();return}m.send(o||null)})},ts=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const s=function(l){if(!r){r=!0,i();const f=l instanceof Error?l:this.reason;n.abort(f instanceof h?f:new me(f instanceof Error?f.message:f))}};let o=t&&setTimeout(()=>{o=null,s(new h(`timeout of ${t}ms exceeded`,h.ETIMEDOUT))},t);const i=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),e=null)};e.forEach(l=>l.addEventListener("abort",s,{once:!0}));const{signal:c}=n;return c.unsubscribe=()=>a.asap(i),c},ns=function*(e,t){let n=e.byteLength;if(n{const s=rs(e,t);let o=0,i,c=l=>{i||(i=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:f,value:u}=await s.next();if(f){c(),l.close();return}let p=u.byteLength;if(n){let b=o+=p;n(b)}l.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(l){return c(l),s.return()}},{highWaterMark:2})},Te=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,os=(e,t,n)=>t+2w>=2&&r.charCodeAt(w-2)===37&&r.charCodeAt(w-1)===51&&(r.charCodeAt(w)===68||r.charCodeAt(w)===100);f>=0&&(r.charCodeAt(f)===61?(l++,f--):u(f)&&(l++,f-=3)),l===1&&f>=0&&(r.charCodeAt(f)===61||u(f))&&l++;const b=Math.floor(i/4)*3-(l||0);return b>0?b:0}let o=0;for(let i=0,c=r.length;i=55296&&l<=56319&&i+1=56320&&f<=57343?(o+=4,i++):o+=3}else o+=3}return o}const Ge="1.18.1",Et=64*1024,{isFunction:Ee}=a,as=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),Rt=e=>{if(!a.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},gt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},cs=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},ls=e=>{const t=a.global!==void 0&&a.global!==null?a.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=a.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:s,Request:o,Response:i}=e,c=s?Ee(s):typeof fetch=="function",l=Ee(o),f=Ee(i);if(!c)return!1;const u=c&&Ee(n),p=c&&(typeof r=="function"?(d=>y=>d.encode(y))(new r):async d=>new Uint8Array(await new o(d).arrayBuffer())),b=l&&u&>(()=>{let d=!1;const y=new o(U.origin,{body:new n,method:"POST",get duplex(){return d=!0,"half"}}),E=y.headers.has("Content-Type");return y.body!=null&&y.body.cancel(),d&&!E}),w=f&&u&>(()=>a.isReadableStream(new i("").body)),g={stream:w&&(d=>d.body)};c&&["text","arrayBuffer","blob","formData","stream"].forEach(d=>{!g[d]&&(g[d]=(y,E)=>{let O=y&&y[d];if(O)return O.call(y);throw new h(`Response type '${d}' is not supported`,h.ERR_NOT_SUPPORT,E)})});const S=async d=>{if(d==null)return 0;if(a.isBlob(d))return d.size;if(a.isSpecCompliantForm(d))return(await new o(U.origin,{method:"POST",body:d}).arrayBuffer()).byteLength;if(a.isArrayBufferView(d)||a.isArrayBuffer(d))return d.byteLength;if(a.isURLSearchParams(d)&&(d=d+""),a.isString(d))return(await p(d)).byteLength},m=async(d,y)=>{const E=a.toFiniteNumber(d.getContentLength());return E??S(y)};return async d=>{let{url:y,method:E,data:O,signal:D,cancelToken:_,timeout:M,onDownloadProgress:De,onUploadProgress:Ne,responseType:z,headers:v,withCredentials:ye="same-origin",fetchOptions:tt,maxContentLength:k,maxBodyLength:be}=Gt(d);const ie=a.isNumber(k)&&k>-1,Fe=a.isNumber(be)&&be>-1,yn=A=>a.hasOwnProp(d,A)?d[A]:void 0;let nt=s||fetch;z=z?(z+"").toLowerCase():"text";let $=ts([D,_&&_.toAbortSignal()],M),T=null;const J=$&&$.unsubscribe&&(()=>{$.unsubscribe()});let Q,ae=null;const rt=()=>new h("Request body larger than maxBodyLength limit",h.ERR_BAD_REQUEST,d,T);try{let A;const I=yn("auth");if(I){const R=a.getSafeProp(I,"username")||"",L=a.getSafeProp(I,"password")||"";A={username:R,password:L}}if(cs(y)){const R=new URL(y,U.origin);if(!A&&(R.username||R.password)){const L=Rt(R.username),V=Rt(R.password);A={username:L,password:V}}(R.username||R.password)&&(R.username="",R.password="",y=R.href)}if(A&&(v.delete("authorization"),v.set("Authorization","Basic "+btoa(as((A.username||"")+":"+(A.password||""))))),ie&&typeof y=="string"&&y.startsWith("data:")&&is(y)>k)throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,d,T);if(Fe&&E!=="get"&&E!=="head"){const R=await S(O);if(typeof R=="number"&&isFinite(R)&&(Q=R,R>be))throw rt()}const we=Fe&&(a.isReadableStream(O)||a.isStream(O)),st=(R,L,V)=>wt(R,Et,W=>{if(Fe&&W>be)throw ae=rt();L&&L(W)},V);if(b&&E!=="get"&&E!=="head"&&(Ne||we)){if(Q=Q??await m(v,O),Q!==0||we){let R=new o(y,{method:"POST",body:O,duplex:"half"}),L;if(a.isFormData(O)&&(L=R.headers.get("content-type"))&&v.setContentType(L),R.body){const[V,W]=Ne&&ht(Q,xe(mt(Ne)))||[];O=st(R.body,V,W)}}}else if(we&&!l&&u&&E!=="get"&&E!=="head")O=st(O);else if(we&&l&&!b&&E!=="get"&&E!=="head")throw new h("Stream request bodies are not supported by the current fetch implementation",h.ERR_NOT_SUPPORT,d,T);a.isString(ye)||(ye=ye?"include":"omit");const bn=l&&"credentials"in o.prototype;if(a.isFormData(O)){const R=v.getContentType();R&&/^multipart\/form-data/i.test(R)&&!/boundary=/i.test(R)&&v.delete("content-type")}v.set("User-Agent","axios/"+Ge,!1);const ot={...tt,signal:$,method:E.toUpperCase(),headers:Ht(v.normalize()),body:O,duplex:"half",credentials:bn?ye:void 0};T=l&&new o(y,ot);let q=await(l?nt(T,tt):nt(y,ot));const it=F.from(q.headers);if(ie){const R=a.toFiniteNumber(it.getContentLength());if(R!=null&&R>k)throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,d,T)}const Be=w&&(z==="stream"||z==="response");if(w&&q.body&&(De||ie||Be&&J)){const R={};["status","statusText","headers"].forEach(ce=>{R[ce]=q[ce]});const L=a.toFiniteNumber(it.getContentLength()),[V,W]=De&&ht(L,xe(mt(De),!0))||[];let at=0;const wn=ce=>{if(ie&&(at=ce,at>k))throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,d,T);V&&V(ce)};q=new i(wt(q.body,Et,wn,()=>{W&&W(),J&&J()}),R)}z=z||"text";let H=await g[a.findKey(g,z)||"text"](q,d);if(ie&&!w&&!Be){let R;if(H!=null&&(typeof H.byteLength=="number"?R=H.byteLength:typeof H.size=="number"?R=H.size:typeof H=="string"&&(R=typeof r=="function"?new r().encode(H).byteLength:H.length)),typeof R=="number"&&R>k)throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,d,T)}return!Be&&J&&J(),await new Promise((R,L)=>{Xt(R,L,{data:H,headers:F.from(q.headers),status:q.status,statusText:q.statusText,config:d,request:T})})}catch(A){if(J&&J(),$&&$.aborted&&$.reason instanceof h){const I=$.reason;throw I.config=d,T&&(I.request=T),A!==I&&Object.defineProperty(I,"cause",{__proto__:null,value:A,writable:!0,enumerable:!1,configurable:!0}),I}if(ae)throw T&&!ae.request&&(ae.request=T),ae;if(A instanceof h)throw T&&!A.request&&(A.request=T),A;if(A&&A.name==="TypeError"&&/Load failed|fetch/i.test(A.message)){const I=new h("Network Error",h.ERR_NETWORK,d,T,A&&A.response);throw Object.defineProperty(I,"cause",{__proto__:null,value:A.cause||A,writable:!0,enumerable:!1,configurable:!0}),I}throw h.from(A,A&&A.code,d,T,A&&A.response)}}},us=new Map,Qt=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let i=o.length,c=i,l,f,u=us;for(;c--;)l=o[c],f=u.get(l),f===void 0&&u.set(l,f=c?new Map:ls(t)),u=f;return f};Qt();const Qe={http:Or,xhr:es,fetch:{get:Qt}};a.forEach(Qe,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const St=e=>`- ${e}`,fs=e=>a.isFunction(e)||e===null||e===!1;function ds(e,t){e=a.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let i=0;i`adapter ${l} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=n?i.length>1?`since : -`+i.map(St).join(` -`):" "+St(i[0]):"as no adapter specified";throw new h("There is no suitable adapter to dispatch the request "+c,h.ERR_NOT_SUPPORT)}return s}const Yt={getAdapter:ds,adapters:Qe};function ke(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new me(null,e)}function Ot(e){return ke(e),e.headers=F.from(e.headers),e.data=je.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Yt.getAdapter(e.adapter||he.adapter,e)(e).then(function(r){ke(e),e.response=r;try{r.data=je.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=F.from(r.headers),r},function(r){if(!Kt(r)&&(ke(e),r&&r.response)){e.response=r.response;try{r.response.data=je.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=F.from(r.response.headers)}return Promise.reject(r)})}const Ue={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ue[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const At={};Ue.transitional=function(t,n,r){function s(o,i){return"[Axios v"+Ge+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,c)=>{if(t===!1)throw new h(s(i," has been removed"+(n?" in "+n:"")),h.ERR_DEPRECATED);return n&&!At[i]&&(At[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}};Ue.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function ps(e,t,n){if(typeof e!="object"||e===null)throw new h("options must be an object",h.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(i){const c=e[o],l=c===void 0||i(c,o,e);if(l!==!0)throw new h("option "+o+" must be "+l,h.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new h("Unknown option "+o,h.ERR_BAD_OPTION)}}const Oe={assertOptions:ps,validators:Ue},N=Oe.validators;let X=class{constructor(t){this.defaults=t||{},this.interceptors={request:new dt,response:new dt}}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=(()=>{if(!s.stack)return"";const i=s.stack.indexOf(` -`);return i===-1?"":s.stack.slice(i+1)})();try{if(!r.stack)r.stack=o;else if(o){const i=o.indexOf(` -`),c=i===-1?-1:o.indexOf(` -`,i+1),l=c===-1?"":o.slice(c+1);String(r.stack).endsWith(l)||(r.stack+=` -`+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=G(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&Oe.assertOptions(r,{silentJSONParsing:N.transitional(N.boolean),forcedJSONParsing:N.transitional(N.boolean),clarifyTimeoutError:N.transitional(N.boolean),legacyInterceptorReqResOrdering:N.transitional(N.boolean),advertiseZstdAcceptEncoding:N.transitional(N.boolean),validateStatusUndefinedResolves:N.transitional(N.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:Oe.assertOptions(s,{encode:N.function,serialize:N.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Oe.assertOptions(n,{baseUrl:N.spelling("baseURL"),withXsrfToken:N.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","query","common"],g=>{delete o[g]}),n.headers=F.concat(i,o);const c=[];let l=!0;this.interceptors.request.forEach(function(S){if(typeof S.runWhen=="function"&&S.runWhen(n)===!1)return;l=l&&S.synchronous;const m=n.transitional||Xe;m&&m.legacyInterceptorReqResOrdering?c.unshift(S.fulfilled,S.rejected):c.push(S.fulfilled,S.rejected)});const f=[];this.interceptors.response.forEach(function(S){f.push(S.fulfilled,S.rejected)});let u,p=0,b;if(!l){const g=[Ot.bind(this),void 0];for(g.unshift(...c),g.push(...f),b=g.length,u=Promise.resolve(n);p{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 me(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 en(function(s){t=s}),cancel:t}}};function ms(e){return function(n){return e.apply(null,n)}}function ys(e){return a.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 tn(e){const t=new X(e),n=Dt(X.prototype.request,t);return a.extend(n,X.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return tn(G(e,s))},n}const x=tn(he);x.Axios=X;x.CanceledError=me;x.CancelToken=hs;x.isCancel=Kt;x.VERSION=Ge;x.toFormData=Pe;x.AxiosError=h;x.Cancel=x.CanceledError;x.all=function(t){return Promise.all(t)};x.spread=ms;x.isAxiosError=ys;x.mergeConfig=G;x.AxiosHeaders=F;x.formToJSON=e=>Wt(a.isHTMLForm(e)?new FormData(e):e);x.getAdapter=Yt.getAdapter;x.HttpStatusCode=ve;x.default=x;const{Axios:Ls,AxiosError:Is,CanceledError:js,isCancel:ks,CancelToken:qs,VERSION:Hs,all:Ms,Cancel:zs,isAxiosError:vs,spread:$s,toFormData:Vs,AxiosHeaders:Js,HttpStatusCode:Ws,formToJSON:Ks,getAdapter:Xs,mergeConfig:Zs,create:Gs}=x,nn="3.8.1",bs=nn,oe=typeof Buffer=="function",_t=typeof TextDecoder=="function"?new TextDecoder("utf-8",{ignoreBOM:!0}):void 0,xt=typeof TextEncoder=="function"?new TextEncoder:void 0,ws="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ue=Array.prototype.slice.call(ws),Re=(e=>{let t={};return e.forEach((n,r)=>t[n]=r),t})(ue),Es=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,P=String.fromCharCode.bind(String),Tt=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),rn=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),sn=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),on=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+=ue[t>>18&63]+ue[t>>12&63]+ue[t>>6&63]+ue[t&63]}return i?o.slice(0,i-3)+"===".substring(i):o},Ye=typeof btoa=="function"?e=>btoa(e):oe?e=>{if(/[^\x00-\xff]/.test(e))throw new TypeError("invalid character found");return Buffer.from(e,"binary").toString("base64")}:on,$e=oe?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let r=0,s=e.length;rt?rn($e(e)):$e(e),Rs=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?P(192|t>>>6)+P(128|t&63):P(224|t>>>12&15)+P(128|t>>>6&63)+P(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return P(240|t>>>18&7)+P(128|t>>>12&63)+P(128|t>>>6&63)+P(128|t&63)}},gs=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,an=e=>e.replace(gs,Rs),Ct=oe?e=>Buffer.from(e,"utf8").toString("base64"):xt?e=>$e(xt.encode(e)):e=>Ye(an(e)),ee=(e,t=!1)=>t?rn(Ct(e)):Ct(e),Pt=e=>ee(e,!0),Ss=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Os=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 P((n>>>10)+55296)+P((n&1023)+56320);case 3:return P((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return P((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},cn=e=>e.replace(Ss,Os),ln=e=>{if(e=e.replace(/\s+/g,""),!Es.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(P(t>>16&255,t>>8&255)):s.push(P(t>>16&255,t>>8&255,t&255));return s.join("")},et=typeof atob=="function"?e=>atob(sn(e)):oe?e=>Buffer.from(e,"base64").toString("binary"):ln,un=oe?e=>Tt(Buffer.from(e,"base64")):e=>Tt(et(e).split("").map(t=>t.charCodeAt(0))),fn=e=>un(dn(e)),As=oe?e=>Buffer.from(e,"base64").toString("utf8"):_t?e=>_t.decode(un(e)):e=>cn(et(e)),dn=e=>sn(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Ve=e=>As(dn(e)),_s=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)},pn=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),hn=function(){const e=(t,n)=>Object.defineProperty(String.prototype,t,pn(n));e("fromBase64",function(){return Ve(this)}),e("toBase64",function(t){return ee(this,t)}),e("toBase64URI",function(){return ee(this,!0)}),e("toBase64URL",function(){return ee(this,!0)}),e("toUint8Array",function(){return fn(this)})},mn=function(){const e=(t,n)=>Object.defineProperty(Uint8Array.prototype,t,pn(n));e("toBase64",function(t){return Ae(this,t)}),e("toBase64URI",function(){return Ae(this,!0)}),e("toBase64URL",function(){return Ae(this,!0)})},xs=()=>{hn(),mn()},Qs={version:nn,VERSION:bs,atob:et,atobPolyfill:ln,btoa:Ye,btoaPolyfill:on,fromBase64:Ve,toBase64:ee,encode:ee,encodeURI:Pt,encodeURL:Pt,utob:an,btou:cn,decode:Ve,isValid:_s,fromUint8Array:Ae,toUint8Array:fn,extendString:hn,extendUint8Array:mn,extendBuiltins:xs},C=[];for(let e=0;e<256;++e)C.push((e+256).toString(16).slice(1));function Ts(e,t=0){return(C[e[t+0]]+C[e[t+1]]+C[e[t+2]]+C[e[t+3]]+"-"+C[e[t+4]]+C[e[t+5]]+"-"+C[e[t+6]]+C[e[t+7]]+"-"+C[e[t+8]]+C[e[t+9]]+"-"+C[e[t+10]]+C[e[t+11]]+C[e[t+12]]+C[e[t+13]]+C[e[t+14]]+C[e[t+15]]).toLowerCase()}let qe;const Cs=new Uint8Array(16);function Ps(){if(!qe){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");qe=crypto.getRandomValues.bind(crypto)}return qe(Cs)}const Us=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Ut={randomUUID:Us};function Ds(e,t,n){var s;e=e||{};const r=e.random??((s=e.rng)==null?void 0:s.call(e))??Ps();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,Ts(r)}function Ys(e,t,n){return Ut.randomUUID&&!e?Ut.randomUUID():Ds(e)}export{x as a,Qs as g,Ys as v}; diff --git a/assets/vendor-utils-SR2uUhRI.js b/assets/vendor-utils-SR2uUhRI.js new file mode 100644 index 0000000..3df170e --- /dev/null +++ b/assets/vendor-utils-SR2uUhRI.js @@ -0,0 +1,9 @@ +function Ft(e,t){return function(){return e.apply(t,arguments)}}const{toString:On}=Object.prototype,{getPrototypeOf:ne}=Object,{iterator:fe,toStringTag:Bt}=Symbol,Ae=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ue=(e,t)=>{let n=e;const r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),Ae(n,t))return!0;n=ne(n)}return!1},Sn=(e,t)=>e!=null&&ue(e,t)?e[t]:void 0,Je=(e=>t=>{const n=On.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),I=e=>(e=e.toLowerCase(),t=>Je(t)===e),Te=e=>t=>typeof t===e,{isArray:Z}=Array,G=Te("undefined");function re(e){return e!==null&&!G(e)&&e.constructor!==null&&!G(e.constructor)&&B(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Lt=I("ArrayBuffer");function An(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Lt(e.buffer),t}const xn=Te("string"),B=Te("function"),jt=Te("number"),se=e=>e!==null&&typeof e=="object",_n=e=>e===!0||e===!1,Ee=e=>{if(!se(e))return!1;const t=ne(e);return(t===null||t===Object.prototype||ne(t)===null)&&!ue(e,Bt)&&!ue(e,fe)},Tn=e=>{if(!se(e)||re(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Pn=I("Date"),Cn=I("File"),Un=e=>!!(e&&typeof e.uri<"u"),Dn=e=>e&&typeof e.getParts<"u",Nn=I("Blob"),Fn=I("FileList"),Bn=I("Set"),Ln=e=>se(e)&&B(e.pipe);function jn(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const lt=jn(),ut=typeof lt.FormData<"u"?lt.FormData:void 0,In=e=>{if(!e)return!1;if(ut&&e instanceof ut)return!0;const t=ne(e);if(!t||t===Object.prototype||!B(e.append))return!1;const n=Je(e);return n==="formdata"||n==="object"&&B(e.toString)&&e.toString()==="[object FormData]"},kn=I("URLSearchParams"),[qn,Hn,Mn,zn]=["ReadableStream","Request","Response","Headers"].map(I),$n=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function de(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),Z(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,kt=e=>!G(e)&&e!==K;function Me(...e){const{caseless:t,skipUndefined:n}=kt(this)&&this||{},r={},s=(o,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;const c=t&&typeof i=="string"&&It(r,i)||i,l=Ae(r,c)?r[c]:void 0;Ee(l)&&Ee(o)?r[c]=Me(l,o):Ee(o)?r[c]=Me({},o):Z(o)?r[c]=o.slice():(!n||!G(o))&&(r[c]=o)};for(let o=0,i=e.length;o(de(t,(s,o)=>{n&&B(s)?Object.defineProperty(e,o,{__proto__:null,value:Ft(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),vn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Wn=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},Jn=(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&&ne(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Kn=(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},Xn=e=>{if(!e)return null;if(Z(e))return e;let t=e.length;if(!jt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Zn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&ne(Uint8Array)),Gn=(e,t)=>{const r=(e&&e[fe]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},Qn=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Yn=I("HTMLFormElement"),er=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),{propertyIsEnumerable:tr}=Object.prototype,nr=I("RegExp"),qt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};de(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},rr=e=>{qt(e,(t,n)=>{if(B(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(B(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+"'")})}})},sr=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return Z(e)?r(e):r(String(e).split(t)),n},or=()=>{},ir=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ar(e){return!!(e&&B(e.append)&&e[Bt]==="FormData"&&e[fe])}const cr=e=>{const t=new WeakSet,n=r=>{if(se(r)){if(t.has(r))return;if(re(r))return r;if(!("toJSON"in r)){t.add(r);let s;if(Bn(r)){s=[];for(const o of r){const i=n(o);!G(i)&&s.push(i)}}else s=Z(r)?[]:{},de(r,(o,i)=>{const c=n(o);!G(c)&&(s[i]=c)});return t.delete(r),s}}return r};return n(e)},lr=I("AsyncFunction"),ur=e=>e&&(se(e)||B(e))&&B(e.then)&&B(e.catch),Ht=((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",B(K.postMessage)),fr=typeof queueMicrotask<"u"?queueMicrotask.bind(K):typeof process<"u"&&process.nextTick||Ht,Mt=e=>e!=null&&B(e[fe]),dr=e=>e!=null&&ue(e,fe)&&Mt(e),a={isArray:Z,isArrayBuffer:Lt,isBuffer:re,isFormData:In,isArrayBufferView:An,isString:xn,isNumber:jt,isBoolean:_n,isObject:se,isPlainObject:Ee,isEmptyObject:Tn,isReadableStream:qn,isRequest:Hn,isResponse:Mn,isHeaders:zn,isUndefined:G,isDate:Pn,isFile:Cn,isReactNativeBlob:Un,isReactNative:Dn,isBlob:Nn,isRegExp:nr,isFunction:B,isStream:Ln,isURLSearchParams:kn,isTypedArray:Zn,isFileList:Fn,forEach:de,merge:Me,extend:Vn,trim:$n,stripBOM:vn,inherits:Wn,toFlatObject:Jn,kindOf:Je,kindOfTest:I,endsWith:Kn,toArray:Xn,forEachEntry:Gn,matchAll:Qn,isHTMLForm:Yn,hasOwnProperty:Ae,hasOwnProp:Ae,hasOwnInPrototypeChain:ue,getSafeProp:Sn,reduceDescriptors:qt,freezeMethods:rr,toObjectSet:sr,toCamelCase:er,noop:or,toFiniteNumber:ir,findKey:It,global:K,isContextDefined:kt,isSpecCompliantForm:ar,toJSONObject:cr,isAsyncFn:lr,isThenable:ur,setImmediate:Ht,asap:fr,isIterable:Mt,isSafeIterable:dr},pr=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"]),hr=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();const c=a.hasOwnProp(t,n);!n||c&&a.hasOwnProp(pr,n)||(n==="set-cookie"?c?t[n].push(r):t[n]=[r]:t[n]=c?t[n]+", "+r:r)}),t};function mr(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const yr=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),br=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Ke(e,t){return a.isArray(e)?e.map(n=>Ke(n,t)):mr(String(e).replace(t,""))}const wr=e=>Ke(e,yr),gr=e=>Ke(e,br);function zt(e){const t=Object.create(null);return a.forEach(e.toJSON(),(n,r)=>{t[r]=gr(n)}),t}const ft=Symbol("internals");function ce(e){return e&&String(e).trim().toLowerCase()}function Re(e){return e===!1||e==null?e:a.isArray(e)?e.map(Re):wr(String(e))}function Er(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 Rr=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function Be(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}function Or(e){const t=e.length-1;if(t<1||e.charCodeAt(0)!==34||e.charCodeAt(t)!==34)return e;let n="";for(let r=1;r=t))return e;n+=e[r]}return n}function Sr(e){const t=Object.create(null),n=String(e);let r=0,s=!1,o=!1;function i(c){const l=Be(n.slice(r,c)),d=l.indexOf("=");if(d<1)return;const u=Be(l.slice(0,d));if(!Rr.test(u))return;const p=u.toLowerCase();if(p==="__proto__"||p==="constructor"||p==="prototype")return;const b=Be(l.slice(d+1));t[p]=Or(b)}for(let c=0;c/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Le(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 xr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function _r(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let F=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(c,l,d){const u=ce(l);if(!u)return;const p=a.findKey(s,u);(!p||s[p]===void 0||d===!0||d===void 0&&s[p]!==!1)&&(s[p||l]=Re(c))}const i=(c,l)=>a.forEach(c,(d,u)=>o(d,u,l));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(a.isString(t)&&(t=t.trim())&&!Ar(t))i(hr(t),n);else if(a.isObject(t)&&a.isSafeIterable(t)){let c=Object.create(null),l,d;for(const u of t){if(!a.isArray(u))throw new TypeError("Object iterator must return a key-value pair");d=u[0],a.hasOwnProp(c,d)?(l=c[d],c[d]=a.isArray(l)?[...l,u[1]]:[l,u[1]]):c[d]=u[1]}i(c,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=ce(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Er(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=ce(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Le(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=ce(i),i){const c=a.findKey(r,i);c&&(!n||Le(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||Le(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]=Re(s),delete n[o];return}const c=t?xr(o):String(o).trim();c!==o&&delete n[o],n[c]=Re(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(){const t=this.get("set-cookie");return a.isArray(t)?t:t==null||t===!1?[]:[t]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static parseParameters(t){return Sr(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[ft]=this[ft]={accessors:{}}).accessors,s=this.prototype;function o(i){const c=ce(i);r[c]||(_r(s,i),r[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};F.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(F.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(F);const xe="[REDACTED ****]";function Tr(e){if(a.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(a.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function Pr(e,t){const n=new Set(t.map(o=>String(o).toLowerCase())),r=[],s=o=>{if(o===null||typeof o!="object"||a.isBuffer(o))return o;if(r.indexOf(o)!==-1)return;o instanceof F&&(o=o.toJSON()),r.push(o);let i;if(a.isArray(o))i=[],o.forEach((c,l)=>{const d=s(c);a.isUndefined(d)||(i[l]=d)});else{if(!a.isPlainObject(o)&&Tr(o))return r.pop(),o;i=Object.create(null);for(const[c,l]of Object.entries(o)){const d=n.has(c.toLowerCase())?xe:s(l);a.isUndefined(d)||(i[c]=d)}}return r.pop(),i};return s(e)}function dt(e){try{return String(e)}catch{return""}}function Cr(e){return e.errors.map(n=>{try{return n&&n.message?dt(n.message):dt(n)}catch{return""}}).filter(Boolean).join("; ")||e.name||"AggregateError"}let h=class $t extends Error{static from(t,n,r,s,o,i){let c=t.message;!c&&a.isArray(t.errors)&&t.errors.length&&(c=Cr(t));const l=new $t(c,n||t.code,r,s,o);return Object.defineProperty(l,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),l.name=t.name,t.status!=null&&l.status==null&&(l.status=t.status),i&&Object.assign(l,i),l}constructor(t,n,r,s,o){super(t),Object.defineProperty(this,"message",{__proto__:null,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(){const t=this.config,n=t&&a.hasOwnProp(t,"redact")?t.redact:void 0,r=a.isArray(n)&&n.length>0?Pr(t,n):a.toJSONObject(t);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:r,code:this.code,status:this.status}}};h.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";h.ERR_BAD_OPTION="ERR_BAD_OPTION";h.ECONNABORTED="ECONNABORTED";h.ETIMEDOUT="ETIMEDOUT";h.ECONNREFUSED="ECONNREFUSED";h.ERR_NETWORK="ERR_NETWORK";h.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";h.ERR_DEPRECATED="ERR_DEPRECATED";h.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";h.ERR_BAD_REQUEST="ERR_BAD_REQUEST";h.ERR_CANCELED="ERR_CANCELED";h.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";h.ERR_INVALID_URL="ERR_INVALID_URL";h.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Ur=null,Vt=100;function ze(e){return a.isPlainObject(e)||a.isArray(e)}function vt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function je(e,t,n){return e?e.concat(t).map(function(s,o){return s=vt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function Dr(e){return a.isArray(e)&&!e.some(ze)}const Nr=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(y,w){return!a.isUndefined(w[y])});const r=n.metaTokens,s=n.visitor||R,o=n.dots,i=n.indexes,c=n.Blob||typeof Blob<"u"&&Blob,l=n.maxDepth===void 0?Vt:n.maxDepth,d=c&&a.isSpecCompliantForm(t),u=[];if(!a.isFunction(s))throw new TypeError("visitor must be a function");function p(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(a.isBoolean(f))return f.toString();if(!d&&a.isBlob(f))throw new h("Blob is not supported. Use a Buffer instead.");if(a.isArrayBuffer(f)||a.isTypedArray(f)){if(d&&typeof c=="function")return new c([f]);throw new h("Blob is not supported. Use a Buffer instead.",h.ERR_NOT_SUPPORT)}return f}function b(f){if(f>l)throw new h("Object is too deeply nested ("+f+" levels). Max depth: "+l,h.ERR_FORM_DATA_DEPTH_EXCEEDED)}function E(f,y){if(l===1/0)return JSON.stringify(f);const w=[];return JSON.stringify(f,function(D,x){if(!a.isObject(x))return x;for(;w.length&&w[w.length-1]!==this;)w.pop();return w.push(x),b(y+w.length-1),x})}function R(f,y,w){let O=f;if(a.isReactNative(t)&&a.isReactNativeBlob(f))return t.append(je(w,y,o),p(f)),!1;if(f&&!w&&typeof f=="object"){if(a.endsWith(y,"{}"))y=r?y:y.slice(0,-2),f=E(f,1);else if(a.isArray(f)&&Dr(f)||(a.isFileList(f)||a.endsWith(y,"[]"))&&(O=a.toArray(f)))return y=vt(y),O.forEach(function(x,M){!(a.isUndefined(x)||x===null)&&t.append(i===!0?je([y],M,o):i===null?y:y+"[]",p(x))}),!1}return ze(f)?!0:(t.append(je(w,y,o),p(f)),!1)}const S=Object.assign(Nr,{defaultVisitor:R,convertValue:p,isVisitable:ze});function m(f,y,w=0){if(!a.isUndefined(f)){if(b(w),u.indexOf(f)!==-1)throw new Error("Circular reference detected in "+y.join("."));u.push(f),a.forEach(f,function(D,x){(!(a.isUndefined(D)||D===null)&&s.call(t,D,a.isString(x)?x.trim():x,y,S))===!0&&m(D,y?y.concat(x):[x],w+1)}),u.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return m(e),t}function pt(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Xe(e,t){this._pairs=[],e&&Pe(e,this,t)}const Wt=Xe.prototype;Wt.append=function(t,n){this._pairs.push([t,n])};Wt.toString=function(t){const n=t?r=>t.call(this,r,pt):pt;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function Fr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Jt(e,t,n){if(!t)return e;e=e||"";const r=a.isFunction(n)?{serialize:n}:n,s=a.getSafeProp(r,"encode")||Fr,o=a.getSafeProp(r,"serialize");let i;if(o?i=o(t,r):i=a.isURLSearchParams(t)?t.toString():new Xe(t,r).toString(s),i){const c=e.indexOf("#");c!==-1&&(e=e.slice(0,c)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class ht{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 Ze={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Br=typeof URLSearchParams<"u"?URLSearchParams:Xe,Lr=typeof FormData<"u"?FormData:null,jr=typeof Blob<"u"?Blob:null,Ir={isBrowser:!0,classes:{URLSearchParams:Br,FormData:Lr,Blob:jr},protocols:["http","https","file","blob","url","data"]},Ge=typeof window<"u"&&typeof document<"u",$e=typeof navigator=="object"&&navigator||void 0,kr=Ge&&(!$e||["ReactNative","NativeScript","NS"].indexOf($e.product)<0),qr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Hr=Ge&&window.location.href||"http://localhost",Mr=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ge,hasStandardBrowserEnv:kr,hasStandardBrowserWebWorkerEnv:qr,navigator:$e,origin:Hr},Symbol.toStringTag,{value:"Module"})),U={...Mr,...Ir};function zr(e,t){return Pe(e,new U.classes.URLSearchParams,{visitor:function(n,r,s,o){return U.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}const mt=Vt;function Kt(e){if(e>mt)throw new h("FormData field is too deeply nested ("+e+" levels). Max depth: "+mt,h.ERR_FORM_DATA_DEPTH_EXCEEDED)}function $r(e){const t=[],n=/[^.[\]]+|\[([^.[\]]*)]/g;let r;for(;(r=n.exec(e))!==null;)Kt(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function Vr(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,l?(a.hasOwnProp(s,i)?s[i]=a.isArray(s[i])?s[i].concat(r):[s[i],r]:s[i]=r,!c):((!a.hasOwnProp(s,i)||!a.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&a.isArray(s[i])&&(s[i]=Vr(s[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t($r(r),s,n,0)}),n}return null}const ee=(e,t)=>e!=null&&a.hasOwnProp(e,t)?e[t]:void 0;function vr(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 pe={transitional:Ze,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(Xt(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){const l=ee(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return zr(t,l).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=ee(this,"env"),u=d&&d.FormData;return Pe(c?{"files[]":t}:t,u&&new u,l)}}return o||s?(n.setContentType("application/json",!1),vr(t)):t}],transformResponse:[function(t){const n=ee(this,"transitional")||pe.transitional,r=n&&n.forcedJSONParsing,s=ee(this,"responseType"),o=s==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!s||o)){const c=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,ee(this,"parseReviver"))}catch(l){if(c)throw l.name==="SyntaxError"?h.from(l,h.ERR_BAD_RESPONSE,this,null,ee(this,"response")):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:U.classes.FormData,Blob:U.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","query"],e=>{pe.headers[e]={}});function Ie(e,t){const n=this||pe,r=t||n,s=F.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 Zt(e){return!!(e&&e.__CANCEL__)}let he=class extends h{constructor(t,n,r){super(t??"canceled",h.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function Gt(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new h("Request failed with status code "+n.status,n.status>=400&&n.status<500?h.ERR_BAD_REQUEST:h.ERR_BAD_RESPONSE,n.config,n.request,n))}function Wr(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Jr(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(l){const d=Date.now(),u=r[o];i||(i=d),n[s]=l,r[s]=d;let p=o,b=0;for(;p!==s;)b+=n[p++],p=p%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),d-i{n=u,s=null,o&&(clearTimeout(o),o=null),e(...d)};return[(...d)=>{const u=Date.now(),p=u-n;p>=r?i(d,u):(s=d,o||(o=setTimeout(()=>{o=null,i(s)},r-p)))},()=>s&&i(s)]}const _e=(e,t,n=3)=>{let r=0;const s=Jr(50,250);return Kr(o=>{if(!o||typeof o.loaded!="number")return;const i=o.loaded,c=o.lengthComputable?o.total:void 0,l=Math.max(0,c!=null?Math.min(i,c):i),d=Math.max(0,l-r),u=s(d);r=Math.max(r,l);const p={loaded:l,total:c,progress:c?l/c:void 0,bytes:d,rate:u||void 0,estimated:u&&c?(c-l)/u:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(p)},n)},yt=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},bt=(e,t=a.asap)=>(...n)=>t(()=>e(...n)),Xr=U.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,U.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(U.origin),U.navigator&&/(msie|trident)/i.test(U.navigator.userAgent)):()=>!0,Zr=U.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.split(";");for(let n=0;n0&&e.charCodeAt(n-1)===47;)n--;return e.slice(0,n)+"/"+t.replace(/^\/+/,"")}const Yr=/^https?:(?!\/\/)/i,es=/[\t\n\r]/g;function ts(e){let t=0;for(;t`${n}${r}${xe}`)}function ss(e){const t=e.replace(/^(https?:\/{0,2})[^/?#]*@/i,`$1${xe}@`),n=t.indexOf("#"),s=(n===-1?t:t.slice(0,n)).replace(/([?&][^=&#]*=)[^&#]*/g,`$1${xe}`);return n===-1?s:`${s}#${rs(t.slice(n+1))}`}function wt(e,t){if(typeof e=="string"){const n=ns(e);if(Yr.test(n))throw new h(`Invalid URL ${JSON.stringify(ss(n))}: missing "//" after protocol`,h.ERR_INVALID_URL,t)}}function Qt(e,t,n,r){wt(t,r);let s=!Gr(t);return e&&(s||n===!1)?(wt(e,r),Qr(e,t)):t}const gt=e=>e instanceof F?{...e}:e,os=e=>Object.getOwnPropertySymbols&&Object.getOwnPropertyDescriptor?Object.keys(e).concat(Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)):Object.keys(e);function Q(e,t){e=e||{},t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,p,b,E){return a.isPlainObject(u)&&a.isPlainObject(p)?a.merge.call({caseless:E},u,p):a.isPlainObject(p)?a.merge({},p):a.isArray(p)?p.slice():p}function s(u,p,b,E){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u,b,E)}else return r(u,p,b,E)}function o(u,p){if(!a.isUndefined(p))return r(void 0,p)}function i(u,p){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u)}else return r(void 0,p)}function c(u){const p=a.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!a.isUndefined(p))if(a.isPlainObject(p)){if(a.hasOwnProp(p,u))return p[u]}else return;const b=a.hasOwnProp(e,"transitional")?e.transitional:void 0;if(a.isPlainObject(b)&&a.hasOwnProp(b,u))return b[u]}function l(u,p,b){if(a.hasOwnProp(t,b))return r(u,p);if(a.hasOwnProp(e,b))return r(void 0,u)}const d={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,allowedSocketPaths:i,responseEncoding:i,validateStatus:l,headers:(u,p,b)=>s(gt(u),gt(p),b,!0)};return a.forEach(os({...e,...t}),function(p){if(p==="__proto__"||p==="constructor"||p==="prototype")return;const b=a.hasOwnProp(d,p)?d[p]:s,E=a.hasOwnProp(e,p)?e[p]:void 0,R=a.hasOwnProp(t,p)?t[p]:void 0,S=b(E,R,p);a.isUndefined(S)&&b!==l||(n[p]=S)}),a.hasOwnProp(t,"validateStatus")&&a.isUndefined(t.validateStatus)&&c("validateStatusUndefinedResolves")===!1&&(a.hasOwnProp(e,"validateStatus")?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}const is=["content-type","content-length"];function as(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,s])=>{is.includes(r.toLowerCase())&&e.set(r,s)})}const cs=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function Yt(e){const t=Q({},e),n=b=>a.hasOwnProp(t,b)?t[b]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),i=n("xsrfCookieName");let c=n("headers");const l=n("auth"),d=n("baseURL"),u=n("allowAbsoluteUrls"),p=n("url");if(t.headers=c=F.from(c),t.url=Jt(Qt(d,p,u,t),n("params"),n("paramsSerializer")),l){const b=a.getSafeProp(l,"username")||"",E=a.getSafeProp(l,"password")||"";try{c.set("Authorization","Basic "+btoa(b+":"+(E?cs(E):"")))}catch(R){throw h.from(R,h.ERR_BAD_OPTION_VALUE,e)}}if(a.isFormData(r)&&(U.hasStandardBrowserEnv||U.hasStandardBrowserWebWorkerEnv||a.isReactNative(r)?c.setContentType(void 0):a.isFunction(r.getHeaders)&&as(c,r.getHeaders(),n("formDataHeaderPolicy"))),U.hasStandardBrowserEnv&&(a.isFunction(s)&&(s=s(t)),s===!0||s==null&&Xr(t.url))){const E=o&&i&&Zr.read(i);E&&c.set(o,E)}return t}const ls=typeof XMLHttpRequest<"u",us=ls&&function(e){return new Promise(function(n,r){const s=Yt(e);let o=s.data;const i=F.from(s.headers).normalize();let{responseType:c,onUploadProgress:l,onDownloadProgress:d}=s,u,p,b,E,R;function S(){E&&E(),R&&R(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(s.method.toUpperCase(),s.url,!0),m.timeout=s.timeout;function f(){if(!m)return;const w=F.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),D={data:!c||c==="text"||c==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:w,config:e,request:m};Gt(function(M){n(M),S()},function(M){r(M),S()},D),m=null}"onloadend"in m?m.onloadend=f:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.startsWith("file:"))||setTimeout(f)},m.onabort=function(){m&&(r(new h("Request aborted",h.ECONNABORTED,e,m)),S(),m=null)},m.onerror=function(O){const D=O&&O.message?O.message:"Network Error",x=new h(D,h.ERR_NETWORK,e,m);x.event=O||null,r(x),S(),m=null},m.ontimeout=function(){let O=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const D=s.transitional||Ze;s.timeoutErrorMessage&&(O=s.timeoutErrorMessage),r(new h(O,D.clarifyTimeoutError?h.ETIMEDOUT:h.ECONNABORTED,e,m)),S(),m=null},o===void 0&&i.setContentType(null),"setRequestHeader"in m&&a.forEach(zt(i),function(O,D){m.setRequestHeader(D,O)}),a.isUndefined(s.withCredentials)||(m.withCredentials=!!s.withCredentials),c&&c!=="json"&&(m.responseType=s.responseType),d&&([b,R]=_e(d,!0),m.addEventListener("progress",b)),l&&m.upload&&([p,E]=_e(l),m.upload.addEventListener("progress",p),m.upload.addEventListener("loadend",E)),(s.cancelToken||s.signal)&&(u=w=>{m&&(r(!w||w.type?new he(null,e,m):w),m.abort(),S(),m=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const y=Wr(s.url);if(y&&!U.protocols.includes(y)){r(new h("Unsupported protocol "+y+":",h.ERR_BAD_REQUEST,e)),S();return}m.send(o||null)})},fs=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const s=function(l){if(!r){r=!0,i();const d=l instanceof Error?l:this.reason;n.abort(d instanceof h?d:new he(d instanceof Error?d.message:d))}};let o=t&&setTimeout(()=>{o=null,s(new h(`timeout of ${t}ms exceeded`,h.ETIMEDOUT))},t);const i=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),e=null)};e.forEach(l=>{if(!r){if(l.aborted){s.call(l);return}l.addEventListener("abort",s,{once:!0})}});const{signal:c}=n;return c.unsubscribe=()=>a.asap(i),c},ds=function*(e,t){let n=e.byteLength;if(n{const s=ps(e,t);let o=0,i,c=l=>{i||(i=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:d,value:u}=await s.next();if(d){c(),l.close();return}let p=u.byteLength;if(n){let b=o+=p;n(b)}l.enqueue(new Uint8Array(u))}catch(d){throw c(d),d}},cancel(l){return c(l),s.return()}},{highWaterMark:2})},Rt=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,en=(e,t,n)=>t+2e<=57?e-48:(e&223)-55,ms=e=>e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===45||e===95,ys=e=>e===9||e===10||e===12||e===13||e===32,bs=e=>{const t=Math.floor(e/4),n=e%4;return t*3+(n===2?1:n===3?2:0)},ws=e=>{const t=e.length;let n=0;return t>0&&e.charCodeAt(t-1)===61&&(n++,t>1&&e.charCodeAt(t-2)===61&&n++),Math.floor((t-n)*3/4)},gs=e=>{const t=e.length;let n=0,r=0,s=!1;for(let o=0;o0){s=!0;continue}n++}}return s||r>2||r>0&&(n+r)%4!==0||n%4===1?ws(e):bs(n)},Es=(e,t)=>{if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const n=e.indexOf(",");if(n<0)return 0;const r=e.slice(5,n),s=e.slice(n+1);if(/;base64/i.test(r))return t(s);let i=0;for(let c=0,l=s.length;c=55296&&d<=56319&&c+1=56320&&u<=57343?(i+=4,c++):i+=3}else i+=3}return i};function Rs(e){const t=typeof e=="string"?e.indexOf("#"):-1;return Es(t===-1?e:e.slice(0,t),gs)}const Qe="1.19.0",St=64*1024,{isFunction:we}=a,Os=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),At=e=>{if(!a.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},xt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Ss=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},As=e=>{const t=a.global!==void 0&&a.global!==null?a.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=a.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:s,Request:o,Response:i}=e,c=s?we(s):typeof fetch=="function",l=we(o),d=we(i);if(!c)return!1;const u=c&&we(n),p=c&&(typeof r=="function"?(f=>y=>f.encode(y))(new r):async f=>new Uint8Array(await new o(f).arrayBuffer())),b=l&&u&&xt(()=>{let f=!1;const y=new o(U.origin,{body:new n,method:"POST",get duplex(){return f=!0,"half"}}),w=y.headers.has("Content-Type");return y.body!=null&&y.body.cancel(),f&&!w}),E=d&&u&&xt(()=>a.isReadableStream(new i("").body)),R={stream:E&&(f=>f.body)};c&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!R[f]&&(R[f]=(y,w)=>{let O=y&&y[f];if(O)return O.call(y);throw new h(`Response type '${f}' is not supported`,h.ERR_NOT_SUPPORT,w)})});const S=async f=>{if(f==null)return 0;if(a.isBlob(f))return f.size;if(a.isSpecCompliantForm(f))return(await new o(U.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(a.isArrayBufferView(f)||a.isArrayBuffer(f))return f.byteLength;if(a.isURLSearchParams(f)&&(f=f+""),a.isString(f))return(await p(f)).byteLength},m=async(f,y)=>{const w=a.toFiniteNumber(f.getContentLength());return w??S(y)};return async f=>{let{url:y,method:w,data:O,signal:D,cancelToken:x,timeout:M,onDownloadProgress:Ue,onUploadProgress:De,responseType:z,headers:$,withCredentials:me="same-origin",fetchOptions:nt,maxContentLength:k,maxBodyLength:ye}=Yt(f);const oe=a.isNumber(k)&&k>-1,Ne=a.isNumber(ye)&&ye>-1,gn=A=>a.hasOwnProp(f,A)?f[A]:void 0;let rt=s||fetch;z=z?(z+"").toLowerCase():"text";let V=fs([D,x&&x.toAbortSignal()],M),T=null;const W=V&&V.unsubscribe&&(()=>{V.unsubscribe()});let Y,ie=null;const st=()=>new h("Request body larger than maxBodyLength limit",h.ERR_BAD_REQUEST,f,T);try{let A;const j=gn("auth");if(j){const g=a.getSafeProp(j,"username")||"",L=a.getSafeProp(j,"password")||"";A={username:g,password:L}}if(Ss(y)){const g=new URL(y,U.origin);if(!A&&(g.username||g.password)){const L=At(g.username),v=At(g.password);A={username:L,password:v}}(g.username||g.password)&&(g.username="",g.password="",y=g.href)}if(A&&($.delete("authorization"),$.set("Authorization","Basic "+btoa(Os((A.username||"")+":"+(A.password||""))))),oe&&typeof y=="string"&&y.startsWith("data:")&&Rs(y)>k)throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,f,T);if(Ne&&w!=="get"&&w!=="head"){const g=await S(O);if(typeof g=="number"&&isFinite(g)&&(Y=g,g>ye))throw st()}const be=Ne&&(a.isReadableStream(O)||a.isStream(O)),ot=(g,L,v)=>Et(g,St,J=>{if(Ne&&J>ye)throw ie=st();L&&L(J)},v);if(b&&w!=="get"&&w!=="head"&&(De||be)){if(Y=Y??await m($,O),Y!==0||be){let g=new o(y,{method:"POST",body:O,duplex:"half"}),L;if(a.isFormData(O)&&(L=g.headers.get("content-type"))&&$.setContentType(L),g.body){const[v,J]=De&&yt(Y,_e(bt(De)))||[];O=ot(g.body,v,J)}}}else if(be&&!l&&u&&w!=="get"&&w!=="head")O=ot(O);else if(be&&l&&!b&&w!=="get"&&w!=="head")throw new h("Stream request bodies are not supported by the current fetch implementation",h.ERR_NOT_SUPPORT,f,T);a.isString(me)||(me=me?"include":"omit");const En=l&&"credentials"in o.prototype;if(a.isFormData(O)){const g=$.getContentType();g&&/^multipart\/form-data/i.test(g)&&!/boundary=/i.test(g)&&$.delete("content-type")}$.set("User-Agent","axios/"+Qe,!1);const it={...nt,signal:V,method:w.toUpperCase(),headers:zt($.normalize()),body:O,duplex:"half",credentials:En?me:void 0};T=l&&new o(y,it);let q=await(l?rt(T,nt):rt(y,it));const at=F.from(q.headers);if(oe){const g=a.toFiniteNumber(at.getContentLength());if(g!=null&&g>k)throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,f,T)}const Fe=E&&(z==="stream"||z==="response");if(E&&q.body&&(Ue||oe||Fe&&W)){const g={};["status","statusText","headers"].forEach(ae=>{g[ae]=q[ae]});const L=a.toFiniteNumber(at.getContentLength()),[v,J]=Ue&&yt(L,_e(bt(Ue),!0))||[];let ct=0;const Rn=ae=>{if(oe&&(ct=ae,ct>k))throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,f,T);v&&v(ae)};q=new i(Et(q.body,St,Rn,()=>{J&&J(),W&&W()}),g)}z=z||"text";let H=await R[a.findKey(R,z)||"text"](q,f);if(oe&&!E&&!Fe){let g;if(H!=null&&(typeof H.byteLength=="number"?g=H.byteLength:typeof H.size=="number"?g=H.size:typeof H=="string"&&(g=typeof r=="function"?new r().encode(H).byteLength:H.length)),typeof g=="number"&&g>k)throw new h("maxContentLength size of "+k+" exceeded",h.ERR_BAD_RESPONSE,f,T)}return!Fe&&W&&W(),await new Promise((g,L)=>{Gt(g,L,{data:H,headers:F.from(q.headers),status:q.status,statusText:q.statusText,config:f,request:T})})}catch(A){if(W&&W(),V&&V.aborted&&V.reason instanceof h){const j=V.reason;throw j.config=f,T&&(j.request=T),A!==j&&Object.defineProperty(j,"cause",{__proto__:null,value:A,writable:!0,enumerable:!1,configurable:!0}),j}if(ie)throw T&&!ie.request&&(ie.request=T),ie;if(A instanceof h)throw T&&!A.request&&(A.request=T),A;if(A&&A.name==="TypeError"&&/Load failed|fetch/i.test(A.message)){const j=new h("Network Error",h.ERR_NETWORK,f,T,A&&A.response);throw Object.defineProperty(j,"cause",{__proto__:null,value:A.cause||A,writable:!0,enumerable:!1,configurable:!0}),j}throw h.from(A,A&&A.code,f,T,A&&A.response)}}},xs=new Map,tn=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let i=o.length,c=i,l,d,u=xs;for(;c--;)l=o[c],d=u.get(l),d===void 0&&u.set(l,d=c?new Map:As(t)),u=d;return d};tn();const Ye={http:Ur,xhr:us,fetch:{get:tn}};a.forEach(Ye,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const _t=e=>`- ${e}`,_s=e=>a.isFunction(e)||e===null||e===!1;function Ts(e,t){e=a.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let i=0;i`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build"));let c=n?i.length>1?`since : +`+i.map(_t).join(` +`):" "+_t(i[0]):"as no adapter specified";throw new h("There is no suitable adapter to dispatch the request "+c,h.ERR_NOT_SUPPORT)}return s}const nn={getAdapter:Ts,adapters:Ye};function ke(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new he(null,e)}function qe(e){return ke(e),e.headers=F.from(e.headers),e.data=Ie.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),nn.getAdapter(e.adapter||pe.adapter,e)(e).then(function(r){ke(e),e.response=r;try{r.data=Ie.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=F.from(r.headers),r},function(r){if(!Zt(r)&&(ke(e),r&&r.response)){e.response=r.response;try{r.response.data=Ie.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=F.from(r.response.headers)}return Promise.reject(r)})}const Ce={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ce[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Tt={};Ce.transitional=function(t,n,r){function s(o,i){return"[Axios v"+Qe+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,c)=>{if(t===!1)throw new h(s(i," has been removed"+(n?" in "+n:"")),h.ERR_DEPRECATED);return n&&!Tt[i]&&(Tt[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}};Ce.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Ps(e,t,n){if(typeof e!="object"||e===null)throw new h("options must be an object",h.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(i){const c=e[o],l=c===void 0||i(c,o,e);if(l!==!0)throw new h("option "+o+" must be "+l,h.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new h("Unknown option "+o,h.ERR_BAD_OPTION)}}const Oe={assertOptions:Ps,validators:Ce},N=Oe.validators;let X=class{constructor(t){this.defaults=t||{},this.interceptors={request:new ht,response:new ht}}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=(()=>{if(!s.stack)return"";const i=s.stack.indexOf(` +`);return i===-1?"":s.stack.slice(i+1)})();try{if(!r.stack)r.stack=o;else if(o){const i=o.indexOf(` +`),c=i===-1?-1:o.indexOf(` +`,i+1),l=c===-1?"":o.slice(c+1);String(r.stack).endsWith(l)||(r.stack+=` +`+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Q(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&Oe.assertOptions(r,{silentJSONParsing:N.transitional(N.boolean),forcedJSONParsing:N.transitional(N.boolean),clarifyTimeoutError:N.transitional(N.boolean),legacyInterceptorReqResOrdering:N.transitional(N.boolean),advertiseZstdAcceptEncoding:N.transitional(N.boolean),validateStatusUndefinedResolves:N.transitional(N.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:Oe.assertOptions(s,{encode:N.function,serialize:N.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Oe.assertOptions(n,{baseUrl:N.spelling("baseURL"),withXsrfToken:N.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","query","common"],R=>{delete o[R]}),n.headers=F.concat(i,o);const c=[];let l=!0;this.interceptors.request.forEach(function(S){if(typeof S.runWhen=="function"&&S.runWhen(n)===!1)return;l=l&&S.synchronous;const m=n.transitional||Ze;m&&m.legacyInterceptorReqResOrdering?c.unshift(S.fulfilled,S.rejected):c.push(S.fulfilled,S.rejected)});const d=[];this.interceptors.response.forEach(function(S){d.push(S.fulfilled,S.rejected)});let u,p=0,b;if(!l){const R=[qe.bind(this),void 0];for(R.unshift(...c),R.push(...d),b=R.length,u=Promise.resolve(n);pqe.call(this,E)))}catch(f){u=Promise.reject(f)}break}}if(!u)try{u=qe.call(this,E)}catch(R){u=Promise.reject(R)}for(p=0,b=d.length;p{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 he(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 rn(function(s){t=s}),cancel:t}}};function Us(e){return function(n){return e.apply(null,n)}}function Ds(e){return a.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,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ve).forEach(([e,t])=>{Ve[t]=e});function sn(e){const t=new X(e),n=Ft(X.prototype.request,t);return a.extend(n,X.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return sn(Q(e,s))},n}const _=sn(pe);_.Axios=X;_.CanceledError=he;_.CancelToken=Cs;_.isCancel=Zt;_.VERSION=Qe;_.toFormData=Pe;_.AxiosError=h;_.Cancel=_.CanceledError;_.all=function(t){return Promise.all(t)};_.spread=Us;_.isAxiosError=Ds;_.mergeConfig=Q;_.AxiosHeaders=F;_.formToJSON=e=>Xt(a.isHTMLForm(e)?new FormData(e):e);_.getAdapter=nn.getAdapter;_.HttpStatusCode=Ve;_.default=_;const{Axios:Gs,AxiosError:Qs,CanceledError:Ys,isCancel:eo,CancelToken:to,VERSION:no,all:ro,Cancel:so,isAxiosError:oo,spread:io,toFormData:ao,AxiosHeaders:co,HttpStatusCode:lo,formToJSON:uo,getAdapter:fo,mergeConfig:po,create:ho}=_,on="3.9.2",Ns=on,Pt=typeof TextDecoder=="function"?new TextDecoder("utf-8",{ignoreBOM:!0}):void 0,Ct=typeof TextEncoder=="function"?new TextEncoder:void 0,Fs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",le=Array.prototype.slice.call(Fs),ge=(e=>{let t={};return e.forEach((n,r)=>t[n]=r),t})(le),Bs=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,C=String.fromCharCode.bind(String),Ls=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),an=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),cn=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),ln=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+=le[t>>18&63]+le[t>>12&63]+le[t>>6&63]+le[t&63]}return i?o.slice(0,i-3)+"===".substring(i):o},et=typeof btoa=="function"?e=>btoa(e):ln,ve=typeof Uint8Array.prototype.toBase64=="function"?e=>e.toBase64():e=>{let n=[];for(let r=0,s=e.length;rt?an(ve(e)):ve(e),js=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?C(192|t>>>6)+C(128|t&63):C(224|t>>>12&15)+C(128|t>>>6&63)+C(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return C(240|t>>>18&7)+C(128|t>>>12&63)+C(128|t>>>6&63)+C(128|t&63)}},Is=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,un=e=>e.replace(Is,js),Ut=Ct?e=>ve(Ct.encode(e)):e=>et(un(e)),te=(e,t=!1)=>t?an(Ut(e)):Ut(e),Dt=e=>te(e,!0),ks=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,qs=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 C((n>>>10)+55296)+C((n&1023)+56320);case 3:return C((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return C((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},fn=e=>e.replace(ks,qs),dn=e=>{if(e=e.replace(/\s+/g,""),!Bs.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(C(t>>16&255,t>>8&255)):s.push(C(t>>16&255,t>>8&255,t&255));return s.join("")},tt=typeof atob=="function"?e=>atob(cn(e)):dn,pn=typeof Uint8Array.fromBase64=="function"?e=>Uint8Array.fromBase64(e):e=>Ls(tt(e).split("").map(t=>t.charCodeAt(0))),hn=e=>pn(mn(e)),Hs=Pt?e=>Pt.decode(pn(e)):e=>fn(tt(e)),mn=e=>cn(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),We=e=>Hs(mn(e)),Ms=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)},yn=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),bn=function(){const e=(t,n)=>Object.defineProperty(String.prototype,t,yn(n));e("fromBase64",function(){return We(this)}),e("toBase64",function(t){return te(this,t)}),e("toBase64URI",function(){return te(this,!0)}),e("toBase64URL",function(){return te(this,!0)}),e("toUint8Array",function(){return hn(this)})},wn=function(){const e=(t,n)=>Object.defineProperty(Uint8Array.prototype,t,yn(n));e("toBase64",function(t){return Se(this,t)}),e("toBase64URI",function(){return Se(this,!0)}),e("toBase64URL",function(){return Se(this,!0)})},zs=()=>{bn(),wn()},mo={version:on,VERSION:Ns,atob:tt,atobPolyfill:dn,btoa:et,btoaPolyfill:ln,fromBase64:We,toBase64:te,encode:te,encodeURI:Dt,encodeURL:Dt,utob:un,btou:fn,decode:We,isValid:Ms,fromUint8Array:Se,toUint8Array:hn,extendString:bn,extendUint8Array:wn,extendBuiltins:zs},P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));function $s(e,t=0){return(P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]).toLowerCase()}let He;const Vs=new Uint8Array(16);function vs(){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(Vs)}const Ws=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Nt={randomUUID:Ws};function Js(e,t,n){var s;e=e||{};const r=e.random??((s=e.rng)==null?void 0:s.call(e))??vs();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,$s(r)}function yo(e,t,n){return Nt.randomUUID&&!e?Nt.randomUUID():Js(e)}export{_ as a,mo as g,yo as v}; diff --git a/assets/vendor-vue-BiQC5iF7.js b/assets/vendor-vue-BiQC5iF7.js deleted file mode 100644 index c1d061e..0000000 --- a/assets/vendor-vue-BiQC5iF7.js +++ /dev/null @@ -1,29 +0,0 @@ -/** -* @vue/shared v3.5.39 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ys(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const le={},Kt=[],et=()=>{},Ii=()=>!1,Yn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Qn=e=>e.startsWith("onUpdate:"),pe=Object.assign,Qs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},bl=Object.prototype.hasOwnProperty,se=(e,t)=>bl.call(e,t),K=Array.isArray,kt=e=>An(e)==="[object Map]",Ni=e=>An(e)==="[object Set]",Rr=e=>An(e)==="[object Date]",W=e=>typeof e=="function",fe=e=>typeof e=="string",De=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Mi=e=>(ee(e)||W(e))&&W(e.then)&&W(e.catch),Di=Object.prototype.toString,An=e=>Di.call(e),El=e=>An(e).slice(8,-1),Li=e=>An(e)==="[object Object]",Xn=e=>fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,cn=Ys(",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))},Sl=/-\w/g,Te=Zn(e=>e.replace(Sl,t=>t.slice(1).toUpperCase())),Cl=/\B([A-Z])/g,Ct=Zn(e=>e.replace(Cl,"-$1").toLowerCase()),es=Zn(e=>e.charAt(0).toUpperCase()+e.slice(1)),as=Zn(e=>e?`on${es(e)}`:""),Ze=(e,t)=>!Object.is(e,t),Fn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Xs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Al=e=>{const t=fe(e)?Number(e):NaN;return isNaN(t)?e:t};let xr;const ts=()=>xr||(xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zs(e){if(K(e)){const t={};for(let n=0;n{if(n){const s=n.split(Rl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function er(e){let t="";if(fe(e))t=e;else if(K(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Nl=e=>fe(e)?e:e==null?"":K(e)||ee(e)&&(e.toString===Di||!W(e.toString))?ji(e)?Nl(e.value):JSON.stringify(e,Hi,2):String(e),Hi=(e,t)=>ji(t)?Hi(e,t.value):kt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[hs(s,i)+" =>"]=r,n),{})}:Ni(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>hs(n))}:De(t)?hs(t):ee(t)&&!K(t)&&!Li(t)?String(t):t,hs=(e,t="")=>{var n;return De(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.39 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let me;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&me&&(me.active?(this.parent=me,this.index=(me.scopes||(me.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!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){if(me===this)me=this.prevScope;else{let t=me;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.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(un){let t=un;for(un=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;fn;){let t=fn;for(fn=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 $i(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),rr(s),Dl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Os(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ji(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ji(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===_n)||(e.globalVersion=_n,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Os(e))))return;e.flags|=2;const t=e.dep,n=ce,s=Ue;ce=e,Ue=!0;try{$i(e);const r=e.fn(e._value);(t.version===0||Ze(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=n,Ue=s,qi(e),e.flags&=-3}}function rr(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)rr(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Dl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ue=!0;const zi=[];function tt(){zi.push(Ue),Ue=!1}function nt(){const e=zi.pop();Ue=e===void 0?!0:e}function Tr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ce;ce=void 0;try{t()}finally{ce=n}}}let _n=0;class Ll{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 ir{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||!Ue||ce===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ce)n=this.activeLink=new Ll(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++,_n++,this.notify(t)}notify(t){nr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{sr()}}}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 Hn=new WeakMap,Nt=Symbol(""),Ps=Symbol(""),yn=Symbol("");function Ee(e,t,n){if(Ue&&ce){let s=Hn.get(e);s||Hn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new ir),r.map=s,r.key=n),r.track()}}function ct(e,t,n,s,r,i){const o=Hn.get(e);if(!o){_n++;return}const l=c=>{c&&c.trigger()};if(nr(),t==="clear")o.forEach(l);else{const c=K(e),u=c&&Xn(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,p)=>{(p==="length"||p===yn||!De(p)&&p>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(yn)),t){case"add":c?u&&l(o.get("length")):(l(o.get(Nt)),kt(e)&&l(o.get(Ps)));break;case"delete":c||(l(o.get(Nt)),kt(e)&&l(o.get(Ps)));break;case"set":kt(e)&&l(o.get(Nt));break}}sr()}function Fl(e,t){const n=Hn.get(e);return n&&n.get(t)}function Vt(e){const t=Q(e);return t===e?t:(Ee(t,"iterate",yn),Me(e)?t:t.map(Ke))}function ns(e){return Ee(e=Q(e),"iterate",yn),e}function Qe(e,t){return at(e)?qt(ut(e)?Ke(t):t):Ke(t)}const Vl={__proto__:null,[Symbol.iterator](){return ps(this,Symbol.iterator,e=>Qe(this,e))},concat(...e){return Vt(this).concat(...e.map(t=>K(t)?Vt(t):t))},entries(){return ps(this,"entries",e=>(e[1]=Qe(this,e[1]),e))},every(e,t){return rt(this,"every",e,t,void 0,arguments)},filter(e,t){return rt(this,"filter",e,t,n=>n.map(s=>Qe(this,s)),arguments)},find(e,t){return rt(this,"find",e,t,n=>Qe(this,n),arguments)},findIndex(e,t){return rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return rt(this,"findLast",e,t,n=>Qe(this,n),arguments)},findLastIndex(e,t){return rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return gs(this,"includes",e)},indexOf(...e){return gs(this,"indexOf",e)},join(e){return Vt(this).join(e)},lastIndexOf(...e){return gs(this,"lastIndexOf",e)},map(e,t){return rt(this,"map",e,t,void 0,arguments)},pop(){return Zt(this,"pop")},push(...e){return Zt(this,"push",e)},reduce(e,...t){return Or(this,"reduce",e,t)},reduceRight(e,...t){return Or(this,"reduceRight",e,t)},shift(){return Zt(this,"shift")},some(e,t){return rt(this,"some",e,t,void 0,arguments)},splice(...e){return Zt(this,"splice",e)},toReversed(){return Vt(this).toReversed()},toSorted(e){return Vt(this).toSorted(e)},toSpliced(...e){return Vt(this).toSpliced(...e)},unshift(...e){return Zt(this,"unshift",e)},values(){return ps(this,"values",e=>Qe(this,e))}};function ps(e,t,n){const s=ns(e),r=s[t]();return s!==e&&!Me(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const jl=Array.prototype;function rt(e,t,n,s,r,i){const o=ns(e),l=o!==e&&!Me(e),c=o[t];if(c!==jl[t]){const h=c.apply(e,i);return l?Ke(h):h}let u=n;o!==e&&(l?u=function(h,p){return n.call(this,Qe(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 Or(e,t,n,s){const r=ns(e),i=r!==e&&!Me(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(u,f,h){return l&&(l=!1,u=Qe(e,u)),n.call(this,u,Qe(e,f),h,e)}):n.length>3&&(o=function(u,f,h){return n.call(this,u,f,h,e)}));const c=r[t](o,...s);return l?Qe(e,c):c}function gs(e,t,n){const s=Q(e);Ee(s,"iterate",yn);const r=s[t](...n);return(r===-1||r===!1)&&ss(n[0])?(n[0]=Q(n[0]),s[t](...n)):r}function Zt(e,t,n=[]){tt(),nr();const s=Q(e)[t].apply(e,n);return sr(),nt(),s}const Hl=Ys("__proto__,__v_isRef,__isVue"),Qi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(De));function Bl(e){De(e)||(e=String(e));const t=Q(this);return Ee(t,"has",e),t.hasOwnProperty(e)}class Xi{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?Yl:no:i?to:eo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=K(t);if(!r){let c;if(o&&(c=Vl[n]))return c;if(n==="hasOwnProperty")return Bl}const l=Reflect.get(t,n,ae(t)?t:s);if((De(n)?Qi.has(n):Hl(n))||(r||Ee(t,"get",n),i))return l;if(ae(l)){const c=o&&Xn(n)?l:l.value;return r&&ee(c)?Ns(c):c}return ee(l)?r?Ns(l):wn(l):l}}class Zi extends Xi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=K(t)&&Xn(n);if(!this._isShallow){const u=at(i);if(!Me(s)&&!at(s)&&(i=Q(i),s=Q(s)),!o&&ae(i)&&!ae(s))return u||(i.value=s),!0}const l=o?Number(n)e,In=e=>Reflect.getPrototypeOf(e);function Wl(e,t,n){return function(...s){const r=this.__v_raw,i=Q(r),o=kt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),f=n?Is:t?qt:Ke;return!t&&Ee(i,"iterate",c?Ps:Nt),pe(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 Nn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function $l(e,t){const n={get(r){const i=this.__v_raw,o=Q(i),l=Q(r);e||(Ze(r,l)&&Ee(o,"get",r),Ee(o,"get",l));const{has:c}=In(o),u=t?Is:e?qt:Ke;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&&Ee(Q(r),"iterate",Nt),r.size},has(r){const i=this.__v_raw,o=Q(i),l=Q(r);return e||(Ze(r,l)&&Ee(o,"has",r),Ee(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=Q(l),u=t?Is:e?qt:Ke;return!e&&Ee(c,"iterate",Nt),l.forEach((f,h)=>r.call(i,u(f),u(h),o))}};return pe(n,e?{add:Nn("add"),set:Nn("set"),delete:Nn("delete"),clear:Nn("clear")}:{add(r){const i=Q(this),o=In(i),l=Q(r),c=!t&&!Me(r)&&!at(r)?l:r;return o.has.call(i,c)||Ze(r,c)&&o.has.call(i,r)||Ze(l,c)&&o.has.call(i,l)||(i.add(c),ct(i,"add",c,c)),this},set(r,i){!t&&!Me(i)&&!at(i)&&(i=Q(i));const o=Q(this),{has:l,get:c}=In(o);let u=l.call(o,r);u||(r=Q(r),u=l.call(o,r));const f=c.call(o,r);return o.set(r,i),u?Ze(i,f)&&ct(o,"set",r,i):ct(o,"add",r,i),this},delete(r){const i=Q(this),{has:o,get:l}=In(i);let c=o.call(i,r);c||(r=Q(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&ct(i,"delete",r,void 0),u},clear(){const r=Q(this),i=r.size!==0,o=r.clear();return i&&ct(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Wl(r,e,t)}),n}function or(e,t){const n=$l(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 ql={get:or(!1,!1)},Jl={get:or(!1,!0)},zl={get:or(!0,!1)};const eo=new WeakMap,to=new WeakMap,no=new WeakMap,Yl=new WeakMap;function Ql(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wn(e){return at(e)?e:lr(e,!1,Kl,ql,eo)}function so(e){return lr(e,!1,Gl,Jl,to)}function Ns(e){return lr(e,!0,kl,zl,no)}function lr(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=Ql(El(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ut(e){return at(e)?ut(e.__v_raw):!!(e&&e.__v_isReactive)}function at(e){return!!(e&&e.__v_isReadonly)}function Me(e){return!!(e&&e.__v_isShallow)}function ss(e){return e?!!e.__v_raw:!1}function Q(e){const t=e&&e.__v_raw;return t?Q(t):e}function cr(e){return!se(e,"__v_skip")&&Object.isExtensible(e)&&Fi(e,"__v_skip",!0),e}const Ke=e=>ee(e)?wn(e):e,qt=e=>ee(e)?Ns(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function Gt(e){return ro(e,!1)}function Xl(e){return ro(e,!0)}function ro(e,t){return ae(e)?e:new Zl(e,t)}class Zl{constructor(t,n){this.dep=new ir,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Q(t),this._value=n?t:Ke(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Me(t)||at(t);t=s?t:Q(t),Ze(t,n)&&(this._rawValue=t,this._value=s?t:Ke(t),this.dep.trigger())}}function Et(e){return ae(e)?e.value:e}function ha(e){return W(e)?e():Et(e)}const ec={get:(e,t,n)=>t==="__v_raw"?e:Et(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function io(e){return ut(e)?e:new Proxy(e,ec)}function tc(e){const t=K(e)?new Array(e.length):{};for(const n in e)t[n]=oo(e,n);return t}class nc{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=De(n)?n:String(n),this._raw=Q(t);let r=!0,i=t;if(!K(t)||De(this._key)||!Xn(this._key))do r=!ss(i)||Me(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=Et(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ae(this._raw[this._key])){const n=this._object[this._key];if(ae(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Fl(this._raw,this._key)}}class sc{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 da(e,t,n){return ae(e)?e:W(e)?new sc(e):ee(e)&&arguments.length>1?oo(e,t,n):Gt(e)}function oo(e,t,n){return new nc(e,t,n)}class rc{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ir(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=_n-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 Wi(this,!0),!0}get value(){const t=this.dep.track();return Ji(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ic(e,t,n=!1){let s,r;return W(e)?s=e:(s=e.get,r=e.set),new rc(s,r,n)}const Mn={},Bn=new WeakMap;let Tt;function oc(e,t=!1,n=Tt){if(n){let s=Bn.get(n);s||Bn.set(n,s=[]),s.push(e)}}function lc(e,t,n=le){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=T=>r?T:Me(T)||r===!1||r===0?ft(T,1):ft(T);let f,h,p,g,b=!1,_=!1;if(ae(e)?(h=()=>e.value,b=Me(e)):ut(e)?(h=()=>u(e),b=!0):K(e)?(_=!0,b=e.some(T=>ut(T)||Me(T)),h=()=>e.map(T=>{if(ae(T))return T.value;if(ut(T))return u(T);if(W(T))return c?c(T,2):T()})):W(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){tt();try{p()}finally{nt()}}const T=Tt;Tt=f;try{return c?c(e,3,[g]):e(g)}finally{Tt=T}}:h=et,t&&r){const T=h,F=r===!0?1/0:r;h=()=>ft(T(),F)}const P=Ki(),O=()=>{f.stop(),P&&P.active&&Qs(P.effects,f)};if(i&&t){const T=t;t=(...F)=>{const X=T(...F);return O(),X}}let A=_?new Array(e.length).fill(Mn):Mn;const M=T=>{if(!(!(f.flags&1)||!f.dirty&&!T))if(t){const F=f.run();if(T||r||b||(_?F.some((X,j)=>Ze(X,A[j])):Ze(F,A))){p&&p();const X=Tt;Tt=f;try{const j=[F,A===Mn?void 0:_&&A[0]===Mn?[]:A,g];A=F,c?c(t,3,j):t(...j)}finally{Tt=X}}}else f.run()};return l&&l(M),f=new ki(h),f.scheduler=o?()=>o(M,!1):M,g=T=>oc(T,!1,f),p=f.onStop=()=>{const T=Bn.get(f);if(T){if(c)c(T,4);else for(const F of T)F();Bn.delete(f)}},t?s?M(!0):A=f.run():o?o(M.bind(null,!0),!0):f.run(),O.pause=f.pause.bind(f),O.resume=f.resume.bind(f),O.stop=O,O}function ft(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--,ae(e))ft(e.value,t,n);else if(K(e))for(let s=0;s{ft(s,t,n)});else if(Li(e)){for(const s in e)ft(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&ft(e[s],t,n)}return e}/** -* @vue/runtime-core v3.5.39 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Rn(e,t,n,s){try{return s?e(...s):e()}catch(r){xn(r,t,n)}}function Be(e,t,n,s){if(W(e)){const r=Rn(e,t,n,s);return r&&Mi(r)&&r.catch(i=>{xn(i,t,n)}),r}if(K(e)){const r=[];for(let i=0;i>>1,r=xe[s],i=vn(r);i=vn(n)?xe.push(e):xe.splice(fc(t),0,e),e.flags|=1,co()}}function co(){Un||(Un=lo.then(uo))}function uc(e){K(e)?Wt.push(...e):vt&&e.id===-1?vt.splice(Ht+1,0,e):e.flags&1||(Wt.push(e),e.flags|=1),co()}function Pr(e,t,n=Ye+1){for(;nvn(n)-vn(s));if(Wt.length=0,vt){vt.push(...t);return}for(vt=t,Ht=0;Hte.id==null?e.flags&2?-1:1/0:e.id;function uo(e){try{for(Ye=0;Ye{s._d&&Wn(-1);const i=Kn(t);let o;try{o=e(...r)}finally{Kn(i),s._d&&Wn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function pa(e,t){if(be===null)return e;const n=ls(be),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&W(t)?t.call(s&&s.proxy):t}}function hc(){return!!(On()||Mt)}const dc=Symbol.for("v-scx"),pc=()=>He(dc);function ga(e,t){return ar(e,null,t)}function an(e,t,n){return ar(e,t,n)}function ar(e,t,n=le){const{immediate:s,deep:r,flush:i,once:o}=n,l=pe({},n),c=t&&s||!t&&i!=="post";let u;if(Jt){if(i==="sync"){const g=pc();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!c){const g=()=>{};return g.stop=et,g.resume=et,g.pause=et,g}}const f=ve;l.call=(g,b,_)=>Be(g,f,b,_);let h=!1;i==="post"?l.scheduler=g=>{we(g,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(g,b)=>{b?g():ur(g)}),l.augmentJob=g=>{t&&(g.flags|=4),h&&(g.flags|=2,f&&(g.id=f.uid,g.i=f))};const p=lc(e,t,l);return Jt&&(u?u.push(p):c&&p()),p}function gc(e,t,n){const s=this.proxy,r=fe(e)?e.includes(".")?ho(s,e):()=>s[e]:e.bind(s,s);let i;W(t)?i=t:(i=t.handler,n=t);const o=Pn(this),l=ar(r,i.bind(s),n);return o(),l}function ho(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,Ot=e=>e&&(e.disabled||e.disabled===""),mc=e=>e&&(e.defer||e.defer===""),Ir=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Nr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ms=(e,t)=>{const n=e&&e.to;return fe(n)?t?t(n):null:n},_c={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:b,createText:_,createComment:P,parentNode:O}}=u,A=Ot(t.props);let{dynamicChildren:M}=t;const T=(j,H,w)=>{j.shapeFlag&16&&f(j.children,H,w,r,i,o,l,c)},F=(j=t)=>{const H=Ot(j.props),w=j.target=Ms(j.props,b),G=Ds(w,j,_,g);w&&(o!=="svg"&&Ir(w)?o="svg":o!=="mathml"&&Nr(w)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(w),H||(T(j,w,G),rn(j,!1)))},X=j=>{const H=()=>{if(mt.get(j)===H){if(mt.delete(j),Ot(j.props)){const w=O(j.el)||n;T(j,w,j.anchor),rn(j,!0)}F(j)}};mt.set(j,H),we(H,i)};if(e==null){const j=t.el=_(""),H=t.anchor=_("");if(g(j,n,s),g(H,n,s),mc(t.props)||i&&i.pendingBranch){X(t);return}A&&(T(t,n,H),rn(t,!0)),F()}else{t.el=e.el;const j=t.anchor=e.anchor,H=mt.get(e);if(H){H.flags|=8,mt.delete(e),X(t);return}t.targetStart=e.targetStart;const w=t.target=e.target,G=t.targetAnchor=e.targetAnchor,J=Ot(e.props),N=J?n:w,z=J?j:G;if(o==="svg"||Ir(w)?o="svg":(o==="mathml"||Nr(w))&&(o="mathml"),M?(p(e.dynamicChildren,M,N,r,i,o,l),yr(e,t,!0)):c||h(e,t,N,z,r,i,o,l,!1),A)J?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Dn(t,n,j,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ue=Ms(t.props,b);ue&&(t.target=ue,Dn(t,ue,null,u,0))}else J&&Dn(t,w,G,u,1);rn(t,A)}},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,g=Ot(p),b=i||!g,_=mt.get(e);if(_&&(_.flags|=8,mt.delete(e)),h&&(r(u),r(f)),i&&r(c),!_&&(g||h)&&o&16)for(let P=0;P{e.isMounted=!0}),Ao(()=>{e.isUnmounting=!0}),e}const Fe=[Function,Array],_o={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fe,onEnter:Fe,onAfterEnter:Fe,onEnterCancelled:Fe,onBeforeLeave:Fe,onLeave:Fe,onAfterLeave:Fe,onLeaveCancelled:Fe,onBeforeAppear:Fe,onAppear:Fe,onAfterAppear:Fe,onAppearCancelled:Fe},yo=e=>{const t=e.subTree;return t.component?yo(t.component):t},vc={name:"BaseTransition",props:_o,setup(e,{slots:t}){const n=On(),s=mo();return()=>{const r=t.default&&hr(t.default(),!0),i=r&&r.length?vo(r):n.subTree?cf():void 0;if(!i)return;const o=Q(e),{mode:l}=o;if(s.isLeaving)return ms(i);const c=Mr(i);if(!c)return ms(i);let u=bn(c,o,s,n,h=>u=h);c.type!==Se&&Dt(c,u);let f=n.subTree&&Mr(n.subTree);if(f&&f.type!==Se&&!Pt(f,c)&&yo(n).type!==Se){let h=bn(f,o,s,n);if(Dt(f,h),l==="out-in"&&c.type!==Se)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},ms(i);l==="in-out"&&c.type!==Se?h.delayLeave=(p,g,b)=>{const _=bo(s,f);_[String(f.key)]=f,p[Ve]=()=>{g(),p[Ve]=void 0,delete u.delayedLeave,f=void 0},u.delayedLeave=()=>{b(),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!==Se){t=n;break}}return t}const bc=vc;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 bn(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:b,onLeaveCancelled:_,onBeforeAppear:P,onAppear:O,onAfterAppear:A,onAppearCancelled:M}=t,T=String(e.key),F=bo(n,e),X=(w,G)=>{w&&Be(w,s,9,G)},j=(w,G)=>{const J=G[1];X(w,G),K(w)?w.every(N=>N.length<=1)&&J():w.length<=1&&J()},H={mode:o,persisted:l,beforeEnter(w){let G=c;if(!n.isMounted)if(i)G=P||c;else return;w[Ve]&&w[Ve](!0);const J=F[T];J&&Pt(e,J)&&J.el[Ve]&&J.el[Ve](),X(G,[w])},enter(w){if(F[T]===e)return;let G=u,J=f,N=h;if(!n.isMounted)if(i)G=O||u,J=A||f,N=M||h;else return;let z=!1;w[en]=Ce=>{z||(z=!0,Ce?X(N,[w]):X(J,[w]),H.delayedLeave&&H.delayedLeave(),w[en]=void 0)};const ue=w[en].bind(null,!1);G?j(G,[w,ue]):ue()},leave(w,G){const J=String(e.key);if(w[en]&&w[en](!0),n.isUnmounting)return G();X(p,[w]);let N=!1;w[Ve]=ue=>{N||(N=!0,G(),ue?X(_,[w]):X(b,[w]),w[Ve]=void 0,F[J]===e&&delete F[J])};const z=w[Ve].bind(null,!1);F[J]=e,g?j(g,[w,z]):z()},clone(w){const G=bn(w,t,n,s,r);return r&&r(G),G}};return H}function ms(e){if(Tn(e))return e=St(e),e.children=null,e}function Mr(e){if(!Tn(e))return go(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&&W(n.default))return n.default()}}function Dt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Dt(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 hr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ihn(_,t&&(K(t)?t[P]:t),n,s,r));return}if($t(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&hn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?ls(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,f=l.refs===le?l.refs={}:l.refs,h=l.setupState,p=Q(h),g=h===le?Ii:_=>Dr(f,_)?!1:se(p,_),b=(_,P)=>!(P&&Dr(f,P));if(u!=null&&u!==c){if(Lr(t),fe(u))f[u]=null,g(u)&&(h[u]=null);else if(ae(u)){const _=t;b(u,_.k)&&(u.value=null),_.k&&(f[_.k]=null)}}if(W(c)){tt();try{Rn(c,l,12,[o,f])}finally{nt()}}else{const _=fe(c),P=ae(c);if(_||P){const O=()=>{if(e.f){const A=_?g(c)?h[c]:f[c]:b()||!e.k?c.value:f[e.k];if(r)K(A)&&Qs(A,i);else if(K(A))A.includes(i)||A.push(i);else if(_)f[c]=[i],g(c)&&(h[c]=f[c]);else{const M=[i];b(c,e.k)&&(c.value=M),e.k&&(f[e.k]=M)}}else _?(f[c]=o,g(c)&&(h[c]=o)):P&&(b(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),we(A,n)}else Lr(e),O()}}}function Lr(e){const t=kn.get(e);t&&(t.flags|=8,kn.delete(e))}const Fr=e=>e.nodeType===8;ts().requestIdleCallback;ts().cancelIdleCallback;function Ec(e,t){if(Fr(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(Fr(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const $t=e=>!!e.type.__asyncLoader;function ya(e){W(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 b;return u||(b=u=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),c)return new Promise((P,O)=>{c(_,()=>P(p()),()=>O(_),h+1)});throw _}).then(_=>b!==u&&u?u:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),f=_,_)))};return dr({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(b,_,P){let O=!1;(_.bu||(_.bu=[])).push(()=>O=!0);const A=()=>{O||P()},M=i?()=>{const T=i(A,F=>Ec(b,F));T&&(_.bum||(_.bum=[])).push(T)}:A;f?M():g().then(()=>!_.isUnmounted&&M())},get __asyncResolved(){return f},setup(){const b=ve;if(pr(b),f)return()=>Ln(f,b);const _=F=>{u=null,xn(F,b,13,!s)};if(l&&b.suspense||Jt)return g().then(F=>()=>Ln(F,b)).catch(F=>(_(F),()=>s?_e(s,{error:F}):null));const P=Gt(!1),O=Gt(),A=Gt(!!r);let M,T;return gr(()=>{M!=null&&clearTimeout(M),T!=null&&clearTimeout(T)}),r&&(T=setTimeout(()=>{b.isUnmounted||(A.value=!1)},r)),o!=null&&(M=setTimeout(()=>{if(!b.isUnmounted&&!P.value&&!O.value){const F=new Error(`Async component timed out after ${o}ms.`);_(F),O.value=F}},o)),g().then(()=>{b.isUnmounted||(P.value=!0,b.parent&&Tn(b.parent.vnode)&&b.parent.update())}).catch(F=>{if(b.isUnmounted){u=null;return}_(F),O.value=F}),()=>{if(P.value&&f)return Ln(f,b);if(O.value&&s)return _e(s,{error:O.value});if(n&&!A.value)return Ln(n,b)}}})}function Ln(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=_e(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Tn=e=>e.type.__isKeepAlive;function Sc(e,t){Eo(e,"a",t)}function Cc(e,t){Eo(e,"da",t)}function Eo(e,t,n=ve){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(rs(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Tn(r.parent.vnode)&&Ac(s,t,n,r),r=r.parent}}function Ac(e,t,n,s){const r=rs(t,e,s,!0);gr(()=>{Qs(s[t],r)},n)}function rs(e,t,n=ve,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{tt();const l=Pn(n),c=Be(t,n,e,o);return l(),nt(),c});return s?r.unshift(i):r.push(i),i}}const ht=e=>(t,n=ve)=>{(!Jt||e==="sp")&&rs(e,(...s)=>t(...s),n)},wc=ht("bm"),So=ht("m"),Rc=ht("bu"),Co=ht("u"),Ao=ht("bum"),gr=ht("um"),xc=ht("sp"),Tc=ht("rtg"),Oc=ht("rtc");function Pc(e,t=ve){rs("ec",e,t)}const wo="components";function va(e,t){return xo(wo,e,!0,t)||e}const Ro=Symbol.for("v-ndc");function ba(e){return fe(e)?xo(wo,e,!1)||e:e||Ro}function xo(e,t,n=!0,s=!1){const r=be||ve;if(r){const i=r.type;{const l=_f(i,!1);if(l&&(l===t||l===Te(t)||l===es(Te(t))))return i}const o=Vr(r[e]||i[e],t)||Vr(r.appContext[e],t);return!o&&s?i:o}}function Vr(e,t){return e&&(e[t]||e[Te(t)]||e[es(Te(t))])}function Ea(e,t,n,s){let r;const i=n,o=K(e);if(o||fe(e)){const l=o&&ut(e);let c=!1,u=!1;l&&(c=!Me(e),u=at(e),e=ns(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 Ca(e,t,n={},s,r){if(be.ce||be.parent&&$t(be.parent)&&be.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Hs(),Bs(Pe,null,[_e("slot",n,s)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),Hs();const o=i&&To(i(n)),l=n.key||o&&o.key,c=Bs(Pe,{key:(l&&!De(l)?l:`_${t}`)+(!o&&s?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),c}function To(e){return e.some(t=>Sn(t)?!(t.type===Se||t.type===Pe&&!To(t.children)):!0)?e:null}const Ls=e=>e?Jo(e)?ls(e):Ls(e.parent):null,dn=pe(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=>Ls(e.parent),$root:e=>Ls(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Po(e),$forceUpdate:e=>e.f||(e.f=()=>{ur(e.update)}),$nextTick:e=>e.n||(e.n=fr.bind(e.proxy)),$watch:e=>gc.bind(e)}),_s=(e,t)=>e!==le&&!e.__isScriptSetup&&se(e,t),Ic={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(_s(s,t))return o[t]=1,s[t];if(r!==le&&se(r,t))return o[t]=2,r[t];if(se(i,t))return o[t]=3,i[t];if(n!==le&&se(n,t))return o[t]=4,n[t];Fs&&(o[t]=0)}}const u=dn[t];let f,h;if(u)return t==="$attrs"&&Ee(e.attrs,"get",""),u(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==le&&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 _s(r,t)?(r[t]=n,!0):s!==le&&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!==le&&l[0]!=="$"&&se(e,l)||_s(t,l)||se(i,l)||se(s,l)||se(dn,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 jr(e){return K(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fs=!0;function Nc(e){const t=Po(e),n=e.proxy,s=e.ctx;Fs=!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:b,activated:_,deactivated:P,beforeDestroy:O,beforeUnmount:A,destroyed:M,unmounted:T,render:F,renderTracked:X,renderTriggered:j,errorCaptured:H,serverPrefetch:w,expose:G,inheritAttrs:J,components:N,directives:z,filters:ue}=t;if(u&&Mc(u,s,null),o)for(const q in o){const te=o[q];W(te)&&(s[q]=te.bind(n))}if(r){const q=r.call(n,n);ee(q)&&(e.data=wn(q))}if(Fs=!0,i)for(const q in i){const te=i[q],st=W(te)?te.bind(n,n):W(te.get)?te.get.bind(n,n):et,dt=!W(te)&&W(te.set)?te.set.bind(n):et,Ge=je({get:st,set:dt});Object.defineProperty(s,q,{enumerable:!0,configurable:!0,get:()=>Ge.value,set:Oe=>Ge.value=Oe})}if(l)for(const q in l)Oo(l[q],s,n,q);if(c){const q=W(c)?c.call(n):c;Reflect.ownKeys(q).forEach(te=>{Vn(te,q[te])})}f&&Hr(f,e,"c");function ie(q,te){K(te)?te.forEach(st=>q(st.bind(n))):te&&q(te.bind(n))}if(ie(wc,h),ie(So,p),ie(Rc,g),ie(Co,b),ie(Sc,_),ie(Cc,P),ie(Pc,H),ie(Oc,X),ie(Tc,j),ie(Ao,A),ie(gr,T),ie(xc,w),K(G))if(G.length){const q=e.exposed||(e.exposed={});G.forEach(te=>{Object.defineProperty(q,te,{get:()=>n[te],set:st=>n[te]=st,enumerable:!0})})}else e.exposed||(e.exposed={});F&&e.render===et&&(e.render=F),J!=null&&(e.inheritAttrs=J),N&&(e.components=N),z&&(e.directives=z),w&&pr(e)}function Mc(e,t,n=et){K(e)&&(e=Vs(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=He(r.from||s,r.default,!0):i=He(r.from||s):i=He(r),ae(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){Be(K(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Oo(e,t,n,s){let r=s.includes(".")?ho(n,s):()=>n[s];if(fe(e)){const i=t[e];W(i)&&an(r,i)}else if(W(e))an(r,e.bind(n));else if(ee(e))if(K(e))e.forEach(i=>Oo(i,t,n,s));else{const i=W(e.handler)?e.handler.bind(n):t[e.handler];W(i)&&an(r,i,e)}}function Po(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=>Gn(c,u,o,!0)),Gn(c,t,o)),ee(t)&&i.set(t,c),c}function Gn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Gn(e,i,n,!0),r&&r.forEach(o=>Gn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Dc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Dc={data:Br,props:Ur,emits:Ur,methods:on,computed:on,beforeCreate:Ae,created:Ae,beforeMount:Ae,mounted:Ae,beforeUpdate:Ae,updated:Ae,beforeDestroy:Ae,beforeUnmount:Ae,destroyed:Ae,unmounted:Ae,activated:Ae,deactivated:Ae,errorCaptured:Ae,serverPrefetch:Ae,components:on,directives:on,watch:Fc,provide:Br,inject:Lc};function Br(e,t){return t?e?function(){return pe(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Lc(e,t){return on(Vs(e),Vs(t))}function Vs(e){if(K(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Te(t)}Modifiers`]||e[`${Ct(t)}Modifiers`];function Bc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||le;let r=n;const i=t.startsWith("update:"),o=i&&Hc(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>fe(f)?f.trim():f)),o.number&&(r=n.map(Xs)));let l,c=s[l=as(t)]||s[l=as(Te(t))];!c&&i&&(c=s[l=as(Ct(t))]),c&&Be(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,Be(u,e,6,r)}}const Uc=new WeakMap;function No(e,t,n=!1){const s=n?Uc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!W(e)){const c=u=>{const f=No(u,t,!0);f&&(l=!0,pe(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):(K(i)?i.forEach(c=>o[c]=null):pe(o,i),ee(e)&&s.set(e,o),o)}function is(e,t){return!e||!Yn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),se(e,t[0].toLowerCase()+t.slice(1))||se(e,Ct(t))||se(e,t))}function Kr(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:b,inheritAttrs:_}=e,P=Kn(e);let O,A;try{if(n.shapeFlag&4){const T=r||s,F=T;O=Xe(u.call(F,T,f,h,g,p,b)),A=l}else{const T=t;O=Xe(T.length>1?T(h,{attrs:l,slots:o,emit:c}):T(h,null)),A=t.props?l:Kc(l)}}catch(T){pn.length=0,xn(T,e,1),O=_e(Se)}let M=O;if(A&&_!==!1){const T=Object.keys(A),{shapeFlag:F}=M;T.length&&F&7&&(i&&T.some(Qn)&&(A=kc(A,i)),M=St(M,A,!1,!0))}return n.dirs&&(M=St(M,null,!1,!0),M.dirs=M.dirs?M.dirs.concat(n.dirs):n.dirs),n.transition&&Dt(M,n.transition),O=M,Kn(P),O}const Kc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Yn(n))&&((t||(t={}))[n]=e[n]);return t},kc=(e,t)=>{const n={};for(const s in e)(!Qn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Gc(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?kr(s,o,u):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;hObject.create(Do),Fo=e=>Object.getPrototypeOf(e)===Do;function $c(e,t,n,s=!1){const r={},i=Lo();e.propsDefaults=Object.create(null),Vo(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:so(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function qc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=Q(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]=jo(h,t,!0);pe(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,Kt),Kt;if(K(i))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",_r=e=>K(e)?e.map(Xe):[Xe(e)],zc=(e,t,n)=>{if(t._n)return t;const s=ac((...r)=>_r(t(...r)),n);return s._c=!1,s},Ho=(e,t,n)=>{const s=e._ctx;for(const r in e){if(mr(r))continue;const i=e[r];if(W(i))t[r]=zc(r,i,s);else if(i!=null){const o=_r(i);t[r]=()=>o}}},Bo=(e,t)=>{const n=_r(t);e.slots.default=()=>n},Uo=(e,t,n)=>{for(const s in t)(n||!mr(s))&&(e[s]=t[s])},Yc=(e,t,n)=>{const s=e.slots=Lo();if(e.vnode.shapeFlag&32){const r=t._;r?(Uo(s,t,n),n&&Fi(s,"_",r,!0)):Ho(t,s)}else t&&Bo(e,t)},Qc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=le;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Uo(r,t,n):(i=!t.$stable,Ho(t,r)),o=t}else t&&(Bo(e,t),o={default:1});if(i)for(const l in r)!mr(l)&&o[l]==null&&delete r[l]},we=nf;function Xc(e){return Zc(e)}function Zc(e,t){const n=ts();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=et,insertStaticContent:b}=e,_=(a,d,m,v=null,S=null,y=null,I=void 0,x=null,R=!!d.dynamicChildren)=>{if(a===d)return;a&&!Pt(a,d)&&(v=E(a),Oe(a,S,y,!0),a=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:C,ref:k,shapeFlag:L}=d;switch(C){case os:P(a,d,m,v);break;case Se:O(a,d,m,v);break;case vs:a==null&&A(d,m,v,I);break;case Pe:N(a,d,m,v,S,y,I,x,R);break;default:L&1?F(a,d,m,v,S,y,I,x,R):L&6?z(a,d,m,v,S,y,I,x,R):(L&64||L&128)&&C.process(a,d,m,v,S,y,I,x,R,B)}k!=null&&S?hn(k,a&&a.ref,y,d||a,!d):k==null&&a&&a.ref!=null&&hn(a.ref,null,y,a,!0)},P=(a,d,m,v)=>{if(a==null)s(d.el=l(d.children),m,v);else{const S=d.el=a.el;d.children!==a.children&&u(S,d.children)}},O=(a,d,m,v)=>{a==null?s(d.el=c(d.children||""),m,v):d.el=a.el},A=(a,d,m,v)=>{[a.el,a.anchor]=b(a.children,d,m,v,a.el,a.anchor)},M=({el:a,anchor:d},m,v)=>{let S;for(;a&&a!==d;)S=p(a),s(a,m,v),a=S;s(d,m,v)},T=({el:a,anchor:d})=>{let m;for(;a&&a!==d;)m=p(a),r(a),a=m;r(d)},F=(a,d,m,v,S,y,I,x,R)=>{if(d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),a==null)X(d,m,v,S,y,I,x,R);else{const C=a.el&&a.el._isVueCE?a.el:null;try{C&&C._beginPatch(),w(a,d,S,y,I,x,R)}finally{C&&C._endPatch()}}},X=(a,d,m,v,S,y,I,x)=>{let R,C;const{props:k,shapeFlag:L,transition:U,dirs:$}=a;if(R=a.el=o(a.type,y,k&&k.is,k),L&8?f(R,a.children):L&16&&H(a.children,R,null,v,S,ys(a,y),I,x),$&&wt(a,null,v,"created"),j(R,a,a.scopeId,I,v),k){for(const oe in k)oe!=="value"&&!cn(oe)&&i(R,oe,null,k[oe],y,v);"value"in k&&i(R,"value",null,k.value,y),(C=k.onVnodeBeforeMount)&&Je(C,v,a)}$&&wt(a,null,v,"beforeMount");const Z=ef(S,U);Z&&U.beforeEnter(R),s(R,d,m),((C=k&&k.onVnodeMounted)||Z||$)&&we(()=>{try{C&&Je(C,v,a),Z&&U.enter(R),$&&wt(a,null,v,"mounted")}finally{}},S)},j=(a,d,m,v,S)=>{if(m&&g(a,m),v)for(let y=0;y{for(let C=R;C{const x=d.el=a.el;let{patchFlag:R,dynamicChildren:C,dirs:k}=d;R|=a.patchFlag&16;const L=a.props||le,U=d.props||le;let $;if(m&&Rt(m,!1),($=U.onVnodeBeforeUpdate)&&Je($,m,d,a),k&&wt(d,a,m,"beforeUpdate"),m&&Rt(m,!0),C&&(!a.dynamicChildren||a.dynamicChildren.length!==C.length)&&(R=0,I=!1,C=null),(L.innerHTML&&U.innerHTML==null||L.textContent&&U.textContent==null)&&f(x,""),C?G(a.dynamicChildren,C,x,m,v,ys(d,S),y):I||te(a,d,x,null,m,v,ys(d,S),y,!1),R>0){if(R&16)J(x,L,U,m,S);else if(R&2&&L.class!==U.class&&i(x,"class",null,U.class,S),R&4&&i(x,"style",L.style,U.style,S),R&8){const Z=d.dynamicProps;for(let oe=0;oe{$&&Je($,m,d,a),k&&wt(d,a,m,"updated")},v)},G=(a,d,m,v,S,y,I)=>{for(let x=0;x{if(d!==m){if(d!==le)for(const y in d)!cn(y)&&!(y in m)&&i(a,y,d[y],null,S,v);for(const y in m){if(cn(y))continue;const I=m[y],x=d[y];I!==x&&y!=="value"&&i(a,y,x,I,S,v)}"value"in m&&i(a,"value",d.value,m.value,S)}},N=(a,d,m,v,S,y,I,x,R)=>{const C=d.el=a?a.el:l(""),k=d.anchor=a?a.anchor:l("");let{patchFlag:L,dynamicChildren:U,slotScopeIds:$}=d;$&&(x=x?x.concat($):$),a==null?(s(C,m,v),s(k,m,v),H(d.children||[],m,k,S,y,I,x,R)):L>0&&L&64&&U&&a.dynamicChildren&&a.dynamicChildren.length===U.length?(G(a.dynamicChildren,U,m,S,y,I,x),(d.key!=null||S&&d===S.subTree)&&yr(a,d,!0)):te(a,d,m,k,S,y,I,x,R)},z=(a,d,m,v,S,y,I,x,R)=>{d.slotScopeIds=x,a==null?d.shapeFlag&512?S.ctx.activate(d,m,v,I,R):ue(d,m,v,S,y,I,R):Ce(a,d,R)},ue=(a,d,m,v,S,y,I)=>{const x=a.component=hf(a,v,S);if(Tn(a)&&(x.ctx.renderer=B),df(x,!1,I),x.asyncDep){if(S&&S.registerDep(x,ie,I),!a.el){const R=x.subTree=_e(Se);O(null,R,d,m),a.placeholder=R.el}}else ie(x,a,d,m,S,y,I)},Ce=(a,d,m)=>{const v=d.component=a.component;if(Gc(a,d,m))if(v.asyncDep&&!v.asyncResolved){q(v,d,m);return}else v.next=d,v.update();else d.el=a.el,v.vnode=d},ie=(a,d,m,v,S,y,I)=>{const x=()=>{if(a.isMounted){let{next:L,bu:U,u:$,parent:Z,vnode:oe}=a;{const $e=Ko(a);if($e){L&&(L.el=oe.el,q(a,L,I)),$e.asyncDep.then(()=>{we(()=>{a.isUnmounted||C()},S)});return}}let re=L,de;Rt(a,!1),L?(L.el=oe.el,q(a,L,I)):L=oe,U&&Fn(U),(de=L.props&&L.props.onVnodeBeforeUpdate)&&Je(de,Z,L,oe),Rt(a,!0);const ye=Kr(a),We=a.subTree;a.subTree=ye,_(We,ye,h(We.el),E(We),a,S,y),L.el=ye.el,re===null&&Wc(a,ye.el),$&&we($,S),(de=L.props&&L.props.onVnodeUpdated)&&we(()=>Je(de,Z,L,oe),S)}else{let L;const{el:U,props:$}=d,{bm:Z,m:oe,parent:re,root:de,type:ye}=a,We=$t(d);Rt(a,!1),Z&&Fn(Z),!We&&(L=$&&$.onVnodeBeforeMount)&&Je(L,re,d),Rt(a,!0);{de.ce&&de.ce._hasShadowRoot()&&de.ce._injectChildStyle(ye,a.parent?a.parent.type:void 0);const $e=a.subTree=Kr(a);_(null,$e,m,v,a,S,y),d.el=$e.el}if(oe&&we(oe,S),!We&&(L=$&&$.onVnodeMounted)){const $e=d;we(()=>Je(L,re,$e),S)}(d.shapeFlag&256||re&&$t(re.vnode)&&re.vnode.shapeFlag&256)&&a.a&&we(a.a,S),a.isMounted=!0,d=m=v=null}};a.scope.on();const R=a.effect=new ki(x);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=()=>ur(k),Rt(a,!0),C()},q=(a,d,m)=>{d.component=a;const v=a.vnode.props;a.vnode=d,a.next=null,qc(a,d.props,v,m),Qc(a,d.children,m),tt(),Pr(a),nt()},te=(a,d,m,v,S,y,I,x,R=!1)=>{const C=a&&a.children,k=a?a.shapeFlag:0,L=d.children,{patchFlag:U,shapeFlag:$}=d;if(U>0){if(U&128){dt(C,L,m,v,S,y,I,x,R);return}else if(U&256){st(C,L,m,v,S,y,I,x,R);return}}$&8?(k&16&&Le(C,S,y),L!==C&&f(m,L)):k&16?$&16?dt(C,L,m,v,S,y,I,x,R):Le(C,S,y,!0):(k&8&&f(m,""),$&16&&H(L,m,v,S,y,I,x,R))},st=(a,d,m,v,S,y,I,x,R)=>{a=a||Kt,d=d||Kt;const C=a.length,k=d.length,L=Math.min(C,k);let U;for(U=0;Uk?Le(a,S,y,!0,!1,L):H(d,m,v,S,y,I,x,R,L)},dt=(a,d,m,v,S,y,I,x,R)=>{let C=0;const k=d.length;let L=a.length-1,U=k-1;for(;C<=L&&C<=U;){const $=a[C],Z=d[C]=R?lt(d[C]):Xe(d[C]);if(Pt($,Z))_($,Z,m,null,S,y,I,x,R);else break;C++}for(;C<=L&&C<=U;){const $=a[L],Z=d[U]=R?lt(d[U]):Xe(d[U]);if(Pt($,Z))_($,Z,m,null,S,y,I,x,R);else break;L--,U--}if(C>L){if(C<=U){const $=U+1,Z=$U)for(;C<=L;)Oe(a[C],S,y,!0),C++;else{const $=C,Z=C,oe=new Map;for(C=Z;C<=U;C++){const Ie=d[C]=R?lt(d[C]):Xe(d[C]);Ie.key!=null&&oe.set(Ie.key,C)}let re,de=0;const ye=U-Z+1;let We=!1,$e=0;const Xt=new Array(ye);for(C=0;C=ye){Oe(Ie,S,y,!0);continue}let qe;if(Ie.key!=null)qe=oe.get(Ie.key);else for(re=Z;re<=U;re++)if(Xt[re-Z]===0&&Pt(Ie,d[re])){qe=re;break}qe===void 0?Oe(Ie,S,y,!0):(Xt[qe-Z]=C+1,qe>=$e?$e=qe:We=!0,_(Ie,d[qe],m,null,S,y,I,x,R),de++)}const Cr=We?tf(Xt):Kt;for(re=Cr.length-1,C=ye-1;C>=0;C--){const Ie=Z+C,qe=d[Ie],Ar=d[Ie+1],wr=Ie+1{const{el:y,type:I,transition:x,children:R,shapeFlag:C}=a;if(C&6){Ge(a.component.subTree,d,m,v);return}if(C&128){a.suspense.move(d,m,v);return}if(C&64){I.move(a,d,m,B);return}if(I===Pe){s(y,d,m);for(let L=0;Lx.enter(y),S));else{const{leave:L,delayLeave:U,afterLeave:$}=x,Z=()=>{a.ctx.isUnmounted?r(y):s(y,d,m)},oe=()=>{const re=y._isLeaving||!!y[Ve];y._isLeaving&&y[Ve](!0),x.persisted&&!re?Z():L(y,()=>{Z(),$&&$()})};U?U(y,Z,oe):oe()}else s(y,d,m)},Oe=(a,d,m,v=!1,S=!1)=>{const{type:y,props:I,ref:x,children:R,dynamicChildren:C,shapeFlag:k,patchFlag:L,dirs:U,cacheIndex:$,memo:Z}=a;if(L===-2&&(S=!1),x!=null&&(tt(),hn(x,null,m,a,!0),nt()),$!=null&&(d.renderCache[$]=void 0),k&256){d.ctx.deactivate(a);return}const oe=k&1&&U,re=!$t(a);let de;if(re&&(de=I&&I.onVnodeBeforeUnmount)&&Je(de,d,a),k&6)At(a.component,m,v);else{if(k&128){a.suspense.unmount(m,v);return}oe&&wt(a,null,d,"beforeUnmount"),k&64?a.type.remove(a,d,m,B,v):C&&!C.hasOnce&&(y!==Pe||L>0&&L&64)?Le(C,d,m,!1,!0):(y===Pe&&L&384||!S&&k&16)&&Le(R,d,m),v&&Lt(a)}const ye=Z!=null&&$==null;(re&&(de=I&&I.onVnodeUnmounted)||oe||ye)&&we(()=>{de&&Je(de,d,a),oe&&wt(a,null,d,"unmounted"),ye&&(a.el=null)},m)},Lt=a=>{const{type:d,el:m,anchor:v,transition:S}=a;if(d===Pe){Ft(m,v);return}if(d===vs){T(a);return}const y=()=>{r(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(a.shapeFlag&1&&S&&!S.persisted){const{leave:I,delayLeave:x}=S,R=()=>I(m,y);x?x(a.el,y,R):R()}else y()},Ft=(a,d)=>{let m;for(;a!==d;)m=p(a),r(a),a=m;r(d)},At=(a,d,m)=>{const{bum:v,scope:S,job:y,subTree:I,um:x,m:R,a:C}=a;Wr(R),Wr(C),v&&Fn(v),S.stop(),y&&(y.flags|=8,Oe(I,a,d,m)),x&&we(x,d),we(()=>{a.isUnmounted=!0},d)},Le=(a,d,m,v=!1,S=!1,y=0)=>{for(let I=y;I{if(a.shapeFlag&6)return E(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const d=p(a.anchor||a.el),m=d&&d[po];return m?p(m):d};let V=!1;const D=(a,d,m)=>{let v;a==null?d._vnode&&(Oe(d._vnode,null,null,!0),v=d._vnode.component):_(d._vnode||null,a,d,null,null,null,m),d._vnode=a,V||(V=!0,Pr(v),fo(),V=!1)},B={p:_,um:Oe,m:Ge,r:Lt,mt:ue,mc:H,pc:te,pbc:G,n:E,o:e};return{render:D,hydrate:void 0,createApp:jc(D)}}function ys({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 Rt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ef(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function yr(e,t,n=!1){const s=e.children,r=t.children;if(K(s)&&K(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 Wr(e){if(e)for(let t=0;te.__isSuspense;function nf(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):uc(e)}const Pe=Symbol.for("v-fgt"),os=Symbol.for("v-txt"),Se=Symbol.for("v-cmt"),vs=Symbol.for("v-stc"),pn=[];let Ne=null;function Hs(e=!1){pn.push(Ne=e?null:[])}function sf(){pn.pop(),Ne=pn[pn.length-1]||null}let En=1;function Wn(e,t=!1){En+=e,e<0&&Ne&&t&&(Ne.hasOnce=!0)}function Wo(e){return e.dynamicChildren=En>0?Ne||Kt:null,sf(),En>0&&Ne&&Ne.push(e),e}function Aa(e,t,n,s,r,i){return Wo(qo(e,t,n,s,r,i,!0))}function Bs(e,t,n,s,r){return Wo(_e(e,t,n,s,r,!0))}function Sn(e){return e?e.__v_isVNode===!0:!1}function Pt(e,t){return e.type===t.type&&e.key===t.key}const $o=({key:e})=>e??null,jn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?fe(e)||ae(e)||W(e)?{i:be,r:e,k:t,f:!!n}:e:null);function qo(e,t=null,n=null,s=0,r=null,i=e===Pe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$o(t),ref:t&&jn(t),scopeId:ao,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:be};return l?($n(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=fe(n)?8:16),En>0&&!o&&Ne&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ne.push(c),c}const _e=rf;function rf(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Ro)&&(e=Se),Sn(e)){const l=St(e,t,!0);return n&&$n(l,n),En>0&&!i&&Ne&&(l.shapeFlag&6?Ne[Ne.indexOf(e)]=l:Ne.push(l)),l.patchFlag=-2,l}if(yf(e)&&(e=e.__vccOpts),t){t=of(t);let{class:l,style:c}=t;l&&!fe(l)&&(t.class=er(l)),ee(c)&&(ss(c)&&!K(c)&&(c=pe({},c)),t.style=Zs(c))}const o=fe(e)?1:Go(e)?128:go(e)?64:ee(e)?4:W(e)?2:0;return qo(e,t,n,s,r,o,i,!0)}function of(e){return e?ss(e)||Fo(e)?pe({},e):e:null}function St(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&&$o(u),ref:t&&t.ref?n&&i?K(i)?i.concat(jn(t)):[i,jn(t)]:jn(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!==Pe?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&&St(e.ssContent),ssFallback:e.ssFallback&&St(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Dt(f,c.clone(f)),f}function lf(e=" ",t=0){return _e(os,null,e,t)}function cf(e="",t=!1){return t?(Hs(),Bs(Se,null,e)):_e(Se,null,e)}function Xe(e){return e==null||typeof e=="boolean"?_e(Se):K(e)?_e(Pe,null,e.slice()):Sn(e)?lt(e):_e(os,null,String(e))}function lt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:St(e)}function $n(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(K(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),$n(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Fo(t)?t._ctx=be:r===3&&be&&(be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(W(t)){if(s&65){$n(e,{default:t});return}t={default:t,_ctx:be},n=32}else t=String(t),s&64?(n=16,t=[lf(t)]):n=8;e.children=t,e.shapeFlag|=n}function ff(...e){const t={};for(let n=0;nve||be;let qn,Us;{const e=ts(),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)}};qn=t("__VUE_INSTANCE_SETTERS__",n=>ve=n),Us=t("__VUE_SSR_SETTERS__",n=>Jt=n)}const Pn=e=>{const t=ve;return qn(e),e.scope.on(),()=>{e.scope.off(),qn(t)}},$r=()=>{ve&&ve.scope.off(),qn(null)};function Jo(e){return e.vnode.shapeFlag&4}let Jt=!1;function df(e,t=!1,n=!1){t&&Us(t);const{props:s,children:r}=e.vnode,i=Jo(e);$c(e,s,i,t),Yc(e,r,n||t);const o=i?pf(e,t):void 0;return t&&Us(!1),o}function pf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ic);const{setup:s}=n;if(s){tt();const r=e.setupContext=s.length>1?mf(e):null,i=Pn(e),o=Rn(s,e,0,[e.props,r]),l=Mi(o);if(nt(),i(),(l||e.sp)&&!$t(e)&&pr(e),l){if(o.then($r,$r),t)return o.then(c=>{qr(e,c)}).catch(c=>{xn(c,e,0)});e.asyncDep=o}else qr(e,o)}else zo(e)}function qr(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=io(t)),zo(e)}function zo(e,t,n){const s=e.type;e.render||(e.render=s.render||et);{const r=Pn(e);tt();try{Nc(e)}finally{nt(),r()}}}const gf={get(e,t){return Ee(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 ls(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(io(cr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in dn)return dn[n](e)},has(t,n){return n in t||n in dn}})):e.proxy}function _f(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function yf(e){return W(e)&&"__vccOpts"in e}const je=(e,t)=>ic(e,t,Jt);function vr(e,t,n){try{Wn(-1);const s=arguments.length;return s===2?ee(t)&&!K(t)?Sn(t)?_e(e,null,[t]):_e(e,t):_e(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Sn(n)&&(n=[n]),_e(e,t,n))}finally{Wn(1)}}const vf="3.5.39";/** -* @vue/runtime-dom v3.5.39 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ks;const Jr=typeof window<"u"&&window.trustedTypes;if(Jr)try{Ks=Jr.createPolicy("vue",{createHTML:e=>e})}catch{}const Yo=Ks?e=>Ks.createHTML(e):e=>e,bf="http://www.w3.org/2000/svg",Ef="http://www.w3.org/1998/Math/MathML",ot=typeof document<"u"?document:null,zr=ot&&ot.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"?ot.createElementNS(bf,e):t==="mathml"?ot.createElementNS(Ef,e):n?ot.createElement(e,{is:n}):ot.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.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{zr.innerHTML=Yo(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=zr.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]}},pt="transition",tn="animation",zt=Symbol("_vtc"),Qo={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},Xo=pe({},_o,Qo),Cf=e=>(e.displayName="Transition",e.props=Xo,e),wa=Cf((e,{slots:t})=>vr(bc,Zo(e),t)),xt=(e,t=[])=>{K(e)?e.forEach(n=>n(...t)):e&&e(...t)},Yr=e=>e?K(e)?e.some(t=>t.length>1):e.length>1:!1;function Zo(e){const t={};for(const N in e)N in Qo||(t[N]=e[N]);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,b=Af(r),_=b&&b[0],P=b&&b[1],{onBeforeEnter:O,onEnter:A,onEnterCancelled:M,onLeave:T,onLeaveCancelled:F,onBeforeAppear:X=O,onAppear:j=A,onAppearCancelled:H=M}=t,w=(N,z,ue,Ce)=>{N._enterCancelled=Ce,_t(N,z?f:l),_t(N,z?u:o),ue&&ue()},G=(N,z)=>{N._isLeaving=!1,_t(N,h),_t(N,g),_t(N,p),z&&z()},J=N=>(z,ue)=>{const Ce=N?j:A,ie=()=>w(z,N,ue);xt(Ce,[z,ie]),Qr(()=>{_t(z,N?c:i),ze(z,N?f:l),Yr(Ce)||Xr(z,s,_,ie)})};return pe(t,{onBeforeEnter(N){xt(O,[N]),ze(N,i),ze(N,o)},onBeforeAppear(N){xt(X,[N]),ze(N,c),ze(N,u)},onEnter:J(!1),onAppear:J(!0),onLeave(N,z){N._isLeaving=!0;const ue=()=>G(N,z);ze(N,h),N._enterCancelled?(ze(N,p),ks(N)):(ks(N),ze(N,p)),Qr(()=>{N._isLeaving&&(_t(N,h),ze(N,g),Yr(T)||Xr(N,s,P,ue))}),xt(T,[N,ue])},onEnterCancelled(N){w(N,!1,void 0,!0),xt(M,[N])},onAppearCancelled(N){w(N,!0,void 0,!0),xt(H,[N])},onLeaveCancelled(N){G(N),xt(F,[N])}})}function Af(e){if(e==null)return null;if(ee(e))return[bs(e.enter),bs(e.leave)];{const t=bs(e);return[t,t]}}function bs(e){return Al(e)}function ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[zt]||(e[zt]=new Set)).add(t)}function _t(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[zt];n&&(n.delete(t),n.size||(e[zt]=void 0))}function Qr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let wf=0;function Xr(e,t,n,s){const r=e._endId=++wf,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=el(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[b]||"").split(", "),r=s(`${pt}Delay`),i=s(`${pt}Duration`),o=Zr(r,i),l=s(`${tn}Delay`),c=s(`${tn}Duration`),u=Zr(l,c);let f=null,h=0,p=0;t===pt?o>0&&(f=pt,h=o,p=i.length):t===tn?u>0&&(f=tn,h=u,p=c.length):(h=Math.max(o,u),f=h>0?o>u?pt:tn:null,p=f?f===pt?i.length:c.length:0);const g=f===pt&&/\b(?:transform|all)(?:,|$)/.test(s(`${pt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:g}}function Zr(e,t){for(;e.lengthei(n)+ei(e[s])))}function ei(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ks(e){return(e?e.ownerDocument:document).body.offsetHeight}function Rf(e,t,n){const s=e[zt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Jn=Symbol("_vod"),br=Symbol("_vsh"),Ra={name:"show",beforeMount(e,{value:t},{transition:n}){e[Jn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):nn(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),nn(e,!0),s.enter(e)):s.leave(e,()=>{nn(e,!1)}):nn(e,t))},beforeUnmount(e,{value:t}){nn(e,t)}};function nn(e,t){e.style.display=t?e[Jn]:"none",e[br]=!t}const xf=Symbol(""),Tf=/(?:^|;)\s*display\s*:/;function Of(e,t,n){const s=e.style,r=fe(n);let i=!1;if(n&&!r){if(t)if(fe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&ln(s,l,"")}else for(const o in t)n[o]==null&&ln(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?If(e,o,!fe(t)&&t?t[o]:void 0,l)||ln(s,o,l):ln(s,o,"")}}else if(r){if(t!==n){const o=s[xf];o&&(n+=";"+o),s.cssText=n,i=Tf.test(n)}}else t&&e.removeAttribute("style");Jn in e&&(e[Jn]=i?s.display:"",e[br]&&(s.display="none"))}const ti=/\s*!important$/;function ln(e,t,n){if(K(n))n.forEach(s=>ln(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Pf(e,t);ti.test(n)?e.setProperty(Ct(s),n.replace(ti,""),"important"):e[s]=n}}const ni=["Webkit","Moz","ms"],Es={};function Pf(e,t){const n=Es[t];if(n)return n;let s=Te(t);if(s!=="filter"&&s in e)return Es[t]=s;s=es(s);for(let r=0;rSs||(Vf.then(()=>Ss=0),Ss=Date.now());function Hf(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(K(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Bf=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Rf(e,s,o):t==="style"?Of(e,n,s):Yn(t)?Qn(t)||Mf(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Uf(e,t,s,o))?(ii(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ri(e,t,s,o,i,t!=="value")):e._isVueCE&&(Kf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!fe(s)))?ii(e,Te(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ri(e,t,s,o))};function Uf(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&li(t)&&W(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 li(t)&&fe(n)?!1:t in e}function Kf(e,t){const n=e._def.props;if(!n)return!1;const s=Te(t);return Array.isArray(n)?n.some(r=>Te(r)===s):Object.keys(n).some(r=>Te(r)===s)}const tl=new WeakMap,nl=new WeakMap,zn=Symbol("_moveCb"),ci=Symbol("_enterCb"),kf=e=>(delete e.props.mode,e),Gf=kf({name:"TransitionGroup",props:pe({},Xo,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=On(),s=mo();let r,i;return Co(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Jf(r[0].el,n.vnode.el,o)){r=[];return}r.forEach(Wf),r.forEach($f);const l=r.filter(qf);ks(n.vnode.el),l.forEach(c=>{const u=c.el,f=u.style;ze(u,o),f.transform=f.webkitTransform=f.transitionDuration="";const h=u[zn]=p=>{p&&p.target!==u||(!p||p.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",h),u[zn]=null,_t(u,o))};u.addEventListener("transitionend",h)}),r=[]}),()=>{const o=Q(e),l=Zo(o);let c=o.tag||Pe;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}=el(s);return i.removeChild(s),o}const fi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?n=>Fn(t,n):t};function zf(e){e.target.composing=!0}function ui(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Cs=Symbol("_assign");function ai(e,t,n){return t&&(e=e.trim()),n&&(e=Xs(e)),e}const Ta={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Cs]=fi(r);const i=s||r.props&&r.props.type==="number";Bt(e,t?"change":"input",o=>{o.target.composing||e[Cs](ai(e.value,n,i))}),(n||i)&&Bt(e,"change",()=>{e.value=ai(e.value,n,i)}),t||(Bt(e,"compositionstart",zf),Bt(e,"compositionend",ui),Bt(e,"change",ui))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[Cs]=fi(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Xs(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},Yf=["ctrl","shift","alt","meta"],Qf={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)=>Yf.some(n=>e[`${n}Key`]&&!t.includes(n))},Oa=(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=Ct(r.key);if(t.some(o=>o===i||Xf[o]===i))return e(r)})},Zf=pe({patchProp:Bf},Sf);let hi;function eu(){return hi||(hi=Xc(Zf))}const Ia=(...e)=>{const t=eu().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=nu(s);if(!r)return;const i=t._component;!W(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,tu(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function tu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function nu(e){return fe(e)?document.querySelector(e):e}/*! - * pinia v3.0.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let rl;const cs=e=>rl=e,il=Symbol();function Gs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(gn||(gn={}));function Na(){const e=Ui(!0),t=e.run(()=>Gt({}));let n=[],s=[];const r=cr({install(i){cs(r),r._a=i,i.provide(il,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 ol=()=>{};function di(e,t,n,s=ol){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&Ki()&&Ml(r),r}function jt(e,...t){e.forEach(n=>{n(...t)})}const su=e=>e(),pi=Symbol(),As=Symbol();function Ws(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];Gs(r)&&Gs(s)&&e.hasOwnProperty(n)&&!ae(s)&&!ut(s)?e[n]=Ws(r,s):e[n]=s}return e}const ru=Symbol();function iu(e){return!Gs(e)||!Object.prototype.hasOwnProperty.call(e,ru)}const{assign:yt}=Object;function ou(e){return!!(ae(e)&&e.effect)}function lu(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=tc(n.state.value[e]);return yt(f,i,Object.keys(o||{}).reduce((h,p)=>(h[p]=cr(je(()=>{cs(n);const g=n._s.get(e);return o[p].call(g,g)})),h),{}))}return c=ll(e,u,t,n,s,!0),c}function ll(e,t,n={},s,r,i){let o;const l=yt({actions:{}},n),c={deep:!0};let u,f,h=new Set,p=new Set,g;const b=s.state.value[e];!i&&!b&&(s.state.value[e]={});let _;function P(H){let w;u=f=!1,typeof H=="function"?(H(s.state.value[e]),w={type:gn.patchFunction,storeId:e,events:g}):(Ws(s.state.value[e],H),w={type:gn.patchObject,payload:H,storeId:e,events:g});const G=_=Symbol();fr().then(()=>{_===G&&(u=!0)}),f=!0,jt(h,w,s.state.value[e])}const O=i?function(){const{state:w}=n,G=w?w():{};this.$patch(J=>{yt(J,G)})}:ol;function A(){o.stop(),h.clear(),p.clear(),s._s.delete(e)}const M=(H,w="")=>{if(pi in H)return H[As]=w,H;const G=function(){cs(s);const J=Array.from(arguments),N=new Set,z=new Set;function ue(q){N.add(q)}function Ce(q){z.add(q)}jt(p,{args:J,name:G[As],store:F,after:ue,onError:Ce});let ie;try{ie=H.apply(this&&this.$id===e?this:F,J)}catch(q){throw jt(z,q),q}return ie instanceof Promise?ie.then(q=>(jt(N,q),q)).catch(q=>(jt(z,q),Promise.reject(q))):(jt(N,ie),ie)};return G[pi]=!0,G[As]=w,G},T={_p:s,$id:e,$onAction:di.bind(null,p),$patch:P,$reset:O,$subscribe(H,w={}){const G=di(h,H,w.detached,()=>J()),J=o.run(()=>an(()=>s.state.value[e],N=>{(w.flush==="sync"?f:u)&&H({storeId:e,type:gn.direct,events:g},N)},yt({},c,w)));return G},$dispose:A},F=wn(T);s._s.set(e,F);const j=(s._a&&s._a.runWithContext||su)(()=>s._e.run(()=>(o=Ui()).run(()=>t({action:M}))));for(const H in j){const w=j[H];if(ae(w)&&!ou(w)||ut(w))i||(b&&iu(w)&&(ae(w)?w.value=b[H]:Ws(w,b[H])),s.state.value[e][H]=w);else if(typeof w=="function"){const G=M(w,H);j[H]=G,l.actions[H]=w}}return yt(F,j),yt(Q(F),j),Object.defineProperty(F,"$state",{get:()=>s.state.value[e],set:H=>{P(w=>{yt(w,H)})}}),s._p.forEach(H=>{yt(F,o.run(()=>H({store:F,app:s._a,pinia:s,options:l})))}),b&&i&&n.hydrate&&n.hydrate(F.$state,b),u=!0,f=!0,F}/*! #__NO_SIDE_EFFECTS__ */function Ma(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function i(o,l){const c=hc();return o=o||(c?He(il,null):null),o&&cs(o),o=rl,o._s.has(e)||(r?ll(e,t,s,o):lu(e,s,o)),o._s.get(e)}return i.$id=e,i}function Da(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 La(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 Ut=typeof document<"u";function cl(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function cu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&cl(e.default)}const ne=Object.assign;function ws(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 mn=()=>{},ke=Array.isArray;function gi(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const fl=/#/g,fu=/&/g,uu=/\//g,au=/=/g,hu=/\?/g,ul=/\+/g,du=/%5B/g,pu=/%5D/g,al=/%5E/g,gu=/%60/g,hl=/%7B/g,mu=/%7C/g,dl=/%7D/g,_u=/%20/g;function Er(e){return e==null?"":encodeURI(""+e).replace(mu,"|").replace(du,"[").replace(pu,"]")}function yu(e){return Er(e).replace(hl,"{").replace(dl,"}").replace(al,"^")}function $s(e){return Er(e).replace(ul,"%2B").replace(_u,"+").replace(fl,"%23").replace(fu,"%26").replace(gu,"`").replace(hl,"{").replace(dl,"}").replace(al,"^")}function vu(e){return $s(e).replace(au,"%3D")}function bu(e){return Er(e).replace(fl,"%23").replace(hu,"%3F")}function Eu(e){return bu(e).replace(uu,"%2F")}function Cn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Su=/\/$/,Cu=e=>e.replace(Su,"");function Rs(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=xu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:Cn(o)}}function Au(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function mi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function wu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Yt(t.matched[s],n.matched[r])&&pl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Yt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function pl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ru(e[n],t[n]))return!1;return!0}function Ru(e,t){return ke(e)?_i(e,t):ke(t)?_i(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function _i(e,t){return ke(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function xu(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 gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let qs=function(e){return e.pop="pop",e.push="push",e}({}),xs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Tu(e){if(!e)if(Ut){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Cu(e)}const Ou=/^[^#]+#/;function Pu(e,t){return e.replace(Ou,"#")+t}function Iu(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 fs=()=>({left:window.scrollX,top:window.scrollY});function Nu(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=Iu(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 yi(e,t){return(history.state?history.state.position-t:-1)+e}const Js=new Map;function Mu(e,t){Js.set(e,t)}function Du(e){const t=Js.get(e);return Js.delete(e),t}function Lu(e){return typeof e=="string"||e&&typeof e=="object"}function gl(e){return typeof e=="string"||typeof e=="symbol"}let he=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 ml=Symbol("");he.MATCHER_NOT_FOUND+"",he.NAVIGATION_GUARD_REDIRECT+"",he.NAVIGATION_ABORTED+"",he.NAVIGATION_CANCELLED+"",he.NAVIGATION_DUPLICATED+"";function Qt(e,t){return ne(new Error,{type:e,[ml]:!0},t)}function it(e,t){return e instanceof Error&&ml in e&&(t==null||!!(e.type&t))}const Fu=["params","query","hash"];function Vu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Fu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function ju(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&$s(r)):[s&&$s(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Hu(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 Bu=Symbol(""),bi=Symbol(""),us=Symbol(""),Sr=Symbol(""),zs=Symbol("");function sn(){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 bt(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(Qt(he.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):Lu(p)?c(Qt(he.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 Ts(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(cl(c)){const u=(c.__vccOpts||c)[t];u&&i.push(bt(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=cu(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&bt(p,n,s,o,l,r)()}))}}return i}function Uu(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oYt(u,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(u=>Yt(u,c))||r.push(c))}return[n,s,r]}/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Ku=()=>location.protocol+"//"+location.host;function _l(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),mi(l,"")}return mi(n,e)+s+r}function ku(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const g=_l(e,location),b=n.value,_=t.value;let P=0;if(p){if(n.value=g,t.value=p,o&&o===b){o=null;return}P=_?p.position-_.position:0}else s(g);r.forEach(O=>{O(n.value,b,{delta:P,type:qs.pop,direction:P?P>0?xs.forward:xs.back:xs.unknown})})};function c(){o=n.value}function u(p){r.push(p);const g=()=>{const b=r.indexOf(p);b>-1&&r.splice(b,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:fs()}),"")}}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 Ei(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?fs():null}}function Gu(e){const{history:t,location:n}=window,s={value:_l(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:Ku()+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,Ei(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:fs()});i(f.current,f,!0),i(c,ne({},Ei(s.value,c,null),{position:f.position+1},u),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Fa(e){e=Tu(e);const t=Gu(e),n=ku(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:Pu.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 It=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var ge=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}(ge||{});const Wu={type:It.Static,value:""},$u=/[a-zA-Z0-9_]/;function qu(e){if(!e)return[[]];if(e==="/")return[[Wu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${u}": ${g}`)}let n=ge.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,u="",f="";function h(){u&&(n===ge.Static?i.push({type:It.Static,value:u}):n===ge.Param||n===ge.ParamRegExp||n===ge.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:It.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]===Re.Static+Re.Segment?1:-1:0}function yl(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Xu={strict:!1,end:!0,sensitive:!1};function Zu(e,t,n){const s=Yu(qu(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 ea(e,t){const n=[],s=new Map;t=gi(Xu,t);function r(h){return s.get(h)}function i(h,p,g){const b=!g,_=wi(h);_.aliasOf=g&&g.record;const P=gi(t,h),O=[_];if("alias"in h){const T=typeof h.alias=="string"?[h.alias]:h.alias;for(const F of T)O.push(wi(ne({},_,{components:g?g.record.components:_.components,path:F,aliasOf:g?g.record:_})))}let A,M;for(const T of O){const{path:F}=T;if(p&&F[0]!=="/"){const X=p.record.path,j=X[X.length-1]==="/"?"":"/";T.path=p.record.path+(F&&j+F)}if(A=Zu(T,p,P),g?g.alias.push(A):(M=M||A,M!==A&&M.alias.push(A),b&&h.name&&!Ri(A)&&o(h.name)),vl(A)&&c(A),_.children){const X=_.children;for(let j=0;j{o(M)}:mn}function o(h){if(gl(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=sa(h,n);n.splice(p,0,h),h.record.name&&!Ri(h)&&s.set(h.record.name,h)}function u(h,p){let g,b={},_,P;if("name"in h&&h.name){if(g=s.get(h.name),!g)throw Qt(he.MATCHER_NOT_FOUND,{location:h});P=g.record.name,b=ne(Ai(p.params,g.keys.filter(M=>!M.optional).concat(g.parent?g.parent.keys.filter(M=>M.optional):[]).map(M=>M.name)),h.params&&Ai(h.params,g.keys.map(M=>M.name))),_=g.stringify(b)}else if(h.path!=null)_=h.path,g=n.find(M=>M.re.test(_)),g&&(b=g.parse(_),P=g.record.name);else{if(g=p.name?s.get(p.name):n.find(M=>M.re.test(p.path)),!g)throw Qt(he.MATCHER_NOT_FOUND,{location:h,currentLocation:p});P=g.record.name,b=ne({},p.params,h.params),_=g.stringify(b)}const O=[];let A=g;for(;A;)O.unshift(A.record),A=A.parent;return{name:P,path:_,params:b,matched:O,meta:na(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 Ai(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function wi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ta(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 ta(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 Ri(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function na(e){return e.reduce((t,n)=>ne(t,n.meta),{})}function sa(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;yl(e,t[i])<0?s=i:n=i+1}const r=ra(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function ra(e){let t=e;for(;t=t.parent;)if(vl(t)&&yl(e,t)===0)return t}function vl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function xi(e){const t=He(us),n=He(Sr),s=je(()=>{const c=Et(e.to);return t.resolve(c)}),r=je(()=>{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(Yt.bind(null,f));if(p>-1)return p;const g=Ti(c[u-2]);return u>1&&Ti(f)===g&&h[h.length-1].path!==g?h.findIndex(Yt.bind(null,c[u-2])):p}),i=je(()=>r.value>-1&&fa(n.params,s.value.params)),o=je(()=>r.value>-1&&r.value===n.matched.length-1&&pl(n.params,s.value.params));function l(c={}){if(ca(c)){const u=t[Et(e.replace)?"replace":"push"](Et(e.to)).catch(mn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:je(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function ia(e){return e.length===1?e[0]:e}const oa=dr({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:xi,setup(e,{slots:t}){const n=wn(xi(e)),{options:s}=He(us),r=je(()=>({[Oi(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Oi(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&ia(t.default(n));return e.custom?i:vr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),la=oa;function ca(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 fa(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 Ti(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Oi=(e,t,n)=>e??t??n,ua=dr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=He(zs),r=je(()=>e.route||s.value),i=He(bi,0),o=je(()=>{let u=Et(i);const{matched:f}=r.value;let h;for(;(h=f[u])&&!h.components;)u++;return u}),l=je(()=>r.value.matched[o.value]);Vn(bi,je(()=>o.value+1)),Vn(Bu,l),Vn(zs,r);const c=Gt();return an(()=>[c.value,l.value,e.name],([u,f,h],[p,g,b])=>{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||!Yt(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 Pi(n.default,{Component:p,route:u});const g=h.props[f],b=g?g===!0?u.params:typeof g=="function"?g(u):g:null,P=vr(p,ne({},b,t,{onVnodeUnmounted:O=>{O.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Pi(n.default,{Component:P,route:u})||P}}});function Pi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const aa=ua;function Va(e){const t=ea(e.routes,e),n=e.parseQuery||ju,s=e.stringifyQuery||vi,r=e.history,i=sn(),o=sn(),l=sn(),c=Xl(gt);let u=gt;Ut&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=ws.bind(null,E=>""+E),h=ws.bind(null,Eu),p=ws.bind(null,Cn);function g(E,V){let D,B;return gl(E)?(D=t.getRecordMatcher(E),B=V):B=E,t.addRoute(B,D)}function b(E){const V=t.getRecordMatcher(E);V&&t.removeRoute(V)}function _(){return t.getRoutes().map(E=>E.record)}function P(E){return!!t.getRecordMatcher(E)}function O(E,V){if(V=ne({},V||c.value),typeof E=="string"){const m=Rs(n,E,V.path),v=t.resolve({path:m.path},V),S=r.createHref(m.fullPath);return ne(m,v,{params:p(v.params),hash:Cn(m.hash),redirectedFrom:void 0,href:S})}let D;if(E.path!=null)D=ne({},E,{path:Rs(n,E.path,V.path).path});else{const m=ne({},E.params);for(const v in m)m[v]==null&&delete m[v];D=ne({},E,{params:h(m)}),V.params=h(V.params)}const B=t.resolve(D,V),Y=E.hash||"";B.params=f(p(B.params));const a=Au(s,ne({},E,{hash:yu(Y),path:B.path})),d=r.createHref(a);return ne({fullPath:a,hash:Y,query:s===vi?Hu(E.query):E.query||{}},B,{redirectedFrom:void 0,href:d})}function A(E){return typeof E=="string"?Rs(n,E,c.value.path):ne({},E)}function M(E,V){if(u!==E)return Qt(he.NAVIGATION_CANCELLED,{from:V,to:E})}function T(E){return j(E)}function F(E){return T(ne(A(E),{replace:!0}))}function X(E,V){const D=E.matched[E.matched.length-1];if(D&&D.redirect){const{redirect:B}=D;let Y=typeof B=="function"?B(E,V):B;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=A(Y):{path:Y},Y.params={}),ne({query:E.query,hash:E.hash,params:Y.path!=null?{}:E.params},Y)}}function j(E,V){const D=u=O(E),B=c.value,Y=E.state,a=E.force,d=E.replace===!0,m=X(D,B);if(m)return j(ne(A(m),{state:typeof m=="object"?ne({},Y,m.state):Y,force:a,replace:d}),V||D);const v=D;v.redirectedFrom=V;let S;return!a&&wu(s,B,D)&&(S=Qt(he.NAVIGATION_DUPLICATED,{to:v,from:B}),Ge(B,B,!0,!1)),(S?Promise.resolve(S):G(v,B)).catch(y=>it(y)?it(y,he.NAVIGATION_GUARD_REDIRECT)?y:dt(y):te(y,v,B)).then(y=>{if(y){if(it(y,he.NAVIGATION_GUARD_REDIRECT))return j(ne({replace:d},A(y.to),{state:typeof y.to=="object"?ne({},Y,y.to.state):Y,force:a}),V||v)}else y=N(v,B,!0,d,Y);return J(v,B,y),y})}function H(E,V){const D=M(E,V);return D?Promise.reject(D):Promise.resolve()}function w(E){const V=Ft.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(E):E()}function G(E,V){let D;const[B,Y,a]=Uu(E,V);D=Ts(B.reverse(),"beforeRouteLeave",E,V);for(const m of B)m.leaveGuards.forEach(v=>{D.push(bt(v,E,V))});const d=H.bind(null,E,V);return D.push(d),Le(D).then(()=>{D=[];for(const m of i.list())D.push(bt(m,E,V));return D.push(d),Le(D)}).then(()=>{D=Ts(Y,"beforeRouteUpdate",E,V);for(const m of Y)m.updateGuards.forEach(v=>{D.push(bt(v,E,V))});return D.push(d),Le(D)}).then(()=>{D=[];for(const m of a)if(m.beforeEnter)if(ke(m.beforeEnter))for(const v of m.beforeEnter)D.push(bt(v,E,V));else D.push(bt(m.beforeEnter,E,V));return D.push(d),Le(D)}).then(()=>(E.matched.forEach(m=>m.enterCallbacks={}),D=Ts(a,"beforeRouteEnter",E,V,w),D.push(d),Le(D))).then(()=>{D=[];for(const m of o.list())D.push(bt(m,E,V));return D.push(d),Le(D)}).catch(m=>it(m,he.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function J(E,V,D){l.list().forEach(B=>w(()=>B(E,V,D)))}function N(E,V,D,B,Y){const a=M(E,V);if(a)return a;const d=V===gt,m=Ut?history.state:{};D&&(B||d?r.replace(E.fullPath,ne({scroll:d&&m&&m.scroll},Y)):r.push(E.fullPath,Y)),c.value=E,Ge(E,V,D,d),dt()}let z;function ue(){z||(z=r.listen((E,V,D)=>{if(!At.listening)return;const B=O(E),Y=X(B,At.currentRoute.value);if(Y){j(ne(Y,{replace:!0,force:!0}),B).catch(mn);return}u=B;const a=c.value;Ut&&Mu(yi(a.fullPath,D.delta),fs()),G(B,a).catch(d=>it(d,he.NAVIGATION_ABORTED|he.NAVIGATION_CANCELLED)?d:it(d,he.NAVIGATION_GUARD_REDIRECT)?(j(ne(A(d.to),{force:!0}),B).then(m=>{it(m,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&!D.delta&&D.type===qs.pop&&r.go(-1,!1)}).catch(mn),Promise.reject()):(D.delta&&r.go(-D.delta,!1),te(d,B,a))).then(d=>{d=d||N(B,a,!1),d&&(D.delta&&!it(d,he.NAVIGATION_CANCELLED)?r.go(-D.delta,!1):D.type===qs.pop&&it(d,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),J(B,a,d)}).catch(mn)}))}let Ce=sn(),ie=sn(),q;function te(E,V,D){dt(E);const B=ie.list();return B.length?B.forEach(Y=>Y(E,V,D)):console.error(E),Promise.reject(E)}function st(){return q&&c.value!==gt?Promise.resolve():new Promise((E,V)=>{Ce.add([E,V])})}function dt(E){return q||(q=!E,ue(),Ce.list().forEach(([V,D])=>E?D(E):V()),Ce.reset()),E}function Ge(E,V,D,B){const{scrollBehavior:Y}=e;if(!Ut||!Y)return Promise.resolve();const a=!D&&Du(yi(E.fullPath,0))||(B||!D)&&history.state&&history.state.scroll||null;return fr().then(()=>Y(E,V,a)).then(d=>d&&Nu(d)).catch(d=>te(d,E,V))}const Oe=E=>r.go(E);let Lt;const Ft=new Set,At={currentRoute:c,listening:!0,addRoute:g,removeRoute:b,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:_,resolve:O,options:e,push:T,replace:F,go:Oe,back:()=>Oe(-1),forward:()=>Oe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ie.add,isReady:st,install(E){E.component("RouterLink",la),E.component("RouterView",aa),E.config.globalProperties.$router=At,Object.defineProperty(E.config.globalProperties,"$route",{enumerable:!0,get:()=>Et(c)}),Ut&&!Lt&&c.value===gt&&(Lt=!0,T(r.location).catch(B=>{}));const V={};for(const B in gt)Object.defineProperty(V,B,{get:()=>c.value[B],enumerable:!0});E.provide(us,At),E.provide(Sr,so(V)),E.provide(zs,c);const D=E.unmount;Ft.add(E),E.unmount=function(){Ft.delete(E),Ft.size<1&&(u=gt,z&&z(),z=null,c.value=gt,Lt=!1,q=!1),D()}}};function Le(E){return E.reduce((V,D)=>V.then(()=>w(D)),Promise.resolve())}return At}function ja(){return He(us)}function Ha(e){return He(Sr)}export{cf as $,Ao as A,Ns as B,Se as C,So as D,_a as E,Pe as F,Cc as G,Sc as H,fr as I,Na as J,Va as K,Fa as L,ae as M,Zs as N,Co as O,wa as P,ba as Q,pa as R,Nl as S,os as T,xa as U,Ra as V,ma as W,Hs as X,Bs as Y,ac as Z,Aa as _,es as a,wc as a0,lf as a1,Ea as a2,gr as a3,va as a4,Ia as a5,Ma as a6,La as a7,Da as a8,ya as a9,Oa as aa,Ha as ab,ja as ac,Sa as ad,Pa as ae,Ca as af,cr as ag,St as ah,Rc as ai,Ta as aj,Gt as b,Te as c,He as d,je as e,dr as f,On as g,vr as h,Sn as i,_e as j,qo as k,ha as l,ff as m,er as n,an as o,Vn as p,Ml as q,wn as r,Xl as s,da as t,Et as u,Ui as v,ga as w,Q as x,tc as y,Ki as z}; diff --git a/assets/vendor-vue-Hxtt57UU.js b/assets/vendor-vue-Hxtt57UU.js new file mode 100644 index 0000000..ffb4bdc --- /dev/null +++ b/assets/vendor-vue-Hxtt57UU.js @@ -0,0 +1,30 @@ +/** +* @vue/shared v3.5.41 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function er(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const le={},kt=[],et=()=>{},Di=()=>!1,es=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ts=e=>e.startsWith("onUpdate:"),pe=Object.assign,tr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Sl=Object.prototype.hasOwnProperty,se=(e,t)=>Sl.call(e,t),K=Array.isArray,Gt=e=>wn(e)==="[object Map]",Li=e=>wn(e)==="[object Set]",Nr=e=>wn(e)==="[object Date]",W=e=>typeof e=="function",fe=e=>typeof e=="string",De=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Fi=e=>(ee(e)||W(e))&&W(e.then)&&W(e.catch),Vi=Object.prototype.toString,wn=e=>Vi.call(e),Cl=e=>wn(e).slice(8,-1),ji=e=>wn(e)==="[object Object]",ns=e=>fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,fn=er(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ss=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Al=/-\w/g,Te=ss(e=>e.replace(Al,t=>t.slice(1).toUpperCase())),wl=/\B([A-Z])/g,At=ss(e=>e.replace(wl,"-$1").toLowerCase()),rs=ss(e=>e.charAt(0).toUpperCase()+e.slice(1)),ms=ss(e=>e?`on${rs(e)}`:""),Ze=(e,t)=>!Object.is(e,t),Hn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},nr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Rl=e=>{const t=fe(e)?Number(e):NaN;return isNaN(t)?e:t};let Ir;const is=()=>Ir||(Ir=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function sr(e){if(K(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 rr(e){let t="";if(fe(e))t=e;else if(K(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Dl=e=>fe(e)?e:e==null?"":K(e)||ee(e)&&(e.toString===Vi||!W(e.toString))?Ui(e)?Dl(e.value):JSON.stringify(e,Ki,2):String(e),Ki=(e,t)=>Ui(t)?Ki(e,t.value):Gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[ys(s,i)+" =>"]=r,n),{})}:Li(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ys(n))}:De(t)?ys(t):ee(t)&&!K(t)&&!ji(t)?String(t):t,ys=(e,t="")=>{var n;return De(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.41 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let me;class ki{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&me&&(me.active?(this.parent=me,this.index=(me.scopes||(me.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(me===this)me=this.prevScope;else{let t=me;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.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(an){let t=an;for(an=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;un;){let t=un;for(un=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 zi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Yi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),cr(s),Fl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Ds(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===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ds(e))))return;e.flags|=2;const t=e.dep,n=ce,s=Ue;ce=e,Ue=!0;try{zi(e);const r=e.fn(e._value);(t.version===0||Ze(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=n,Ue=s,Yi(e),e.flags&=-3}}function cr(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)cr(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 Ue=!0;const Xi=[];function ut(){Xi.push(Ue),Ue=!1}function at(){const e=Xi.pop();Ue=e===void 0?!0:e}function Mr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ce;ce=void 0;try{t()}finally{ce=n}}}let yn=0;class Vl{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 fr{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||!Ue||ce===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ce)n=this.activeLink=new Vl(ce,this),ce.deps?(n.prevDep=ce.depsTail,ce.depsTail.nextDep=n,ce.depsTail=n):ce.deps=ce.depsTail=n,Zi(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++,yn++,this.notify(t)}notify(t){or();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{lr()}}}function Zi(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)Zi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Kn=new WeakMap,Mt=Symbol(""),Ls=Symbol(""),_n=Symbol("");function Ee(e,t,n){if(Ue&&ce){let s=Kn.get(e);s||Kn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new fr),r.map=s,r.key=n),r.track()}}function ot(e,t,n,s,r,i){const o=Kn.get(e);if(!o){yn++;return}const l=c=>{c&&c.trigger()};if(or(),t==="clear")o.forEach(l);else{const c=K(e),u=c&&ns(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,p)=>{(p==="length"||p===_n||!De(p)&&p>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(_n)),t){case"add":c?u&&l(o.get("length")):(l(o.get(Mt)),Gt(e)&&l(o.get(Ls)));break;case"delete":c||(l(o.get(Mt)),Gt(e)&&l(o.get(Ls)));break;case"set":Gt(e)&&l(o.get(Mt));break}}lr()}function jl(e,t){const n=Kn.get(e);return n&&n.get(t)}function jt(e){const t=X(e);return t===e?t:(Ee(t,"iterate",_n),Me(e)?t:t.map(Ke))}function os(e){return Ee(e=X(e),"iterate",_n),e}function Qe(e,t){return ht(e)?Jt(ct(e)?Ke(t):t):Ke(t)}const Hl={__proto__:null,[Symbol.iterator](){return vs(this,Symbol.iterator,e=>Qe(this,e))},concat(...e){return jt(this).concat(...e.map(t=>K(t)?jt(t):t))},entries(){return vs(this,"entries",e=>(e[1]=Qe(this,e[1]),e))},every(e,t){return nt(this,"every",e,t,void 0,arguments)},filter(e,t){return nt(this,"filter",e,t,n=>n.map(s=>Qe(this,s)),arguments)},find(e,t){return nt(this,"find",e,t,n=>Qe(this,n),arguments)},findIndex(e,t){return nt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return nt(this,"findLast",e,t,n=>Qe(this,n),arguments)},findLastIndex(e,t){return nt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return nt(this,"forEach",e,t,void 0,arguments)},includes(...e){return bs(this,"includes",e)},indexOf(...e){return bs(this,"indexOf",e)},join(e){return jt(this).join(e)},lastIndexOf(...e){return bs(this,"lastIndexOf",e)},map(e,t){return nt(this,"map",e,t,void 0,arguments)},pop(){return en(this,"pop")},push(...e){return en(this,"push",e)},reduce(e,...t){return Dr(this,"reduce",e,t)},reduceRight(e,...t){return Dr(this,"reduceRight",e,t)},shift(){return en(this,"shift")},some(e,t){return nt(this,"some",e,t,void 0,arguments)},splice(...e){return en(this,"splice",e)},toReversed(){return jt(this).toReversed()},toSorted(e){return jt(this).toSorted(e)},toSpliced(...e){return jt(this).toSpliced(...e)},unshift(...e){return en(this,"unshift",e)},values(){return vs(this,"values",e=>Qe(this,e))}};function vs(e,t,n){const s=os(e),r=s[t]();return s!==e&&!Me(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 nt(e,t,n,s,r,i){const o=os(e),l=o!==e&&!Me(e),c=o[t];if(c!==Bl[t]){const h=c.apply(e,i);return l?Ke(h):h}let u=n;o!==e&&(l?u=function(h,p){return n.call(this,Qe(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 Dr(e,t,n,s){const r=os(e),i=r!==e&&!Me(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(u,f,h){return l&&(l=!1,u=Qe(e,u)),n.call(this,u,Qe(e,f),h,e)}):n.length>3&&(o=function(u,f,h){return n.call(this,u,f,h,e)}));const c=r[t](o,...s);return l?Qe(e,c):c}function bs(e,t,n){const s=X(e);Ee(s,"iterate",_n);const r=s[t](...n);return(r===-1||r===!1)&&ls(n[0])?(n[0]=X(n[0]),s[t](...n)):r}function en(e,t,n=[]){ut(),or();const s=X(e)[t].apply(e,n);return lr(),at(),s}const Ul=er("__proto__,__v_isRef,__isVue"),eo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(De));function Kl(e){De(e)||(e=String(e));const t=X(this);return Ee(t,"has",e),t.hasOwnProperty(e)}class to{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:io:i?ro:so).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=K(t);if(!r){let c;if(o&&(c=Hl[n]))return c;if(n==="hasOwnProperty")return Kl}const l=Reflect.get(t,n,ae(t)?t:s);if((De(n)?eo.has(n):Ul(n))||(r||Ee(t,"get",n),i))return l;if(ae(l)){const c=o&&ns(n)?l:l.value;return r&&ee(c)?Vs(c):c}return ee(l)?r?Vs(l):Rn(l):l}}class no extends to{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=K(t)&&ns(n);if(!this._isShallow){const u=ht(i);if(!Me(s)&&!ht(s)&&(i=X(i),s=X(s)),!o&&ae(i)&&!ae(s))return u||(i.value=s),!0}const l=o?Number(n)e,In=e=>Reflect.getPrototypeOf(e);function ql(e,t,n){return function(...s){const r=this.__v_raw,i=X(r),o=Gt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),f=n?Fs:t?Jt:Ke;return!t&&Ee(i,"iterate",c?Ls:Mt),pe(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 Mn(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=X(i),l=X(r);e||(Ze(r,l)&&Ee(o,"get",r),Ee(o,"get",l));const{has:c}=In(o),u=t?Fs:e?Jt:Ke;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&&Ee(X(r),"iterate",Mt),r.size},has(r){const i=this.__v_raw,o=X(i),l=X(r);return e||(Ze(r,l)&&Ee(o,"has",r),Ee(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=X(l),u=t?Fs:e?Jt:Ke;return!e&&Ee(c,"iterate",Mt),l.forEach((f,h)=>r.call(i,u(f),u(h),o))}};return pe(n,e?{add:Mn("add"),set:Mn("set"),delete:Mn("delete"),clear:Mn("clear")}:{add(r){const i=X(this),o=In(i),l=X(r),c=!t&&!Me(r)&&!ht(r)?l:r;return o.has.call(i,c)||Ze(r,c)&&o.has.call(i,r)||Ze(l,c)&&o.has.call(i,l)||(i.add(c),ot(i,"add",c,c)),this},set(r,i){!t&&!Me(i)&&!ht(i)&&(i=X(i));const o=X(this),{has:l,get:c}=In(o);let u=l.call(o,r);u||(r=X(r),u=l.call(o,r));const f=c.call(o,r);return o.set(r,i),u?Ze(i,f)&&ot(o,"set",r,i):ot(o,"add",r,i),this},delete(r){const i=X(this),{has:o,get:l}=In(i);let c=o.call(i,r);c||(r=X(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&ot(i,"delete",r,void 0),u},clear(){const r=X(this),i=r.size!==0,o=r.clear();return i&&ot(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=ql(r,e,t)}),n}function ur(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 zl={get:ur(!1,!1)},Yl={get:ur(!1,!0)},Ql={get:ur(!0,!1)};const so=new WeakMap,ro=new WeakMap,io=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 Rn(e){return ht(e)?e:ar(e,!1,Gl,zl,so)}function oo(e){return ar(e,!1,$l,Yl,ro)}function Vs(e){return ar(e,!0,Wl,Ql,io)}function ar(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=Zl(Cl(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ct(e){return ht(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function ht(e){return!!(e&&e.__v_isReadonly)}function Me(e){return!!(e&&e.__v_isShallow)}function ls(e){return e?!!e.__v_raw:!1}function X(e){const t=e&&e.__v_raw;return t?X(t):e}function hr(e){return!se(e,"__v_skip")&&Object.isExtensible(e)&&Hi(e,"__v_skip",!0),e}const Ke=e=>ee(e)?Rn(e):e,Jt=e=>ee(e)?Vs(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function Wt(e){return lo(e,!1)}function ec(e){return lo(e,!0)}function lo(e,t){return ae(e)?e:new tc(e,t)}class tc{constructor(t,n){this.dep=new fr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:X(t),this._value=n?t:Ke(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Me(t)||ht(t);t=s?t:X(t),Ze(t,n)&&(this._rawValue=t,this._value=s?t:Ke(t),this.dep.trigger())}}function St(e){return ae(e)?e.value:e}function da(e){return W(e)?e():St(e)}const nc={get:(e,t,n)=>t==="__v_raw"?e:St(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function co(e){return ct(e)?e:new Proxy(e,nc)}function sc(e){const t=K(e)?new Array(e.length):{};for(const n in e)t[n]=fo(e,n);return t}class rc{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=De(n)?n:String(n),this._raw=X(t);let r=!0,i=t;if(!K(t)||De(this._key)||!ns(this._key))do r=!ls(i)||Me(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=St(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ae(this._raw[this._key])){const n=this._object[this._key];if(ae(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return jl(this._raw,this._key)}}class ic{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 pa(e,t,n){return ae(e)?e:W(e)?new ic(e):ee(e)&&arguments.length>1?fo(e,t,n):Wt(e)}function fo(e,t,n){return new rc(e,t,n)}class oc{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new fr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-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 Ji(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 lc(e,t,n=!1){let s,r;return W(e)?s=e:(s=e.get,r=e.set),new oc(s,r,n)}const Dn={},kn=new WeakMap;let Ot;function cc(e,t=!1,n=Ot){if(n){let s=kn.get(n);s||kn.set(n,s=[]),s.push(e)}}function fc(e,t,n=le){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=x=>r?x:Me(x)||r===!1||r===0?lt(x,1):lt(x);let f,h,p,g,v=!1,y=!1;if(ae(e)?(h=()=>e.value,v=Me(e)):ct(e)?(h=()=>u(e),v=!0):K(e)?(y=!0,v=e.some(x=>ct(x)||Me(x)),h=()=>e.map(x=>{if(ae(x))return x.value;if(ct(x))return u(x);if(W(x))return c?c(x,2):x()})):W(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){ut();try{p()}finally{at()}}const x=Ot;Ot=f;try{return c?c(e,3,[g]):e(g)}finally{Ot=x}}:h=et,t&&r){const x=h,F=r===!0?1/0:r;h=()=>lt(x(),F)}const P=Wi(),N=()=>{f.stop(),P&&P.active&&tr(P.effects,f)};if(i&&t){const x=t;t=(...F)=>{const Y=x(...F);return N(),Y}}let A=y?new Array(e.length).fill(Dn):Dn;const O=x=>{if(!(!(f.flags&1)||!f.dirty&&!x))if(t){const F=f.run();if(x||r||v||(y?F.some((Y,j)=>Ze(Y,A[j])):Ze(F,A))){p&&p();const Y=Ot;Ot=f;try{const j=[F,A===Dn?void 0:y&&A[0]===Dn?[]:A,g];A=F,c?c(t,3,j):t(...j)}finally{Ot=Y}}}else f.run()};return l&&l(O),f=new $i(h),f.scheduler=o?()=>o(O,!1):O,g=x=>cc(x,!1,f),p=f.onStop=()=>{const x=kn.get(f);if(x){if(c)c(x,4);else for(const F of x)F();kn.delete(f)}},t?s?O(!0):A=f.run():o?o(O.bind(null,!0),!0):f.run(),N.pause=f.pause.bind(f),N.resume=f.resume.bind(f),N.stop=N,N}function lt(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--,ae(e))lt(e.value,t,n);else if(K(e))for(let s=0;s{lt(s,t,n)});else if(ji(e)){for(const s in e)lt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&<(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.41 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function xn(e,t,n,s){try{return s?e(...s):e()}catch(r){Tn(r,t,n)}}function Be(e,t,n,s){if(W(e)){const r=xn(e,t,n,s);return r&&Fi(r)&&r.catch(i=>{Tn(i,t,n)}),r}if(K(e)){const r=[];for(let i=0;i>>1,r=xe[s],i=vn(r);i=vn(n)?xe.push(e):xe.splice(ac(t),0,e),e.flags|=1,ao()}}function ao(){Gn||(Gn=uo.then(po))}function hc(e){if(!K(e))bt&&e.id===-1?bt.splice(Bt+1,0,e):e.flags&1||($t.push(e),e.flags|=1);else for(let t=0;tvn(n)-vn(s));if($t.length=0,bt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function po(e){try{for(Ye=0;Ye{s._d&&zn(-1);const i=Wn(t),o=ft.length;let l;try{l=e(...r)}finally{for(let c=ft.length;c>o;c--)Cr();Wn(i),s._d&&zn(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function ga(e,t){if(be===null)return e;const n=hs(be),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&W(t)?t.call(s&&s.proxy):t}}function pc(){return!!(Pn()||Dt)}const gc=Symbol.for("v-scx"),mc=()=>He(gc);function ma(e,t){return gr(e,null,t)}function hn(e,t,n){return gr(e,t,n)}function gr(e,t,n=le){const{immediate:s,deep:r,flush:i,once:o}=n,l=pe({},n),c=t&&s||!t&&i!=="post";let u;if(zt){if(i==="sync"){const g=mc();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!c){const g=()=>{};return g.stop=et,g.resume=et,g.pause=et,g}}const f=ve;l.call=(g,v,y)=>Be(g,f,v,y);let h=!1;i==="post"?l.scheduler=g=>{we(g,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(g,v)=>{v?g():pr(g)}),l.augmentJob=g=>{t&&(g.flags|=4),h&&(g.flags|=2,f&&(g.id=f.uid,g.i=f))};const p=fc(e,t,l);return zt&&(u?u.push(p):c&&p()),p}function yc(e,t,n){const s=this.proxy,r=fe(e)?e.includes(".")?mo(s,e):()=>s[e]:e.bind(s,s);let i;W(t)?i=t:(i=t.handler,n=t);const o=Nn(this),l=gr(r,i.bind(s),n);return o(),l}function mo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,Pt=e=>e&&(e.disabled||e.disabled===""),_c=e=>e&&(e.defer||e.defer===""),Fr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Vr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,js=(e,t)=>{const n=e&&e.to;return fe(n)?t?t(n):null:n},vc={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:v,createText:y,createComment:P,parentNode:N}}=u,A=Pt(t.props);let{dynamicChildren:O}=t;const x=(j,H,w)=>{j.shapeFlag&16&&f(j.children,H,w,r,i,o,l,c)},F=(j=t)=>{const H=Pt(j.props),w=j.target=js(j.props,v),G=Hs(w,j,y,g);w&&(o!=="svg"&&Fr(w)?o="svg":o!=="mathml"&&Vr(w)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(w),H||(x(j,w,G),on(j,!1)))},Y=j=>{const H=()=>{if(yt.get(j)===H){if(yt.delete(j),Pt(j.props)){const w=N(j.el)||n;x(j,w,j.anchor),on(j,!0)}F(j)}};yt.set(j,H),we(H,i)};if(e==null){const j=t.el=y(""),H=t.anchor=y("");if(g(j,n,s),g(H,n,s),_c(t.props)||i&&i.pendingBranch){Y(t);return}A&&(x(t,n,H),on(t,!0)),F()}else{t.el=e.el;const j=t.anchor=e.anchor,H=yt.get(e);if(H){H.flags|=8,yt.delete(e),Y(t);return}t.targetStart=e.targetStart;const w=t.target=e.target,G=t.targetAnchor=e.targetAnchor,J=Pt(e.props),M=J?n:w,z=J?j:G;if(o==="svg"||Fr(w)?o="svg":(o==="mathml"||Vr(w))&&(o="mathml"),O?(p(e.dynamicChildren,O,M,r,i,o,l),Sr(e,t,!0)):c||h(e,t,M,z,r,i,o,l,!1),A)J?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ln(t,n,j,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ue=js(t.props,v);ue&&(t.target=ue,Ln(t,ue,null,u,0))}else J&&Ln(t,w,G,u,1);on(t,A)}},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,g=Pt(p),v=i||!g,y=yt.get(e);if(y&&(y.flags|=8,yt.delete(e)),h&&(r(u),r(f)),i&&r(c),!y&&(g||h)&&o&16)for(let P=0;P{e.isMounted=!0}),Ro(()=>{e.isUnmounting=!0}),e}const Fe=[Function,Array],vo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fe,onEnter:Fe,onAfterEnter:Fe,onEnterCancelled:Fe,onBeforeLeave:Fe,onLeave:Fe,onAfterLeave:Fe,onLeaveCancelled:Fe,onBeforeAppear:Fe,onAppear:Fe,onAfterAppear:Fe,onAppearCancelled:Fe},bo=e=>{const t=e.subTree;return t.component?bo(t.component):t},Ec={name:"BaseTransition",props:vo,setup(e,{slots:t}){const n=Pn(),s=_o();return()=>{const r=t.default&&mr(t.default(),!0),i=r&&r.length?Eo(r):n.subTree?ff():void 0;if(!i)return;const o=X(e),{mode:l}=o;if(s.isLeaving)return Es(i);const c=$n(i);if(!c)return Es(i);let u=bn(c,o,s,n,h=>u=h);c.type!==Se&&Lt(c,u);let f=n.subTree&&$n(n.subTree);if(f&&f.type!==Se&&!Nt(f,c)&&bo(n).type!==Se){let h=bn(f,o,s,n);if(Lt(f,h),l==="out-in"&&c.type!==Se)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},Es(i);l==="in-out"&&c.type!==Se?h.delayLeave=(p,g,v)=>{const y=So(s,f);y[String(f.key)]=f,p[Ve]=()=>{g(),p[Ve]=void 0,delete u.delayedLeave,f=void 0},u.delayedLeave=()=>{v(),delete u.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return i}}};function Eo(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Se){t=n;break}}return t}const Sc=Ec;function So(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 bn(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:v,onLeaveCancelled:y,onBeforeAppear:P,onAppear:N,onAfterAppear:A,onAppearCancelled:O}=t,x=String(e.key),F=So(n,e),Y=(w,G)=>{w&&Be(w,s,9,G)},j=(w,G)=>{const J=G[1];Y(w,G),K(w)?w.every(M=>M.length<=1)&&J():w.length<=1&&J()},H={mode:o,persisted:l,beforeEnter(w){let G=c;if(!n.isMounted)if(i)G=P||c;else return;w[Ve]&&w[Ve](!0);const J=F[x];J&&Nt(e,J)&&J.el[Ve]&&J.el[Ve](),Y(G,[w])},enter(w){if(F[x]===e)return;let G=u,J=f,M=h;if(!n.isMounted)if(i)G=N||u,J=A||f,M=O||h;else return;let z=!1;w[tn]=Ce=>{z||(z=!0,Ce?Y(M,[w]):Y(J,[w]),H.delayedLeave&&H.delayedLeave(),w[tn]=void 0)};const ue=w[tn].bind(null,!1);G?j(G,[w,ue]):ue()},leave(w,G){const J=String(e.key);if(w[tn]&&w[tn](!0),n.isUnmounting)return G();Y(p,[w]);let M=!1;w[Ve]=ue=>{M||(M=!0,G(),ue?Y(y,[w]):Y(v,[w]),w[Ve]=void 0,F[J]===e&&delete F[J])};const z=w[Ve].bind(null,!1);F[J]=e,g?j(g,[w,z]):z()},clone(w){const G=bn(w,t,n,s,r);return r&&r(G),G}};return H}function Es(e){if(On(e))return e=Ct(e),e.children=null,e}function $n(e){if(!On(e))return cs(e.type)&&e.children?Eo(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&&W(n.default))return n.default()}}function Lt(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Lt(cs(n.type)&&$n(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function mr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;idn(y,t&&(K(t)?t[P]:t),n,s,r));return}if(qt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&dn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?hs(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,f=l.refs===le?l.refs={}:l.refs,h=l.setupState,p=X(h),g=h===le?Di:y=>jr(f,y)?!1:se(p,y),v=(y,P)=>!(P&&jr(f,P));if(u!=null&&u!==c){if(Hr(t),fe(u))f[u]=null,g(u)&&(h[u]=null);else if(ae(u)){const y=t;v(u,y.k)&&(u.value=null),y.k&&(f[y.k]=null)}}if(W(c))xn(c,l,12,[o,f]);else{const y=fe(c),P=ae(c);if(y||P){const N=()=>{if(e.f){const A=y?g(c)?h[c]:f[c]:v()||!e.k?c.value:f[e.k];if(r)K(A)&&tr(A,i);else if(K(A))A.includes(i)||A.push(i);else if(y)f[c]=[i],g(c)&&(h[c]=f[c]);else{const O=[i];v(c,e.k)&&(c.value=O),e.k&&(f[e.k]=O)}}else y?(f[c]=o,g(c)&&(h[c]=o)):P&&(v(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const A=()=>{N(),qn.delete(e)};A.id=-1,qn.set(e,A),we(A,n)}else Hr(e),N()}}}function Hr(e){const t=qn.get(e);t&&(t.flags|=8,qn.delete(e))}const Br=e=>e.nodeType===8;is().requestIdleCallback;is().cancelIdleCallback;function Cc(e,t){if(Br(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(Br(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const qt=e=>!!e.type.__asyncLoader;function va(e){W(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 v;return u||(v=u=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),c)return new Promise((P,N)=>{c(y,()=>P(p()),()=>N(y),h+1)});throw y}).then(y=>v!==u&&u?u:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),f=y,y)))};return yr({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(v,y,P){const N=v.isConnected;let A=!1;(y.bu||(y.bu=[])).push(()=>A=!0);const O=()=>{A||!v.parentNode||N&&!v.isConnected||P()},x=i?()=>{const F=i(O,Y=>Cc(v,Y));F&&(y.bum||(y.bum=[])).push(F)}:O;f?x():g().then(()=>!y.isUnmounted&&x())},get __asyncResolved(){return f},setup(){const v=ve;if(_r(v),f)return()=>Fn(f,v);const y=F=>{u=null,Tn(F,v,13,!s)};if(l&&v.suspense||zt)return g().then(F=>()=>Fn(F,v)).catch(F=>(y(F),()=>s?ye(s,{error:F}):null));const P=Wt(!1),N=Wt(),A=Wt(!!r);let O,x;return vr(()=>{O!=null&&clearTimeout(O),x!=null&&clearTimeout(x)}),r&&(x=setTimeout(()=>{v.isUnmounted||(A.value=!1)},r)),o!=null&&(O=setTimeout(()=>{if(!v.isUnmounted&&!P.value&&!N.value){const F=new Error(`Async component timed out after ${o}ms.`);y(F),N.value=F}},o)),g().then(()=>{v.isUnmounted||(P.value=!0,v.parent&&On(v.parent.vnode)&&v.parent.update())}).catch(F=>{if(v.isUnmounted){u=null;return}y(F),N.value=F}),()=>{if(P.value&&f)return Fn(f,v);if(N.value&&s)return ye(s,{error:N.value});if(n&&!A.value)return Fn(n,v)}}})}function Fn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=ye(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const On=e=>e.type.__isKeepAlive;function Ac(e,t){Co(e,"a",t)}function wc(e,t){Co(e,"da",t)}function Co(e,t,n=ve){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(fs(t,s,n),n){let r=n.parent;for(;r&&r.parent;)On(r.parent.vnode)&&Rc(s,t,n,r),r=r.parent}}function Rc(e,t,n,s){const r=fs(t,e,s,!0);vr(()=>{tr(s[t],r)},n)}function fs(e,t,n=ve,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ut();const l=Nn(n),c=Be(t,n,e,o);return l(),at(),c});return s?r.unshift(i):r.push(i),i}}const dt=e=>(t,n=ve)=>{(!zt||e==="sp")&&fs(e,(...s)=>t(...s),n)},xc=dt("bm"),Ao=dt("m"),Tc=dt("bu"),wo=dt("u"),Ro=dt("bum"),vr=dt("um"),Oc=dt("sp"),Pc=dt("rtg"),Nc=dt("rtc");function Ic(e,t=ve){fs("ec",e,t)}const xo="components";function ba(e,t){return Oo(xo,e,!0,t)||e}const To=Symbol.for("v-ndc");function Ea(e){return fe(e)?Oo(xo,e,!1)||e:e||To}function Oo(e,t,n=!0,s=!1){const r=be||ve;if(r){const i=r.type;{const l=_f(i,!1);if(l&&(l===t||l===Te(t)||l===rs(Te(t))))return i}const o=Ur(r[e]||i[e],t)||Ur(r.appContext[e],t);return!o&&s?i:o}}function Ur(e,t){return e&&(e[t]||e[Te(t)]||e[rs(Te(t))])}function Sa(e,t,n,s){let r;const i=n,o=K(e);if(o||fe(e)){const l=o&&ct(e);let c=!1,u=!1;l&&(c=!Me(e),u=ht(e),e=os(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 Aa(e,t,n,s,r,i){if(n==null&&(n={}),be.ce||be.parent&&qt(be.parent)&&be.parent.ce){const u=n,f=Object.keys(u).length>0;return t!=="default"&&(u.name=t),Gs(),Ws(Pe,null,[ye("slot",u,s)],f?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);const l=ft.length;Gs();let c;try{const u=o&&Po(o(n)),f=n.key||i||u&&u.key;c=Ws(Pe,{key:(f&&!De(f)?f:`_${t}`)+(!u&&s?"_fb":"")},u||(s?s():[]),u&&e._===1?64:-2)}catch(u){for(let f=ft.length;f>l;f--)Cr();throw u}finally{o&&o._c&&(o._d=!0)}return c}function Po(e){return e.some(t=>Sn(t)?!(t.type===Se||t.type===Pe&&!Po(t.children)):!0)?e:null}const Bs=e=>e?Yo(e)?hs(e):Bs(e.parent):null,pn=pe(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=>Bs(e.parent),$root:e=>Bs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Io(e),$forceUpdate:e=>e.f||(e.f=()=>{pr(e.update)}),$nextTick:e=>e.n||(e.n=dr.bind(e.proxy)),$watch:e=>yc.bind(e)}),Ss=(e,t)=>e!==le&&!e.__isScriptSetup&&se(e,t),Mc={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(Ss(s,t))return o[t]=1,s[t];if(r!==le&&se(r,t))return o[t]=2,r[t];if(se(i,t))return o[t]=3,i[t];if(n!==le&&se(n,t))return o[t]=4,n[t];Us&&(o[t]=0)}}const u=pn[t];let f,h;if(u)return t==="$attrs"&&Ee(e.attrs,"get",""),u(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==le&&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 Ss(r,t)?(r[t]=n,!0):s!==le&&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!==le&&l[0]!=="$"&&se(e,l)||Ss(t,l)||se(i,l)||se(s,l)||se(pn,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 Kr(e){return K(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Us=!0;function Dc(e){const t=Io(e),n=e.proxy,s=e.ctx;Us=!1,t.beforeCreate&&kr(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:v,activated:y,deactivated:P,beforeDestroy:N,beforeUnmount:A,destroyed:O,unmounted:x,render:F,renderTracked:Y,renderTriggered:j,errorCaptured:H,serverPrefetch:w,expose:G,inheritAttrs:J,components:M,directives:z,filters:ue}=t;if(u&&Lc(u,s,null),o)for(const q in o){const te=o[q];W(te)&&(s[q]=te.bind(n))}if(r){const q=r.call(n,n);ee(q)&&(e.data=Rn(q))}if(Us=!0,i)for(const q in i){const te=i[q],tt=W(te)?te.bind(n,n):W(te.get)?te.get.bind(n,n):et,pt=!W(te)&&W(te.set)?te.set.bind(n):et,Ge=je({get:tt,set:pt});Object.defineProperty(s,q,{enumerable:!0,configurable:!0,get:()=>Ge.value,set:Oe=>Ge.value=Oe})}if(l)for(const q in l)No(l[q],s,n,q);if(c){const q=W(c)?c.call(n):c;Reflect.ownKeys(q).forEach(te=>{Bn(te,q[te])})}f&&kr(f,e,"c");function ie(q,te){K(te)?te.forEach(tt=>q(tt.bind(n))):te&&q(te.bind(n))}if(ie(xc,h),ie(Ao,p),ie(Tc,g),ie(wo,v),ie(Ac,y),ie(wc,P),ie(Ic,H),ie(Nc,Y),ie(Pc,j),ie(Ro,A),ie(vr,x),ie(Oc,w),K(G))if(G.length){const q=e.exposed||(e.exposed={});G.forEach(te=>{Object.defineProperty(q,te,{get:()=>n[te],set:tt=>n[te]=tt,enumerable:!0})})}else e.exposed||(e.exposed={});F&&e.render===et&&(e.render=F),J!=null&&(e.inheritAttrs=J),M&&(e.components=M),z&&(e.directives=z),w&&_r(e)}function Lc(e,t,n=et){K(e)&&(e=Ks(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=He(r.from||s,r.default,!0):i=He(r.from||s):i=He(r),ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function kr(e,t,n){Be(K(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function No(e,t,n,s){let r=s.includes(".")?mo(n,s):()=>n[s];if(fe(e)){const i=t[e];W(i)&&hn(r,i)}else if(W(e))hn(r,e.bind(n));else if(ee(e))if(K(e))e.forEach(i=>No(i,t,n,s));else{const i=W(e.handler)?e.handler.bind(n):t[e.handler];W(i)&&hn(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=>Jn(c,u,o,!0)),Jn(c,t,o)),ee(t)&&i.set(t,c),c}function Jn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Jn(e,i,n,!0),r&&r.forEach(o=>Jn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Fc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Fc={data:Gr,props:Wr,emits:Wr,methods:ln,computed:ln,beforeCreate:Ae,created:Ae,beforeMount:Ae,mounted:Ae,beforeUpdate:Ae,updated:Ae,beforeDestroy:Ae,beforeUnmount:Ae,destroyed:Ae,unmounted:Ae,activated:Ae,deactivated:Ae,errorCaptured:Ae,serverPrefetch:Ae,components:ln,directives:ln,watch:jc,provide:Gr,inject:Vc};function Gr(e,t){return t?e?function(){return pe(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Vc(e,t){return ln(Ks(e),Ks(t))}function Ks(e){if(K(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Te(t)}Modifiers`]||e[`${At(t)}Modifiers`];function Kc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||le;let r=n;const i=t.startsWith("update:"),o=i&&Uc(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>fe(f)?f.trim():f)),o.number&&(r=n.map(nr)));let l,c=s[l=ms(t)]||s[l=ms(Te(t))];!c&&i&&(c=s[l=ms(At(t))]),c&&Be(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,Be(u,e,6,r)}}const kc=new WeakMap;function Do(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(!W(e)){const c=u=>{const f=Do(u,t,!0);f&&(l=!0,pe(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):(K(i)?i.forEach(c=>o[c]=null):pe(o,i),ee(e)&&s.set(e,o),o)}function us(e,t){return!e||!es(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),se(e,t[0].toLowerCase()+t.slice(1))||se(e,At(t))||se(e,t))}function $r(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:v,inheritAttrs:y}=e,P=Wn(e);let N,A;try{if(n.shapeFlag&4){const x=r||s,F=x;N=Xe(u.call(F,x,f,h,g,p,v)),A=l}else{const x=t;N=Xe(x.length>1?x(h,{attrs:l,slots:o,emit:c}):x(h,null)),A=t.props?l:Gc(l)}}catch(x){ft.length=0,Tn(x,e,1),N=ye(Se)}let O=N;if(A&&y!==!1){const x=Object.keys(A),{shapeFlag:F}=O;x.length&&F&7&&(i&&x.some(ts)&&(A=Wc(A,i)),O=Ct(O,A,!1,!0))}if(n.dirs&&(O=Ct(O,null,!1,!0),O.dirs=O.dirs?O.dirs.concat(n.dirs):n.dirs),n.transition){const x=cs(O.type)&&$n(O)||O;Lt(x,n.transition)}return N=O,Wn(P),N}const Gc=e=>{let t;for(const n in e)(n==="class"||n==="style"||es(n))&&((t||(t={}))[n]=e[n]);return t},Wc=(e,t)=>{const n={};for(const s in e)(!ts(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function $c(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?qr(s,o,u):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;hObject.create(Fo),jo=e=>Object.getPrototypeOf(e)===Fo;function Jc(e,t,n,s=!1){const r={},i=Vo();e.propsDefaults=Object.create(null),Ho(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:oo(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function zc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=X(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]=Bo(h,t,!0);pe(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,kt),kt;if(K(i))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",Er=e=>K(e)?e.map(Xe):[Xe(e)],Qc=(e,t,n)=>{if(t._n)return t;const s=dc((...r)=>Er(t(...r)),n);return s._c=!1,s},Uo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(br(r))continue;const i=e[r];if(W(i))t[r]=Qc(r,i,s);else if(i!=null){const o=Er(i);t[r]=()=>o}}},Ko=(e,t)=>{const n=Er(t);e.slots.default=()=>n},ko=(e,t,n)=>{for(const s in t)(n||!br(s))&&(e[s]=t[s])},Xc=(e,t,n)=>{const s=e.slots=Vo();if(e.vnode.shapeFlag&32){const r=t._;r?(ko(s,t,n),n&&Hi(s,"_",r,!0)):Uo(t,s)}else t&&Ko(e,t)},Zc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=le;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ko(r,t,n):(i=!t.$stable,Uo(t,r)),o=t}else t&&(Ko(e,t),o={default:1});if(i)for(const l in r)!br(l)&&o[l]==null&&delete r[l]},we=rf;function ef(e){return tf(e)}function tf(e,t){const n=is();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=et,insertStaticContent:v}=e,y=(a,d,m,b=null,S=null,_=null,I=void 0,T=null,R=!!d.dynamicChildren)=>{if(a===d)return;a&&!Nt(a,d)&&(b=E(a),Oe(a,S,_,!0),a=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:C,ref:k,shapeFlag:L}=d;switch(C){case as:P(a,d,m,b);break;case Se:N(a,d,m,b);break;case As:a==null&&A(d,m,b,I);break;case Pe:M(a,d,m,b,S,_,I,T,R);break;default:L&1?F(a,d,m,b,S,_,I,T,R):L&6?z(a,d,m,b,S,_,I,T,R):(L&64||L&128)&&C.process(a,d,m,b,S,_,I,T,R,B)}k!=null&&S?dn(k,a&&a.ref,_,d||a,!d):k==null&&a&&a.ref!=null&&dn(a.ref,null,_,a,!0)},P=(a,d,m,b)=>{if(a==null)s(d.el=l(d.children),m,b);else{const S=d.el=a.el;d.children!==a.children&&u(S,d.children)}},N=(a,d,m,b)=>{a==null?s(d.el=c(d.children||""),m,b):d.el=a.el},A=(a,d,m,b)=>{[a.el,a.anchor]=v(a.children,d,m,b,a.el,a.anchor)},O=({el:a,anchor:d},m,b)=>{let S;for(;a&&a!==d;)S=p(a),s(a,m,b),a=S;s(d,m,b)},x=({el:a,anchor:d})=>{let m;for(;a&&a!==d;)m=p(a),r(a),a=m;r(d)},F=(a,d,m,b,S,_,I,T,R)=>{if(d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),a==null)Y(d,m,b,S,_,I,T,R);else{const C=a.el&&a.el._isVueCE?a.el:null;try{C&&C._beginPatch(),w(a,d,S,_,I,T,R)}finally{C&&C._endPatch()}}},Y=(a,d,m,b,S,_,I,T)=>{let R,C;const{props:k,shapeFlag:L,transition:U,dirs:$}=a;if(R=a.el=o(a.type,_,k&&k.is,k),L&8?f(R,a.children):L&16&&H(a.children,R,null,b,S,Cs(a,_),I,T),$&&Rt(a,null,b,"created"),j(R,a,a.scopeId,I,b),k){for(const oe in k)oe!=="value"&&!fn(oe)&&i(R,oe,null,k[oe],_,b);"value"in k&&i(R,"value",null,k.value,_),(C=k.onVnodeBeforeMount)&&Je(C,b,a)}$&&Rt(a,null,b,"beforeMount");const Z=nf(S,U);Z&&U.beforeEnter(R),s(R,d,m),((C=k&&k.onVnodeMounted)||Z||$)&&we(()=>{try{C&&Je(C,b,a),Z&&U.enter(R),$&&Rt(a,null,b,"mounted")}finally{}},S)},j=(a,d,m,b,S)=>{if(m&&g(a,m),b)for(let _=0;_{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||le,U=d.props||le;let $;if(m&&xt(m,!1),($=U.onVnodeBeforeUpdate)&&Je($,m,d,a),k&&Rt(d,a,m,"beforeUpdate"),m&&xt(m,!0),C&&(!a.dynamicChildren||a.dynamicChildren.length!==C.length)&&(R=0,I=!1,C=null),(L.innerHTML&&U.innerHTML==null||L.textContent&&U.textContent==null)&&f(T,""),C?G(a.dynamicChildren,C,T,m,b,Cs(d,S),_):I||te(a,d,T,null,m,b,Cs(d,S),_,!1),R>0){if(R&16)J(T,L,U,m,S);else if(R&2&&L.class!==U.class&&i(T,"class",null,U.class,S),R&4&&i(T,"style",L.style,U.style,S),R&8){const Z=d.dynamicProps;for(let oe=0;oe{$&&Je($,m,d,a),k&&Rt(d,a,m,"updated")},b)},G=(a,d,m,b,S,_,I)=>{for(let T=0;T{if(d!==m){if(d!==le)for(const _ in d)!fn(_)&&!(_ in m)&&i(a,_,d[_],null,S,b);for(const _ in m){if(fn(_))continue;const I=m[_],T=d[_];I!==T&&_!=="value"&&i(a,_,T,I,S,b)}"value"in m&&i(a,"value",d.value,m.value,S)}},M=(a,d,m,b,S,_,I,T,R)=>{const C=d.el=a?a.el:l(""),k=d.anchor=a?a.anchor:l("");let{patchFlag:L,dynamicChildren:U,slotScopeIds:$}=d;$&&(T=T?T.concat($):$),a==null?(s(C,m,b),s(k,m,b),H(d.children||[],m,k,S,_,I,T,R)):L>0&&L&64&&U&&a.dynamicChildren&&a.dynamicChildren.length===U.length?(G(a.dynamicChildren,U,m,S,_,I,T),(d.key!=null||S&&d===S.subTree)&&Sr(a,d,!0)):te(a,d,m,k,S,_,I,T,R)},z=(a,d,m,b,S,_,I,T,R)=>{d.slotScopeIds=T,a==null?d.shapeFlag&512?S.ctx.activate(d,m,b,I,R):ue(d,m,b,S,_,I,R):Ce(a,d,R)},ue=(a,d,m,b,S,_,I)=>{const T=a.component=df(a,b,S);if(On(a)&&(T.ctx.renderer=B),pf(T,!1,I),T.asyncDep){if(S&&S.registerDep(T,ie,I),!a.el){const R=T.subTree=ye(Se);N(null,R,d,m),a.placeholder=R.el}}else ie(T,a,d,m,S,_,I)},Ce=(a,d,m)=>{const b=d.component=a.component;if($c(a,d,m))if(b.asyncDep&&!b.asyncResolved){q(b,d,m);return}else b.next=d,b.update();else d.el=a.el,b.vnode=d},ie=(a,d,m,b,S,_,I)=>{const T=()=>{if(a.isMounted){let{next:L,bu:U,u:$,parent:Z,vnode:oe}=a;{const $e=Go(a);if($e){L&&(L.el=oe.el,q(a,L,I)),$e.asyncDep.then(()=>{we(()=>{a.isUnmounted||C()},S)});return}}let re=L,de;xt(a,!1),L?(L.el=oe.el,q(a,L,I)):L=oe,U&&Hn(U),(de=L.props&&L.props.onVnodeBeforeUpdate)&&Je(de,Z,L,oe),xt(a,!0);const _e=$r(a),We=a.subTree;a.subTree=_e,y(We,_e,h(We.el),E(We),a,S,_),L.el=_e.el,re===null&&qc(a,_e.el),$&&we($,S),(de=L.props&&L.props.onVnodeUpdated)&&we(()=>Je(de,Z,L,oe),S)}else{let L;const{el:U,props:$}=d,{bm:Z,m:oe,parent:re,root:de,type:_e}=a,We=qt(d);xt(a,!1),Z&&Hn(Z),!We&&(L=$&&$.onVnodeBeforeMount)&&Je(L,re,d),xt(a,!0);{de.ce&&de.ce._hasShadowRoot()&&de.ce._injectChildStyle(_e,a.parent?a.parent.type:void 0);const $e=a.subTree=$r(a);y(null,$e,m,b,a,S,_),d.el=$e.el}if(oe&&we(oe,S),!We&&(L=$&&$.onVnodeMounted)){const $e=d;we(()=>Je(L,re,$e),S)}(d.shapeFlag&256||re&&qt(re.vnode)&&re.vnode.shapeFlag&256)&&a.a&&we(a.a,S),a.isMounted=!0,d=m=b=null}};a.scope.on();const R=a.effect=new $i(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=()=>pr(k),xt(a,!0),C()},q=(a,d,m)=>{d.component=a;const b=a.vnode.props;a.vnode=d,a.next=null,zc(a,d.props,b,m),Zc(a,d.children,m),ut(),Lr(a),at()},te=(a,d,m,b,S,_,I,T,R=!1)=>{const C=a&&a.children,k=a?a.shapeFlag:0,L=d.children,{patchFlag:U,shapeFlag:$}=d;if(U>0){if(U&128){pt(C,L,m,b,S,_,I,T,R);return}else if(U&256){tt(C,L,m,b,S,_,I,T,R);return}}$&8?(k&16&&Le(C,S,_),L!==C&&f(m,L)):k&16?$&16?pt(C,L,m,b,S,_,I,T,R):Le(C,S,_,!0):(k&8&&f(m,""),$&16&&H(L,m,b,S,_,I,T,R))},tt=(a,d,m,b,S,_,I,T,R)=>{a=a||kt,d=d||kt;const C=a.length,k=d.length,L=Math.min(C,k);let U;for(U=0;Uk?Le(a,S,_,!0,!1,L):H(d,m,b,S,_,I,T,R,L)},pt=(a,d,m,b,S,_,I,T,R)=>{let C=0;const k=d.length;let L=a.length-1,U=k-1;for(;C<=L&&C<=U;){const $=a[C],Z=d[C]=R?it(d[C]):Xe(d[C]);if(Nt($,Z))y($,Z,m,null,S,_,I,T,R);else break;C++}for(;C<=L&&C<=U;){const $=a[L],Z=d[U]=R?it(d[U]):Xe(d[U]);if(Nt($,Z))y($,Z,m,null,S,_,I,T,R);else break;L--,U--}if(C>L){if(C<=U){const $=U+1,Z=$U)for(;C<=L;)Oe(a[C],S,_,!0),C++;else{const $=C,Z=C,oe=new Map;for(C=Z;C<=U;C++){const Ne=d[C]=R?it(d[C]):Xe(d[C]);Ne.key!=null&&oe.set(Ne.key,C)}let re,de=0;const _e=U-Z+1;let We=!1,$e=0;const Zt=new Array(_e);for(C=0;C<_e;C++)Zt[C]=0;for(C=$;C<=L;C++){const Ne=a[C];if(de>=_e){Oe(Ne,S,_,!0);continue}let qe;if(Ne.key!=null)qe=oe.get(Ne.key);else for(re=Z;re<=U;re++)if(Zt[re-Z]===0&&Nt(Ne,d[re])){qe=re;break}qe===void 0?Oe(Ne,S,_,!0):(Zt[qe-Z]=C+1,qe>=$e?$e=qe:We=!0,y(Ne,d[qe],m,null,S,_,I,T,R),de++)}const Tr=We?sf(Zt):kt;for(re=Tr.length-1,C=_e-1;C>=0;C--){const Ne=Z+C,qe=d[Ne],Or=d[Ne+1],Pr=Ne+1{const{el:_,type:I,transition:T,children:R,shapeFlag:C}=a;if(C&6){Ge(a.component.subTree,d,m,b);return}if(C&128){a.suspense.move(d,m,b);return}if(C&64){I.move(a,d,m,B);return}if(I===Pe){s(_,d,m);for(let L=0;LT.enter(_),S));else{const{leave:L,delayLeave:U,afterLeave:$}=T,Z=()=>{a.ctx.isUnmounted?r(_):s(_,d,m)},oe=()=>{const re=_._isLeaving||!!_[Ve];_._isLeaving&&_[Ve](!0),T.persisted&&!re?Z():L(_,()=>{Z(),$&&$()})};U?U(_,Z,oe):oe()}else s(_,d,m)},Oe=(a,d,m,b=!1,S=!1)=>{const{type:_,props:I,ref:T,children:R,dynamicChildren:C,shapeFlag:k,patchFlag:L,dirs:U,cacheIndex:$,memo:Z}=a;if(L===-2&&(S=!1),T!=null&&(ut(),dn(T,null,m,a,!0),at()),$!=null&&(d.renderCache[$]=void 0),k&256){d.ctx.deactivate(a);return}const oe=k&1&&U,re=!qt(a);let de;if(re&&(de=I&&I.onVnodeBeforeUnmount)&&Je(de,d,a),k&6)wt(a.component,m,b);else{if(k&128){a.suspense.unmount(m,b);return}oe&&Rt(a,null,d,"beforeUnmount"),k&64?a.type.remove(a,d,m,B,b):C&&!C.hasOnce&&(_!==Pe||L>0&&L&64)?Le(C,d,m,!1,!0):(_===Pe&&L&384||!S&&k&16)&&Le(R,d,m),b&&Ft(a)}const _e=Z!=null&&$==null;(re&&(de=I&&I.onVnodeUnmounted)||oe||_e)&&we(()=>{de&&Je(de,d,a),oe&&Rt(a,null,d,"unmounted"),_e&&(a.el=null)},m)},Ft=a=>{const{type:d,el:m,anchor:b,transition:S}=a;if(d===Pe){Vt(m,b);return}if(d===As){x(a);return}const _=()=>{r(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(a.shapeFlag&1&&S&&!S.persisted){const{leave:I,delayLeave:T}=S,R=()=>I(m,_);T?T(a.el,_,R):R()}else _()},Vt=(a,d)=>{let m;for(;a!==d;)m=p(a),r(a),a=m;r(d)},wt=(a,d,m)=>{const{bum:b,scope:S,job:_,subTree:I,um:T,m:R,a:C}=a;zr(R),zr(C),b&&Hn(b),S.stop(),_&&(_.flags|=8,Oe(I,a,d,m)),T&&we(T,d),we(()=>{a.isUnmounted=!0},d)},Le=(a,d,m,b=!1,S=!1,_=0)=>{for(let I=_;I{if(a.shapeFlag&6)return E(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const d=p(a.anchor||a.el),m=d&&d[yo];return m?p(m):d};let V=!1;const D=(a,d,m)=>{let b;a==null?d._vnode&&(Oe(d._vnode,null,null,!0),b=d._vnode.component):y(d._vnode||null,a,d,null,null,null,m),d._vnode=a,V||(V=!0,Lr(b),ho(),V=!1)},B={p:y,um:Oe,m:Ge,r:Ft,mt:ue,mc:H,pc:te,pbc:G,n:E,o:e};return{render:D,hydrate:void 0,createApp:Bc(D)}}function Cs({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 nf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Sr(e,t,n=!1){const s=e.children,r=t.children;if(K(s)&&K(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 Go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Go(t)}function zr(e){if(e)for(let t=0;te.__isSuspense;function rf(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):hc(e)}const Pe=Symbol.for("v-fgt"),as=Symbol.for("v-txt"),Se=Symbol.for("v-cmt"),As=Symbol.for("v-stc"),ft=[];let Ie=null;function Gs(e=!1){ft.push(Ie=e?null:[])}function Cr(){ft.pop(),Ie=ft[ft.length-1]||null}let En=1;function zn(e,t=!1){En+=e,e<0&&Ie&&t&&(Ie.hasOnce=!0)}function qo(e){return e.dynamicChildren=En>0?Ie||kt:null,Cr(),En>0&&Ie&&Ie.push(e),e}function wa(e,t,n,s,r,i){return qo(zo(e,t,n,s,r,i,!0))}function Ws(e,t,n,s,r){return qo(ye(e,t,n,s,r,!0))}function Sn(e){return e?e.__v_isVNode===!0:!1}function Nt(e,t){return e.type===t.type&&e.key===t.key}const Jo=({key:e})=>e??null,Un=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?fe(e)||ae(e)||W(e)?{i:be,r:e,k:t,f:!!n}:e:null);function zo(e,t=null,n=null,s=0,r=null,i=e===Pe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jo(t),ref:t&&Un(t),scopeId:go,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:be};return l?(Yn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=fe(n)?8:16),En>0&&!o&&Ie&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ie.push(c),c}const ye=of;function of(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===To)&&(e=Se),Sn(e)){const l=Ct(e,t,!0);return n&&Yn(l,n),En>0&&!i&&Ie&&(l.shapeFlag&6?Ie[Ie.indexOf(e)]=l:Ie.push(l)),l.patchFlag=-2,l}if(vf(e)&&(e=e.__vccOpts),t){t=lf(t);let{class:l,style:c}=t;l&&!fe(l)&&(t.class=rr(l)),ee(c)&&(ls(c)&&!K(c)&&(c=pe({},c)),t.style=sr(c))}const o=fe(e)?1:$o(e)?128:cs(e)?64:ee(e)?4:W(e)?2:0;return zo(e,t,n,s,r,o,i,!0)}function lf(e){return e?ls(e)||jo(e)?pe({},e):e:null}function Ct(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?uf(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Jo(u),ref:t&&t.ref?n&&i?K(i)?i.concat(Un(t)):[i,Un(t)]:Un(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!==Pe?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&&Ct(e.ssContent),ssFallback:e.ssFallback&&Ct(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Lt(f,c.clone(f)),f}function cf(e=" ",t=0){return ye(as,null,e,t)}function ff(e="",t=!1){return t?(Gs(),Ws(Se,null,e)):ye(Se,null,e)}function Xe(e){return e==null||typeof e=="boolean"?ye(Se):K(e)?ye(Pe,null,e.slice()):Sn(e)?it(e):ye(as,null,String(e))}function it(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ct(e)}function Yn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(K(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Yn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!jo(t)?t._ctx=be:r===3&&be&&(be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(W(t)){if(s&65){Yn(e,{default:t});return}t={default:t,_ctx:be},n=32}else t=String(t),s&64?(n=16,t=[cf(t)]):n=8;e.children=t,e.shapeFlag|=n}function uf(...e){const t={};for(let n=0;nve||be;let Qn,Cn;{const e=is(),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)}};Qn=t("__VUE_INSTANCE_SETTERS__",n=>ve=n),Cn=t("__VUE_SSR_SETTERS__",n=>zt=n)}const Nn=e=>{const t=ve;return Qn(e),e.scope.on(),()=>{e.scope.off(),Qn(t)}},Yr=()=>{ve&&ve.scope.off(),Qn(null)};function Yo(e){return e.vnode.shapeFlag&4}let zt=!1;function pf(e,t=!1,n=!1){t&&Cn(t);const{props:s,children:r}=e.vnode,i=Yo(e);Jc(e,s,i,t),Xc(e,r,n||t);const o=i?gf(e,t):void 0;return t&&Cn(!1),o}function gf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Mc);const{setup:s}=n;if(s){ut();const r=e.setupContext=s.length>1?yf(e):null,i=Nn(e),o=xn(s,e,0,[e.props,r]),l=Fi(o);if(at(),i(),(l||e.sp)&&!qt(e)&&_r(e),l){if(o.then(Yr,Yr),t)return o.then(c=>{Cn(!0);try{Qr(e,c,t)}finally{Cn(!1)}}).catch(c=>{Tn(c,e,0)});e.asyncDep=o}else Qr(e,o)}else Qo(e)}function Qr(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=co(t)),Qo(e)}function Qo(e,t,n){const s=e.type;e.render||(e.render=s.render||et);{const r=Nn(e);ut();try{Dc(e)}finally{at(),r()}}}const mf={get(e,t){return Ee(e,"get",""),e[t]}};function yf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,mf),slots:e.slots,emit:e.emit,expose:t}}function hs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(co(hr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pn)return pn[n](e)},has(t,n){return n in t||n in pn}})):e.proxy}function _f(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function vf(e){return W(e)&&"__vccOpts"in e}const je=(e,t)=>lc(e,t,zt);function Ar(e,t,n){try{zn(-1);const s=arguments.length;return s===2?ee(t)&&!K(t)?Sn(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Sn(n)&&(n=[n]),ye(e,t,n))}finally{zn(1)}}const bf="3.5.41";/** +* @vue/runtime-dom v3.5.41 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let $s;const Xr=typeof window<"u"&&window.trustedTypes;if(Xr)try{$s=Xr.createPolicy("vue",{createHTML:e=>e})}catch{}const Xo=$s?e=>$s.createHTML(e):e=>e,Ef="http://www.w3.org/2000/svg",Sf="http://www.w3.org/1998/Math/MathML",rt=typeof document<"u"?document:null,Zr=rt&&rt.createElement("template"),Cf={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"?rt.createElementNS(Ef,e):t==="mathml"?rt.createElementNS(Sf,e):n?rt.createElement(e,{is:n}):rt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>rt.createTextNode(e),createComment:e=>rt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>rt.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{Zr.innerHTML=Xo(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Zr.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]}},gt="transition",nn="animation",Yt=Symbol("_vtc"),Zo={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},el=pe({},vo,Zo),Af=e=>(e.displayName="Transition",e.props=el,e),Ra=Af((e,{slots:t})=>Ar(Sc,tl(e),t)),Tt=(e,t=[])=>{K(e)?e.forEach(n=>n(...t)):e&&e(...t)},ei=e=>e?K(e)?e.some(t=>t.length>1):e.length>1:!1;function tl(e){const t={};for(const M in e)M in Zo||(t[M]=e[M]);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,v=wf(r),y=v&&v[0],P=v&&v[1],{onBeforeEnter:N,onEnter:A,onEnterCancelled:O,onLeave:x,onLeaveCancelled:F,onBeforeAppear:Y=N,onAppear:j=A,onAppearCancelled:H=O}=t,w=(M,z,ue,Ce)=>{M._enterCancelled=Ce,_t(M,z?f:l),_t(M,z?u:o),ue&&ue()},G=(M,z)=>{M._isLeaving=!1,_t(M,h),_t(M,g),_t(M,p),z&&z()},J=M=>(z,ue)=>{const Ce=M?j:A,ie=()=>w(z,M,ue);Tt(Ce,[z,ie]),ti(()=>{_t(z,M?c:i),ze(z,M?f:l),ei(Ce)||ni(z,s,y,ie)})};return pe(t,{onBeforeEnter(M){Tt(N,[M]),ze(M,i),ze(M,o)},onBeforeAppear(M){Tt(Y,[M]),ze(M,c),ze(M,u)},onEnter:J(!1),onAppear:J(!0),onLeave(M,z){M._isLeaving=!0;const ue=()=>G(M,z);ze(M,h),M._enterCancelled?(ze(M,p),qs(M)):(qs(M),ze(M,p)),ti(()=>{M._isLeaving&&(_t(M,h),ze(M,g),ei(x)||ni(M,s,P,ue))}),Tt(x,[M,ue])},onEnterCancelled(M){w(M,!1,void 0,!0),Tt(O,[M])},onAppearCancelled(M){w(M,!0,void 0,!0),Tt(H,[M])},onLeaveCancelled(M){G(M),Tt(F,[M])}})}function wf(e){if(e==null)return null;if(ee(e))return[ws(e.enter),ws(e.leave)];{const t=ws(e);return[t,t]}}function ws(e){return Rl(e)}function ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Yt]||(e[Yt]=new Set)).add(t)}function _t(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Yt];n&&(n.delete(t),n.size||(e[Yt]=void 0))}function ti(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rf=0;function ni(e,t,n,s){const r=e._endId=++Rf,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=nl(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[v]||"").split(", "),r=s(`${gt}Delay`),i=s(`${gt}Duration`),o=si(r,i),l=s(`${nn}Delay`),c=s(`${nn}Duration`),u=si(l,c);let f=null,h=0,p=0;t===gt?o>0&&(f=gt,h=o,p=i.length):t===nn?u>0&&(f=nn,h=u,p=c.length):(h=Math.max(o,u),f=h>0?o>u?gt:nn:null,p=f?f===gt?i.length:c.length:0);const g=f===gt&&/\b(?:transform|all)(?:,|$)/.test(s(`${gt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:g}}function si(e,t){for(;e.lengthri(n)+ri(e[s])))}function ri(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function qs(e){return(e?e.ownerDocument:document).body.offsetHeight}function xf(e,t,n){const s=e[Yt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xn=Symbol("_vod"),wr=Symbol("_vsh"),xa={name:"show",beforeMount(e,{value:t},{transition:n}){e[Xn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):sn(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),sn(e,!0),s.enter(e)):s.leave(e,()=>{sn(e,!1)}):sn(e,t))},beforeUnmount(e,{value:t}){sn(e,t)}};function sn(e,t){e.style.display=t?e[Xn]:"none",e[wr]=!t}const Tf=Symbol(""),Of=/(?:^|;)\s*display\s*:/;function Pf(e,t,n){const s=e.style,r=fe(n);let i=!1;if(n&&!r){if(t)if(fe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&cn(s,l,"")}else for(const o in t)n[o]==null&&cn(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?If(e,o,!fe(t)&&t?t[o]:void 0,l)||cn(s,o,l):cn(s,o,"")}}else if(r){if(t!==n){const o=s[Tf];o&&(n+=";"+o),s.cssText=n,i=Of.test(n)}}else t&&e.removeAttribute("style");Xn in e&&(e[Xn]=i?s.display:"",e[wr]&&(s.display="none"))}const ii=/\s*!important$/;function cn(e,t,n){if(K(n))n.forEach(s=>cn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Nf(e,t);ii.test(n)?e.setProperty(At(s),n.replace(ii,""),"important"):e[s]=n}}const oi=["Webkit","Moz","ms"],Rs={};function Nf(e,t){const n=Rs[t];if(n)return n;let s=Te(t);if(s!=="filter"&&s in e)return Rs[t]=s;s=rs(s);for(let r=0;rxs||(jf.then(()=>xs=0),xs=Date.now());function Bf(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(K(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Uf=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?xf(e,s,o):t==="style"?Pf(e,n,s):es(t)?ts(t)||Df(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kf(e,t,s,o))?(fi(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ci(e,t,s,o,i,t!=="value")):e._isVueCE&&(kf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!fe(s)))?fi(e,Te(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ci(e,t,s,o))};function Kf(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&ai(t)&&W(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 ai(t)&&fe(n)?!1:t in e}function kf(e,t){const n=e._def.props;if(!n)return!1;const s=Te(t);return Array.isArray(n)?n.some(r=>Te(r)===s):Object.keys(n).some(r=>Te(r)===s)}const sl=new WeakMap,rl=new WeakMap,Zn=Symbol("_moveCb"),hi=Symbol("_enterCb"),Gf=e=>(delete e.props.mode,e),Wf=Gf({name:"TransitionGroup",props:pe({},el,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Pn(),s=_o();let r,i;return wo(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!zf(r[0].el,n.vnode.el,o)){r=[];return}r.forEach($f),r.forEach(qf);const l=r.filter(Jf);qs(n.vnode.el),l.forEach(c=>{const u=c.el,f=u.style;ze(u,o),f.transform=f.webkitTransform=f.transitionDuration="";const h=u[Zn]=p=>{p&&p.target!==u||(!p||p.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",h),u[Zn]=null,_t(u,o))};u.addEventListener("transitionend",h)}),r=[]}),()=>{const o=X(e),l=tl(o);let c=o.tag||Pe;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}=nl(s);return i.removeChild(s),o}const di=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?n=>Hn(t,n):t};function Yf(e){e.target.composing=!0}function pi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Vn=Symbol("_assign"),jn=Symbol("_initialValue");function Ts(e,t,n){return t&&(e=e.trim()),n&&(e=nr(e)),e}const Oa={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[jn]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jn]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Vn]=di(r);const i=s||r.props&&r.props.type==="number";Ut(e,t?"change":"input",o=>{o.target.composing||e[Vn](Ts(e.value,n,i))}),(n||i)&&Ut(e,"change",()=>{e.value=Ts(e.value,n,i)}),t||(Ut(e,"compositionstart",Yf),Ut(e,"compositionend",pi),Ut(e,"change",pi))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[jn];delete e[jn],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[Vn](Ts(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[Vn]=di(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?nr(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},Qf=["ctrl","shift","alt","meta"],Xf={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))},Pa=(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=At(r.key);if(t.some(o=>o===i||Zf[o]===i))return e(r)})},eu=pe({patchProp:Uf},Cf);let gi;function tu(){return gi||(gi=ef(eu))}const Ia=(...e)=>{const t=tu().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=su(s);if(!r)return;const i=t._component;!W(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,nu(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function nu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function su(e){return fe(e)?document.querySelector(e):e}/*! + * pinia v3.0.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let ol;const ds=e=>ol=e,ll=Symbol();function Js(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(gn||(gn={}));function Ma(){const e=Gi(!0),t=e.run(()=>Wt({}));let n=[],s=[];const r=hr({install(i){ds(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 mi(e,t,n,s=cl){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&Wi()&&Ll(r),r}function Ht(e,...t){e.forEach(n=>{n(...t)})}const ru=e=>e(),yi=Symbol(),Os=Symbol();function zs(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];Js(r)&&Js(s)&&e.hasOwnProperty(n)&&!ae(s)&&!ct(s)?e[n]=zs(r,s):e[n]=s}return e}const iu=Symbol();function ou(e){return!Js(e)||!Object.prototype.hasOwnProperty.call(e,iu)}const{assign:vt}=Object;function lu(e){return!!(ae(e)&&e.effect)}function cu(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=sc(n.state.value[e]);return vt(f,i,Object.keys(o||{}).reduce((h,p)=>(h[p]=hr(je(()=>{ds(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=vt({actions:{}},n),c={deep:!0};let u,f,h=new Set,p=new Set,g;const v=s.state.value[e];!i&&!v&&(s.state.value[e]={});let y;function P(H){let w;u=f=!1,typeof H=="function"?(H(s.state.value[e]),w={type:gn.patchFunction,storeId:e,events:g}):(zs(s.state.value[e],H),w={type:gn.patchObject,payload:H,storeId:e,events:g});const G=y=Symbol();dr().then(()=>{y===G&&(u=!0)}),f=!0,Ht(h,w,s.state.value[e])}const N=i?function(){const{state:w}=n,G=w?w():{};this.$patch(J=>{vt(J,G)})}:cl;function A(){o.stop(),h.clear(),p.clear(),s._s.delete(e)}const O=(H,w="")=>{if(yi in H)return H[Os]=w,H;const G=function(){ds(s);const J=Array.from(arguments),M=new Set,z=new Set;function ue(q){M.add(q)}function Ce(q){z.add(q)}Ht(p,{args:J,name:G[Os],store:F,after:ue,onError:Ce});let ie;try{ie=H.apply(this&&this.$id===e?this:F,J)}catch(q){throw Ht(z,q),q}return ie instanceof Promise?ie.then(q=>(Ht(M,q),q)).catch(q=>(Ht(z,q),Promise.reject(q))):(Ht(M,ie),ie)};return G[yi]=!0,G[Os]=w,G},x={_p:s,$id:e,$onAction:mi.bind(null,p),$patch:P,$reset:N,$subscribe(H,w={}){const G=mi(h,H,w.detached,()=>J()),J=o.run(()=>hn(()=>s.state.value[e],M=>{(w.flush==="sync"?f:u)&&H({storeId:e,type:gn.direct,events:g},M)},vt({},c,w)));return G},$dispose:A},F=Rn(x);s._s.set(e,F);const j=(s._a&&s._a.runWithContext||ru)(()=>s._e.run(()=>(o=Gi()).run(()=>t({action:O}))));for(const H in j){const w=j[H];if(ae(w)&&!lu(w)||ct(w))i||(v&&ou(w)&&(ae(w)?w.value=v[H]:zs(w,v[H])),s.state.value[e][H]=w);else if(typeof w=="function"){const G=O(w,H);j[H]=G,l.actions[H]=w}}return vt(F,j),vt(X(F),j),Object.defineProperty(F,"$state",{get:()=>s.state.value[e],set:H=>{P(w=>{vt(w,H)})}}),s._p.forEach(H=>{vt(F,o.run(()=>H({store:F,app:s._a,pinia:s,options:l})))}),v&&i&&n.hydrate&&n.hydrate(F.$state,v),u=!0,f=!0,F}/*! #__NO_SIDE_EFFECTS__ */function Da(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function i(o,l){const c=pc();return o=o||(c?He(ll,null):null),o&&ds(o),o=ol,o._s.has(e)||(r?fl(e,t,s,o):cu(e,s,o)),o._s.get(e)}return i.$id=e,i}function La(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 Fa(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 Kt=typeof document<"u";function ul(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function fu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ul(e.default)}const ne=Object.assign;function Ps(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 mn=()=>{},ke=Array.isArray;function _i(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const al=/#/g,uu=/&/g,au=/\//g,hu=/=/g,du=/\?/g,hl=/\+/g,pu=/%5B/g,gu=/%5D/g,dl=/%5E/g,mu=/%60/g,pl=/%7B/g,yu=/%7C/g,gl=/%7D/g,_u=/%20/g;function Rr(e){return e==null?"":encodeURI(""+e).replace(yu,"|").replace(pu,"[").replace(gu,"]")}function vu(e){return Rr(e).replace(pl,"{").replace(gl,"}").replace(dl,"^")}function Ys(e){return Rr(e).replace(hl,"%2B").replace(_u,"+").replace(al,"%23").replace(uu,"%26").replace(mu,"`").replace(pl,"{").replace(gl,"}").replace(dl,"^")}function bu(e){return Ys(e).replace(hu,"%3D")}function Eu(e){return Rr(e).replace(al,"%23").replace(du,"%3F")}function Su(e){return Eu(e).replace(au,"%2F")}function An(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Cu=/\/$/,Au=e=>e.replace(Cu,"");function Ns(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=Tu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:An(o)}}function wu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function vi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ru(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Qt(t.matched[s],n.matched[r])&&ml(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Qt(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(!xu(e[n],t[n]))return!1;return!0}function xu(e,t){return ke(e)?bi(e,t):ke(t)?bi(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function bi(e,t){return ke(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Tu(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 mt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Qs=function(e){return e.pop="pop",e.push="push",e}({}),Is=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Ou(e){if(!e)if(Kt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Au(e)}const Pu=/^[^#]+#/;function Nu(e,t){return e.replace(Pu,"#")+t}function Iu(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 ps=()=>({left:window.scrollX,top:window.scrollY});function Mu(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=Iu(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 Ei(e,t){return(history.state?history.state.position-t:-1)+e}const Xs=new Map;function Du(e,t){Xs.set(e,t)}function Lu(e){const t=Xs.get(e);return Xs.delete(e),t}function Fu(e){return typeof e=="string"||e&&typeof e=="object"}function yl(e){return typeof e=="string"||typeof e=="symbol"}let he=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 _l=Symbol("");he.MATCHER_NOT_FOUND+"",he.NAVIGATION_GUARD_REDIRECT+"",he.NAVIGATION_ABORTED+"",he.NAVIGATION_CANCELLED+"",he.NAVIGATION_DUPLICATED+"";function Xt(e,t){return ne(new Error,{type:e,[_l]:!0},t)}function st(e,t){return e instanceof Error&&_l in e&&(t==null||!!(e.type&t))}const Vu=["params","query","hash"];function ju(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Vu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Hu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&Ys(r)):[s&&Ys(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Bu(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 Uu=Symbol(""),Ci=Symbol(""),gs=Symbol(""),xr=Symbol(""),Zs=Symbol("");function rn(){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 Et(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(Xt(he.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):Fu(p)?c(Xt(he.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 Ms(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(Et(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=fu(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&Et(p,n,s,o,l,r)()}))}}return i}function Ku(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oQt(u,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(u=>Qt(u,c))||r.push(c))}return[n,s,r]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let ku=()=>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),vi(l,"")}return vi(n,e)+s+r}function Gu(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const g=vl(e,location),v=n.value,y=t.value;let P=0;if(p){if(n.value=g,t.value=p,o&&o===v){o=null;return}P=y?p.position-y.position:0}else s(g);r.forEach(N=>{N(n.value,v,{delta:P,type:Qs.pop,direction:P?P>0?Is.forward:Is.back:Is.unknown})})};function c(){o=n.value}function u(p){r.push(p);const g=()=>{const v=r.indexOf(p);v>-1&&r.splice(v,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:ps()}),"")}}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 Ai(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?ps():null}}function Wu(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:ku()+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,Ai(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:ps()});i(f.current,f,!0),i(c,ne({},Ai(s.value,c,null),{position:f.position+1},u),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Va(e){e=Ou(e);const t=Wu(e),n=Gu(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:Nu.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 It=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var ge=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}(ge||{});const $u={type:It.Static,value:""},qu=/[a-zA-Z0-9_]/;function Ju(e){if(!e)return[[]];if(e==="/")return[[$u]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${u}": ${g}`)}let n=ge.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,u="",f="";function h(){u&&(n===ge.Static?i.push({type:It.Static,value:u}):n===ge.Param||n===ge.ParamRegExp||n===ge.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:It.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]===Re.Static+Re.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 Zu={strict:!1,end:!0,sensitive:!1};function ea(e,t,n){const s=Qu(Ju(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 ta(e,t){const n=[],s=new Map;t=_i(Zu,t);function r(h){return s.get(h)}function i(h,p,g){const v=!g,y=Ti(h);y.aliasOf=g&&g.record;const P=_i(t,h),N=[y];if("alias"in h){const x=typeof h.alias=="string"?[h.alias]:h.alias;for(const F of x)N.push(Ti(ne({},y,{components:g?g.record.components:y.components,path:F,aliasOf:g?g.record:y})))}let A,O;for(const x of N){const{path:F}=x;if(p&&F[0]!=="/"){const Y=p.record.path,j=Y[Y.length-1]==="/"?"":"/";x.path=p.record.path+(F&&j+F)}if(A=ea(x,p,P),g?g.alias.push(A):(O=O||A,O!==A&&O.alias.push(A),v&&h.name&&!Oi(A)&&o(h.name)),El(A)&&c(A),y.children){const Y=y.children;for(let j=0;j{o(O)}:mn}function o(h){if(yl(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=ra(h,n);n.splice(p,0,h),h.record.name&&!Oi(h)&&s.set(h.record.name,h)}function u(h,p){let g,v={},y,P;if("name"in h&&h.name){if(g=s.get(h.name),!g)throw Xt(he.MATCHER_NOT_FOUND,{location:h});P=g.record.name,v=ne(xi(p.params,g.keys.filter(O=>!O.optional).concat(g.parent?g.parent.keys.filter(O=>O.optional):[]).map(O=>O.name)),h.params&&xi(h.params,g.keys.map(O=>O.name))),y=g.stringify(v)}else if(h.path!=null)y=h.path,g=n.find(O=>O.re.test(y)),g&&(v=g.parse(y),P=g.record.name);else{if(g=p.name?s.get(p.name):n.find(O=>O.re.test(p.path)),!g)throw Xt(he.MATCHER_NOT_FOUND,{location:h,currentLocation:p});P=g.record.name,v=ne({},p.params,h.params),y=g.stringify(v)}const N=[];let A=g;for(;A;)N.unshift(A.record),A=A.parent;return{name:P,path:y,params:v,matched:N,meta:sa(N)}}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 xi(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Ti(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:na(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 na(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 Oi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function sa(e){return e.reduce((t,n)=>ne(t,n.meta),{})}function ra(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=ia(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function ia(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 Pi(e){const t=He(gs),n=He(xr),s=je(()=>{const c=St(e.to);return t.resolve(c)}),r=je(()=>{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(Qt.bind(null,f));if(p>-1)return p;const g=Ni(c[u-2]);return u>1&&Ni(f)===g&&h[h.length-1].path!==g?h.findIndex(Qt.bind(null,c[u-2])):p}),i=je(()=>r.value>-1&&ua(n.params,s.value.params)),o=je(()=>r.value>-1&&r.value===n.matched.length-1&&ml(n.params,s.value.params));function l(c={}){if(fa(c)){const u=t[St(e.replace)?"replace":"push"](St(e.to)).catch(mn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:je(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function oa(e){return e.length===1?e[0]:e}const la=yr({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:Pi,setup(e,{slots:t}){const n=Rn(Pi(e)),{options:s}=He(gs),r=je(()=>({[Ii(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Ii(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&oa(t.default(n));return e.custom?i:Ar("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),ca=la;function fa(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 ua(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 Ni(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ii=(e,t,n)=>e??t??n,aa=yr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=He(Zs),r=je(()=>e.route||s.value),i=He(Ci,0),o=je(()=>{let u=St(i);const{matched:f}=r.value;let h;for(;(h=f[u])&&!h.components;)u++;return u}),l=je(()=>r.value.matched[o.value]);Bn(Ci,je(()=>o.value+1)),Bn(Uu,l),Bn(Zs,r);const c=Wt();return hn(()=>[c.value,l.value,e.name],([u,f,h],[p,g,v])=>{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||!Qt(f,g)||!p)&&(f.enterCallbacks[h]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=r.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return Mi(n.default,{Component:p,route:u});const g=h.props[f],v=g?g===!0?u.params:typeof g=="function"?g(u):g:null,P=Ar(p,ne({},v,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Mi(n.default,{Component:P,route:u})||P}}});function Mi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ha=aa;function ja(e){const t=ta(e.routes,e),n=e.parseQuery||Hu,s=e.stringifyQuery||Si,r=e.history,i=rn(),o=rn(),l=rn(),c=ec(mt);let u=mt;Kt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Ps.bind(null,E=>""+E),h=Ps.bind(null,Su),p=Ps.bind(null,An);function g(E,V){let D,B;return yl(E)?(D=t.getRecordMatcher(E),B=V):B=E,t.addRoute(B,D)}function v(E){const V=t.getRecordMatcher(E);V&&t.removeRoute(V)}function y(){return t.getRoutes().map(E=>E.record)}function P(E){return!!t.getRecordMatcher(E)}function N(E,V){if(V=ne({},V||c.value),typeof E=="string"){const m=Ns(n,E,V.path),b=t.resolve({path:m.path},V),S=r.createHref(m.fullPath);return ne(m,b,{params:p(b.params),hash:An(m.hash),redirectedFrom:void 0,href:S})}let D;if(E.path!=null)D=ne({},E,{path:Ns(n,E.path,V.path).path});else{const m=ne({},E.params);for(const b in m)m[b]==null&&delete m[b];D=ne({},E,{params:h(m)}),V.params=h(V.params)}const B=t.resolve(D,V),Q=E.hash||"";B.params=f(p(B.params));const a=wu(s,ne({},E,{hash:vu(Q),path:B.path})),d=r.createHref(a);return ne({fullPath:a,hash:Q,query:s===Si?Bu(E.query):E.query||{}},B,{redirectedFrom:void 0,href:d})}function A(E){return typeof E=="string"?Ns(n,E,c.value.path):ne({},E)}function O(E,V){if(u!==E)return Xt(he.NAVIGATION_CANCELLED,{from:V,to:E})}function x(E){return j(E)}function F(E){return x(ne(A(E),{replace:!0}))}function Y(E,V){const D=E.matched[E.matched.length-1];if(D&&D.redirect){const{redirect:B}=D;let Q=typeof B=="function"?B(E,V):B;return typeof Q=="string"&&(Q=Q.includes("?")||Q.includes("#")?Q=A(Q):{path:Q},Q.params={}),ne({query:E.query,hash:E.hash,params:Q.path!=null?{}:E.params},Q)}}function j(E,V){const D=u=N(E),B=c.value,Q=E.state,a=E.force,d=E.replace===!0,m=Y(D,B);if(m)return j(ne(A(m),{state:typeof m=="object"?ne({},Q,m.state):Q,force:a,replace:d}),V||D);const b=D;b.redirectedFrom=V;let S;return!a&&Ru(s,B,D)&&(S=Xt(he.NAVIGATION_DUPLICATED,{to:b,from:B}),Ge(B,B,!0,!1)),(S?Promise.resolve(S):G(b,B)).catch(_=>st(_)?st(_,he.NAVIGATION_GUARD_REDIRECT)?_:pt(_):te(_,b,B)).then(_=>{if(_){if(st(_,he.NAVIGATION_GUARD_REDIRECT))return j(ne({replace:d},A(_.to),{state:typeof _.to=="object"?ne({},Q,_.to.state):Q,force:a}),V||b)}else _=M(b,B,!0,d,Q);return J(b,B,_),_})}function H(E,V){const D=O(E,V);return D?Promise.reject(D):Promise.resolve()}function w(E){const V=Vt.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(E):E()}function G(E,V){let D;const[B,Q,a]=Ku(E,V);D=Ms(B.reverse(),"beforeRouteLeave",E,V);for(const m of B)m.leaveGuards.forEach(b=>{D.push(Et(b,E,V))});const d=H.bind(null,E,V);return D.push(d),Le(D).then(()=>{D=[];for(const m of i.list())D.push(Et(m,E,V));return D.push(d),Le(D)}).then(()=>{D=Ms(Q,"beforeRouteUpdate",E,V);for(const m of Q)m.updateGuards.forEach(b=>{D.push(Et(b,E,V))});return D.push(d),Le(D)}).then(()=>{D=[];for(const m of a)if(m.beforeEnter)if(ke(m.beforeEnter))for(const b of m.beforeEnter)D.push(Et(b,E,V));else D.push(Et(m.beforeEnter,E,V));return D.push(d),Le(D)}).then(()=>(E.matched.forEach(m=>m.enterCallbacks={}),D=Ms(a,"beforeRouteEnter",E,V,w),D.push(d),Le(D))).then(()=>{D=[];for(const m of o.list())D.push(Et(m,E,V));return D.push(d),Le(D)}).catch(m=>st(m,he.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function J(E,V,D){l.list().forEach(B=>w(()=>B(E,V,D)))}function M(E,V,D,B,Q){const a=O(E,V);if(a)return a;const d=V===mt,m=Kt?history.state:{};D&&(B||d?r.replace(E.fullPath,ne({scroll:d&&m&&m.scroll},Q)):r.push(E.fullPath,Q)),c.value=E,Ge(E,V,D,d),pt()}let z;function ue(){z||(z=r.listen((E,V,D)=>{if(!wt.listening)return;const B=N(E),Q=Y(B,wt.currentRoute.value);if(Q){j(ne(Q,{replace:!0,force:!0}),B).catch(mn);return}u=B;const a=c.value;Kt&&Du(Ei(a.fullPath,D.delta),ps()),G(B,a).catch(d=>st(d,he.NAVIGATION_ABORTED|he.NAVIGATION_CANCELLED)?d:st(d,he.NAVIGATION_GUARD_REDIRECT)?(j(ne(A(d.to),{force:!0}),B).then(m=>{st(m,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&!D.delta&&D.type===Qs.pop&&r.go(-1,!1)}).catch(mn),Promise.reject()):(D.delta&&r.go(-D.delta,!1),te(d,B,a))).then(d=>{d=d||M(B,a,!1),d&&(D.delta&&!st(d,he.NAVIGATION_CANCELLED)?r.go(-D.delta,!1):D.type===Qs.pop&&st(d,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),J(B,a,d)}).catch(mn)}))}let Ce=rn(),ie=rn(),q;function te(E,V,D){pt(E);const B=ie.list();return B.length?B.forEach(Q=>Q(E,V,D)):console.error(E),Promise.reject(E)}function tt(){return q&&c.value!==mt?Promise.resolve():new Promise((E,V)=>{Ce.add([E,V])})}function pt(E){return q||(q=!E,ue(),Ce.list().forEach(([V,D])=>E?D(E):V()),Ce.reset()),E}function Ge(E,V,D,B){const{scrollBehavior:Q}=e;if(!Kt||!Q)return Promise.resolve();const a=!D&&Lu(Ei(E.fullPath,0))||(B||!D)&&history.state&&history.state.scroll||null;return dr().then(()=>Q(E,V,a)).then(d=>d&&Mu(d)).catch(d=>te(d,E,V))}const Oe=E=>r.go(E);let Ft;const Vt=new Set,wt={currentRoute:c,listening:!0,addRoute:g,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:y,resolve:N,options:e,push:x,replace:F,go:Oe,back:()=>Oe(-1),forward:()=>Oe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ie.add,isReady:tt,install(E){E.component("RouterLink",ca),E.component("RouterView",ha),E.config.globalProperties.$router=wt,Object.defineProperty(E.config.globalProperties,"$route",{enumerable:!0,get:()=>St(c)}),Kt&&!Ft&&c.value===mt&&(Ft=!0,x(r.location).catch(B=>{}));const V={};for(const B in mt)Object.defineProperty(V,B,{get:()=>c.value[B],enumerable:!0});E.provide(gs,wt),E.provide(xr,oo(V)),E.provide(Zs,c);const D=E.unmount;Vt.add(E),E.unmount=function(){Vt.delete(E),Vt.size<1&&(u=mt,z&&z(),z=null,c.value=mt,Ft=!1,q=!1),D()}}};function Le(E){return E.reduce((V,D)=>V.then(()=>w(D)),Promise.resolve())}return wt}function Ha(){return He(gs)}function Ba(e){return He(xr)}export{ff as $,Ro as A,Vs as B,Se as C,Ao as D,_a as E,Pe as F,wc as G,Ac as H,dr as I,Ma as J,ja as K,Va as L,ae as M,sr as N,wo as O,Ra as P,Ea as Q,ga as R,Dl as S,as as T,Ta as U,xa as V,ya as W,Gs as X,Ws as Y,dc as Z,wa as _,rs as a,xc as a0,cf as a1,Sa as a2,vr as a3,ba as a4,Ia as a5,Da as a6,Fa as a7,La as a8,va as a9,Pa as aa,Ba as ab,Ha as ac,Ca as ad,Na as ae,Aa as af,hr as ag,Ct as ah,Tc as ai,Oa as aj,Wt as b,Te as c,He as d,je as e,yr as f,Pn as g,Ar as h,Sn as i,ye as j,zo as k,da as l,uf as m,rr as n,hn as o,Bn as p,Ll as q,Rn as r,ec as s,pa as t,St as u,Gi as v,ma as w,X as x,sc as y,Wi as z}; diff --git a/assets/vendor-vuetify-DpmmaPkh.js b/assets/vendor-vuetify-DpmmaPkh.js deleted file mode 100644 index 8cbd811..0000000 --- a/assets/vendor-vuetify-DpmmaPkh.js +++ /dev/null @@ -1,15 +0,0 @@ -import{w as ke,t as k,r as R,s as F,F as Tt,i as ln,C as fn,c as Ct,a as Mt,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-BiQC5iF7.js";function Ha(e){}function Tn(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const M=typeof window<"u",Va=M&&"IntersectionObserver"in window,Cn=M&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),Ft=M&&"matchMedia"in window&&typeof window.matchMedia=="function",Mn=()=>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 Xa(e){const t=e.toString().trim();return t.includes(".")?t.length-t.indexOf(".")-1:0}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]=T(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===Tt?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 Ja(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 es=()=>[Function,Array];function ts(e,t){return t="on"+Mt(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,n){var a,s,o,i;const r=Ln(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((a=r[0])==null||a.focus(n));else if(t==="first")(s=r[0])==null||s.focus(n);else if(t==="last")(o=r.at(-1))==null||o.focus(n);else if(typeof t=="number")(i=r[t])==null||i.focus(n);else{const u=Wn(r,t);u?u.focus():Bn(e,t==="next"?"first":"last",n)}}function ns(e){return e==null||typeof e=="string"&&e.trim()===""}function rs(){}function as(e,t){if(!(M&&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!==Tt||Hn(t.children):!0)?e:null}function ss(e,t){if(!M||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function os(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 is(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 us(e){return"\\^$*+?.()|{}[]".includes(e)?`\\${e}`:e}function cs(e){const t={};for(const n in e)t[Ct(n)]=e[n];return t}function ls(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 fs(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 ds(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function ms(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function gs(e){return{side:e.align,align:e.side}}function hs(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 ps(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 ys(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 vs(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 bs(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 ws(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 Ds(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 Ss(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 xs(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 ks(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=T(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=T(T(c,{prev:c}),c[u])),c}return c.prev?T(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,C;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=(C=(E=n.value)==null?void 0:E.global)==null?void 0:C[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?T((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 Es(e,t){return t.props=e,t}function Ts(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??Mt(Ct(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)",As="cubic-bezier(0.0, 0, 0.2, 1)",Os="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 Fs(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 Is(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 Ps(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 $s(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function Rs(e){const t=W("useRender");t.render=e}function Ns(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)}}),Ls=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 Tr(e){const t=Er(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=kr),T({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 Cr(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 Mr(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}`)))});Cr(()=>!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=Mr(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 Bs(){const e=A(Jt);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=Pr();return en(e,t)}const Hs=["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 T(vt,e)};function bt(e){return M&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function wt(e){return M&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function Dt(e){const t=M&&!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:Cn,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,C=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 Vs=U({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function Ys(){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:T(nn(),e)}}async function St(e,t,n,r){const a=n?"scrollLeft":"scrollTop",s=T((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=Mn()?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 js(){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,T(e,o),!1,r)}return a.horizontal=async(s,o)=>St(s,T(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"),zs=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 Ta(){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]=T(i,o)}return T(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 Ca(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 Ma(e,t){if(!t)return{};let n={};for(const r of t.colors){const a=e[r];a&&(n={...n,...Ca(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(!M)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=Ta(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,...Ma(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);M&&G(c,()=>{O.patch(g)})}else M?(h.addHeadObjs(k(g)),ke(()=>h.updateDOM())):h.addHeadObjs(g())}else{let g=function(){Fa(t.stylesheetId,t.cspNonce,c.value)};M?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 C=new Proxy(s,{get(d,h){return Reflect.get(d,h)},set(d,h,g){return h==="value"&&Tn(`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:C,current:i}}}function Gs(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 Us(){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(M){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,Zs=U({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),Ks=U({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function _s(){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 Xs(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 qs(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"}})),C=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=>C.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(()=>C.value.findIndex(J=>J.id===D)),Te=S(()=>n.value+m.value.length*2-Ze.value*2),sn=S(()=>{const J=x.value==="left"||x.value==="right",Ce=x.value==="right",un=x.value==="bottom",Me=B.value??I.value,cn=Me===0?"%":"px",Ke={[x.value]:0,zIndex:Te.value,transform:`translate${J?"X":"Y"}(${(q.value?0:-(Me===0?100:Me))*(Ce||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=C.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:Ce?void 0:`${P.left}px`,right:Ce?`${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:Te.value-1}));return{layoutItemStyles:sn,layoutItemScrimStyles:on,zIndex:Te}},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:C,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:C,layoutRect:f,layoutRef:c}}function Na(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=T(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=Tr(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),M&&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 C(){i.stop()}return{install:E,unmount:C,defaults:u,display:c,theme:f,icons:l,locale:m,date:p,goTo:y}})}const La="3.12.9";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,fs as B,Cr as C,ts as D,M as E,ja as F,N as G,ys as H,Sr as I,$s as J,Qa as K,Ps as L,vs as M,hs as N,ps as O,Mn as P,ms as Q,ds as R,Va as S,bs as T,gs as U,zt as V,ss as W,Vn as X,Ds as Y,Ss as Z,as as _,xs as a,Ys as a0,ls as a1,Cs as a2,Is as a3,ws as a4,Fn as a5,Ms as a6,_s as a7,Rt as a8,xe as a9,Hs as aA,Za as aB,Ft as aC,js as aD,Nn as aE,tt as aF,qa as aG,$t as aH,Xa as aI,za as aJ,rs as aK,Hn as aL,is as aM,Ua as aN,us as aO,_a as aP,cs as aQ,Bs as aR,Ws as aS,wa as aT,Ts as aa,Os as ab,As as ac,Ns as ad,ce as ae,Tn as af,es as ag,ve as ah,Ya as ai,On as aj,Bn as ak,qs as al,Zs as am,Pr as an,Qe as ao,Es as ap,Ha as aq,$e as ar,ns as as,Vs as at,Fs as au,Ga as av,Wn as aw,os as ax,Xs as ay,Ks as az,L as b,Na as c,Ja as d,lr as e,jt as f,dr as g,Gs as h,nr as i,ks as j,fr as k,W as l,zs as m,Mr as n,br as o,U as p,te as q,Re as r,me as s,Us as t,Rs as u,Ls as v,Ka as w,Rn as x,$a as y,He as z}; diff --git a/assets/vendor-vuetify-KiFW-YAv.js b/assets/vendor-vuetify-KiFW-YAv.js new file mode 100644 index 0000000..81abf6a --- /dev/null +++ b/assets/vendor-vuetify-KiFW-YAv.js @@ -0,0 +1,15 @@ +import{w as ke,t as k,r as R,s as I,F as Mt,i as dn,C as mn,c as At,a as Ot,u as ee,g as gn,b as H,d as A,e as S,p as ue,f as hn,h as It,j as re,n as pn,m as yn,k as de,l as vn,o as G,q as We,v as Pe,x as bn,y as wn,z as Dn,A as Ft,B as Sn,D as xn,E as kn,G as En,H as Tn,I as Cn}from"./vendor-vue-Hxtt57UU.js";function Va(e){}function Mn(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const C=typeof window<"u",ja=C&&"IntersectionObserver"in window,An=C&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),Pt=C&&"matchMedia"in window&&typeof window.matchMedia=="function",On=()=>Pt&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;var Ct;const _e=C&&((Ct=CSS==null?void 0:CSS.supports)==null?void 0:Ct.call(CSS,"-webkit-backdrop-filter","none"));function Xe(e,t,n){In(e,t),t.set(e,n)}function In(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function qe(e,t,n){return e.set($t(e,t),n),n}function $(e,t){return e.get($t(e,t))}function $t(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 Rt(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 Rt(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function Nt(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 Ga(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 Lt(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 Ua=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 Ka(e){return Object.keys(e)}function Oe(e,t){return t.every(n=>e.hasOwnProperty(n))}function Fn(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function Je(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 Pn(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const Wt=/^on[^a-z]/,Be=e=>Wt.test(e),$n=["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"],Rn=["ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Enter","Escape","Tab"," "];function Za(e){return e.isComposing&&Rn.includes(e.key)}function _a(e){const[t,n]=Je(e,[Wt]),r=Pn(t,$n),[a,s]=Je(n,["class","style","id","inert",/^data-/]);return Object.assign(a,t),Object.assign(s,r),[a,s]}function Xa(e){return e==null?[]:Array.isArray(e)?e:[e]}function qa(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 Qa(e){const t=e.toString().trim();return t.includes(".")?t.length-t.indexOf(".")-1:0}function et(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 tt(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function Nn(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]=T(s,o,n);continue}if(n&&Array.isArray(s)&&Array.isArray(o)){r[a]=n(s,o);continue}r[a]=o}return r}function Ln(e){return e.map(t=>t.type===Mt?Ln(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 K=new WeakMap,Y=new WeakMap;class es{constructor(t){Xe(this,K,[]),Xe(this,Y,0),this.size=t}get isFull(){return $(K,this).length===this.size}push(t){$(K,this)[$(Y,this)]=t,qe(Y,this,($(Y,this)+1)%this.size)}values(){return $(K,this).slice($(Y,this)).concat($(K,this).slice(0,$(Y,this)))}clear(){$(K,this).length=0,qe(Y,this,0)}}function ts(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 Bt(e){return e[2].toLowerCase()+e.slice(3)}const ns=()=>[Function,Array];function rs(e,t){return t="on"+Ot(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function Wn(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 Hn(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 Yn(e,t,n){var a,s,o,i;const r=Bn(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((a=r[0])==null||a.focus(n));else if(t==="first")(s=r[0])==null||s.focus(n);else if(t==="last")(o=r.at(-1))==null||o.focus(n);else if(typeof t=="number")(i=r[t])==null||i.focus(n);else{const u=Hn(r,t);u?u.focus():Yn(e,t==="next"?"first":"last",n)}}function as(e){return e==null||typeof e=="string"&&e.trim()===""}function ss(){}function os(e,t){if(!(C&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Vn(e){return e.some(t=>dn(t)?t.type===mn?!1:t.type!==Mt||Vn(t.children):!0)?e:null}function is(e,t){if(!C||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function us(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 jn(){const e=I(),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:()=>Lt(e.value)}),t}function cs(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 ls(e){return"\\^$*+?.()|{}[]".includes(e)?`\\${e}`:e}function fs(e){const t={};for(const n in e)t[At(n)]=e[n];return t}function ds(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 Ht=["top","bottom"],zn=["start","end","left","right"];function ms(e,t){let[n,r]=e.split(" ");return r||(r=Re(Ht,n)?"start":Re(zn,n)?"top":"center"),{side:nt(n,t),align:nt(r,t)}}function nt(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function gs(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function hs(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function ps(e){return{side:e.align,align:e.side}}function ys(e){return Re(Ht,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 vs(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 bs(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 ws(e){return e===document.documentElement?visualViewport?new N({x:visualViewport.scale>1||_e?0:visualViewport.offsetLeft,y:visualViewport.scale>1||_e?0:visualViewport.offsetTop,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}):new N({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}):new N(e)}function Ds(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 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(a=>{r.onfinish=()=>{a(r)}})),r}const ye=new WeakMap;function xs(e,t){Object.keys(t).forEach(n=>{if(Be(n)){const r=Bt(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 ks(e,t){Object.keys(t).forEach(n=>{if(Be(n)){const r=Bt(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 Z=2.4,rt=.2126729,at=.7151522,st=.072175,Gn=.55,Un=.58,Kn=.57,Zn=.62,ge=.03,ot=1.45,_n=5e-4,Xn=1.25,qn=1.25,it=.078,ut=12.82051282051282,he=.06,ct=.001;function lt(e,t){const n=(e.r/255)**Z,r=(e.g/255)**Z,a=(e.b/255)**Z,s=(t.r/255)**Z,o=(t.g/255)**Z,i=(t.b/255)**Z;let u=n*rt+r*at+a*st,c=s*rt+o*at+i*st;if(u<=ge&&(u+=(ge-u)**ot),c<=ge&&(c+=(ge-c)**ot),Math.abs(c-u)<_n)return 0;let f;if(c>u){const l=(c**Gn-u**Un)*Xn;f=l-ct?0:l>-it?l-l*ut*he:l+he}return f*100}const be=.20689655172413793,Qn=e=>e>be**3?Math.cbrt(e):e/(3*be**2)+4/29,Jn=e=>e>be?e**3:3*be**2*(e-4/29);function Yt(e){const t=Qn,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function Vt(e){const t=Jn,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const er=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],tr=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,nr=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],rr=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function jt(e){const t=Array(3),n=tr,r=er;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 Ye(e){let{r:t,g:n,b:r}=e;const a=[0,0,0],s=rr,o=nr;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 ar(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function Es(e){return ar(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const ft=/^(?(?:rgb|hsl)a?)\((?.+)\)/,sr={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)=>dt({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>dt({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"&&ft.test(e)){const{groups:t}=e.match(ft),{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 sr[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),ir(t)}else if(typeof e=="object"){if(Oe(e,["r","g","b"]))return e;if(Oe(e,["h","s","l"]))return ae(zt(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 dt(e){return ae(zt(e))}function zt(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 or(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 ir(e){e=ur(e);let[t,n,r,a]=Nn(e,2).map(s=>parseInt(s,16));return a=a===void 0?a:a/255,{r:t,g:n,b:r,a}}function ur(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=et(et(e,6),8,"F")),e}function cr(e,t){const n=Yt(Ye(e));return n[0]=n[0]+t*10,jt(Vt(n))}function lr(e,t){const n=Yt(Ye(e));return n[0]=n[0]-t*10,jt(Vt(n))}function fr(e){const t=L(e);return Ye(t)[1]}function dr(e){const t=Math.abs(lt(L(0),L(e)));return Math.abs(lt(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 mr=U({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function W(e,t){const n=gn();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=W(e).type;return j((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function hr(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 pr(e){return H(e)}function Ve(){const e=A(X);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function Ts(e,t){const n=Ve(),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=T(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=T(T(c,{prev:c}),c[u])),c}return c.prev?T(c.prev,c):c});return ue(X,a),a}function yr(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[j(t)]<"u")}function vr(){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]:Ve();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(yr(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=I();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=hr(X,r);ue(X,S(()=>o.value?T((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 Fn(r,t)},e.props._as=String,e.setup=function(r,a){const s=Ve();if(!s.value)return e._setup(r,a);const{props:o,provideSubDefaults:i}=vr(r,r._as??e.name,s),u=e._setup(o,a);return i(),u}}return e}function Gt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?ce:hn)(t)}function Cs(e,t){return t.props=e,t}function Ms(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return Gt()({name:n??Ot(At(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...mr()},setup(r,a){let{slots:s}=a;return()=>{var o;return It(r.tag,{class:[e,r.class],style:r.style},(o=s.default)==null?void 0:o.call(s))}}})}function br(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 wr(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 Dr(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=wr(e,t,n);return a||(br(e,t,n,!0),r.every(s=>Dr(e[s],t[s],n)))}function As(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 Os="cubic-bezier(0.4, 0, 0.2, 1)",Is="cubic-bezier(0.0, 0, 0.2, 1)",Fs="cubic-bezier(0.4, 0, 1, 1)",Sr={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 Ps(e,t,n){return Object.keys(e).filter(r=>Be(r)&&r.endsWith(t)).reduce((r,a)=>(r[a.slice(0,-t.length)]=s=>Wn(e[a],s,n(s)),r),{})}function $s(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?xr(e):Ut(e))return e;e=e.parentElement}return document.scrollingElement}function Rs(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(Ut(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function Ut(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 xr(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function Ns(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function Ls(e){const t=W("useRender");t.render=e}function Ws(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 kr=[String,Function,Object,Array],Ne=Symbol.for("vuetify:icons"),Ee=U({icon:{type:kr},tag:{type:[String,Object,Function],required:!0}},"icon"),mt=Gt()({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)]}})}}}),Kt=ce({name:"VSvgIcon",inheritAttrs:!1,props:Ee(),setup(e,t){let{attrs:n}=t;return()=>re(e.tag,yn(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 Zt=ce({name:"VClassIcon",props:Ee(),setup(e){return()=>re(e.tag,{class:pn(e.icon)},null)}}),Bs=e=>{const t=A(Ne);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:S(()=>{var u;const r=vn(e);if(!r)return{component:mt};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:Kt,icon:a};if(typeof a!="string")return{component:mt,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}})}},Er={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"},Tr={component:e=>It(Zt,{...e,class:"mdi"})};function Cr(){return{svg:{component:Kt},class:{component:Zt}}}function Mr(e){const t=Cr(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=Tr),T({defaultSet:n,sets:t,aliases:{...Er,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 Ar(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 Or(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}`)))});Ar(()=>!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=bn(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 Ir={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.",selectRow:"Select row",selectAll:"Select all",selectGroup:"Select group"},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"}}},gt="$vuetify.",ht=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),_t=(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 Xt(e,t){return je(e,t)(.1).includes(",")?",":"."}function Ie(e,t,n){const r=Or(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 qt(e){return t=>{const n=Ie(t,"locale",e.current),r=Ie(t,"fallback",e.fallback),a=Ie(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:a,decimalSeparator:k(()=>Xt(n,r)),t:_t(n,r,a),n:je(n,r),provide:qt({current:n,fallback:r,messages:a})}}}function Fr(e){const t=I((e==null?void 0:e.locale)??"en"),n=I((e==null?void 0:e.fallback)??"en"),r=H({en:Ir,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:k(()=>(e==null?void 0:e.decimalSeparator)??Xt(t,n)),t:_t(t,n,r),n:je(t,n),provide:qt({current:t,fallback:n,messages:r})}}const we=Symbol.for("vuetify:locale");function Pr(e){return e.name!=null}function $r(e){const t=e!=null&&e.adapter&&Pr(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:Fr(e),n=Lr(t,e);return{...t,...n}}function Rr(){const e=A(we);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function Nr(){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 Lr(e,t){const n=H((t==null?void 0:t.rtl)??Nr()),r=S(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:k(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function Wr(){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 Br(e,t,n){var f;const r=[];let a=[];const s=Qt(e),o=Jt(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 Hr(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 Qt(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Jt(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function Yr(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const Vr=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function en(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(Vr.test(e))return Yr(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const pt=new Date(2e3,0,2);function jr(e,t,n){var a;const r=t??((a=le(e))==null?void 0:a.firstDay)??0;return Nt(7).map(s=>{const o=new Date(pt);return o.setDate(pt.getDate()+r+s),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function zr(e,t,n,r){const a=en(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 Gr(e,t){const n=e.toJsDate(t),r=n.getFullYear(),a=tt(String(n.getMonth()+1),2,"0"),s=tt(String(n.getDate()),2,"0");return`${r}-${a}-${s}`}function Ur(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function Kr(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function Zr(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 _r(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Xr(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function se(e){return e.getFullYear()}function qr(e){return e.getMonth()}function Qr(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?Jr(e,t,s,r):ea(e,t,s,o)}function Jr(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 ta(e){return e.getDate()}function na(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function ra(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function aa(e){return e.getHours()}function sa(e){return e.getMinutes()}function oa(e){return new Date(e.getFullYear(),0,1)}function ia(e){return new Date(e.getFullYear(),11,31)}function ua(e,t){return De(e,t[0])&&fa(e,t[1])}function ca(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function De(e,t){return e.getTime()>t.getTime()}function la(e,t){return De(oe(e),oe(t))}function fa(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function Ys(){const e=A(tn);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=Rr();return nn(e,t)}const Vs=["sm","md","lg","xl","xxl"],Le=Symbol.for("vuetify:display"),bt={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},xa=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:bt;return T(bt,e)};function wt(e){return C&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function Dt(e){return C&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function St(e){const t=C&&!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:An,ssr:t==="ssr"}}function ka(e,t){const{thresholds:n,mobileBreakpoint:r}=xa(e),a=I(Dt(t)),s=I(St(t)),o=R({}),i=I(wt(t));function u(){a.value=Dt(),i.value=wt()}function c(){u(),s.value=St()}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)),{...wn(o),update:c,ssr:!!t}}const js=U({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function zs(){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=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 rn=Symbol.for("vuetify:goto");function an(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:Sr}}function Ea(e){return Ge(e)??(document.scrollingElement||document.body)}function Ge(e){return typeof e=="string"?document.querySelector(e):Lt(e)}function Fe(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 Ta(e,t){return{rtl:t.isRtl,options:T(an(),e)}}async function xt(e,t,n,r){const a=n?"scrollLeft":"scrollTop",s=T((r==null?void 0:r.options)??an(),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:Ea(s.container),c=On()?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=Fe(i,n,o);else if(f=Fe(i,n,o)-Fe(u,n,o),s.layout){const y=window.getComputedStyle(i).getPropertyValue("--v-layout-top");y&&(f-=parseInt(y,10))}f+=s.offset,f=Ca(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 Gs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=A(rn),{isRtl:n}=Wr();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 xt(s,T(e,o),!1,r)}return a.horizontal=async(s,o)=>xt(s,T(e,o),!0,r),a}function Ca(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"),Us=U({theme:String},"theme");function kt(){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 Ma(){var r,a;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:kt();const t=kt();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]=T(i,o)}return T(t,{...e,themes:n})}function V(e,t,n,r){e.push(`${Fa(t,r)} { +`,...n.map(a=>` ${a}; +`),`} +`)}function Et(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: ${fr(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 Aa(e,t,n){const r={};if(n)for(const a of["lighten","darken"]){const s=a==="lighten"?cr:lr;for(const o of Nt(n[a],1))r[`${e}-${a}-${o}`]=or(s(L(t),o))}return r}function Oa(e,t){if(!t)return{};let n={};for(const r of t.colors){const a=e[r];a&&(n={...n,...Aa(r,a,t)})}return n}function Ia(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]=dr(a)}return t}function Fa(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function Pa(e,t,n){const r=$a(e,t);r&&(r.innerHTML=n)}function $a(e,t){if(!C)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 Ra(e){const t=Ma(e),n=I(t.defaultTheme),r=H(t.themes),a=I("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,...Oa(g.colors,t.variations)};d[h]={...g,colors:{...O,...Ia(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&&V(d,":root",["color-scheme: dark"],t.scope),V(d,":root",Et(i.value,t.prefix),t.scope);for(const[b,w]of Object.entries(o.value))V(d,`.${t.prefix}theme--${b}`,[`color-scheme: ${w.dark?"dark":"normal"}`,...Et(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-")?V(w,`.${v}`,[`color: rgb(var(--${t.prefix}theme-${v}))${h}`],t.scope):(V(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),V(w,`.${g}text-${v}`,[`color: rgb(var(--${t.prefix}theme-${v}))${h}`],t.scope),V(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(Pt){let h=function(){a.value=d.matches?"dark":"light"};const d=window.matchMedia("(prefers-color-scheme: dark)");h(),d.addEventListener("change",h,{passive:!0}),Dn()&&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);C&&G(c,()=>{O.patch(g)})}else C?(h.addHeadObjs(k(g)),ke(()=>h.updateDOM())):h.addHeadObjs(g())}else{let g=function(){Pa(t.stylesheetId,t.cspNonce,c.value)};C?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"&&Mn(`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 Ks(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 Zs(){W("useTheme");const e=A(ie,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function Na(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=jn(),r=H();if(C){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())});Ft(()=>{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:Sn(r)}}const xe=Symbol.for("vuetify:layout"),sn=Symbol.for("vuetify:layout-item"),Tt=1e3,_s=U({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),Xs=U({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function qs(){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 Qs(e){const t=A(xe);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${kn()}`,r=W("useLayoutItem");ue(sn,{id:n});const a=I(!1);En(()=>a.value=!0),Tn(()=>a.value=!1);const{layoutItemStyles:s,layoutItemScrimStyles:o}=t.register(r,{...e,active:S(()=>a.value?!1:e.active.value),id:n});return Ft(()=>t.unregister(n)),{layoutItemStyles:s,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const La=(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 Js(e){const t=A(xe,null),n=S(()=>t?t.rootZIndex.value-100:Tt),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}=Na(),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 F=a.get(v),B=a.get(x),q=s.get(v),Q=s.get(x);!F||!B||!q||!Q||(b.set(x,{position:F.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 F;return((F=o.get(x))==null?void 0:F.value)===D});w.push(...v)}return La(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),F=a.get(D);return{id:D,...v,size:Number(x.value),position:F.value}})),d=b=>M.value.find(w=>w.id===b),h=W("createLayout"),g=I(!1);xn(()=>{g.value=!0}),ue(xe,{register:(b,w)=>{let{id:D,order:v,position:x,layoutSize:F,elementSize:B,active:q,disableTransitions:Q,absolute:on}=w;o.set(D,v),a.set(D,x),s.set(D,F),i.set(D,q),Q&&u.set(D,Q);const Ue=te(sn,h==null?void 0:h.vnode).indexOf(b);Ue>-1?r.value.splice(Ue,0,D):r.value.push(D);const Ke=S(()=>M.value.findIndex(J=>J.id===D)),Te=S(()=>n.value+m.value.length*2-Ke.value*2),un=S(()=>{const J=x.value==="left"||x.value==="right",Ce=x.value==="right",ln=x.value==="bottom",Me=B.value??F.value,fn=Me===0?"%":"px",Ze={[x.value]:0,zIndex:Te.value,transform:`translate${J?"X":"Y"}(${(q.value?0:-(Me===0?100:Me))*(Ce||ln?-1:1)}${fn})`,position:on.value||n.value!==Tt?"absolute":"fixed",...p.value?void 0:{transition:"none"}};if(!g.value)return Ze;const P=M.value[Ke.value],Ae=l.value.get(D);return Ae&&(P[Ae.position]+=Ae.amount),{...Ze,height:J?`calc(100% - ${P.top}px - ${P.bottom}px)`:B.value?`${B.value}px`:void 0,left:Ce?void 0:`${P.left}px`,right:Ce?`${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)`}}),cn=S(()=>({zIndex:Te.value-1}));return{layoutItemStyles:un,layoutItemScrimStyles:cn,zIndex:Te}},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 Wa(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=T(t,n),{aliases:a={},components:s={},directives:o={}}=r,i=Pe();return i.run(()=>{const u=pr(r.defaults),c=ka(r.display,r.ssr),f=Ra(r.theme),l=Mr(r.icons),m=$r(r.locale),p=Da(r.date,m),y=Ta(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(tn,p.options),d.provide(vt,p.instance),d.provide(rn,y),C&&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 Cn(()=>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,vt)})}}})}function M(){i.stop()}return{install:E,unmount:M,defaults:u,display:c,theme:f,icons:l,locale:m,date:p,goTo:y}})}const Ba="3.13.1";Wa.version=Ba;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{Bn as $,Wr as A,ms as B,Ar as C,rs as D,C as E,Ga as F,N as G,bs as H,kr as I,Ns as J,es as K,Rs as L,ws as M,ys as N,vs as O,On as P,hs as Q,gs as R,ja as S,Ds as T,ps as U,Ut as V,is as W,jn as X,xs as Y,ks as Z,os as _,me as a,zs as a0,ds as a1,As as a2,$s as a3,Ss as a4,Pn as a5,Os as a6,qs as a7,Lt as a8,xe as a9,Vs as aA,_a as aB,Pt as aC,Gs as aD,Wn as aE,nt as aF,Ja as aG,Nt as aH,Qa as aI,Ua as aJ,ss as aK,Vn as aL,cs as aM,Za as aN,ls as aO,qa as aP,fs as aQ,Ys as aR,Hs as aS,Sa as aT,Ms as aa,Fs as ab,Is as ac,Ws as ad,ce as ae,Mn as af,ns as ag,ve as ah,za as ai,Fn as aj,Yn as ak,Js as al,_s as am,Rr as an,Je as ao,Cs as ap,Va as aq,$e as ar,as,js as at,Ps as au,Ka as av,Hn as aw,us as ax,Qs as ay,Xs as az,ar as b,Wa as c,ts as d,Es as e,L as f,gr as g,dr as h,Re as i,Gt as j,Ks as k,Ts as l,Us as m,mr as n,W as o,U as p,Or as q,Dr as r,te as s,Zs as t,Ls as u,Bs as v,Xa as w,Ln as x,Na as y,He as z}; diff --git a/assets/visitorId-Fp9eGgHd.js b/assets/visitorId-CmQTZ-fb.js similarity index 85% rename from assets/visitorId-Fp9eGgHd.js rename to assets/visitorId-CmQTZ-fb.js index e01b965..ffd1171 100644 --- a/assets/visitorId-Fp9eGgHd.js +++ b/assets/visitorId-CmQTZ-fb.js @@ -1 +1 @@ -import{x as e}from"./index-D042plwv.js";import"./vendor-vuetify-DpmmaPkh.js";import"./vendor-vue-BiQC5iF7.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-p88LZBod.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}; +import{x as e}from"./index-BvGH7GyK.js";import"./vendor-vuetify-KiFW-YAv.js";import"./vendor-vue-Hxtt57UU.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-p88LZBod.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 23c129e..c738aef 100644 --- a/index.html +++ b/index.html @@ -47,10 +47,10 @@ - - - - + + + + diff --git a/sw.js b/sw.js index fcd760f..8614287 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let s,e={};const i=(i,n)=>(i=new URL(i+".js",n).href,e[i]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()}).then(()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s}));self.define=(n,l)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let a={};const u=s=>i(s,r),o={module:{uri:r},exports:a,require:u};e[r]=Promise.all(n.map(s=>o[s]||u(s))).then(s=>(l(...s),a))}}define(["./workbox-7334f08a"],function(s){"use strict";importScripts("sw-cache-manager.js"),self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"81f614d50e129c134b1d5ddd6a19081e"},{url:"index.html",revision:"0d38fcfa368ed1ebe30734afbf79fa4b"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"banner.png",revision:"98c56bcdd08a6e6e50c613f73e270353"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"uaf/HarmonyOS_Sans_SC_Regular.ttf",revision:"69aa5b1b2573ec2c2d540e42dcd21108"},{url:"uaf/HarmonyOS_Sans_SC_Light.ttf",revision:"74677b062210a34a6a67c59e03cc7f11"},{url:"uaf/HarmonyOS_Sans_SC_Bold.ttf",revision:"b7dc90fa852495f43a4ddd664d000b28"},{url:"sounds/Teams 默认通话铃.mp3",revision:"bda21cf4dbfbac23f7c078d02b136f0c"},{url:"sounds/Teams 默认.mp3",revision:"7d0ea80d3ab8272d8f28a4ad4e6ef238"},{url:"sounds/Teams 高分.mp3",revision:"b5342507ead401ddc8e9ad27b684cf29"},{url:"sounds/Teams 颤振.mp3",revision:"7d92c46c0ca199446c1fd72d0504b7d7"},{url:"sounds/Teams 重复振铃.mp3",revision:"fb902955f401306811d6cd51d14c6c97"},{url:"sounds/Teams 进阶.mp3",revision:"9edb48fc85646c06728f727334f153c4"},{url:"sounds/Teams 轻弹.mp3",revision:"3c22478acb22b9825374bc386626e1e5"},{url:"sounds/Teams 赋予希望.mp3",revision:"61d4dbcf5f3af0be8b237864b566f647"},{url:"sounds/Teams 警报.mp3",revision:"13185400beeaab47be5d9f05fc469b4a"},{url:"sounds/Teams 蜂鸣声.mp3",revision:"60894252e2c86a66bb36f581b36c6c56"},{url:"sounds/Teams 点击.mp3",revision:"7f0ac7ce255b0440aa1ff460ae534418"},{url:"sounds/Teams 滴水.mp3",revision:"56d6127071c4514a0230061d6e692205"},{url:"sounds/Teams 波纹.mp3",revision:"67d993bbe556c6b06f0c1de58b5ffc79"},{url:"sounds/Teams 波普.mp3",revision:"a2092a6219357df7f239cc59cbb2447f"},{url:"sounds/Teams 气泡.mp3",revision:"bf21272379428e85205f66592894b881"},{url:"sounds/Teams 气泡(大声).mp3",revision:"ccbffede0f91fb2fc4c1e3b700885299"},{url:"sounds/Teams 时空.mp3",revision:"21d5f825d18cf541314659eb058ea997"},{url:"sounds/Teams 摇摆.mp3",revision:"cc593fc7586d4ca8f357324caed7392b"},{url:"sounds/Teams 提醒.mp3",revision:"1bb92bf7e9ff6c7580bd4c07b0da5d26"},{url:"sounds/Teams 弹拨.mp3",revision:"dbca54d79ab2dc7f58e0c815d1e52c76"},{url:"sounds/Teams 尤里卡.mp3",revision:"f959ac97e8113c13fbef4640d701bb46"},{url:"sounds/Teams 增强.mp3",revision:"aff4c45773c33ee949dbb2fd176ead9c"},{url:"sounds/Teams 叮铃.mp3",revision:"740bf4b245b232b81cb46beccd085ffc"},{url:"sounds/Teams 召唤.mp3",revision:"5f22a60afb21d7ef32c02ef604a0586a"},{url:"sounds/Teams 共鸣.mp3",revision:"0da491cc59a0a2c88e1cdfdb26e31194"},{url:"sounds/Teams 优先处理.mp3",revision:"5117fd6695056edd9fe7d13bdd981bbc"},{url:"sounds/Teams teams_notification.mp3",revision:"c0a3e466772e808ff0cfa0e9c76e4440"},{url:"sounds/Teams teams_meet_up_reminder.mp3",revision:"c18a464074c423def70a420418b80365"},{url:"sounds/Teams screenshare_ring.mp3",revision:"c18a464074c423def70a420418b80365"},{url:"sounds/Teams meetup_ring.mp3",revision:"ec5fdebfd3fa2f4f9f60673074a4e35e"},{url:"sounds/Teams incoming-ringtone-level40.mp3",revision:"d7298eb35126dd4f60d07e6aaeeae96f"},{url:"sounds/Teams incoming-ringtone-level30.mp3",revision:"dbe2f213d90800fb9b02aca8356b2e44"},{url:"sounds/Teams bounce.mp3",revision:"2ddc0b2c7e515045d31276dbd20cc5e3"},{url:"sounds/Teams Remix.mp3",revision:"bdbc0b25f3c1a1d09a157ae5923573cd"},{url:"sounds/Teams Ping.mp3",revision:"9c4446c079e89828abcae8aca5663c12"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/logo.svg",revision:"899b27b2269e41899c7422cfa4c389e5"},{url:"pwa/image/favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"pwa/image/apple-touch-icon-180x180.png",revision:"3180606ea2115ea1af7e66dbeb1b28fd"},{url:"assets/visitorId-Fp9eGgHd.js",revision:null},{url:"assets/vendor-vuetify-DpmmaPkh.js",revision:null},{url:"assets/vendor-vue-BiQC5iF7.js",revision:null},{url:"assets/vendor-utils-2lvrqI0-.js",revision:null},{url:"assets/vendor-socket-dm1FmSOd.js",revision:null},{url:"assets/soundList-D9U-Grcp.js",revision:null},{url:"assets/socketClient-D9GaxO-Q.js",revision:null},{url:"assets/socket-debugger-B6tlnHna.js",revision:null},{url:"assets/socket-debugger-B22H3Il3.css",revision:null},{url:"assets/settings-CV-NY-Gt.css",revision:null},{url:"assets/settings-BTJTRuYs.js",revision:null},{url:"assets/serverRotation-CbFrj566.js",revision:null},{url:"assets/materialdesignicons-webfont-Dp5v-WZN.woff2",revision:null},{url:"assets/materialdesignicons-webfont-B7mPwVP_.ttf",revision:null},{url:"assets/index-ghQi_28l.js",revision:null},{url:"assets/index-Yfd4JoUB.css",revision:null},{url:"assets/index-DdToQrR8.js",revision:null},{url:"assets/index-D042plwv.js",revision:null},{url:"assets/index-CPp4eWTL.js",revision:null},{url:"assets/index-Bz7Y6ZPJ.js",revision:null},{url:"assets/index-BFmbztHq.css",revision:null},{url:"assets/fp.esm-p88LZBod.js",revision:null},{url:"assets/examschedule-D7wPNFui.css",revision:null},{url:"assets/examschedule-BKcX0SWM.js",revision:null},{url:"assets/deviceEvents-W5dhgmtc.js",revision:null},{url:"assets/default-mc9dNPFd.js",revision:null},{url:"assets/default-CmdaPMSp.css",revision:null},{url:"assets/debug-socket-DG8GREI-.js",revision:null},{url:"assets/debug-init-uVoko_XH.js",revision:null},{url:"assets/debug-YVdPEXWc.js",revision:null},{url:"assets/debug-CbS14biG.css",revision:null},{url:"assets/dataProvider-CBH3Lw3D.js",revision:null},{url:"assets/cses2wakeup-Qc4GsQy3.css",revision:null},{url:"assets/cses2wakeup-CQ4ZDX6t.js",revision:null},{url:"assets/core-Cy2g3AD-.js",revision:null},{url:"assets/browser-Bu9WQl1f.js",revision:null},{url:"assets/authorize-CN-o-75y.js",revision:null},{url:"assets/_id_-DsDVMSJc.js",revision:null},{url:"assets/_id_-C8fHUZQZ.js",revision:null},{url:"assets/VTooltip-DMSltD5A.js",revision:null},{url:"assets/VTooltip-D7EaNDeY.css",revision:null},{url:"assets/VTimePicker-DQGiZZlL.js",revision:null},{url:"assets/VTimePicker-BkWY3_8P.css",revision:null},{url:"assets/VTextarea-_xVwaw_z.css",revision:null},{url:"assets/VTextarea-CnWToSV7.js",revision:null},{url:"assets/VTextField-DTDEIDq0.css",revision:null},{url:"assets/VTextField-BoJUR4Xs.js",revision:null},{url:"assets/VTabs-5YWz7myv.js",revision:null},{url:"assets/VTabs-566n5b08.css",revision:null},{url:"assets/VTable-DH4Drwun.js",revision:null},{url:"assets/VTable-CNLJxQof.css",revision:null},{url:"assets/VSwitch-CEojN9Vi.js",revision:null},{url:"assets/VSwitch-Bk42mIwg.css",revision:null},{url:"assets/VSlider-rdyojQMY.css",revision:null},{url:"assets/VSlider-ClZx8sEW.js",revision:null},{url:"assets/VSkeletonLoader-C11ZEozu.css",revision:null},{url:"assets/VSkeletonLoader-B7fDa9ID.js",revision:null},{url:"assets/VSheet-DW_b51tO.css",revision:null},{url:"assets/VSheet-BWNNvcYw.js",revision:null},{url:"assets/VSelect-mQ_XLRnU.js",revision:null},{url:"assets/VSelect-DHZViySU.css",revision:null},{url:"assets/VRow-D2ArqUC2.css",revision:null},{url:"assets/VRow-CH6EAfU_.js",revision:null},{url:"assets/VPicker-Dm9DplUc.css",revision:null},{url:"assets/VPicker-DGiUlCzb.js",revision:null},{url:"assets/VPagination-LhWLJTqu.js",revision:null},{url:"assets/VPagination-BF2MZmld.css",revision:null},{url:"assets/VMenu-Ps4XkZIl.js",revision:null},{url:"assets/VMenu-C31D-C2L.css",revision:null},{url:"assets/VForm-IEFsJ4YW.js",revision:null},{url:"assets/VFileInput-CRcZ0Lr3.css",revision:null},{url:"assets/VFileInput-BJbMPOVg.js",revision:null},{url:"assets/VExpansionPanels-kEj4ZJQK.css",revision:null},{url:"assets/VExpansionPanels-BpKtUPdA.js",revision:null},{url:"assets/VDatePicker-zglzEVGT.css",revision:null},{url:"assets/VDatePicker-DBOVlJXM.js",revision:null},{url:"assets/VDataTable-Dnwt1bQQ.js",revision:null},{url:"assets/VDataTable-Cl7qiDOP.css",revision:null},{url:"assets/VContainer-MApP1Vz1.js",revision:null},{url:"assets/VContainer-B1KSavhG.css",revision:null},{url:"assets/VCombobox-r6cc1Iy_.css",revision:null},{url:"assets/VCombobox-DxvBKwV_.js",revision:null},{url:"assets/VChip-nQelUOZI.js",revision:null},{url:"assets/VChip-Dmz_1Lnv.css",revision:null},{url:"assets/VCheckboxBtn-64kBGXnq.js",revision:null},{url:"assets/VCheckbox-ZL-u1kGB.css",revision:null},{url:"assets/VCheckbox-BPfe_uCD.js",revision:null},{url:"assets/VAutocomplete-Ygy_KjMW.css",revision:null},{url:"assets/VAutocomplete-6kKJB-90.js",revision:null},{url:"assets/VAppBarTitle-D2mhaxek.js",revision:null},{url:"assets/VAppBarTitle-CczdD-Q2.css",revision:null},{url:"assets/VAlert-ZP8s_5ha.js",revision:null},{url:"assets/VAlert-D_OX1cfW.css",revision:null},{url:"assets/UrgentTestDialog-BWpUKKV_.js",revision:null},{url:"assets/UrgentTestDialog-65OEJ5uz.css",revision:null},{url:"assets/UafTransferDialog-CxJ0Ohjf.css",revision:null},{url:"assets/UafTransferDialog-BBH3Quy5.js",revision:null},{url:"assets/StudentNameManager-tn0RQdqM.css",revision:null},{url:"assets/StudentNameManager--IeJwNAQ.js",revision:null},{url:"assets/RandomPicker-_q4YQ9mD.js",revision:null},{url:"assets/RandomPicker-CU-edGvg.css",revision:null},{url:"assets/PwaInstallCard-DMTHYCSY.js",revision:null},{url:"assets/MessageLog-BWQHaU0R.js",revision:null},{url:"assets/MessageLog-BGkFwivK.css",revision:null},{url:"assets/InitServiceChooser-XLfIQnye.js",revision:null},{url:"assets/InitServiceChooser-BSZJBnhr.css",revision:null},{url:"assets/HomeworkEditDialog-pCdwgzwK.js",revision:null},{url:"assets/HomeworkEditDialog-DSAcf9mw.css",revision:null},{url:"assets/FloatingToolbar-DRMSCOEt.js",revision:null},{url:"assets/FloatingToolbar-5gVX85mk.css",revision:null},{url:"assets/ExamScheduleCard-Dhb4jBjQ.js",revision:null},{url:"assets/ExamScheduleCard-BJuKYvRa.css",revision:null},{url:"assets/ExamConfigEditor-HgNV6CVV.css",revision:null},{url:"assets/ExamConfigEditor-DnZpqRBI.js",revision:null},{url:"assets/ChatWidget-DtJTDDI5.js",revision:null},{url:"assets/ChatWidget-ChgL-O5B.css",revision:null},{url:"assets/CacheManagement-DiR6lmUl.js",revision:null},{url:"assets/AttendanceSidebar-DOcIfcAf.js",revision:null},{url:"assets/AttendanceManagementDialog-D0prZwJd.css",revision:null},{url:"assets/AttendanceManagementDialog-B9DNmGly.js",revision:null},{url:"assets/404-DsgK3Y-f.js",revision:null},{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:"81f614d50e129c134b1d5ddd6a19081e"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api\//,/^\/socket\.io\//]})),s.registerRoute(({url:s,sameOrigin:e})=>e&&s.pathname.startsWith("/assets/"),new s.CacheFirst({cacheName:"assets-cache",plugins:[new s.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),s.registerRoute(({url:s,sameOrigin:e})=>e&&s.pathname.startsWith("/sounds/"),new s.CacheFirst({cacheName:"sound-cache",plugins:[new s.ExpirationPlugin({maxEntries:80,maxAgeSeconds:2592e3}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),s.registerRoute(({url:s,sameOrigin:e})=>e&&s.pathname.startsWith("/pwa/"),new s.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new s.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),s.registerRoute(({url:s,sameOrigin:e})=>{if(!e)return!1;const i=s.pathname;return!(i.includes("/assets/")||i.includes("/pwa/")||i.includes("/sounds/"))},new s.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")}); +if(!self.define){let s,e={};const i=(i,n)=>(i=new URL(i+".js",n).href,e[i]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()}).then(()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s}));self.define=(n,l)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let a={};const u=s=>i(s,r),o={module:{uri:r},exports:a,require:u};e[r]=Promise.all(n.map(s=>o[s]||u(s))).then(s=>(l(...s),a))}}define(["./workbox-7334f08a"],function(s){"use strict";importScripts("sw-cache-manager.js"),self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"81f614d50e129c134b1d5ddd6a19081e"},{url:"index.html",revision:"acf9a3c8111a7235edc5b244b418a8f4"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"banner.png",revision:"98c56bcdd08a6e6e50c613f73e270353"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"uaf/HarmonyOS_Sans_SC_Regular.ttf",revision:"69aa5b1b2573ec2c2d540e42dcd21108"},{url:"uaf/HarmonyOS_Sans_SC_Light.ttf",revision:"74677b062210a34a6a67c59e03cc7f11"},{url:"uaf/HarmonyOS_Sans_SC_Bold.ttf",revision:"b7dc90fa852495f43a4ddd664d000b28"},{url:"sounds/Teams 默认通话铃.mp3",revision:"bda21cf4dbfbac23f7c078d02b136f0c"},{url:"sounds/Teams 默认.mp3",revision:"7d0ea80d3ab8272d8f28a4ad4e6ef238"},{url:"sounds/Teams 高分.mp3",revision:"b5342507ead401ddc8e9ad27b684cf29"},{url:"sounds/Teams 颤振.mp3",revision:"7d92c46c0ca199446c1fd72d0504b7d7"},{url:"sounds/Teams 重复振铃.mp3",revision:"fb902955f401306811d6cd51d14c6c97"},{url:"sounds/Teams 进阶.mp3",revision:"9edb48fc85646c06728f727334f153c4"},{url:"sounds/Teams 轻弹.mp3",revision:"3c22478acb22b9825374bc386626e1e5"},{url:"sounds/Teams 赋予希望.mp3",revision:"61d4dbcf5f3af0be8b237864b566f647"},{url:"sounds/Teams 警报.mp3",revision:"13185400beeaab47be5d9f05fc469b4a"},{url:"sounds/Teams 蜂鸣声.mp3",revision:"60894252e2c86a66bb36f581b36c6c56"},{url:"sounds/Teams 点击.mp3",revision:"7f0ac7ce255b0440aa1ff460ae534418"},{url:"sounds/Teams 滴水.mp3",revision:"56d6127071c4514a0230061d6e692205"},{url:"sounds/Teams 波纹.mp3",revision:"67d993bbe556c6b06f0c1de58b5ffc79"},{url:"sounds/Teams 波普.mp3",revision:"a2092a6219357df7f239cc59cbb2447f"},{url:"sounds/Teams 气泡.mp3",revision:"bf21272379428e85205f66592894b881"},{url:"sounds/Teams 气泡(大声).mp3",revision:"ccbffede0f91fb2fc4c1e3b700885299"},{url:"sounds/Teams 时空.mp3",revision:"21d5f825d18cf541314659eb058ea997"},{url:"sounds/Teams 摇摆.mp3",revision:"cc593fc7586d4ca8f357324caed7392b"},{url:"sounds/Teams 提醒.mp3",revision:"1bb92bf7e9ff6c7580bd4c07b0da5d26"},{url:"sounds/Teams 弹拨.mp3",revision:"dbca54d79ab2dc7f58e0c815d1e52c76"},{url:"sounds/Teams 尤里卡.mp3",revision:"f959ac97e8113c13fbef4640d701bb46"},{url:"sounds/Teams 增强.mp3",revision:"aff4c45773c33ee949dbb2fd176ead9c"},{url:"sounds/Teams 叮铃.mp3",revision:"740bf4b245b232b81cb46beccd085ffc"},{url:"sounds/Teams 召唤.mp3",revision:"5f22a60afb21d7ef32c02ef604a0586a"},{url:"sounds/Teams 共鸣.mp3",revision:"0da491cc59a0a2c88e1cdfdb26e31194"},{url:"sounds/Teams 优先处理.mp3",revision:"5117fd6695056edd9fe7d13bdd981bbc"},{url:"sounds/Teams teams_notification.mp3",revision:"c0a3e466772e808ff0cfa0e9c76e4440"},{url:"sounds/Teams teams_meet_up_reminder.mp3",revision:"c18a464074c423def70a420418b80365"},{url:"sounds/Teams screenshare_ring.mp3",revision:"c18a464074c423def70a420418b80365"},{url:"sounds/Teams meetup_ring.mp3",revision:"ec5fdebfd3fa2f4f9f60673074a4e35e"},{url:"sounds/Teams incoming-ringtone-level40.mp3",revision:"d7298eb35126dd4f60d07e6aaeeae96f"},{url:"sounds/Teams incoming-ringtone-level30.mp3",revision:"dbe2f213d90800fb9b02aca8356b2e44"},{url:"sounds/Teams bounce.mp3",revision:"2ddc0b2c7e515045d31276dbd20cc5e3"},{url:"sounds/Teams Remix.mp3",revision:"bdbc0b25f3c1a1d09a157ae5923573cd"},{url:"sounds/Teams Ping.mp3",revision:"9c4446c079e89828abcae8aca5663c12"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/logo.svg",revision:"899b27b2269e41899c7422cfa4c389e5"},{url:"pwa/image/favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"pwa/image/apple-touch-icon-180x180.png",revision:"3180606ea2115ea1af7e66dbeb1b28fd"},{url:"assets/visitorId-CmQTZ-fb.js",revision:null},{url:"assets/vendor-vuetify-KiFW-YAv.js",revision:null},{url:"assets/vendor-vue-Hxtt57UU.js",revision:null},{url:"assets/vendor-utils-SR2uUhRI.js",revision:null},{url:"assets/vendor-socket-SYmKJpIj.js",revision:null},{url:"assets/soundList-D9U-Grcp.js",revision:null},{url:"assets/socketClient-B3vfwKNR.js",revision:null},{url:"assets/socket-debugger-CntG8haY.js",revision:null},{url:"assets/socket-debugger-B22H3Il3.css",revision:null},{url:"assets/settings-IOzDL48d.js",revision:null},{url:"assets/settings-CV-NY-Gt.css",revision:null},{url:"assets/serverRotation-CVerzUcJ.js",revision:null},{url:"assets/materialdesignicons-webfont-Dp5v-WZN.woff2",revision:null},{url:"assets/materialdesignicons-webfont-B7mPwVP_.ttf",revision:null},{url:"assets/index-ghQi_28l.js",revision:null},{url:"assets/index-DkQ_Bflb.js",revision:null},{url:"assets/index-BvGH7GyK.js",revision:null},{url:"assets/index-BiagDY7C.js",revision:null},{url:"assets/index-BGIq5yfq.js",revision:null},{url:"assets/index-BFmbztHq.css",revision:null},{url:"assets/index-6fGyl4NU.css",revision:null},{url:"assets/fp.esm-p88LZBod.js",revision:null},{url:"assets/examschedule-D7wPNFui.css",revision:null},{url:"assets/examschedule-B8cb1ydi.js",revision:null},{url:"assets/deviceEvents-DDMVNIIy.js",revision:null},{url:"assets/default-CmdaPMSp.css",revision:null},{url:"assets/default-BT9NXNf7.js",revision:null},{url:"assets/debug-socket-bY4DrRDB.js",revision:null},{url:"assets/debug-init-M9fbfR7P.js",revision:null},{url:"assets/debug-HIImqCSE.js",revision:null},{url:"assets/debug-CbS14biG.css",revision:null},{url:"assets/dataProvider-oxZzGARG.js",revision:null},{url:"assets/cses2wakeup-x4hLziBw.js",revision:null},{url:"assets/cses2wakeup-Qc4GsQy3.css",revision:null},{url:"assets/core-Cy2g3AD-.js",revision:null},{url:"assets/browser-Bu9WQl1f.js",revision:null},{url:"assets/authorize-C7nlDpAi.js",revision:null},{url:"assets/_id_-Bxg-njK4.js",revision:null},{url:"assets/_id_-BBXP8se1.js",revision:null},{url:"assets/VTooltip-D7EaNDeY.css",revision:null},{url:"assets/VTooltip-CvIsrMQ_.js",revision:null},{url:"assets/VTimePicker-D1xrFTMs.js",revision:null},{url:"assets/VTimePicker-BkWY3_8P.css",revision:null},{url:"assets/VTextarea-_xVwaw_z.css",revision:null},{url:"assets/VTextarea-CCvrj_Hr.js",revision:null},{url:"assets/VTextField-jDykTfh9.js",revision:null},{url:"assets/VTextField-DTDEIDq0.css",revision:null},{url:"assets/VTabs-DTqS4Kso.js",revision:null},{url:"assets/VTabs-566n5b08.css",revision:null},{url:"assets/VTable-CNLJxQof.css",revision:null},{url:"assets/VTable-C8JDgtcy.js",revision:null},{url:"assets/VSwitch-DEARo61Y.js",revision:null},{url:"assets/VSwitch-Bk42mIwg.css",revision:null},{url:"assets/VSlider-rdyojQMY.css",revision:null},{url:"assets/VSlider-D5-S_tyd.js",revision:null},{url:"assets/VSkeletonLoader-D4TcJTqz.css",revision:null},{url:"assets/VSkeletonLoader-BwErr64p.js",revision:null},{url:"assets/VSheet-PSmzyJOR.js",revision:null},{url:"assets/VSheet-DW_b51tO.css",revision:null},{url:"assets/VSelect-DHZViySU.css",revision:null},{url:"assets/VSelect-BdFWh1xd.js",revision:null},{url:"assets/VRow-D2ArqUC2.css",revision:null},{url:"assets/VRow-CFI96Yew.js",revision:null},{url:"assets/VPicker-DssJ0SqJ.js",revision:null},{url:"assets/VPicker-Dm9DplUc.css",revision:null},{url:"assets/VPagination-DC48wzod.js",revision:null},{url:"assets/VPagination-BF2MZmld.css",revision:null},{url:"assets/VMenu-CEn1TBeC.js",revision:null},{url:"assets/VMenu-C31D-C2L.css",revision:null},{url:"assets/VForm-DrJP9yK2.js",revision:null},{url:"assets/VFileInput-Ch1sS0Fm.js",revision:null},{url:"assets/VFileInput-CRcZ0Lr3.css",revision:null},{url:"assets/VExpansionPanels-kEj4ZJQK.css",revision:null},{url:"assets/VExpansionPanels-D75JoFxE.js",revision:null},{url:"assets/VDatePicker-zglzEVGT.css",revision:null},{url:"assets/VDatePicker-B6PZcrmX.js",revision:null},{url:"assets/VDataTable-DhKfVIaU.css",revision:null},{url:"assets/VDataTable-C0z5sFU7.js",revision:null},{url:"assets/VContainer-Cz0t7N-s.js",revision:null},{url:"assets/VContainer-B1KSavhG.css",revision:null},{url:"assets/VCombobox-r6cc1Iy_.css",revision:null},{url:"assets/VCombobox-D1qFxhIj.js",revision:null},{url:"assets/VChip-Dmz_1Lnv.css",revision:null},{url:"assets/VChip-CyVmT8se.js",revision:null},{url:"assets/VCheckboxBtn-D_PchAC2.js",revision:null},{url:"assets/VCheckbox-ZL-u1kGB.css",revision:null},{url:"assets/VCheckbox-VrkfbZWi.js",revision:null},{url:"assets/VAutocomplete-bB7Ga8jP.js",revision:null},{url:"assets/VAutocomplete-Ygy_KjMW.css",revision:null},{url:"assets/VAppBarTitle-CczdD-Q2.css",revision:null},{url:"assets/VAppBarTitle-CA6uS5-F.js",revision:null},{url:"assets/VAlert-DdY_LS-W.js",revision:null},{url:"assets/VAlert-D_OX1cfW.css",revision:null},{url:"assets/UrgentTestDialog-CSFlE7DZ.js",revision:null},{url:"assets/UrgentTestDialog-65OEJ5uz.css",revision:null},{url:"assets/UafTransferDialog-DcVwiQPT.js",revision:null},{url:"assets/UafTransferDialog-CxJ0Ohjf.css",revision:null},{url:"assets/StudentNameManager-tn0RQdqM.css",revision:null},{url:"assets/StudentNameManager-PfUXrkXU.js",revision:null},{url:"assets/RandomPicker-D1hmh8Tq.js",revision:null},{url:"assets/RandomPicker-CU-edGvg.css",revision:null},{url:"assets/PwaInstallCard-idT4M8--.js",revision:null},{url:"assets/MessageLog-CK1yxPmJ.js",revision:null},{url:"assets/MessageLog-BGkFwivK.css",revision:null},{url:"assets/InitServiceChooser-BSZJBnhr.css",revision:null},{url:"assets/InitServiceChooser-BOzXYAzm.js",revision:null},{url:"assets/HomeworkEditDialog-DSAcf9mw.css",revision:null},{url:"assets/HomeworkEditDialog-Bp1-Yp2h.js",revision:null},{url:"assets/FloatingToolbar-BvexJNZx.js",revision:null},{url:"assets/FloatingToolbar-5gVX85mk.css",revision:null},{url:"assets/ExamScheduleCard-wt_WZTJg.js",revision:null},{url:"assets/ExamScheduleCard-BJuKYvRa.css",revision:null},{url:"assets/ExamConfigEditor-HgNV6CVV.css",revision:null},{url:"assets/ExamConfigEditor-Bp6Liu2C.js",revision:null},{url:"assets/ChatWidget-ChgL-O5B.css",revision:null},{url:"assets/ChatWidget-BQwxDQ-m.js",revision:null},{url:"assets/CacheManagement-CX2R2zIQ.js",revision:null},{url:"assets/AttendanceSidebar-C5lGrDWr.js",revision:null},{url:"assets/AttendanceManagementDialog-D0prZwJd.css",revision:null},{url:"assets/AttendanceManagementDialog-D0UfFBjs.js",revision:null},{url:"assets/404-DkBfuGQw.js",revision:null},{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:"81f614d50e129c134b1d5ddd6a19081e"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api\//,/^\/socket\.io\//]})),s.registerRoute(({url:s,sameOrigin:e})=>e&&s.pathname.startsWith("/assets/"),new s.CacheFirst({cacheName:"assets-cache",plugins:[new s.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),s.registerRoute(({url:s,sameOrigin:e})=>e&&s.pathname.startsWith("/sounds/"),new s.CacheFirst({cacheName:"sound-cache",plugins:[new s.ExpirationPlugin({maxEntries:80,maxAgeSeconds:2592e3}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),s.registerRoute(({url:s,sameOrigin:e})=>e&&s.pathname.startsWith("/pwa/"),new s.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new s.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),s.registerRoute(({url:s,sameOrigin:e})=>{if(!e)return!1;const i=s.pathname;return!(i.includes("/assets/")||i.includes("/pwa/")||i.includes("/sounds/"))},new s.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});