diff --git a/.zcode/plans/plan-sess_cf2ae9b7-2221-409b-b804-66d894f1b069.md b/.zcode/plans/plan-sess_cf2ae9b7-2221-409b-b804-66d894f1b069.md index 8767882..61f54cf 100644 --- a/.zcode/plans/plan-sess_cf2ae9b7-2221-409b-b804-66d894f1b069.md +++ b/.zcode/plans/plan-sess_cf2ae9b7-2221-409b-b804-66d894f1b069.md @@ -1,88 +1,172 @@ -# Phase C — ModelRouter 风格重设计 + 模拟 frps 转发下发测试 +# 集群修复 + 加入密钥 + 画布/状态页增强 + Seq 删除 -## 决策(用户未选择,依最佳判断) -- **视觉方向 = 忠实采用 sakura×frost 玻璃拟态**(ModelRouter 主色 #FF7FAC + 动态光斑背景 + KPI 卡 + cardIn 入场 + 渐变按钮)。在线/成功状态仍用绿色 #17a964(与 ModelRouter 一致,不破坏 webui4frpc "绿=在线" 语义)。不加强调色切换器/深色模式(控范围,可后续加)。 -- **模拟 frps = 加 2 个真实 frps 容器**(frps2/frps3)+ 一个死地址 remote,写 `test-forward.sh` 验证 下发→claim→起 worker→连通 全链路。 +## P0:关键 Bug(集群已炸) ---- +### A1. Leader 退出后无 failover — ring_engine.go `runCommands` 自退出分支 (L358-383) +**根因**:leader 自退出时 `SelfRemove` 清 `LeaderID=""` → token 携空 LeaderID → 后继 `IsLeader()=false` → 调 `Forward` 非 `Send` → cycle 永不推进;`WatchLeader` 的 `AlivePredecessor("")` 失败 → 无人晋升 → ring 无 leader 直至 token 丢失。 -## Part 1 — 主题令牌:theme.css + variables.scss(换成 sakura/frost) +**修复**:在 SelfRemove 前捕获 `wasLeader`,之后若 wasLeader 则指定 `removedNext`(原后继)为新 leader: +```go +wasLeader := e.state.LeaderID == e.ID +if succ, ok := e.state.AliveSuccessor(e.ID); ok && succ != e.ID { + e.removedNext = succ // 已有逻辑(L372-374) +} +e.state.SelfRemove(e.ID) // 已有 +e.selfRemoved = true // 已有 +// 新增:leader 退出时指定后继为新 leader +if wasLeader && e.removedNext != "" { + e.state.LeaderID = e.removedNext + for i := range e.state.Nodes { + e.state.Nodes[i].IsLeader = e.state.Nodes[i].ID == e.removedNext + } + if e.Log != nil { + _, _ = e.Log.Append(e.ID, LogLeaderChange, map[string]string{"leader": e.removedNext}) + } +} +``` +后继收到 token 时 `IsLeader()=true` → 调 `Send`(bump cycle)→ ring 恢复正常。 -**web/src/styles/theme.css**(重写 `:root` + 增全局组件类): -- 调色:`--w4f-primary:#FF7FAC; -h:#F33B7C; -50:#FFF0F5; -100:#FFE4E9; -200:#FFCDD9; -300:#FF9EB5`;`--w4f-secondary:#88C0D0; -h:#4C8DAE; -50:#F0F9FC`;`--w4f-danger:#DB3694; -50:#FEEAF6`;`--w4f-ok:#17a964; --w4f-warn:#b7791f; --w4f-info:#3f6ef5`。 -- 表面/文字:`--w4f-bg-1:#eef2ff; -2:#fff; -3:#ffe9f0`;`--w4f-card:rgba(255,255,255,.60); -2:rgba(255,255,255,.42)`;`--w4f-line:rgba(255,127,172,.18); -strong:rgba(120,90,150,.22)`;`--w4f-fg:#3b3350; --w4f-muted:#7c7a95`。 -- 光斑:`--w4f-blob1/2/3`(sakura/frost/pink 透明色)。 -- 阴影:`--w4f-sh-sm/md/lg`(紫灰调 `rgba(120,90,160,..)`);`--w4f-glass:18px; --w4f-ease-spring:cubic-bezier(.34,1.56,.64,1)`。 -- EP 覆盖:`--el-color-primary:#FF7FAC` + light-3/5/7/8/9 + dark-2;`--el-color-success:#17a964; danger:#DB3694;` 圆角/字体。 -- body:14px/1.55 `Quicksand,Nunito,Inter,...` 字号栈(不联网加载 web 字体,用系统栈接近),letter-spacing .02em。 -- **动态光斑背景**:`#bgfx` fixed + 3 `.blob` `filter:blur(64px)` + `@keyframes drift1/2/3`,`prefers-reduced-motion` 关动画。 -- 全局类:`.w4f-card`(玻璃 + `cardIn` 入场动画)、`.w4f-kpi`(KPI 卡基座 k-lab+blink dot/k-val/k-sub/k-chart 位)、`.w4f-bar`(5px 渐变条)、`.w4f-tag` 变体、`.w4f-btn`(渐变主按钮 + ghost/danger/small 变体)、sakura 滚动条。 +### A2. 退出后残留旧集群信息 — ring_engine.go `Forward` (L439-461) + 新 `detachAsStandalone()` +**根因**:`SelfRemove` 只移除自己出 Nodes,保留 Topology/Pending/Log/其他成员。退出后不再收 token → `e.state` 冻结 → `Snapshot()` 返回旧画面。非前端 bug。 -**web/src/styles/variables.scss**(SCSS 变量重映射,保持视图内 `$color-*` 自动跟随): -- `$color-primary:#FF7FAC; -h:#F33B7C; -50:#FFF0F5; -100:#FFE4E9`;`$color-secondary:#88C0D0; -50:#F0F9FC`;`$color-success:#17a964`(保绿);`$color-danger:#DB3694; -50:#FEEAF6`;`$color-info:#3f6ef5`。 -- 文字色换紫灰调(primary #3b3350 / secondary #5a5470 / muted #7c7a95 / light #9c98b0);glass/shadow/radius/ease 对齐 theme.css。 +**修复**: +1. 新增 `detachAsStandalone()`(≈ CreateCluster 去掉 IsMember 守卫 + 重置 Log): +```go +func (e *Engine) detachAsStandalone() { + e.state = State{ + LeaderID: e.ID, PendingTasks: map[string]*Task{}, + Topology: map[string]*TopoEntry{}, RoundDelay: 2 * time.Second, + } + e.state.UpsertNode(Node{ID: e.ID, Addr: e.myAddr, Alive: true, IsLeader: true, + Load: e.loadSnapshot(), Version: e.Version, Cache: e.Cache}) + e.selfRemoved = false; e.removedNext = "" + e.lastRingStart = time.Time{}; e.lastTokenAt = 0; e.lastSyncAt = 0 + e.inflight.clear(); e.failCount = map[string]int{}; e.published = map[string]struct{}{} + if e.Log != nil { + e.Log = NewClusterLog() // 清空旧集群日志 + _, _ = e.Log.Append(e.ID, LogLeaderChange, map[string]string{"leader": e.ID}) + } + log.Printf("ring[%s] detached to standalone after self-leave", e.ID) +} +``` +2. 在 `Forward` 中,将 token 交给 removedNext 后(已发送),若 `e.selfRemoved` 则 detach: +```go +func (e *Engine) Forward(ctx context.Context, tk *Token) error { + if e.removedNext != "" { + next := e.removedNext; e.removedNext = "" + var err error + if e.send != nil { + err = e.send(ctx, next, tk) // 先发 token(携带旧 state 含新 leader) + } + if e.selfRemoved { // 发完后 detach(不影响已发 token) + e.detachAsStandalone() + } + return err + } + // ... 原有逻辑 +} +``` +**效果**:退出后 `Snapshot()` 返回 standalone(1 节点=自己,0 转发,空日志)→ 前端顶部数据区显示"待加入"+ 1 成员 + 0 活跃转发 → 不再残留旧拓扑/转发/日志。 -## Part 2 — App.vue:玻璃侧栏 + 光斑背景层 + 面包屑 +### A3. 测试 +- 现有 `ring_remove_test.go` 3 个测试全是非 leader 退出(wasLeader=false 不指定后继,detach 在 Forward 中测试不调)→ 不受影响 ✓ +- 新增 `TestLeaderSelfRemoveDesignatesSuccessor`:leader 自退出 → 后继被指定为新 leader +- 新增 `TestDetachAfterForward`:自退出 + Forward 后 state 重置为 standalone -- 模板加 `` 作固定背景(z-index -10)。 -- 侧栏 246px 玻璃(`backdrop-filter:blur(glass*.7) saturate(1.3)`),品牌区渐变 logo 方块 "W"(渐变 primary→secondary + 阴影),nav item active = ModelRouter 渐变瓦片(`linear-gradient(120deg,primary-50,secondary-50)` + primary-h 文字 + sh-sm,而非当前整块填色);footer 活跃点 + "token-ring · M6" 药丸。 -- 内容区顶部加 `.breadcrumb` 显示当前视图名(状态/连接配置/设置/集群),对齐 ModelRouter 布局。 -- `.content` 滚动区,各视图自带内边距。 +## P1:State.Seq 删除 — ring.go + ring_engine.go +(plan.md 从未要求 Seq;NextTaskID 注释 L213-221 已自述回归 bug) +- ring.go L90:State 结构体删 `Seq int64 json:"seq"` +- ring.go L212-235 NextTaskID:`max := int64(0)`(删 `max := s.Seq`),删 `s.Seq = max+1`,`return fmt.Sprintf("t%d", max+1)` +- ring_engine.go L635:CreateCluster 删 `Seq: e.state.Seq` +- LogEntry.Seq(ring_log.go)保留(日志水印,plan §增量日志同步) -## Part 3 — StatusView.vue 重设计 +## P1:集群加入密钥(per-node 准入密钥) -- 顶栏玻璃卡:面包屑标题 + "每 5 秒自动刷新" + 刷新(ghost) + 添加远程节点(渐变 primary)。 -- **KPI 网格**(auto-fit minmax 168px):远程节点数(sub: 在线 X)、在线 worker 数、本地服务数、活跃转发数。每卡 k-lab+blink dot、k-val 27px tabular-nums、k-sub。 -- 远程节点卡:玻璃 + cardIn,左边框色按健康(绿/红),名称 + 连接药丸(ok 绿/pending 青/err 红点),操作按钮(启=渐变 / 停=ghost / 编辑=ghost / 删=danger small),meta(pid/err/vhost 药丸),forwards 药丸 chips,per-proxy 行带 5px bar 指示。 -- 本地服务卡:玻璃,proto 药丸,targets 带 → + 状态药丸。 -- el-dialog 沿用(EP 覆盖自动 sakura 化)。 +### 设计 +- 每个节点有 `nodeKey`(随机 16 字节 hex),首次启动生成、持久化到 DB、重启后读回(稳定) +- 画布 webui 显示本节点 nodeKey(可复制);加入集群对话框需填对端地址 + 对端 nodeKey +- 对端 `handleClusterJoin` 验证 `ji.JoinKey == e.nodeKey`,不匹配 403 +- `CreateCluster`/`AdoptState` 不重新生成(init 时已存在) -## Part 4 — ClusterView.vue 重设计 +### B1. 数据模型 +- `store.Settings`(store.go L114-119):加 `NodeKey string json:"nodeKey,omitempty"` + migrate 列 `node_key TEXT NOT NULL DEFAULT ''` +- `store.SetNodeKey(key string) error`:`UPDATE settings SET node_key=?` +- `Engine` struct(ring_engine.go L24-80):加 `nodeKey string` + `func (e *Engine) NodeKey() string { return e.nodeKey }` +- `JoinInfo`(ring_engine.go L544-550):加 `JoinKey string json:"joinKey,omitempty"` +- `RingSnapshot`(ring_engine.go L464-):加 `NodeKey string json:"nodeKey"` -- Hero 玻璃卡:渐变标题 + sub,状态药丸(运行中=绿点 blink / 待加入=青 / 已脱离=红)+ 成员数 + 周期 + leader ♔。 -- **KPI 行**:成员数、活跃转发、待办命令、周期。 -- 操作工具条:创建集群(渐变 primary) / 加入…(ghost) / 退出(danger) / 刷新(ghost small),保留既 `!isMember`/`isMember` 安全门。 -- 环拓扑:横向玻璃节点卡链,leader=青调 + 边框、self=sakura 高亮发光、dead=红暗;负载 bar;addr mono;移除按钮(small danger);→ 箭头。 -- 待办命令/活跃拓扑/集群日志:玻璃卡 + sticky 表头 + 药丸标签(新增 sakura / 撤销·移除 danger / owner self=sakura)+ 彩色 kind 徽章 + self 高亮,全部 cardIn 入场。 -- 保留加入 el-dialog。 +### B2. 初始化 + 持久化 +- `NewEngine`(ring_engine.go L84-105):签名加 `nodeKey string` 参数 +- main.go 引擎初始化(L121):读 `settings.NodeKey`;若空 → `crypto/rand` 生成 16 字节 hex → `store.SetNodeKey` 持久化 → 传给 NewEngine -## Part 5 — 模拟 frps 节点 + 转发下发测试 +### B3. 加入验证 +- `handleClusterJoin`(handlers.go L530-556):decode JoinInfo 后加 `if ji.JoinKey != h.Ring.NodeKey() { 403 }` +- `JoinRingAddr`(token_join.go L54-57):签名加 `joinKey string`,设 `ji.JoinKey = joinKey` +- `JoinRing`(token_join.go L16-47):JoinInfo 已含 JoinKey,随 POST body 发送 -**新增 frps 配置 + 容器**: -- `deploy/frps2.toml`:bindPort 7001, vhostHTTPPort 7081, auth.token=demo-token。 -- `deploy/frps3.toml`:bindPort 7002, vhostHTTPPort 7082, auth.token=demo-token。 -- `deploy/run-cluster.sh` 增启动 `w4f-frps2`(--network-alias frps2, -p 7001:7001 -p 7081:7081) 与 `w4f-frps3`(alias frps3, -p 7002:7002 -p 7082:7082)。 -- `deploy/compose.yaml` 增 frps2/frps3 服务(compose 用户同步)。 -- `deploy/start-mock-frps.sh`:仅启 frps2/frps3(先 `docker rm -f` 这两个再 run),供集群已起时补启。 +### B4. -peer 启动引导 +- main.go flags:加 `-join-key string`(或 `W4F_JOIN_KEY` env) +- main.go L336-346 bootstrap:`ring.JoinRing(jc, peers[0], ji)` → `JoinRingAddr(ctx, peers[0], *joinKey)` -**`deploy/test-forward.sh`**(核心验证脚本,Basic Auth admin:admin123): -1. 确认 ring:`GET node-a:7501 /cluster/ring` 断言 3 节点。 -2. 快照原 canvas:`GET node-a /canvas` 存原始 `{locals,remotes,links}`。 -3. 创建 4 条转发(`PUT node-a /canvas`,localOnly=false,local.ip=`backend` docker DNS,port 8080): - - `fwd-frps1` → remote frps:7000, remotePort 18091 - - `fwd-frps2` → remote frps2:7001, remotePort 18092 - - `fwd-frps3` → remote frps3:7002, remotePort 18093 - - `fwd-dead` → remote 192.0.2.1:7000, remotePort 18094(死地址:验下发+起 worker,conn 失败) -4. 轮询 `GET /cluster/ring`(1s×~25):断言 4 条 pending→0 且 topology 出现 4 条带 ownerId;打印每条由谁 claim(最低负载)。 -5. 轮询各 owner `GET /status`:断言对应 remote process.state=running。 -6. 轮询 owner `GET /profiles/{remote}/logs`:真实 frps 断言含 `login to server success`;dead 断言 worker running 但 connState=failed。 -7. 撤销测试:`PUT /canvas` 还原为步骤2快照(移除我们的 locals)→ 轮询 topology 4 条消失 + owner /status worker 已停。 -8. 打印结果表(task / target / claimed-by / worker / conn / 结论)。 -9. 清理:canvas 已在步骤7还原;不删容器。 +### B5. 前端 +- types.ts:`RingSnapshot` 加 `nodeKey?: string` +- api.ts `clusterJoinRing`(L137-142):改 `(addr, joinKey)` → body `{addr, joinKey}` +- ClusterView.vue: + - 顶部 hero 或独立区域:显示本机 nodeKey(`ring.nodeKey`)+ 复制按钮 + - 加入对话框(L167-178):加"加入密钥"输入框(`joinDialog.key`) + - `onJoin`(L369-383):`api.clusterJoinRing(addr, key)` + - `joinDialog` reactive(L193):加 `key: ''` -**验证连通可选项**:真实 frps 的 vhost/remotePort 不映射到宿主(dispatch 验证不需打隧道);如需端到端打隧道验证,可 `docker exec` 在 net 内 curl `frps2:18092` 命中 backend——纳入脚本 step 6.5。 +## P2:画布边启用/禁用开关 + 分组标签 — PortEdge.vue + CanvasView.vue -## Part 6 — 构建 + 验证 +### PortEdge.vue +- computed `isDisabled`(读 `props.data?.disabled`)、`groupName`(读 `props.data?.group`) +- emits 加 `toggle-disabled`、`edit-group`(payload `{edgeId}`) +- 模板 `.port-label` 内端口号旁:`{{ isDisabled?'禁':'通' }}`;`{{ groupName }}` +- `@pointerdown.stop` 阻止拖拽(label 的 onPointerDown 不触发 → dragging 保持 false → onPointerUp `!wasDrag` 直接 return,不误开端口编辑器) +- strokeColor:disabled 时灰色(`var(--el-color-info-light-5)`) -1. `cd web && npm run build` -2. 同步前端:`rm -rf internal/httpapi/dist && cp -r web/dist internal/httpapi/dist` -3. `go build -o deploy/artifacts/webui4frpc ./cmd/webui4frpc` -4. 起/刷集群:`bash deploy/run-cluster.sh`(或既有集群:`bash deploy/start-mock-frps.sh && docker restart w4f-node-a w4f-node-b w4f-node-c`) -5. `bash deploy/test-forward.sh` —— 验证转发下发链路 -6. **视觉验证**(直击"太丑"反馈):用浏览器打开 `http://localhost:7501`(admin/admin123),截图 状态页 + 集群页,对照 ModelRouter 确认 光斑背景/玻璃 KPI 卡/渐变按钮/入场动画 到位。若不符则迭代。 +### CanvasView.vue +- L60-67 edge 模板:加 `@toggle-disabled="onToggleDisabled" @edit-group="onEditGroup"` +- import ElMessageBox +- `onToggleDisabled({edgeId})`:翻 `edge.data.disabled`,`dirty=true` +- `onEditGroup({edgeId})`:ElMessageBox.prompt(列现有分组名,留空=未分组)→ 设 `edge.data.group`,`dirty=true` +- (buildPayload L638 已序列化 disabled,L637 已序列化 group,保存重建 L690-691 已回填 → 无需改) + +## P2:状态页分组管理 — store + handler + route + api + StatusView + +### 后端 +- store.go:`SetLinkGroup(local, remote string, port int, group string) error`(`UPDATE links SET grp=? WHERE ...`;列 grp 已存在) +- handlers_forwards.go:`assignReq{Local,Remote,RemotePort,Group}` + `handleForwardsAssign`(findLinkByTriple→SetLinkGroup)+ `handleForwardsGroupDelete`(ListLinks 过滤 group→逐条 SetLinkGroup(...,"")) +- server.go L78-81 路由块:`/forwards/assign`、`/forwards/group/delete`(均 write 级) + +### 前端 +- api.ts:`assignGroup(local,remote,remotePort,group)` + `deleteGroup(group)` +- StatusView.vue: + - 卡片 `.fwd-head` L70 后:`{{ f.group || '未分组' }}` + - 分组头 L45-48 `.grp-actions`:`` + - `editGroup(f)`:ElMessageBox.prompt(列现有分组,留空=移出)→ api.assignGroup→loadStatus + - `deleteGroup(group)`:confirm→api.deleteGroup→loadStatus + - import ElMessageBox + +## 不变(保留) +- 状态页所有现有按钮(启动/停止转发、一键启动/停止整组)+ forwards 端点 +- handlers_forwards.go 全部现有函数 +- ring 语义(SubmitTask/RevokeTask/HasTask/leader 选举/拓扑) +- 画布端口编辑对话框已有"分组"字段(保留,边上标签是额外快速入口) + +## 构建验证 +1. `go test ./internal/cluster/...`(Seq 删除 + leader failover + detach 不破坏现有测试 + 新测试通过) +2. `cd web && npm run build`;`cp -r web/dist internal/httpapi/dist`;`go build -o deploy/artifacts/webui4frpc ./cmd/webui4frpc` +3. `docker rm -f w4f-node-a b c d e; bash deploy/run-cluster.sh` +4. **leader failover**:a 为 leader → a 退出 → b 成为新 leader(cycle 继续推进)→ ring 正常 +5. **退出残留**:a 退出后 a 的集群页显示 standalone(1 节点、0 转发、空日志),不残留旧拓扑 +6. **加入密钥**:创建集群 → 显示 nodeKey → b 加入需填 a 的 nodeKey → 错误密钥 403 → 正确密钥加入成功 +7. **画布边开关**:点"禁"→边变灰→保存→状态页 stopped;点"通"→恢复 +8. **画布边分组**:点分组标签→输入名→保存→状态页显示分组 +9. **状态页分组管理**:卡片分组标签→改组→即时生效;分组头删除分组→全移至未分组 +10. `bash deploy/test-forward.sh` 通过 ## 影响文件 -- 主题:`web/src/styles/theme.css`(重写)、`web/src/styles/variables.scss`(重映射) -- 壳:`web/src/App.vue`(侧栏+光斑+面包屑) -- 视图:`web/src/views/StatusView.vue`、`web/src/views/ClusterView.vue`(重设计) -- 部署:`deploy/frps2.toml`、`deploy/frps3.toml`(新)、`deploy/run-cluster.sh`、`deploy/compose.yaml`、`deploy/start-mock-frps.sh`(新)、`deploy/test-forward.sh`(新) \ No newline at end of file +- Go:`internal/cluster/ring.go`、`ring_engine.go`、`ring_leader.go`(仅注释/无改)、`token_join.go`、`internal/store/store.go`、`internal/httpapi/handlers.go`、`handlers_forwards.go`、`server.go`、`cmd/webui4frpc/main.go` +- 前端:`web/src/components/PortEdge.vue`、`views/CanvasView.vue`、`views/ClusterView.vue`、`views/StatusView.vue`、`api.ts`、`types.ts` \ No newline at end of file diff --git a/README.md b/README.md index 04580f6..14a6aa0 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,38 @@ # webui4frpc -一个**独立于 frp 源码**的可视化 frpc 控制器。用画布方式把「本地转发项」连到「远程服务器」,自动为每台远程服务器生成 frpc 配置并拉起独立 worker 进程,免去运维反复手写 frpc 配置的麻烦。 +一个**独立于 frp 源码**的可视化 frpc 控制器。用画布方式把「本地转发项」连到「远程服务器」,自动为每台远程服务器生成 frpc 配置并拉起独立 worker 进程,免去运维反复手写 frpc 配置的麻烦。支持多节点组成令牌环集群,协同分发转发任务。 > 本仓库**不捆绑、不包含任何 frp 源码**。frpc 可执行文件由用户一键从官方 GitHub Releases 下载,或手动指定路径。 ## 特性 +### 画布配置 - **Scratch 风格画布**:本地转发项(local)与远程服务器(remote)可视化连线,一个 local 可连多个 remote,一个 remote 可连多个 local - **曲线连线 + 端口标签**:每条连线独立曲线,标签为远程端口,可拖拽调整曲线位置,端口可点开编辑 +- **边开关与分组**:画布边上可一键禁用/启用单条转发,可打分组标签(状态页按分组管理、一键启停整组) - **一键生成配置**:保存画布即渲染每台 remote 的 frpc JSON 配置,自动拉起/重启对应 worker +- **画布导入导出**:支持 JSON 备份/恢复 + +### frpc 能力 +- **代理类型**:tcp(完整)、http/https(customDomains / subdomain / locations / basicAuth / headerRewrite) +- **传输参数**:useEncryption / useCompression / bandwidthLimit / poolCount / transport.protocol(tcp/quic/kcp/websocket)/ TLS +- **负载均衡与健康检查**:lbGroup + healthCheck 渲染输出;状态页通过 frpc admin API 拉取 per-proxy 真实状态(running / check failed / wait start …) - **worker 自愈**:崩溃自动重启(指数退避),随 webui 启停 - **frpc 一键安装**:从官方 Releases 下载任意版本 frpc,或手动指定二进制路径 -- **token 可视化**:remote 支持 token/URL 等字段 + +### 集群模式(令牌环) +- **令牌环协议**:若干 webui4frpc 节点组成协作网络;令牌按固定顺序传递,每节点持完整集群信息,单轮即全网收敛 +- **负载最低者摘取**:新转发任务附加在令牌中,由负载最低的节点自行摘取并创建 frpc worker +- **容错自愈**:leader / 非 leader 节点宕机 → 自动检测 → 环跳过死亡节点、任务重挂;leader 宕机 → 上邻居晋升为新 leader +- **宕机自动重联**:节点宕机重启后通过缓存的集群拓扑(对端地址 + 准入密钥)自动重联,显式脱离集群的节点不自动重联 +- **准入密钥**:每节点有 nodeKey,新节点加入需提供对端密钥;密钥随令牌环交换,全节点互通 +- **集群二进制分发**:节点间优先互传 frpc 二进制,外部 URL 兜底 + +### 认证与权限 +- **Basic Auth**:启动参数配置管理员账号密码(flag-creds 快速路径,不走 bcrypt) +- **用户管理**:admin / viewer 两种角色,bcrypt 存储,webui 管理 +- **API Key**:read / write / admin 三级 scope,`w4f_` 前缀,sha256 存储,创建时明文仅展示一次 +- **三级权限**:read(查看)< write(修改)< admin(用户/密钥管理) ## 构建 @@ -27,12 +48,18 @@ go build -o webui4frpc ./cmd/webui4frpc cd web && npm install && npm run build ``` -前端产物会进入 `web/dist`,需要拷贝到 `internal/httpapi/dist` 以便 Go `embed` 打包进单一二进制: +前端产物在 `web/dist`,需拷贝到 `internal/httpapi/dist` 以便 Go `embed` 打包进单一二进制: ```bash rm -rf internal/httpapi/dist && cp -r web/dist internal/httpapi/dist ``` +一键全量构建: + +```bash +cd web && npm run build && cd .. && cp -r web/dist/* internal/httpapi/dist/ && go build -o deploy/artifacts/webui4frpc ./cmd/webui4frpc +``` + ## 运行 ```bash @@ -41,53 +68,142 @@ rm -rf internal/httpapi/dist && cp -r web/dist internal/httpapi/dist 打开 http://127.0.0.1:7500/ ,输入账号密码进入画布。首次使用可到「设置」页一键安装 frpc(或手动指定路径),然后回到画布创建 local / remote 并连线、保存。 -参数: +### 参数 | 参数 | 默认 | 说明 | |---|---|---| | `-addr` | `127.0.0.1:7500` | 监听地址 | -| `-user` / `-password` | `admin`/`admin` | Basic 认证 | -| `-workdir` | `./webui4frpc` | 数据目录(db/配置/日志/bin) | -| `-bin` | 空 | 初始 frpc 路径(可选) | +| `-user` / `-password` | `admin` / `admin` | Basic 认证(自动同步为 system 管理员账号) | +| `-workdir` | `./webui-frpc` | 数据目录(db / 配置 / 日志 / bin) | +| `-bin` | 空 | 初始 frpc 二进制路径(可选,首次启动写入 settings) | +| `-frpc` | 空 | worker 默认 frpc 路径(settings 无值时的回退) | +| `-peer` | 空 | 集群对端地址 `host:port`(可重复,仅首次引导加入用) | +| `-join-key` | `$W4F_JOIN_KEY` | 集群准入密钥 = 对端节点的 nodeKey(与 `-peer` 配合使用) | + +环境变量 `W4F_HOST` 可覆盖节点对外可达的主机名(Docker DNS / 通配监听场景用)。 + +### 启动行为 + +节点启动时的集群引导优先级: + +1. **缓存拓扑优先**:读取持久化的 `ClusterPeers`(宕机前最后令牌周期保存的对端列表),逐个尝试 rejoin +2. **`-peer` 引导**:无缓存拓扑时,用 `-peer` + `-join-key` 加入指定对端(10s 重试、5min 超时) +3. **新建集群**:无缓存无 `-peer` → `CreateCluster` 成为独立 leader + +显式脱离集群(detachAsStandalone)会清除 `ClusterPeers` → 重启后不自动重联。 ## 数据目录 ``` -├── manager.db # SQLite 状态(locals/remotes/links/settings) -├── configs/.json # 每台 remote 渲染的 frpc 配置 -├── logs/.log # worker 日志(按大小轮转) -└── bin/frpc- # 一键安装的 frpc +├── manager.db # SQLite(locals / remotes / links / settings / users / api_keys) +├── configs/.json # 每台 remote 渲染的 frpc 配置 +├── logs/.log # worker 日志(按大小轮转) +└── bin/frpc-/frpc # 一键安装的 frpc ``` ## 架构 ``` -webui4frpc(单二进制,无 frp 依赖) -├── cmds/webui4frpc 入口:HTTP 服务 + 生命周期 -├── internal/store SQLite 持久化 -├── internal/canvas 画布模型(local/remote/link) -├── internal/render 渲染 frpc JSON 配置 -├── internal/process worker 进程管理(spawn/stop/restart/自愈) -├── internal/httpapi REST API + 静态资源 -└── internal/install 一键下载官方 frpc +webui4frpc(单二进制,无 frp 依赖,前端 go:embed) +├── cmd/webui4frpc 入口:flag 解析 → store/process/cluster 装配 → HTTP 服务 + 生命周期 +├── internal/ +│ ├── store SQLite 持久化(locals / remotes / links / settings / users / api_keys) +│ ├── canvas 画布模型(local / remote / link 多对多) +│ ├── render 渲染 frpc JSON 配置(tcp/udp/http/https + 高级参数 + LB/健康检查) +│ ├── process worker 进程管理(spawn/stop/restart/自愈/日志轮转) +│ ├── install 一键下载官方 frpc(GitHub Releases,含解压安全防护) +│ ├── cluster 令牌环协议(ring engine / leader 选举 / 容错 / 宕机重联 / 二进制分发) +│ └── httpapi REST API + 静态资源(auth / canvas / forwards / cluster / users) +└── web/ Vue 3 SPA(Element Plus + VueFlow 画布 + Pinia) + └── src/views/ 状态总览 / 连接配置(画布)/ 集群 / 设置 / 账号与密钥 ``` ## API -| 方法 | 路径 | 说明 | +所有接口前缀 `/api/manager`,使用 Basic Auth 或 Bearer API Key 认证。权限分 read / write / admin 三级。 + +| 类别 | 方法 | 路径 | 权限 | 说明 | +|---|---|---|---|---| +| **状态** | GET | `/status` | read | 总览(版本/服务/节点/转发/profiles) | +| **画布** | GET/PUT | `/canvas` | read/write | 读写完整画布 | +| | GET | `/canvas/export` | read | 导出画布备份 | +| | POST | `/canvas/import` | write | 导入画布 | +| **转发** | POST | `/forwards/start\|stop` | write | 启停单条转发 | +| | POST | `/forwards/group/start\|stop` | write | 启停整组 | +| | POST | `/forwards/assign` | write | 修改转发分组 | +| | POST | `/forwards/group/delete` | write | 删除分组 | +| **单资源** | PUT/DELETE | `/locals[/{name}]` | write | 增删 local | +| | PUT/DELETE | `/remotes[/{name}]` | write | 增删 remote | +| | POST/DELETE | `/links[/{id}]` | write | 增删 link | +| **Profile** | POST | `/profiles/{name}/start\|stop\|restart` | write | worker 启停重启 | +| | GET | `/profiles/{name}/config\|logs` | read | 配置/日志 | +| **设置** | GET/PUT | `/settings` | read/write | 运行策略 | +| | GET | `/binary/status` | read | frpc 路径 | +| | POST | `/binary/install` | write | 安装 frpc | +| **集群** | GET | `/cluster/ring` | read | 令牌环快照 | +| | POST | `/cluster/create` | write | 创建独立集群 | +| | POST | `/cluster/join-ring` | write | 加入集群(本节点发起) | +| | POST | `/cluster/join` | write | 接收新节点加入 | +| | POST | `/cluster/task` | write | 提交转发任务到环 | +| | POST | `/cluster/node-remove` | write | 移除节点 | +| | POST | `/cluster/token` | write | 令牌中继 + 心跳 | +| | GET | `/cluster/nodes` | read | 集群节点 + 缓存 | +| | GET/POST | `/cluster/cache` | read/write | 二进制缓存管理 | +| | GET | `/node/logs` | read | 本节点 worker 日志 | +| | GET | `/cluster/logs/export` | read | 导出全节点 worker 日志 | +| | GET | `/frpc/{version}` | read | 节点间 frpc 二进制分发 | +| **账号** | GET | `/me` | read | 当前身份 | +| | GET/POST | `/users` | admin | 用户列表/创建 | +| | PUT/DELETE | `/users/{name}` | admin | 修改/删除用户 | +| | GET/POST | `/apikeys` | admin | API Key 列表/创建 | +| | DELETE | `/apikeys/{id}` | admin | 吊销 API Key | + +> 集群管理 API 的详细说明(请求体、响应格式、错误码、示例)见 [docs/cluster-api.md](docs/cluster-api.md)。 + +## 集群模式 + +多个 webui4frpc 节点可组成令牌环集群协同工作: + +- **创建集群**:首个节点 `CreateCluster` 成为 leader,生成准入密钥(nodeKey) +- **加入集群**:在集群页复制对端的 nodeKey,填入「加入集群」对话框(对端地址 + 密钥) +- **任务分发**:在任意节点画布上配置 `localOnly=false` 的转发并保存 → 画布差异判断生成命令 → 令牌携带 → 负载最低节点摘取 → 拉起 frpc worker +- **容错**:节点宕机 → 自动检测 → 环自愈(跳过死亡节点 / leader failover);重启 → 自动重联 +- **退出集群**:在集群页「退出集群」→ 本节点脱离为 standalone,不自动重联 + +集群页展示:环拓扑(self/leader 标记)、令牌轮次、节点负载、待办任务、活跃转发拓扑(含 owner 归属)、增量事件日志。 + +## 集群演示 + +```bash +# 构建 +go build -o deploy/artifacts/webui4frpc ./cmd/webui4frpc + +# 拉起 4 节点集群 + 1 孤立节点(Docker) +cd deploy && bash run-cluster.sh + +# 运行转发测试(提交 4 条转发 → 验证分发 → 撤销) +bash test-forward.sh +``` + +节点端口映射: + +| 节点 | 端口 | 角色 | |---|---|---| -| GET | `/api/manager/status` | 总览状态 | -| GET/PUT | `/api/manager/canvas` | 读写画布 | -| GET/PUT | `/api/manager/settings` | 读写运行策略 | -| POST | `/api/manager/binary/install` | 一键安装 frpc | -| POST | `/api/manager/profiles/{name}/start\|stop\|restart` | worker 启停 | -| GET | `/api/manager/profiles/{name}/config\|logs` | 查看配置/日志 | +| node-a | 7501 | 集群 leader(seed,有 frpc 缓存) | +| node-b | 7502 | 集群成员 | +| node-c | 7503 | 集群成员 | +| node-d | 7504 | 集群成员 | +| node-e | 7505 | 孤立节点(standalone,未加入集群) | + +所有节点 `-user=admin -password=admin123`。 ## 测试 ```bash +# 后端 go test ./... -# 前端 + +# 前端类型检查 cd web && npm run type-check ``` diff --git a/deploy/run-cluster.sh b/deploy/run-cluster.sh index 7e60a34..e4deba3 100755 --- a/deploy/run-cluster.sh +++ b/deploy/run-cluster.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# w4f demo cluster: node-a seeds frpc cache, node-b/c auto-pull from neighbors (M6). +# w4f demo cluster: 4-node ring (a=leader, b/c/d join) + 1 isolated standalone (e). set -euo pipefail cd "$(dirname "$0")" @@ -10,7 +10,7 @@ VER=0.70.1 docker network inspect $NET >/dev/null 2>&1 || docker network create $NET # clean + seed node-a cache with real frpc binary -for d in node-a node-b node-c; do rm -rf data/$d 2>/dev/null || true; mkdir -p data/$d; done +for d in node-a node-b node-c node-d node-e; do rm -rf data/$d 2>/dev/null || true; mkdir -p data/$d; done mkdir -p data/node-a/bin/frpc-$VER [ -x data/node-a/bin/frpc-$VER/frpc ] || cp $FRP/frpc data/node-a/bin/frpc-$VER/frpc chmod +x data/node-a/bin/frpc-$VER/frpc @@ -30,11 +30,31 @@ docker run -d --name w4f-frps3 --user $(id -u):$(id -g) --network $NET --network echo "== starting node-a (seed, has frpc cache) ==" docker run -d --name w4f-node-a --user $(id -u):$(id -g) --network $NET --network-alias node-a -e W4F_HOST=node-a -p 7501:7500 -p 17401:7400 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-a:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc -echo "== starting node-b (no frpc; peer node-a) ==" -docker run -d --name w4f-node-b --user $(id -u):$(id -g) --network $NET --network-alias node-b -e W4F_HOST=node-b -p 7502:7500 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-b:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc -peer=node-a:7500 +# Wait for node-a to be ready and fetch its admission key. Nodes b/c/d join +# via node-a, so they need node-a's nodeKey (-join-key) to pass the sponsor +# verification in handleClusterJoin (403 on mismatch/empty). Node-e is isolated. +echo "== fetching node-a join key ==" +KEY="" +for _ in $(seq 1 15); do + KEY=$(curl -fsS -u admin:admin123 http://localhost:7501/api/manager/cluster/ring 2>/dev/null \ + | python3 -c "import sys,json; print(json.load(sys.stdin).get('nodeKey',''))" 2>/dev/null || true) + [ -n "$KEY" ] && break + sleep 1 +done +if [ -z "$KEY" ]; then echo "FATAL: could not fetch node-a join key"; docker logs w4f-node-a 2>&1 | tail 20; exit 1; fi +echo " node-a join key: $KEY" -echo "== starting node-c (no frpc; peer node-b) ==" -docker run -d --name w4f-node-c --user $(id -u):$(id -g) --network $NET --network-alias node-c -e W4F_HOST=node-c -p 7503:7500 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-c:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc -peer=node-b:7500 +echo "== starting node-b (no frpc; joins via node-a) ==" +docker run -d --name w4f-node-b --user $(id -u):$(id -g) --network $NET --network-alias node-b -e W4F_HOST=node-b -p 7502:7500 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-b:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc -peer=node-a:7500 -join-key=$KEY + +echo "== starting node-c (no frpc; joins via node-a) ==" +docker run -d --name w4f-node-c --user $(id -u):$(id -g) --network $NET --network-alias node-c -e W4F_HOST=node-c -p 7503:7500 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-c:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc -peer=node-a:7500 -join-key=$KEY + +echo "== starting node-d (no frpc; joins via node-a) ==" +docker run -d --name w4f-node-d --user $(id -u):$(id -g) --network $NET --network-alias node-d -e W4F_HOST=node-d -p 7504:7500 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-d:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc -peer=node-a:7500 -join-key=$KEY + +echo "== starting node-e (isolated standalone, not in cluster) ==" +docker run -d --name w4f-node-e --user $(id -u):$(id -g) --network $NET --network-alias node-e -e W4F_HOST=node-e -p 7505:7500 -v $PWD/artifacts/webui4frpc:/app/webui4frpc:ro -v $PWD/data/node-e:/data -v $FRP:/app/frp:ro --restart unless-stopped --entrypoint /app/webui4frpc debian:bookworm-slim -addr=0.0.0.0:7500 -user=admin -password=admin123 -workdir=/data -frpc=/app/frp/frpc echo "== cluster up ==" docker ps --filter "name=w4f-" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" \ No newline at end of file diff --git a/deploy/test-forward.sh b/deploy/test-forward.sh index dccc2ff..9f6c109 100755 --- a/deploy/test-forward.sh +++ b/deploy/test-forward.sh @@ -20,7 +20,9 @@ AUTH=admin:admin123 A=http://localhost:7501 B=http://localhost:7502 C=http://localhost:7503 -NODE_PORTS=("$A" "$B" "$C") +D=http://localhost:7504 +E=http://localhost:7505 +NODE_PORTS=("$A" "$B" "$C" "$D" "$E") RESULTS=$(mktemp -t w4f-results.XXXX) trap 'rm -f "$RESULTS"' EXIT @@ -46,11 +48,31 @@ if ! docker ps --format '{{.Names}}' | grep -q '^w4f-node-a$'; then fi bash "$PWD/start-mock-frps.sh" >/dev/null 2>&1 || true -# ---- 1. confirm ring has 3 nodes ---- -echo "[1] cluster ring health" -RING=$(cget "$A" /cluster/ring) -NN=$(py 'len(d.get("nodes",[]))' <<< "$RING") -if [ "$NN" -ge 3 ]; then ok "ring has $NN nodes"; else fail "ring has $NN nodes (expected ≥3)"; exit 1; fi +# ---- 1. confirm ring has 5 nodes (wait for convergence) ---- +echo "[1] cluster ring health (expect 4 nodes)" +deadline=$(( $(date +%s) + 30 )) +NN=0 +while [ $(date +%s) -lt $deadline ]; do + RING=$(cget "$A" /cluster/ring) + NN=$(py 'len(d.get("nodes",[]))' <<< "$RING") + if [ "$NN" -ge 4 ]; then break; fi + sleep 1 +done +if [ "$NN" -ge 4 ]; then ok "ring has $NN nodes"; else fail "ring has $NN nodes (expected ≥4)"; exit 1; fi + +# ---- 1.5 join key security (wrong key → 403, correct key present) ---- +echo "[1.5] join key security" +KEY=$(py 'd.get("nodeKey","")' <<< "$RING") +if [ -n "$KEY" ]; then ok "nodeKey present in snapshot (${KEY:0:8}…)"; else fail "no nodeKey in ring snapshot"; fi +CODE=$(curl -s -o /dev/null -w "%{http_code}" -X POST -u "$AUTH" -H 'Content-Type: application/json' \ + --data '{"id":"evil","addr":"evil:7500","version":"0.1.0","joinKey":"wrong-key"}' \ + "$A/api/manager/cluster/join") +if [ "$CODE" = "403" ]; then ok "wrong join key → 403 (rejected)"; else fail "wrong join key → HTTP $CODE (expected 403)"; fi +# empty key → 403 too +CODE2=$(curl -s -o /dev/null -w "%{http_code}" -X POST -u "$AUTH" -H 'Content-Type: application/json' \ + --data '{"id":"evil","addr":"evil:7500","version":"0.1.0","joinKey":""}' \ + "$A/api/manager/cluster/join") +if [ "$CODE2" = "403" ]; then ok "empty join key → 403 (rejected)"; else fail "empty join key → HTTP $CODE2 (expected 403)"; fi # ---- 2. snapshot original canvas (for cleanup/restore) ---- echo "[2] snapshot canvas" diff --git a/docs/cluster-api.md b/docs/cluster-api.md new file mode 100644 index 0000000..30501bc --- /dev/null +++ b/docs/cluster-api.md @@ -0,0 +1,363 @@ +# webui4frpc 集群管理 API + +所有接口前缀 `/api/manager`,使用 Basic Auth 认证(`-user` / `-password` 启动参数)。 + +权限分级: +- **read**:viewer + read-scope API key + admin 均可访问 +- **write**:write-scope API key + admin(启动参数的 Basic Auth 凭证解析为 admin) + +--- + +## 1. 查看集群状态 + +### `GET /cluster/ring` + +返回当前节点的令牌环快照(领导者、轮次、节点表、待办任务、拓扑、日志、本机 nodeKey)。 + +**权限**:read + +**响应**: +```json +{ + "selfId": "node-a:7500", + "leaderId": "node-a:7500", + "cycle": 152, + "lastSync": 1787141340, + "roundDelayMs": 2000, + "nodeKey": "ed67ca6b181b3cf2...", + "nodes": [ + { + "id": "node-a:7500", + "addr": "node-a:7500", + "isLeader": true, + "alive": true, + "load": { "memPct": 17.5, "netPct": 10, "forwards": 0 }, + "version": "0.1.0", + "nodeKey": "ed67ca6b181b3cf2...", + "lastSeen": 1787141340 + } + ], + "pending": [], + "topology": [ + { + "id": "t1", + "local": { "name": "web", "port": 8080 }, + "remote": { "name": "frps", "addr": "frps:7000" }, + "link": { "remotePort": 8080 }, + "owner": "node-b:7500", + "active": true + } + ], + "log": [ + { "seq": 1, "node": "node-a:7500", "kind": "leader.change", "detail": {"leader":"node-a:7500"}, "ts": 1787141300 } + ] +} +``` + +**字段说明**: +| 字段 | 说明 | +|---|---| +| `selfId` | 本节点 ID(`host:port`) | +| `leaderId` | 当前 leader 节点 ID | +| `cycle` | 令牌环当前轮次(每完成一圈 +1) | +| `roundDelayMs` | 轮次延迟(毫秒),leader 每轮探测后更新 | +| `nodeKey` | 本节点的准入密钥(新节点加入本节点时需提供此密钥) | +| `nodes[]` | 环中所有节点(含离线的),按插入顺序排列(即环顺序) | +| `nodes[].nodeKey` | 该节点的准入密钥(随令牌环交换,用于宕机重联) | +| `pending[]` | 待摘取的转发任务 | +| `topology[]` | 活跃转发拓扑(含 owner 归属) | +| `log[]` | 集群事件日志(增量同步后的本地视图) | + +--- + +## 2. 创建集群 + +### `POST /cluster/create` + +将本节点重置为全新的独立 leader(单节点环)。生成准入密钥(nodeKey),其他节点可通过此密钥加入。 + +**权限**:write + +**前置条件**:本节点不能是多人环成员(已是成员返回 409)。 + +**请求体**:无 + +**响应**:同 `GET /cluster/ring` 的快照 + +**错误**: +| 状态码 | 说明 | +|---|---| +| 409 | 已是多人环成员,需先脱离集群 | + +**示例**: +```bash +curl -X POST -u admin:admin123 http://localhost:7501/api/manager/cluster/create +``` + +--- + +## 3. 加入集群(本节点发起) + +### `POST /cluster/join-ring` + +本节点作为新节点,向目标对端发起加入请求。对端验证密钥后将本节点插入环,返回完整环状态供本节点采纳。 + +**权限**:write + +**前置条件**:本节点不能已是多人环成员(已是成员返回 409)。 + +**请求体**: +```json +{ + "addr": "192.168.1.10:7500", + "joinKey": "ed67ca6b181b3cf2..." +} +``` +| 字段 | 说明 | +|---|---| +| `addr` | 对端节点的真实可路由地址(IP:port 或域名:port) | +| `joinKey` | 对端节点的 nodeKey(从对端的集群页或 `GET /cluster/ring` 获取) | + +**响应**:同 `GET /cluster/ring` 的快照 + +**错误**: +| 状态码 | 说明 | +|---|---| +| 400 | `addr` 或 `joinKey` 为空 | +| 409 | 已是多人环成员 | +| 502 | 对端不可达或加入失败(密钥错误返回 403、网络超时等) | + +**示例**: +```bash +curl -X POST -u admin:admin123 http://localhost:7502/api/manager/cluster/join-ring \ + -H 'Content-Type: application/json' \ + -d '{"addr":"192.168.1.10:7500","joinKey":"ed67ca6b181b3cf2..."}' +``` + +--- + +## 4. 加入集群(对端接收) + +### `POST /cluster/join` + +**节点间内部接口**:新节点通过 `POST /cluster/join-ring` 间接调用此接口。也可直接调用(例如用 curl 模拟新节点加入)。 + +接收新节点的加入请求,验证密钥后将新节点排在自己后面(成为自己的后继),返回环状态。 + +**权限**:write + +**请求体**(`JoinInfo`): +```json +{ + "id": "node-b:7500", + "addr": "node-b:7500", + "version": "0.1.0", + "cache": ["0.54.0"], + "joinKey": "ed67ca6b181b3cf2..." +} +``` + +**响应**: +```json +{ + "state": { /* 完整 State(环状态) */ } +} +``` + +**错误**: +| 状态码 | 说明 | +|---|---| +| 400 | JSON 解析失败 | +| 403 | `joinKey` 为空或不匹配本节点的 nodeKey | + +--- + +## 5. 提交转发任务 + +### `POST /cluster/task` + +将一个转发任务附加到令牌,由负载最低的节点摘取并创建 frpc worker。 + +**权限**:write + +**请求体**: +```json +{ + "local": { "name": "web", "port": 8080, "type": "tcp" }, + "remote": { "name": "frps", "addr": "frps:7000", "enabled": true }, + "link": { "remotePort": 8080, "localPort": 8080 } +} +``` + +**响应**: +```json +{ + "task": { + "id": "t1", + "local": { "name": "web", "port": 8080, "type": "tcp" }, + "remote": { "name": "frps", "addr": "frps:7000" }, + "link": { "remotePort": 8080 }, + "created": 1787141340 + } +} +``` + +任务随令牌环行,负载最低的节点摘取后: +1. 持久化 local/remote/link 到本地 store +2. 拉起 frpc worker +3. 写入拓扑(`topology[].owner = 摘取节点`) +4. 下一轮令牌全网收敛一致 + +--- + +## 6. 移除节点 + +### `POST /cluster/node-remove` + +发布 `node.remove` 命令到令牌。令牌传递到被移除节点自身时,该节点执行自移除: +1. 将自己负责的转发任务重新追加为待办 +2. 修改拓扑与转发链、移除自身 +3. 令牌传递给自身原本的下一家 +4. 脱离后清空本地集群视图(仅保留 localOnly 转发) + +**权限**:write + +**请求体**: +```json +{ "id": "node-c:7500" } +``` + +**响应**: +```json +{ + "task": { + "id": "t2", + "type": "node.remove", + "created": 1787141345 + } +} +``` + +被移除节点脱离集群后: +- `nodeKey` 清空(不再有效) +- `ClusterPeers` 清空(重启不自动重联) +- 本地画布仅保留 localOnly 转发 + +--- + +## 7. 令牌中继 + 心跳 + +### `POST /cluster/token` + +**节点间内部接口**:环上节点之间传递令牌 + leader 上邻居心跳探测。 + +**权限**:write + +**两种模式**: + +#### 令牌传递(有 body) +请求体为 `cluster.Token` JSON。本节点: +1. `OnToken`:采纳令牌中的集群状态 → 运行命令 → 追加自身信息 +2. leader → `Send`(bump cycle + 转发);非 leader → `Forward`(转发) +3. 异步转发,立即返回 200 + 更新后的 token + +**响应**:更新后的 `Token` JSON + +#### 心跳探测(空 body) +leader 的上邻居每秒探测 leader 存活。空 body → 心跳。 + +- leader 在线且为多人环 → `200 OK` +- leader 已重启/脱离(standalone ≤1 节点)→ `409 Conflict`(上邻居感知 leader 已退出 → 晋升自身为新 leader + StartRing) + +**错误**: +| 状态码 | 说明 | +|---|---| +| 409 | standalone 节点拒绝心跳(leader 已退出,触发 failover) | + +--- + +## 8. 集群节点 + 二进制缓存 + +### `GET /cluster/nodes` + +列出本节点及已注册的集群对端,含各自缓存的 frpc 版本。 + +**权限**:read + +**响应**: +```json +{ + "nodes": [ + { "addr": "node-a:7500", "version": "0.54.0", "cache": ["0.54.0", "0.53.0"] }, + { "addr": "node-b:7500", "version": "0.54.0", "cache": [] } + ] +} +``` + +### `GET /cluster/cache` + +查看本节点缓存的 frpc 版本详情。 + +**权限**:read + +### `POST /cluster/cache` + +裁剪缓存,保留最新 N 个版本。 + +**权限**:write(GET 为 read,POST 需 write) + +**请求体**: +```json +{ "keep": 3 } +``` + +--- + +## 9. 日志 + +### `GET /node/logs` + +返回本节点所有 frpc worker 的日志尾部。 + +**权限**:read + +**响应**: +```json +{ + "node": "node-a:7500", + "workers": [ + { "name": "frps", "remote": "frps", "state": "running", "lines": "..." } + ] +} +``` + +### `GET /cluster/logs/export` + +并行拉取所有 alive 节点的 worker 日志,聚合为 JSON 附件下载。不可达节点标记 `error` 但不中断。 + +**权限**:read + +**响应**:`Content-Disposition: attachment; filename="worker-logs.json"` + +--- + +## 宕机重联行为 + +节点宕机重启时的自动重联逻辑(**非 API 接口,内部行为**): + +1. **读取缓存拓扑**:启动时从 `store.Settings.ClusterPeers` 读取上次令牌周期持久化的对端列表(`[{addr, key}, ...]`) +2. **缓存优先于 `-peer`**:如有缓存拓扑,逐个尝试 rejoin(用对端的 key 认证);无缓存才用 `-peer` + `-join-key` 首次引导 +3. **重试**:每 10s 重试,5min 超时后回退 CreateCluster(standalone) +4. **显式脱离不重联**:通过 `POST /cluster/node-remove` 脱离集群时清除 `ClusterPeers` → 重启后不自动重联 + +--- + +## 容错行为 + +| 场景 | 检测机制 | 恢复动作 | +|---|---|---| +| 非leader节点宕机 | `forwardToNext` 发送失败 → MarkOffline → OfflineReassign | 环跳过死亡节点,任务重挂为待办 | +| leader 宕机(发送时) | `forwardToNext` 发送给 leader 失败 → MarkOffline | 上邻居晋升为新 leader + StartRing | +| leader 宕机(收到令牌后) | `WatchLeader` 心跳失败/409 → MarkOffline | 上邻居晋升 + StartRing(兜底) | +| leader 快速重启 | 心跳得到 409(standalone) | 上邻居晋升 + StartRing | +| 令牌丢失 | `WatchTokenLoss` 超时(LossTimeout) | leader 重发令牌 | diff --git a/go.mod b/go.mod index 9fd52c3..0b9f4d2 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,10 @@ module webui4frpc go 1.25.0 -require modernc.org/sqlite v1.55.0 +require ( + golang.org/x/crypto v0.55.0 + modernc.org/sqlite v1.55.0 +) require ( github.com/dustin/go-humanize v1.0.1 // indirect @@ -10,7 +13,7 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/ncruces/go-strftime v1.0.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect modernc.org/libc v1.74.1 // indirect modernc.org/mathutil v1.7.1 // indirect modernc.org/memory v1.11.0 // indirect diff --git a/go.sum b/go.sum index 8a1f4b4..87d2e80 100644 --- a/go.sum +++ b/go.sum @@ -12,13 +12,15 @@ github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOF github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M= +golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis= golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= modernc.org/cc/v4 v4.29.0 h1:CXgwL8cvxmyzBQZzbSl/6xFtMCryb6u8IOqDci39cgc= diff --git a/gui-test-screenshots/root___forwards.png b/gui-test-screenshots/root___forwards.png new file mode 100644 index 0000000..b378c03 Binary files /dev/null and b/gui-test-screenshots/root___forwards.png differ diff --git a/gui-test-screenshots/root___status.png b/gui-test-screenshots/root___status.png new file mode 100644 index 0000000..97a8507 Binary files /dev/null and b/gui-test-screenshots/root___status.png differ diff --git a/gui-test-screenshots/root__forwards.png b/gui-test-screenshots/root__forwards.png new file mode 100644 index 0000000..545330c Binary files /dev/null and b/gui-test-screenshots/root__forwards.png differ diff --git a/gui-test-screenshots/root__status.png b/gui-test-screenshots/root__status.png new file mode 100644 index 0000000..b378c03 Binary files /dev/null and b/gui-test-screenshots/root__status.png differ diff --git a/gui-test-screenshots/root_index.png b/gui-test-screenshots/root_index.png new file mode 100644 index 0000000..9fdb453 Binary files /dev/null and b/gui-test-screenshots/root_index.png differ diff --git a/internal/cluster/ring.go b/internal/cluster/ring.go index 988b8f9..99647f5 100644 --- a/internal/cluster/ring.go +++ b/internal/cluster/ring.go @@ -30,15 +30,24 @@ type Node struct { Version string `json:"version,omitempty"` Cache []string `json:"cache,omitempty"` LastSeen int64 `json:"lastSeen,omitempty"` + // NodeKey is this member's cluster admission key. It travels in the + // token so every node knows every peer's key — a crashed node can + // rejoin via ANY cached peer by presenting that peer's key. Without + // this, a rejoiner would only know its original sponsor's key (from + // the -join-key flag) and couldn't rejoin through a different peer. + NodeKey string `json:"nodeKey,omitempty"` } // Load is the combined load metric used to pick the task claimer. type Load struct { - MemPct float64 `json:"memPct"` - NetPct float64 `json:"netPct"` + MemPct float64 `json:"memPct"` + NetPct float64 `json:"netPct"` + Forwards int `json:"forwards,omitempty"` // active forwards owned by this node (primary signal) } -func (l Load) Score() float64 { return l.MemPct + l.NetPct } +// Score weights owned forwards heavily so the node with the fewest active +// forwards is picked first; mem/net only break ties at equal forward count. +func (l Load) Score() float64 { return float64(l.Forwards)*100 + l.MemPct + l.NetPct } // Task is a PENDING forward request circulated in the token. It carries the // intermediate forwarding intent (local/remote/link) — NOT a rendered frpc @@ -84,7 +93,6 @@ type State struct { PendingTasks map[string]*Task `json:"pendingTasks,omitempty"` // Topology: active forwards owned by members (full cluster view). Topology map[string]*TopoEntry `json:"topology,omitempty"` - Seq int64 `json:"seq"` } // Token is the circulating message: one physical token per cycle (single @@ -207,8 +215,42 @@ func (s *State) LowestAlive() *Node { } func (s *State) NextTaskID() string { - s.Seq++ - return fmt.Sprintf("t%d", s.Seq) + // Collision-free id allocation by scanning the ids actually in flight + // (pending + topology) and taking max+1. The ring is mutually exclusive + // (one token holder at a time), so when a node mints an id it has the + // authoritative full view — scanning existing ids guarantees a fresh id. + // n is tiny (handful of forwards). No Seq counter is needed: a cross-node + // Seq was previously adopted wholesale on every OnToken (e.state = tk.State), + // which dropped local increments and could regress below an id still in use, + // recycling it and overwriting an active topology entry. + max := int64(0) + for id := range s.PendingTasks { + if n := taskIDNum(id); n > max { + max = n + } + } + for _, e := range s.Topology { + if n := taskIDNum(e.TaskID); n > max { + max = n + } + } + return fmt.Sprintf("t%d", max+1) +} + +// taskIDNum extracts the numeric suffix of a task id "t12" -> 12 (0 if it does +// not parse). Used only to keep NextTaskID collision-free. +func taskIDNum(id string) int64 { + if len(id) < 2 || id[0] != 't' { + return 0 + } + var n int64 + for _, c := range id[1:] { + if c < '0' || c > '9' { + return 0 + } + n = n*10 + int64(c-'0') + } + return n } // AddRemoveNode publishes a node-removal command via the token; the target diff --git a/internal/cluster/ring_engine.go b/internal/cluster/ring_engine.go index ab93dcb..8cdb3d0 100644 --- a/internal/cluster/ring_engine.go +++ b/internal/cluster/ring_engine.go @@ -4,6 +4,7 @@ package cluster import ( "context" + "encoding/json" "fmt" "log" "sync" @@ -30,6 +31,20 @@ type Engine struct { Cache []string Handler Handler + // nodeKey is this node's cluster admission key. A newcomer must present + // the sponsor's nodeKey (as JoinInfo.JoinKey) to join via it. Persisted + // in store.Settings; stable across restarts so -join-key stays valid. + // Generated lazily: on CreateCluster (creator) or AdoptState (joiner), + // NOT at startup — a fresh node that hasn't created/joined has no key. + // Cleared on detachAsStandalone (leaving the cluster invalidates the key). + nodeKey string + keyPersist func(key string) error // persists nodeKey to store (nil in tests) + // peerPersist saves the cached peer list (JSON of [{addr,key},...]) so a + // crashed node can auto-rejoin on restart via any cached peer. Called on + // every token cycle (OnToken) and on AdoptState. Cleared (pass "") on + // detachAsStandalone — an explicit leave must NOT auto-rejoin. + peerPersist func(peersJSON string) error + state State // myAddr maps our Node ID to the address peers dial. myAddr string @@ -81,10 +96,11 @@ type Engine struct { // NewEngine builds the engine; state holds this node as initial leader unless // a peer list says otherwise (creation node starts the ring). -func NewEngine(id, addr, user, pass, version string, cache []string, h Handler, send func(ctx context.Context, next string, tk *Token) error, selfAddr string, isLeader bool) *Engine { +func NewEngine(id, addr, user, pass, version string, cache []string, h Handler, send func(ctx context.Context, next string, tk *Token) error, selfAddr string, isLeader bool, nodeKey string) *Engine { e := &Engine{ ID: id, Addr: addr, User: user, Pass: pass, Version: version, Cache: cache, Handler: h, + nodeKey: nodeKey, state: State{ LeaderID: "", Cycle: 0, @@ -99,7 +115,7 @@ func NewEngine(id, addr, user, pass, version string, cache []string, h Handler, published: map[string]struct{}{}, } n := Node{ID: id, Addr: selfAddr, Alive: true, IsLeader: isLeader, - Load: Load{MemPct: 10, NetPct: 10}, Version: version, Cache: cache} + Load: Load{MemPct: 10, NetPct: 10}, Version: version, Cache: cache, NodeKey: nodeKey} e.state.UpsertNode(n) return e } @@ -121,12 +137,21 @@ func (e *Engine) myNode() Node { return e.state.Nodes[i] } -// loadSnapshot reads our runtime load (mem+net) from the handler. +// loadSnapshot reads our runtime load. The primary signal is the count of +// forwards this node currently owns (Forwards) — this is what makes the +// lowest-load claim actually distribute tasks across nodes instead of the +// leader hogging every claimable task in a single token pass (its stored +// load was never refreshed between claims, so it stayed "lowest"). mem/net +// from the handler only break ties at equal forward count. func (e *Engine) loadSnapshot() Load { + l := Load{Forwards: len(e.state.ForwardsOwnedBy(e.ID))} if e.Handler != nil { - return e.Handler.RuntimeLoad() + b := e.Handler.RuntimeLoad() + l.MemPct, l.NetPct = b.MemPct, b.NetPct + } else { + l.MemPct, l.NetPct = 20, 20 } - return Load{MemPct: 20, NetPct: 20} + return l } // OnToken is the SINGLE-ROUND token handler. Per the authoritative design @@ -153,7 +178,15 @@ func (e *Engine) OnToken(ctx context.Context, tk *Token) (*Token, error) { log.Printf("ring[%s] OnToken cycle=%d", e.ID, tk.Cycle) // Parallel rhythm timer: operations run while the pace clock ticks. - rhythm := time.NewTimer(ringHopDelay) + // Delay scales with alive node count (more nodes → lower per-hop delay, + // keeping the round time ~constant for real-time sync). + alive := 0 + for i := range tk.State.Nodes { + if tk.State.Nodes[i].Alive { + alive++ + } + } + rhythm := time.NewTimer(hopDelayFor(alive)) defer rhythm.Stop() // (a) ADOPT the cluster picture. Incoming state is authoritative: joins @@ -219,7 +252,7 @@ func (e *Engine) OnToken(ctx context.Context, tk *Token) (*Token, error) { ID: e.ID, Addr: e.myAddr, Alive: true, IsLeader: e.state.LeaderID == e.ID, Load: e.loadSnapshot(), - Version: e.Version, Cache: e.Cache, + Version: e.Version, Cache: e.Cache, NodeKey: e.nodeKey, }) } @@ -243,6 +276,8 @@ func (e *Engine) OnToken(ctx context.Context, tk *Token) (*Token, error) { // Publish our consolidated state back into the token. tk.State = e.state e.lastSyncAt = time.Now().Unix() + // Persist the cached peer list so a crash/restart can auto-rejoin. + e.persistPeers() // Record the tasks leaving on this token so their absence from the next // incoming token is recognized as "consumed downstream" rather than // "never sent" — otherwise the localPending re-merge above would @@ -352,16 +387,33 @@ func (e *Engine) runCommands(ctx context.Context, tk *Token) error { } } } + wasLeader := e.state.LeaderID == e.ID if succ, ok := e.state.AliveSuccessor(e.ID); ok && succ != e.ID { e.removedNext = succ } e.state.SelfRemove(e.ID) e.selfRemoved = true + // Leader failover: if we were the leader, the ring would run + // leaderless after our departure — LeaderID would be "" (SelfRemove + // clears it), no node would call Send (cycle never advances), and + // WatchLeader can't find AlivePredecessor("") to promote a + // successor. Designate the captured successor as the new leader + // so the token carries a valid LeaderID downstream; the successor + // then calls Send on its turn and the ring keeps cycling. + if wasLeader && e.removedNext != "" { + e.state.LeaderID = e.removedNext + for i := range e.state.Nodes { + e.state.Nodes[i].IsLeader = e.state.Nodes[i].ID == e.removedNext + } + if e.Log != nil { + _, _ = e.Log.Append(e.ID, LogLeaderChange, map[string]string{"leader": e.removedNext}) + } + } if e.Log != nil { _, _ = e.Log.Append(e.ID, LogNodeLeave, map[string]string{"node": e.ID}) } - log.Printf("ring[%s] self-removed from cluster (token command %s); next=%s", - e.ID, claimed.ID, e.removedNext) + log.Printf("ring[%s] self-removed from cluster (token command %s); next=%s leader=%s", + e.ID, claimed.ID, e.removedNext, e.state.LeaderID) continue } if claimed.RemoveNode != "" { @@ -376,6 +428,20 @@ func (e *Engine) runCommands(ctx context.Context, tk *Token) error { e.ID, claimed.ID, claimed.RemoveNode) continue } + // Defense-in-depth against duplicate claims: if an active topology + // entry for this forward already exists (owned by us or another + // node), this task is a stale resurrected copy or a multi-token + // collision — drop it WITHOUT spawning, so we never end up with an + // orphaned worker running a forward the topology attributes to a + // different node. Safe for OfflineReassign: that path deletes the + // topology entry BEFORE re-queueing, so TopologyOwner returns "" and + // the legitimate re-claim passes through. + if owner := e.state.TopologyOwner(claimed); owner != "" { + log.Printf("ring[%s] drop duplicate task %s: %s→%s:%d already owned by %s", + e.ID, claimed.ID, claimed.Local.Name, claimed.Remote.Name, + claimed.Link.RemotePort, owner) + continue + } if e.Handler != nil { if err := e.Handler.Claim(ctx, claimed); err != nil { e.state.PendingTasks[claimed.ID] = claimed @@ -389,6 +455,13 @@ func (e *Engine) runCommands(ctx context.Context, tk *Token) error { }) } e.state.AddTopology(claimed, e.ID) + // Refresh our own stored load so the next selfIsLowest check in this + // same pass sees the incremented Forwards count — otherwise we'd keep + // claiming (stored load stays stale until we forward the token) and + // hog every claimable task, defeating lowest-load distribution. + if i := e.state.Find(e.ID); i >= 0 { + e.state.Nodes[i].Load = e.loadSnapshot() + } } return nil } @@ -397,29 +470,72 @@ func (e *Engine) runCommands(ctx context.Context, tk *Token) error { // It is the transport hook used by the HTTP handler after OnToken. If this // node just self-removed, its ID is no longer in state.Nodes so // AliveSuccessor would fail — use the original successor captured before -// removal (plan §移除节点 step 3: "令牌传递给自身原本的下一家"). +// removal (plan §移除节点 step 3: "令牌传递给自身原本的下一家"). Otherwise +// delegates to forwardToNext which handles send-failure → mark offline → +// reassign → try next hop (plan §故障自幽). func (e *Engine) Forward(ctx context.Context, tk *Token) error { if e.removedNext != "" { next := e.removedNext e.removedNext = "" + var err error if e.send != nil { log.Printf("ring[%s] forward (self-removed) cycle=%d to %s", e.ID, tk.Cycle, next) - return e.send(ctx, next, tk) + err = e.send(ctx, next, tk) } - return nil + // After handing off the token to the old successor, detach to a + // fresh standalone state so Snapshot() no longer serves the old + // cluster picture (members, topology, log) after self-leave. The + // token already carries the published state (with the new leader if + // we designated one); the local reset does not affect the sent token. + if e.selfRemoved { + e.detachAsStandalone() + } + return err } - next, ok := e.state.AliveSuccessor(e.ID) - if !ok { - return nil // single-node ring + return e.forwardToNext(ctx, tk) +} + +// detachAsStandalone resets the engine to a fresh standalone state after a +// self-leave has completed (the token was handed to the old successor). This +// prevents Snapshot() from serving the old cluster picture — other members, +// the full topology, pending tasks, and the cluster log — after the node has +// permanently left the ring. Equivalent to CreateCluster minus the IsMember +// guard (we are already detached) plus a fresh log (old cluster events stale). +func (e *Engine) detachAsStandalone() { + // Leaving the cluster invalidates this node's admission key — a + // standalone node has no key until it creates/joins again. Clear both + // the in-memory key and the persisted copy (so a restart doesn't + // resurrect a stale key for a node that's no longer in any cluster). + e.nodeKey = "" + if e.keyPersist != nil { + _ = e.keyPersist("") } - if next == e.ID { - return nil // never forward to ourselves + // Clear the cached peer list so this node does NOT auto-rejoin on + // restart — it explicitly left the cluster. + e.clearPeers() + e.state = State{ + LeaderID: e.ID, + PendingTasks: map[string]*Task{}, + Topology: map[string]*TopoEntry{}, + RoundDelay: 2 * time.Second, } - if e.send != nil { - log.Printf("ring[%s] forward cycle=%d to %s", e.ID, tk.Cycle, next) - return e.send(ctx, next, tk) + e.state.UpsertNode(Node{ + ID: e.ID, Addr: e.myAddr, Alive: true, IsLeader: true, + Load: e.loadSnapshot(), Version: e.Version, Cache: e.Cache, NodeKey: e.nodeKey, + }) + e.selfRemoved = false + e.removedNext = "" + e.lastRingStart = time.Time{} + e.lastTokenAt = 0 + e.lastSyncAt = 0 + e.inflight.clear() + e.failCount = map[string]int{} + e.published = map[string]struct{}{} + if e.Log != nil { + e.Log = NewClusterLog() + _, _ = e.Log.Append(e.ID, LogLeaderChange, map[string]string{"leader": e.ID}) } - return nil + log.Printf("ring[%s] detached to standalone after self-leave", e.ID) } // Snapshot returns a serializable view of the ring for the frontend. @@ -433,6 +549,9 @@ type RingSnapshot struct { Pending []*Task `json:"pending"` Topology []*TopoEntry `json:"topology"` Log []LogEntry `json:"log,omitempty"` + // NodeKey: this node's cluster admission key. The cluster page displays it + // so the operator can copy it for newcomers joining via this node. + NodeKey string `json:"nodeKey,omitempty"` } func (e *Engine) Snapshot() *RingSnapshot { @@ -445,6 +564,7 @@ func (e *Engine) Snapshot() *RingSnapshot { Nodes: e.state.Nodes, Pending: e.state.PendingList(), Topology: e.state.TopologyList(), + NodeKey: e.nodeKey, } if e.Log != nil { snap.Log = e.Log.Snapshot() @@ -509,6 +629,10 @@ type JoinInfo struct { Addr string `json:"addr"` Version string `json:"version,omitempty"` Cache []string `json:"cache,omitempty"` + // JoinKey is the sponsor's nodeKey — the newcomer must present it to + // prove it is authorized to join via the sponsor. The sponsor verifies + // ji.JoinKey == e.nodeKey; mismatch → 403. + JoinKey string `json:"joinKey,omitempty"` } // injectPendingJoin writes every queued newcomer into state right after @@ -572,10 +696,17 @@ func (e *Engine) AdoptState(s State) { e.state.PendingTasks[id] = t } e.state.UpsertNode(Node{ID: e.ID, Addr: e.myAddr, Alive: true, - Load: e.loadSnapshot(), Version: e.Version, Cache: e.Cache}) + Load: e.loadSnapshot(), Version: e.Version, Cache: e.Cache, NodeKey: e.nodeKey}) if e.Log != nil { e.Log.Append(e.ID, LogNodeJoin, map[string]string{"node": e.ID, "addr": e.myAddr}) } + // Newcomer generates its own admission key after joining, so future + // nodes can join via it. Per the user's design: "每个节点加入集群后 + // 生成自身密钥". A node that already has a persisted key (restart + // re-join) keeps it. + e.ensureNodeKey() + // Persist the cached peer list from the adopted ring state. + e.persistPeers() } // CreateCluster reseeds this node as a fresh standalone leader (single-node @@ -588,17 +719,17 @@ func (e *Engine) CreateCluster() error { if e.IsMember() { return fmt.Errorf("node is a multi-node cluster member; leave first") } + e.ensureNodeKey() e.state = State{ LeaderID: e.ID, Cycle: 0, PendingTasks: map[string]*Task{}, Topology: map[string]*TopoEntry{}, RoundDelay: 2 * time.Second, - Seq: e.state.Seq, } e.state.UpsertNode(Node{ ID: e.ID, Addr: e.myAddr, Alive: true, IsLeader: true, - Load: e.loadSnapshot(), Version: e.Version, Cache: e.Cache, + Load: e.loadSnapshot(), Version: e.Version, Cache: e.Cache, NodeKey: e.nodeKey, }) e.selfRemoved = false e.removedNext = "" @@ -652,6 +783,80 @@ func (e *Engine) HasTask(local, remote string, port int) bool { // IsLeader reports whether this node is the current ring leader. func (e *Engine) IsLeader() bool { return e.state.LeaderID == e.ID } +// NodeKey returns this node's cluster admission key (for the frontend to +// display so the operator can copy it for newcomers). +func (e *Engine) NodeKey() string { return e.nodeKey } + +// SetKeyPersist installs the callback used to persist the nodeKey to durable +// storage (store.SetNodeKey). Called once from main.go after NewEngine. Tests +// leave it nil — ensureNodeKey still generates the key in-memory. +func (e *Engine) SetKeyPersist(fn func(key string) error) { e.keyPersist = fn } + +// SetPeerPersist installs the callback used to persist the cached peer list +// to durable storage (store.SetClusterPeers). Called once from main.go. +func (e *Engine) SetPeerPersist(fn func(peersJSON string) error) { e.peerPersist = fn } + +// persistPeers extracts all alive peers (addr + nodeKey, excluding self) +// from the current ring state and persists them via the peerPersist callback. +// Called on every token cycle (OnToken) and on AdoptState so a crashed node +// always has the latest peer list to rejoin through. Skipped for standalone +// (single-node) rings — a standalone node has no peers to cache. +func (e *Engine) persistPeers() { + if e.peerPersist == nil { + return + } + type peerEntry struct { + Addr string `json:"addr"` + Key string `json:"key"` + } + var peers []peerEntry + for _, n := range e.state.Nodes { + if n.ID == e.ID || !n.Alive { + continue + } + if n.Addr == "" || n.NodeKey == "" { + continue + } + peers = append(peers, peerEntry{Addr: n.Addr, Key: n.NodeKey}) + } + if len(peers) == 0 { + return // standalone or all-offline: don't overwrite a good cache + } + data, err := json.Marshal(peers) + if err != nil { + return + } + if err := e.peerPersist(string(data)); err != nil { + log.Printf("ring[%s] persist cluster peers failed: %v", e.ID, err) + } +} + +// clearPeers wipes the cached peer list (called from detachAsStandalone so +// an explicit leave does NOT auto-rejoin on restart). +func (e *Engine) clearPeers() { + if e.peerPersist != nil { + _ = e.peerPersist("") + } +} + +// ensureNodeKey generates a random admission key if this node doesn't have one +// yet, and persists it via the keyPersist callback (so it survives restarts). +// Called from CreateCluster (the creator generates a key so others can join +// via it) and AdoptState (a newcomer generates its own key after joining, so +// future nodes can join via it). Per the user's design: "每个节点加入集群后 +// 生成自身密钥" — the key is born with cluster membership, not at startup. +func (e *Engine) ensureNodeKey() { + if e.nodeKey != "" { + return + } + e.nodeKey = GenerateNodeKey() + if e.keyPersist != nil { + if err := e.keyPersist(e.nodeKey); err != nil { + log.Printf("ring[%s] persist nodeKey failed: %v", e.ID, err) + } + } +} + // IsMember reports whether this node is currently an active multi-node member // (self is in the ring alongside others). Used by the create/join gates to // refuse actions that would split an active ring. A detached node (self not diff --git a/internal/cluster/ring_engine_test.go b/internal/cluster/ring_engine_test.go index 3c95896..06649bf 100644 --- a/internal/cluster/ring_engine_test.go +++ b/internal/cluster/ring_engine_test.go @@ -3,6 +3,8 @@ package cluster import ( "context" "testing" + + "webui4frpc/internal/store" ) type fakeHandler struct { @@ -33,7 +35,7 @@ func sendNull(ctx context.Context, next string, tk *Token) error { return nil } // task gets claimed (lowest load = only node). func TestSingleNodeCycle(t *testing.T) { eng := NewEngine("n1", "n1:7500", "u", "p", "0.71.0", []string{"0.71.0"}, - &fakeHandler{load: Load{MemPct: 30, NetPct: 30}}, sendNull, "n1:7500", true) + &fakeHandler{load: Load{MemPct: 30, NetPct: 30}}, sendNull, "n1:7500", true, "") eng.StartRing(context.Background()) // single node: token stays local; no successor so nothing travels. @@ -46,7 +48,7 @@ func TestSingleNodeCycle(t *testing.T) { // stamps; then phase flips and second round syncs. func TestTwoNodesSingleRound(t *testing.T) { eng2 := NewEngine("n2", "n2:7500", "u", "p", "0.71.0", nil, - &fakeHandler{load: Load{MemPct: 10, NetPct: 10}}, sendNull, "n2:7500", false) + &fakeHandler{load: Load{MemPct: 10, NetPct: 10}}, sendNull, "n2:7500", false, "") eng2.state.UpsertNode(Node{ID: "n1", Addr: "n1:7500", Alive: true, IsLeader: true, Load: Load{MemPct: 50, NetPct: 50}}) // n1 sends a token carrying the cluster picture; single-round processing: @@ -69,3 +71,119 @@ func TestTwoNodesSingleRound(t *testing.T) { t.Fatal("nil token after processing") } } + +// TestLeaderRoundTripNoResurrection: when the leader submits a task and the +// token completes a full round (leader→n2 claims→n3→leader), the consumed task +// MUST NOT be resurrected on the leader's next OnToken, and the topology must +// still attribute the forward to the single claimer (n2). +// +// This holds NOT via a published-set mark on StartRing, but via Go map +// reference semantics: StartRing sets tk.State = e.state, so the token's +// PendingTasks map IS the leader's own map. When n2 calls ClaimPending it +// deletes from that shared map — the deletion is visible to the leader too. +// By the time the token returns, the claimed task is already gone from the +// leader's e.state.PendingTasks, so the localPending re-merge has nothing to +// re-inject. Single token + remove-on-claim = single claim (plan §M6). +func TestLeaderRoundTripNoResurrection(t *testing.T) { + // 3-node ring: n1 (leader+submitter), n2 (lowest, claims), n3 (idle). + var sent *Token + sendCap := func(ctx context.Context, next string, tk *Token) error { + sent = tk + return nil + } + n1 := NewEngine("n1", "n1:7500", "u", "p", "v", nil, + &fakeHandler{load: Load{MemPct: 50, NetPct: 50}}, sendCap, "n1:7500", true, "") + // n2/n3 carry a lower stored load than n1's NewEngine default ({10,10}) + // so LowestAlive picks n2 (first among the tied low nodes) as the claimer. + n1.state.UpsertNode(Node{ID: "n2", Addr: "n2:7500", Alive: true, Load: Load{MemPct: 1, NetPct: 1}}) + n1.state.UpsertNode(Node{ID: "n3", Addr: "n3:7500", Alive: true, Load: Load{MemPct: 1, NetPct: 1}}) + + task := n1.SubmitTask(store.Local{Name: "l1"}, store.Remote{Name: "r1"}, store.Link{RemotePort: 100}) + if task == nil { + t.Fatal("submit returned nil") + } + n1.StartRing(context.Background()) + if sent == nil { + t.Fatal("StartRing did not send a token") + } + + // n2 receives, claims t1 (lowest load), establishes topology. + n2 := NewEngine("n2", "n2:7500", "u", "p", "v", nil, + &fakeHandler{load: Load{MemPct: 10, NetPct: 10}}, sendCap, "n2:7500", false, "") + out2, err := n2.OnToken(context.Background(), sent) + if err != nil { + t.Fatal(err) + } + if got := len(n2.state.TopologyList()); got != 1 { + t.Fatalf("n2 should own 1 forward, topo=%+v", n2.state.TopologyList()) + } + if len(n2.state.PendingList()) != 0 { + t.Fatalf("pending should be empty after n2 claim, got %+v", n2.state.PendingList()) + } + + // n3 receives, nothing to claim, forwards. + n3 := NewEngine("n3", "n3:7500", "u", "p", "v", nil, + &fakeHandler{load: Load{MemPct: 10, NetPct: 10}}, sendCap, "n3:7500", false, "") + out3, err := n3.OnToken(context.Background(), out2) + if err != nil { + t.Fatal(err) + } + + // Token returns to n1. The consumed task t1 MUST NOT be resurrected. + if _, err := n1.OnToken(context.Background(), out3); err != nil { + t.Fatal(err) + } + if got := len(n1.state.PendingList()); got != 0 { + t.Fatalf("n1 resurrected a consumed task: pending=%+v (single-token + shared-map must prevent this)", + n1.state.PendingList()) + } + // Topology still attributes t1 to n2 (not overwritten by a re-claim). + topo := n1.state.TopologyList() + if len(topo) != 1 || topo[0].OwnerID != "n2" { + t.Fatalf("topology should be t1@n2, got %+v", topo) + } +} + +// TestClaimGuardDropsDuplicateForward: when a node (lowest load) receives a +// pending task whose forward is ALREADY in the topology owned by another node +// (a resurrected/stale copy), the claim path must drop it WITHOUT spawning a +// worker or overwriting the topology. Without the guard a second worker for +// the same forward would be spawned and orphaned (the topology entry is keyed +// by task id, so AddTopology would silently overwrite the owner). +func TestClaimGuardDropsDuplicateForward(t *testing.T) { + // n1 is lowest load and would otherwise claim; the fake Claim hook fails + // the test if ever called. + n1 := NewEngine("n1", "n1:7500", "u", "p", "v", nil, + &fakeHandler{ + load: Load{MemPct: 10, NetPct: 10}, + claim: func(ctx context.Context, tk *Task) error { + t.Fatalf("Claim must not be called for an already-owned forward: %s", tk.ID) + return nil + }, + }, sendNull, "n1:7500", true, "") + + dup := &Task{ID: "t1", Local: store.Local{Name: "l1"}, Remote: store.Remote{Name: "r1"}, Link: store.Link{RemotePort: 100}} + tk := &Token{Cycle: 1, State: State{ + Nodes: []Node{ + {ID: "n1", Addr: "n1:7500", Alive: true, Load: Load{MemPct: 10, NetPct: 10}}, + {ID: "n2", Addr: "n2:7500", Alive: true, Load: Load{MemPct: 50, NetPct: 50}}, + }, + PendingTasks: map[string]*Task{"t1": dup}, + Topology: map[string]*TopoEntry{"t1": { + TaskID: "t1", OwnerID: "n2", Local: store.Local{Name: "l1"}, + Remote: store.Remote{Name: "r1"}, Link: store.Link{RemotePort: 100}, Active: true, + }}, + }} + if _, err := n1.OnToken(context.Background(), tk); err != nil { + t.Fatal(err) + } + // Pending drained (the stale task was consumed/dropped, not left to ride). + if got := len(n1.state.PendingList()); got != 0 { + t.Fatalf("stale task should be dropped, pending=%+v", n1.state.PendingList()) + } + // Topology untouched: still owned by n2. + topo := n1.state.TopologyList() + if len(topo) != 1 || topo[0].OwnerID != "n2" { + t.Fatalf("topology should remain t1@n2, got %+v", topo) + } +} diff --git a/internal/cluster/ring_leader.go b/internal/cluster/ring_leader.go index f88d174..028305b 100644 --- a/internal/cluster/ring_leader.go +++ b/internal/cluster/ring_leader.go @@ -12,11 +12,29 @@ import ( "time" ) -// ringHopDelay paces each token hop (real-world cadence, avoids busy-loop). -// 500ms keeps a 3-node ring well under the LossTimeout floor (2500ms) so a -// healthy round is never misjudged lost, while not idly burning CPU/HTTP at -// 20Hz like the old 50ms did. -const ringHopDelay = 500 * time.Millisecond +// Per-hop pacing bounds. The hop delay scales DOWN as the ring grows so the +// round time stays ~ringHopDelayMax regardless of node count — a static +// 500ms made large clusters slow (3 nodes=1.5s, 5 nodes=2.5s, 10 nodes=5s +// per round); now 3/5/10 nodes all round at ~500ms (until the floor bites), +// keeping sync real-time without a token storm (round freq ≈2Hz). +const ( + ringHopDelayMax = 500 * time.Millisecond + ringHopDelayMin = 50 * time.Millisecond +) + +// hopDelayFor returns the per-hop pace for a ring of aliveNodes members. +// Nodes越多延迟越低: delay = ringHopDelayMax / aliveNodes, floored at min. +// n=2→250ms, n=3→167ms, n=5→100ms, n=10→50ms(floor) — round time ≈500ms. +func hopDelayFor(aliveNodes int) time.Duration { + if aliveNodes < 2 { + aliveNodes = 2 + } + d := ringHopDelayMax / time.Duration(aliveNodes) + if d < ringHopDelayMin { + d = ringHopDelayMin + } + return d +} // LossTimeout is the token-loss threshold per design: roundDelay/2 + 20ms, // floored so a healthy fast ring is never misjudged. @@ -92,8 +110,14 @@ func (e *Engine) Send(ctx context.Context, tk *Token) error { return e.forwardToNext(ctx, tk) } -// forwardToNext sends the token to the next alive successor; on failure it -// marks that node offline, reattaches its tasks, and tries the next hop. +// forwardToNext sends the token to the next alive successor. On send +// failure (no receipt within the HTTP timeout = neighbor unreachable), +// the normal node-death procedure fires: mark offline, reassign the dead +// node's tasks, and try the next hop. If the dead node was the leader, +// the predecessor reuses the same procedure and additionally promotes +// itself to leader + starts a fresh cycle (the token destined for the +// dead leader is lost; a new cycle must begin). This is the PRIMARY +// leader-death detection path per plan §故障自幽 + §leader 补充/监控. func (e *Engine) forwardToNext(ctx context.Context, tk *Token) error { for hops := 0; hops < len(e.state.Nodes); hops++ { next, ok := e.nextRecipient() @@ -104,26 +128,32 @@ func (e *Engine) forwardToNext(ctx context.Context, tk *Token) error { if e.send == nil { return nil } + log.Printf("ring[%s] forward cycle=%d to %s", e.ID, tk.Cycle, next) err := e.send(ctx, next, tk) if err == nil { if e.state.LeaderID == e.ID { e.inflight.mark(e.state.RoundDelay) } - // Pace the ring so tokens circulate at a realistic cadence. - // Pacing handled by the parallel rhythm timer in OnToken. return nil } - log.Printf("ring[%s] send to %s failed: %v", e.ID, next, err) - // Do not declare a neighbor offline on a single timeout: transient - // send failures (network jitter, busy handler) must not break the - // ring. Only after consecutive failures do we evict the node. - e.failMu.Lock() - e.failCount[next]++ - if e.failCount[next] >= 2 { - e.state.MarkOffline(next) - e.state.OfflineReassign(next) - delete(e.failCount, next) + // Send failed = no receipt within timeout = neighbor offline. + // Normal node-death: mark offline, reassign tasks to pending. + log.Printf("ring[%s] send to %s failed (no receipt): %v", e.ID, next, err) + e.state.MarkOffline(next) + e.state.OfflineReassign(next) + // If the dead node was the leader, promote self and start a new + // cycle. The token was going to the leader; with the leader dead + // the token is lost — start fresh as the new leader (plan §leader + // 补充/监控: "上家邻居探测到 leader 崩溃 → 自身成为新 leader"). + if next == e.state.LeaderID { + e.becomeLeader() + if e.Log != nil { + _, _ = e.Log.Append(e.ID, LogLeaderChange, map[string]string{"leader": e.ID}) + } + e.StartRing(ctx) + return nil } + // Non-leader neighbor death: continue to the next recipient. } e.inflight.clear() return nil @@ -138,10 +168,26 @@ func (e *Engine) becomeLeader() { log.Printf("ring[%s] promoted to leader", e.ID) } -// WatchLeader runs the leader liveness monitor: the predecessor of the leader -// pings it; on failure it marks the leader offline and promotes itself. +// WatchLeader runs the FALLBACK leader liveness monitor. The PRIMARY path is +// forwardToNext: when the predecessor sends a token to the leader and the send +// fails (leader's HTTP server down), forwardToNext marks the leader offline and +// promotes self. WatchLeader covers the case forwardToNext CANNOT detect: +// the leader received the token (POST returned 200) but then crashed/restarted/ +// detached before forwarding it — the send succeeded, so forwardToNext sees no +// error. In this case the predecessor pings the leader; if the leader is down +// (connection refused) or restarted/detached (standalone → 409), the heartbeat +// fails and the predecessor takes over. +// +// The predecessor role is NOT permanent — it shifts as the ring topology +// changes (nodes join/leave). Each tick re-evaluates AlivePredecessor(LeaderID) +// so the correct node monitors the leader at all times. Per design: +// "上邻居也不是永久的,也要有普通节点按照令牌传递的拓扑变换转换为上邻居的逻辑". +// +// Interval = 1s so worst-case detection (tick + 1.5s ping timeout ≈ 2.5s) +// aligns with LossTimeout (roundDelay/2 + 20ms, floored at 2500ms), per design: +// "与leader超时重发时间一致". func (e *Engine) WatchLeader(ctx context.Context) { - tick := time.NewTicker(2 * time.Second) + tick := time.NewTicker(1 * time.Second) defer tick.Stop() for { select { @@ -164,6 +210,11 @@ func (e *Engine) WatchLeader(ctx context.Context) { e.state.MarkOffline(e.state.LeaderID) e.state.OfflineReassign(e.state.LeaderID) e.becomeLeader() + // Kick off a fresh cycle: the ring died with the old + // leader (no token inflight → WatchTokenLoss won't + // fire). Without this the newly promoted leader would + // sit idle and the ring would stay dead. + e.StartRing(ctx) } } } diff --git a/internal/cluster/ring_log_test.go b/internal/cluster/ring_log_test.go index d3ffc8e..0450249 100644 --- a/internal/cluster/ring_log_test.go +++ b/internal/cluster/ring_log_test.go @@ -12,7 +12,7 @@ func newTestEngine(id string, isLeader bool) *Engine { return NewEngine(id, id+":7500", "u", "p", "0.1.0", nil, &fakeHandler{load: Load{MemPct: 20, NetPct: 20}}, func(ctx context.Context, next string, tk *Token) error { return nil }, - id+":7500", isLeader) + id+":7500", isLeader, "") } // TestLogAppendDeltaReplay: append entries, extract delta after a watermark, diff --git a/internal/cluster/ring_remove_test.go b/internal/cluster/ring_remove_test.go index 314a417..47a9132 100644 --- a/internal/cluster/ring_remove_test.go +++ b/internal/cluster/ring_remove_test.go @@ -104,7 +104,7 @@ func TestRemoveCommandFulfilledNoPhantom(t *testing.T) { eng := NewEngine("n1", "n1:7500", "u", "p", "0.1.0", nil, &fakeHandler{load: Load{MemPct: 5, NetPct: 5}, claim: func(ctx context.Context, tk *Task) error { claimed = append(claimed, tk); return nil }}, - sendNull, "n1:7500", true) + sendNull, "n1:7500", true, "") rm := eng.state.AddRemoveNode("node-x:7500") // target not in the ring if _, err := eng.OnToken(context.Background(), &Token{Cycle: 1, State: eng.state}); err != nil { t.Fatal(err) @@ -119,3 +119,102 @@ func TestRemoveCommandFulfilledNoPhantom(t *testing.T) { t.Fatalf("phantom topology entry created: %+v", eng.state.TopologyList()) } } + +// TestLeaderSelfRemoveDesignatesSuccessor: when the LEADER self-removes, it +// must designate its successor as the new leader before publishing the token. +// Without this, LeaderID would be "" (SelfRemove clears it), no node would +// call Send (cycle never advances), and WatchLeader can't find +// AlivePredecessor("") to promote anyone — the ring runs leaderless and dies. +func TestLeaderSelfRemoveDesignatesSuccessor(t *testing.T) { + eng := newTestEngine("n1", true) + eng.state.InsertAfter("n1", Node{ + ID: "n2", Addr: "n2:7500", Alive: true, Load: Load{MemPct: 90, NetPct: 90}, + }) + // n1 (leader) publishes a remove-node command for itself. + rm := eng.state.AddRemoveNode("n1") + eng.state.PendingTasks = map[string]*Task{rm.ID: rm} + + out, err := eng.OnToken(context.Background(), &Token{Cycle: 1, State: eng.state}) + if err != nil { + t.Fatal(err) + } + if out == nil { + t.Fatal("nil token after OnToken") + } + // n1 removed itself from the ring. + if eng.state.Find("n1") >= 0 { + t.Fatalf("n1 still in ring: %+v", eng.state.Nodes) + } + // n2 designated as the new leader (not "" — the old bug). + if eng.state.LeaderID != "n2" { + t.Fatalf("LeaderID = %q want n2 (successor should be designated as leader)", eng.state.LeaderID) + } + // n2 marked IsLeader in Nodes. + if i := eng.state.Find("n2"); i >= 0 && !eng.state.Nodes[i].IsLeader { + t.Fatalf("n2 not marked IsLeader: %+v", eng.state.Nodes[i]) + } + // removedNext captured so Forward can hand the token to the old successor. + if eng.removedNext != "n2" { + t.Fatalf("removedNext = %q want n2", eng.removedNext) + } +} + +// TestDetachAfterForward: after self-leave + Forward (token handed to the old +// successor), the engine resets to a fresh standalone state so Snapshot() no +// longer serves the old cluster picture (members, topology, pending, log). +func TestDetachAfterForward(t *testing.T) { + eng := newTestEngine("n1", true) + eng.state.InsertAfter("n1", Node{ + ID: "n2", Addr: "n2:7500", Alive: true, Load: Load{MemPct: 90, NetPct: 90}, + }) + // Give n1 an owned forward so the old state has a non-empty topology. + p := eng.state.AddPending(store.Local{Name: "web"}, store.Remote{Name: "frps1"}, store.Link{RemotePort: 18081}) + eng.state.ClaimPending(p.ID) + eng.state.AddTopology(p, "n1") + + rm := eng.state.AddRemoveNode("n1") + eng.state.PendingTasks = map[string]*Task{rm.ID: rm} + + out, err := eng.OnToken(context.Background(), &Token{Cycle: 1, State: eng.state}) + if err != nil { + t.Fatal(err) + } + if out == nil { + t.Fatal("nil token after OnToken") + } + // Before Forward: self-removed, removedNext captured, old state retained + // (n2 still in Nodes, n1's forward re-queued as pending by SelfRemove). + if !eng.selfRemoved { + t.Fatal("selfRemoved not set before Forward") + } + if eng.removedNext != "n2" { + t.Fatalf("removedNext = %q want n2", eng.removedNext) + } + if eng.state.Find("n2") < 0 { + t.Fatal("n2 (old member) missing before Forward — test setup wrong") + } + + // Forward hands off the token (sendNull no-op) then detaches to standalone. + if err := eng.Forward(context.Background(), out); err != nil { + t.Fatal(err) + } + // After Forward: fresh standalone state. + if eng.state.LeaderID != "n1" { + t.Fatalf("LeaderID = %q want n1 (standalone leader after detach)", eng.state.LeaderID) + } + if len(eng.state.Nodes) != 1 || eng.state.Nodes[0].ID != "n1" { + t.Fatalf("state not standalone (want just n1): %+v", eng.state.Nodes) + } + if len(eng.state.Topology) != 0 { + t.Fatalf("topology not cleared after detach: %+v", eng.state.Topology) + } + if len(eng.state.PendingTasks) != 0 { + t.Fatalf("pending not cleared after detach: %+v", eng.state.PendingList()) + } + if eng.selfRemoved { + t.Fatal("selfRemoved should be cleared after detach") + } + if eng.removedNext != "" { + t.Fatalf("removedNext should be empty after detach, got %q", eng.removedNext) + } +} diff --git a/internal/cluster/ring_revoke_test.go b/internal/cluster/ring_revoke_test.go index 623e538..1467d7b 100644 --- a/internal/cluster/ring_revoke_test.go +++ b/internal/cluster/ring_revoke_test.go @@ -15,7 +15,7 @@ func TestRevokeTaskRemovesTopology(t *testing.T) { &fakeHandler{load: Load{MemPct: 5, NetPct: 5}, revoke: func(ctx context.Context, tk *Task) error { revoked = true; return nil }}, func(ctx context.Context, next string, tk *Token) error { return nil }, - "n1:7500", true) + "n1:7500", true, "") // establish a forward eng.state.AddPending(store.Local{Name: "web"}, store.Remote{Name: "frps1"}, store.Link{RemotePort: 18081}) diff --git a/internal/cluster/token_join.go b/internal/cluster/token_join.go index 6807b85..069b42f 100644 --- a/internal/cluster/token_join.go +++ b/internal/cluster/token_join.go @@ -6,12 +6,23 @@ package cluster import ( "bytes" "context" + "crypto/rand" "encoding/json" "fmt" "net/http" "time" ) +// GenerateNodeKey returns a random 16-byte hex string for use as a cluster +// admission key. Called on first startup when no key is persisted yet. +func GenerateNodeKey() string { + b := make([]byte, 16) + if _, err := rand.Read(b); err != nil { + return fmt.Sprintf("%x", time.Now().UnixNano()) + } + return fmt.Sprintf("%x", b) +} + // JoinRing asks target to add us to its ring and returns the adopted state. func (e *Engine) JoinRing(ctx context.Context, targetAddr string, ji JoinInfo) error { url := fmt.Sprintf("http://%s/api/manager/cluster/join", targetAddr) @@ -49,9 +60,10 @@ func (e *Engine) JoinRing(ctx context.Context, targetAddr string, ji JoinInfo) e // JoinRingAddr wraps JoinRing for HTTP handlers: it builds the newcomer's // JoinInfo from this node's own id/addr/version/cache (so the caller doesn't // touch the engine's unexported fields) and asks targetAddr to sponsor us -// into its ring. This is the runtime "加入集群" path (vs. the startup +// into its ring. joinKey is the sponsor's nodeKey — the sponsor verifies it +// before admitting. This is the runtime "加入集群" path (vs. the startup // bootstrap call in cmd/webui4frpc/main.go). -func (e *Engine) JoinRingAddr(ctx context.Context, targetAddr string) error { - ji := JoinInfo{ID: e.ID, Addr: e.myAddr, Version: e.Version, Cache: e.Cache} +func (e *Engine) JoinRingAddr(ctx context.Context, targetAddr, joinKey string) error { + ji := JoinInfo{ID: e.ID, Addr: e.myAddr, Version: e.Version, Cache: e.Cache, JoinKey: joinKey} return e.JoinRing(ctx, targetAddr, ji) } diff --git a/internal/httpapi/auth.go b/internal/httpapi/auth.go new file mode 100644 index 0000000..9cf61be --- /dev/null +++ b/internal/httpapi/auth.go @@ -0,0 +1,129 @@ +package httpapi + +import ( + "context" + "crypto/subtle" + "net/http" + "strings" + + "webui4frpc/internal/store" +) + +// identity is the authenticated principal for a request, stashed in the +// request context so handlers can read who/what level the caller is. +// +// Type is one of: +// - "user": a row in the users table, authenticated via Basic + bcrypt. +// - "service": the -user/-password flag creds (inter-node cluster traffic +// and bootstrap), authenticated via a constant-time compare. +// - "key": an API key, authenticated via Bearer + sha256 lookup. +// +// Level is the effective access tier: "read" | "write" | "admin". For users it +// derives from the role (viewer -> read, admin -> admin); for keys it is the +// key's scope; for the service identity it is always admin (the flags are the +// built-in operator). +type identity struct { + Type string `json:"type"` // "user" | "service" | "key" + Name string `json:"name"` // username / flag user / key label + Level string `json:"level"` // "read" | "write" | "admin" + UserID int64 `json:"userId"` // users.id for Type=="user"|"key" +} + +type ctxKey struct{} + +// identityFrom returns the authenticated identity from the request context, +// or a zero identity (Level=="") when unauthenticated. +func identityFrom(r *http.Request) identity { + if v, ok := r.Context().Value(ctxKey{}).(identity); ok { + return v + } + return identity{} +} + +// levelRank orders the access tiers: read < write < admin. Unknown = 0. +func levelRank(level string) int { + switch level { + case "read": + return 1 + case "write": + return 2 + case "admin": + return 3 + } + return 0 +} + +// roleLevel maps a user role to an access level (viewer -> read, admin -> admin). +func roleLevel(role string) string { + if role == "admin" { + return "admin" + } + return "read" +} + +// hasLevel reports whether the request's identity meets minLevel. Handlers +// serving both read and mutating methods on one path use this to gate the +// mutating branch (the route itself is registered at the read level so that +// viewer GETs succeed, then PUT/POST/DELETE branches re-check here). +func hasLevel(r *http.Request, minLevel string) bool { + return levelRank(identityFrom(r).Level) >= levelRank(minLevel) +} + +// forbidden writes a 403 with a small JSON body. +func forbidden(w http.ResponseWriter) { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusForbidden) + _, _ = w.Write([]byte(`{"error":"forbidden: insufficient scope"}`)) +} + +// auth wraps a handler with authentication AND authorization. It accepts either +// HTTP Basic (users table bcrypt, with a flag-creds admin fast path that keeps +// inter-node cluster traffic working) or a Bearer API key (sha256-looked-up). +// Identities below minLevel get 403; missing/bad credentials get 401. +// +// The flag-creds fast path is checked BEFORE the users table: inter-node token +// relay and the browser-cached Basic header hit it on every request, and a +// bcrypt verify per hop would be wasteful; the flags are the built-in operator +// and are synced into a system=1 admin row by SyncSystemUser anyway, so this +// shortcut grants no privilege that the flags themselves do not already confer. +func (h *Handler) auth(minLevel string) func(http.HandlerFunc) http.HandlerFunc { + need := levelRank(minLevel) + return func(next http.HandlerFunc) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + var id identity + switch { + case strings.HasPrefix(r.Header.Get("Authorization"), "Basic "): + u, p, ok := r.BasicAuth() + if !ok { + break + } + if subtle.ConstantTimeCompare([]byte(u), []byte(h.User)) == 1 && + subtle.ConstantTimeCompare([]byte(p), []byte(h.Password)) == 1 { + id = identity{Type: "service", Name: h.User, Level: "admin"} + } else if usr, ok := h.Store.VerifyUserPassword(u, p); ok { + id = identity{Type: "user", Name: usr.Username, Level: roleLevel(usr.Role), UserID: usr.ID} + _ = h.Store.TouchUserLogin(usr.ID) + } + case strings.HasPrefix(r.Header.Get("Authorization"), "Bearer "): + key := strings.TrimPrefix(r.Header.Get("Authorization"), "Bearer ") + if k, usr, ok := h.Store.LookupApiKey(store.HashApiKey(key)); ok { + id = identity{Type: "key", Name: k.Label, Level: k.Scope, UserID: usr.ID} + _ = h.Store.TouchApiKey(k.ID) + } + } + if id.Level == "" { + w.Header().Set("WWW-Authenticate", `Basic realm="webui-frpc", Bearer realm="webui4frpc-apikey"`) + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusUnauthorized) + _, _ = w.Write([]byte(`{"error":"unauthorized"}`)) + return + } + if levelRank(id.Level) < need { + forbidden(w) + return + } + ctx := context.WithValue(r.Context(), ctxKey{}, id) + next(w, r.WithContext(ctx)) + } + } +} diff --git a/internal/httpapi/dist/assets/index-B_Hvtf6C.css b/internal/httpapi/dist/assets/index-B_Hvtf6C.css deleted file mode 100644 index d2ad479..0000000 --- a/internal/httpapi/dist/assets/index-B_Hvtf6C.css +++ /dev/null @@ -1 +0,0 @@ -:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);background-color:var(--el-color-white);opacity:1;transition:opacity var(--el-transition-duration-fast);align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{flex-direction:column;gap:4px;display:flex}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;cursor:pointer;position:absolute;top:12px;right:16px}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;width:var(--el-input-width);display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{cursor:pointer;color:var(--el-text-color-regular);line-height:34px;font-size:var(--el-font-size-base);text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 20px;list-style:none;overflow:hidden}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{cursor:default;height:100px;color:var(--el-text-color-secondary);justify-content:center;align-items:center;font-size:20px;display:flex}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-avatar-group{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px;display:inline-flex}.el-avatar-group .el-avatar{border:1px solid var(--el-border-color-extra-light)}.el-avatar-group .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-item-gap)}.el-avatar-group__collapse-avatars{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px}.el-avatar-group__collapse-avatars .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-collapse-item-gap)}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);background-color:var(--el-backtop-bg-color);width:40px;height:40px;color:var(--el-backtop-text-color);box-shadow:var(--el-box-shadow-lighter);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:-moz-fit-content;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);justify-content:space-between;padding:12px 20px;display:flex}.el-calendar__title{color:var(--el-text-color);align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar__select-controller .el-select{margin-right:8px}.el-calendar__select-controller .el-calendar-select__year{width:120px}.el-calendar__select-controller .el-calendar-select__month{width:60px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);padding:12px 0;font-weight:400}.el-calendar-table:not(.is-range) td.prev,.el-calendar-table:not(.is-range) td.next{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);vertical-align:top;transition:background-color var(--el-transition-duration-fast) ease}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);color:var(--el-text-color-primary);transition:var(--el-transition-duration);flex-direction:column;display:flex;overflow:hidden}.el-card.is-always-shadow,.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding);flex-grow:1;overflow:auto}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box}.el-carousel__item{width:100%;height:100%;z-index:calc(var(--el-index-normal) - 1);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%;transition:transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage:hover .el-carousel__mask,.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{width:100%;height:50%}.el-carousel__mask{background-color:var(--el-color-white);opacity:.24;width:100%;height:100%;transition:var(--el-transition-duration-fast);position:absolute;top:0;left:0}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:#1f2d3d1c;--el-carousel-arrow-hover-background:#1f2d3d3b;--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel.is-vertical-outside{flex-direction:row;align-items:center;display:flex}.el-carousel.is-vertical-outside .el-carousel__container{flex:1}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{height:var(--el-carousel-arrow-size);width:var(--el-carousel-arrow-size);cursor:pointer;transition:var(--el-transition-duration);background-color:var(--el-carousel-arrow-background);color:#fff;z-index:10;text-align:center;font-size:var(--el-carousel-arrow-font-size);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{z-index:calc(var(--el-index-normal) + 1);margin:0;padding:0;list-style:none;position:absolute}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{top:50%;right:0;transform:translateY(-50%)}.el-carousel__indicators--outside{text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels .el-carousel__button{color:#000;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{cursor:pointer;background-color:#0000}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal);display:inline-block}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{width:var(--el-carousel-indicator-height);height:calc(var(--el-carousel-indicator-width) / 2)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{opacity:.48;width:var(--el-carousel-indicator-width);height:var(--el-carousel-indicator-height);cursor:pointer;transition:var(--el-transition-duration);background-color:#fff;border:none;outline:none;margin:0;padding:0;display:block}.el-carousel__indicators--labels .el-carousel__button{width:auto;height:auto}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%)translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%)translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);width:-moz-fit-content;width:fit-content;font-size:var(--el-cascader-menu-font-size);display:flex}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{box-sizing:border-box;min-width:180px;color:var(--el-cascader-menu-text-color);border-right:var(--el-cascader-menu-border)}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;min-height:100%;margin:0;padding:6px 0;list-style:none;position:relative}.el-cascader-menu__list.el-vl__window{margin:6px 0;padding:0}.el-cascader-menu__list.el-vl__window ul{margin:0;padding:0}.el-cascader-menu__hover-zone{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.el-cascader-menu__empty-text{color:var(--el-cascader-color-empty);align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{box-sizing:border-box;outline:none;align-items:center;height:34px;padding:0 30px 0 20px;line-height:34px;display:flex;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-selectable.in-checked-path,.el-cascader-node.is-active{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):hover,.el-cascader-node:not(.is-disabled):focus{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;overflow:hidden}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);vertical-align:middle;font-size:var(--el-font-size-base);outline:none;line-height:32px;display:inline-block;position:relative}.el-cascader:not(.is-disabled):hover .el-input__wrapper{cursor:pointer;box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:read-only{cursor:pointer}.el-cascader .el-input .el-input__inner:disabled{cursor:not-allowed}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{transition:transform var(--el-transition-duration);font-size:14px}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{z-index:calc(var(--el-index-normal) + 1);color:var(--el-disabled-text-color)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);font-size:var(--el-cascader-menu-font-size);border-radius:var(--el-cascader-menu-radius)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border);box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{text-align:left;box-sizing:border-box;flex-wrap:wrap;gap:6px;padding:4px;line-height:normal;display:flex;position:absolute;top:50%;left:0;right:30px;transform:translateY(-50%)}.el-cascader__tags .el-tag{text-overflow:ellipsis;background:var(--el-cascader-tag-background);align-items:center;max-width:100%;display:inline-flex}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{text-overflow:ellipsis;background:var(--el-fill-color);align-items:center;max-width:100%;display:inline-flex}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-wrap{max-height:204px}.el-cascader__suggestion-list{font-size:var(--el-font-size-base);color:var(--el-cascader-menu-text-color);text-align:center;margin:0;padding:6px 0;list-style:none}.el-cascader__suggestion-list.el-vl__window{margin:6px 0;padding:0}.el-cascader__suggestion-list.el-vl__window ul{margin:0;padding:0}.el-cascader__suggestion-item{text-align:left;cursor:pointer;box-sizing:border-box;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 15px;display:flex}.el-cascader__suggestion-item:hover,.el-cascader__suggestion-item:focus{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>:not(.el-icon){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__suggestion-item .el-icon{flex-shrink:0}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{min-width:60px;height:24px;color:var(--el-cascader-menu-text-color);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;margin-left:7px;padding:0}.el-cascader__search-input::placeholder{color:#0000}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;font-size:var(--el-font-size-base);line-height:var(--el-font-size-base);transition:var(--el-transition-all);padding:7px 15px;font-weight:700;display:inline-block}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{background-color:var(--el-color-success-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{background-color:var(--el-color-warning-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{background-color:var(--el-color-danger-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{background-color:var(--el-color-error-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);--el-checkbox-button-disabled-checked-fill:var(--el-border-color-extra-light);display:inline-block;position:relative}.el-checkbox-button__inner{line-height:1;font-weight:var(--el-checkbox-font-weight);white-space:nowrap;vertical-align:middle;cursor:pointer;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:var(--el-checkbox-button-checked-text-color);background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button.is-disabled.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-disabled-checked-fill)}.el-checkbox-button:first-child .el-checkbox-button__inner{border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{min-height:1px;display:block}.el-col-0{flex:0 0;max-width:0%;display:none}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6667%}.el-col-pull-4{position:relative;right:16.6667%}.el-col-push-4{position:relative;left:16.6667%}.el-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333%}.el-col-pull-5{position:relative;right:20.8333%}.el-col-push-5{position:relative;left:20.8333%}.el-col-6{flex:0 0 25%;max-width:25%;display:block}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1667%}.el-col-pull-7{position:relative;right:29.1667%}.el-col-push-7{position:relative;left:29.1667%}.el-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333%}.el-col-pull-8{position:relative;right:33.3333%}.el-col-push-8{position:relative;left:33.3333%}.el-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6667%}.el-col-pull-10{position:relative;right:41.6667%}.el-col-push-10{position:relative;left:41.6667%}.el-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333%}.el-col-pull-11{position:relative;right:45.8333%}.el-col-push-11{position:relative;left:45.8333%}.el-col-12{flex:0 0 50%;max-width:50%;display:block}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1667%}.el-col-pull-13{position:relative;right:54.1667%}.el-col-push-13{position:relative;left:54.1667%}.el-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333%}.el-col-pull-14{position:relative;right:58.3333%}.el-col-push-14{position:relative;left:58.3333%}.el-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6667%}.el-col-pull-16{position:relative;right:66.6667%}.el-col-push-16{position:relative;left:66.6667%}.el-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333%}.el-col-pull-17{position:relative;right:70.8333%}.el-col-push-17{position:relative;left:70.8333%}.el-col-18{flex:0 0 75%;max-width:75%;display:block}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1667%}.el-col-pull-19{position:relative;right:79.1667%}.el-col-push-19{position:relative;left:79.1667%}.el-col-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333%}.el-col-pull-20{position:relative;right:83.3333%}.el-col-push-20{position:relative;left:83.3333%}.el-col-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6667%}.el-col-pull-22{position:relative;right:91.6667%}.el-col-push-22{position:relative;left:91.6667%}.el-col-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333%}.el-col-pull-23{position:relative;right:95.8333%}.el-col-push-23{position:relative;left:95.8333%}.el-col-24{flex:0 0 100%;max-width:100%;display:block}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{flex:0 0;max-width:0%;display:none}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6667%}.el-col-xs-pull-4{position:relative;right:16.6667%}.el-col-xs-push-4{position:relative;left:16.6667%}.el-col-xs-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333%}.el-col-xs-pull-5{position:relative;right:20.8333%}.el-col-xs-push-5{position:relative;left:20.8333%}.el-col-xs-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1667%}.el-col-xs-pull-7{position:relative;right:29.1667%}.el-col-xs-push-7{position:relative;left:29.1667%}.el-col-xs-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333%}.el-col-xs-pull-8{position:relative;right:33.3333%}.el-col-xs-push-8{position:relative;left:33.3333%}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6667%}.el-col-xs-pull-10{position:relative;right:41.6667%}.el-col-xs-push-10{position:relative;left:41.6667%}.el-col-xs-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333%}.el-col-xs-pull-11{position:relative;right:45.8333%}.el-col-xs-push-11{position:relative;left:45.8333%}.el-col-xs-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1667%}.el-col-xs-pull-13{position:relative;right:54.1667%}.el-col-xs-push-13{position:relative;left:54.1667%}.el-col-xs-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333%}.el-col-xs-pull-14{position:relative;right:58.3333%}.el-col-xs-push-14{position:relative;left:58.3333%}.el-col-xs-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6667%}.el-col-xs-pull-16{position:relative;right:66.6667%}.el-col-xs-push-16{position:relative;left:66.6667%}.el-col-xs-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333%}.el-col-xs-pull-17{position:relative;right:70.8333%}.el-col-xs-push-17{position:relative;left:70.8333%}.el-col-xs-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1667%}.el-col-xs-pull-19{position:relative;right:79.1667%}.el-col-xs-push-19{position:relative;left:79.1667%}.el-col-xs-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333%}.el-col-xs-pull-20{position:relative;right:83.3333%}.el-col-xs-push-20{position:relative;left:83.3333%}.el-col-xs-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6667%}.el-col-xs-pull-22{position:relative;right:91.6667%}.el-col-xs-push-22{position:relative;left:91.6667%}.el-col-xs-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333%}.el-col-xs-pull-23{position:relative;right:95.8333%}.el-col-xs-push-23{position:relative;left:95.8333%}.el-col-xs-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{flex:0 0;max-width:0%;display:none}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6667%}.el-col-sm-pull-4{position:relative;right:16.6667%}.el-col-sm-push-4{position:relative;left:16.6667%}.el-col-sm-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333%}.el-col-sm-pull-5{position:relative;right:20.8333%}.el-col-sm-push-5{position:relative;left:20.8333%}.el-col-sm-6{flex:0 0 25%;max-width:25%;display:block}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1667%}.el-col-sm-pull-7{position:relative;right:29.1667%}.el-col-sm-push-7{position:relative;left:29.1667%}.el-col-sm-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333%}.el-col-sm-pull-8{position:relative;right:33.3333%}.el-col-sm-push-8{position:relative;left:33.3333%}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6667%}.el-col-sm-pull-10{position:relative;right:41.6667%}.el-col-sm-push-10{position:relative;left:41.6667%}.el-col-sm-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333%}.el-col-sm-pull-11{position:relative;right:45.8333%}.el-col-sm-push-11{position:relative;left:45.8333%}.el-col-sm-12{flex:0 0 50%;max-width:50%;display:block}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1667%}.el-col-sm-pull-13{position:relative;right:54.1667%}.el-col-sm-push-13{position:relative;left:54.1667%}.el-col-sm-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333%}.el-col-sm-pull-14{position:relative;right:58.3333%}.el-col-sm-push-14{position:relative;left:58.3333%}.el-col-sm-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6667%}.el-col-sm-pull-16{position:relative;right:66.6667%}.el-col-sm-push-16{position:relative;left:66.6667%}.el-col-sm-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333%}.el-col-sm-pull-17{position:relative;right:70.8333%}.el-col-sm-push-17{position:relative;left:70.8333%}.el-col-sm-18{flex:0 0 75%;max-width:75%;display:block}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1667%}.el-col-sm-pull-19{position:relative;right:79.1667%}.el-col-sm-push-19{position:relative;left:79.1667%}.el-col-sm-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333%}.el-col-sm-pull-20{position:relative;right:83.3333%}.el-col-sm-push-20{position:relative;left:83.3333%}.el-col-sm-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6667%}.el-col-sm-pull-22{position:relative;right:91.6667%}.el-col-sm-push-22{position:relative;left:91.6667%}.el-col-sm-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333%}.el-col-sm-pull-23{position:relative;right:95.8333%}.el-col-sm-push-23{position:relative;left:95.8333%}.el-col-sm-24{flex:0 0 100%;max-width:100%;display:block}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{flex:0 0;max-width:0%;display:none}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6667%}.el-col-md-pull-4{position:relative;right:16.6667%}.el-col-md-push-4{position:relative;left:16.6667%}.el-col-md-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333%}.el-col-md-pull-5{position:relative;right:20.8333%}.el-col-md-push-5{position:relative;left:20.8333%}.el-col-md-6{flex:0 0 25%;max-width:25%;display:block}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1667%}.el-col-md-pull-7{position:relative;right:29.1667%}.el-col-md-push-7{position:relative;left:29.1667%}.el-col-md-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333%}.el-col-md-pull-8{position:relative;right:33.3333%}.el-col-md-push-8{position:relative;left:33.3333%}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6667%}.el-col-md-pull-10{position:relative;right:41.6667%}.el-col-md-push-10{position:relative;left:41.6667%}.el-col-md-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333%}.el-col-md-pull-11{position:relative;right:45.8333%}.el-col-md-push-11{position:relative;left:45.8333%}.el-col-md-12{flex:0 0 50%;max-width:50%;display:block}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1667%}.el-col-md-pull-13{position:relative;right:54.1667%}.el-col-md-push-13{position:relative;left:54.1667%}.el-col-md-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333%}.el-col-md-pull-14{position:relative;right:58.3333%}.el-col-md-push-14{position:relative;left:58.3333%}.el-col-md-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6667%}.el-col-md-pull-16{position:relative;right:66.6667%}.el-col-md-push-16{position:relative;left:66.6667%}.el-col-md-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333%}.el-col-md-pull-17{position:relative;right:70.8333%}.el-col-md-push-17{position:relative;left:70.8333%}.el-col-md-18{flex:0 0 75%;max-width:75%;display:block}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1667%}.el-col-md-pull-19{position:relative;right:79.1667%}.el-col-md-push-19{position:relative;left:79.1667%}.el-col-md-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333%}.el-col-md-pull-20{position:relative;right:83.3333%}.el-col-md-push-20{position:relative;left:83.3333%}.el-col-md-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6667%}.el-col-md-pull-22{position:relative;right:91.6667%}.el-col-md-push-22{position:relative;left:91.6667%}.el-col-md-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333%}.el-col-md-pull-23{position:relative;right:95.8333%}.el-col-md-push-23{position:relative;left:95.8333%}.el-col-md-24{flex:0 0 100%;max-width:100%;display:block}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{flex:0 0;max-width:0%;display:none}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6667%}.el-col-lg-pull-4{position:relative;right:16.6667%}.el-col-lg-push-4{position:relative;left:16.6667%}.el-col-lg-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333%}.el-col-lg-pull-5{position:relative;right:20.8333%}.el-col-lg-push-5{position:relative;left:20.8333%}.el-col-lg-6{flex:0 0 25%;max-width:25%;display:block}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1667%}.el-col-lg-pull-7{position:relative;right:29.1667%}.el-col-lg-push-7{position:relative;left:29.1667%}.el-col-lg-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333%}.el-col-lg-pull-8{position:relative;right:33.3333%}.el-col-lg-push-8{position:relative;left:33.3333%}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6667%}.el-col-lg-pull-10{position:relative;right:41.6667%}.el-col-lg-push-10{position:relative;left:41.6667%}.el-col-lg-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333%}.el-col-lg-pull-11{position:relative;right:45.8333%}.el-col-lg-push-11{position:relative;left:45.8333%}.el-col-lg-12{flex:0 0 50%;max-width:50%;display:block}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1667%}.el-col-lg-pull-13{position:relative;right:54.1667%}.el-col-lg-push-13{position:relative;left:54.1667%}.el-col-lg-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333%}.el-col-lg-pull-14{position:relative;right:58.3333%}.el-col-lg-push-14{position:relative;left:58.3333%}.el-col-lg-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6667%}.el-col-lg-pull-16{position:relative;right:66.6667%}.el-col-lg-push-16{position:relative;left:66.6667%}.el-col-lg-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333%}.el-col-lg-pull-17{position:relative;right:70.8333%}.el-col-lg-push-17{position:relative;left:70.8333%}.el-col-lg-18{flex:0 0 75%;max-width:75%;display:block}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1667%}.el-col-lg-pull-19{position:relative;right:79.1667%}.el-col-lg-push-19{position:relative;left:79.1667%}.el-col-lg-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333%}.el-col-lg-pull-20{position:relative;right:83.3333%}.el-col-lg-push-20{position:relative;left:83.3333%}.el-col-lg-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6667%}.el-col-lg-pull-22{position:relative;right:91.6667%}.el-col-lg-push-22{position:relative;left:91.6667%}.el-col-lg-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333%}.el-col-lg-pull-23{position:relative;right:95.8333%}.el-col-lg-push-23{position:relative;left:95.8333%}.el-col-lg-24{flex:0 0 100%;max-width:100%;display:block}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{flex:0 0;max-width:0%;display:none}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6667%}.el-col-xl-pull-4{position:relative;right:16.6667%}.el-col-xl-push-4{position:relative;left:16.6667%}.el-col-xl-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333%}.el-col-xl-pull-5{position:relative;right:20.8333%}.el-col-xl-push-5{position:relative;left:20.8333%}.el-col-xl-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1667%}.el-col-xl-pull-7{position:relative;right:29.1667%}.el-col-xl-push-7{position:relative;left:29.1667%}.el-col-xl-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333%}.el-col-xl-pull-8{position:relative;right:33.3333%}.el-col-xl-push-8{position:relative;left:33.3333%}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6667%}.el-col-xl-pull-10{position:relative;right:41.6667%}.el-col-xl-push-10{position:relative;left:41.6667%}.el-col-xl-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333%}.el-col-xl-pull-11{position:relative;right:45.8333%}.el-col-xl-push-11{position:relative;left:45.8333%}.el-col-xl-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1667%}.el-col-xl-pull-13{position:relative;right:54.1667%}.el-col-xl-push-13{position:relative;left:54.1667%}.el-col-xl-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333%}.el-col-xl-pull-14{position:relative;right:58.3333%}.el-col-xl-push-14{position:relative;left:58.3333%}.el-col-xl-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6667%}.el-col-xl-pull-16{position:relative;right:66.6667%}.el-col-xl-push-16{position:relative;left:66.6667%}.el-col-xl-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333%}.el-col-xl-pull-17{position:relative;right:70.8333%}.el-col-xl-push-17{position:relative;left:70.8333%}.el-col-xl-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1667%}.el-col-xl-pull-19{position:relative;right:79.1667%}.el-col-xl-push-19{position:relative;left:79.1667%}.el-col-xl-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333%}.el-col-xl-pull-20{position:relative;right:83.3333%}.el-col-xl-push-20{position:relative;left:83.3333%}.el-col-xl-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6667%}.el-col-xl-pull-22{position:relative;right:91.6667%}.el-col-xl-push-22{position:relative;left:91.6667%}.el-col-xl-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333%}.el-col-xl-pull-23{position:relative;right:95.8333%}.el-col-xl-push-23{position:relative;left:95.8333%}.el-col-xl-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;min-height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border:none;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);transition:border-bottom-color var(--el-transition-duration);box-sizing:border-box;outline:none;align-items:center;padding:0;font-weight:500;display:flex}.el-collapse-item__arrow{transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{text-align:left;flex:auto}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:#0000}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color);overflow:hidden}.el-collapse-item__content{font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);padding-bottom:25px;line-height:1.76923}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{--el-colorpicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-colorpicker-bg-color);box-sizing:content-box;background:var(--el-colorpicker-bg-color);width:300px;padding:12px}.el-color-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{text-align:right;justify-content:space-between;margin-top:12px;display:flex}.el-color-picker-panel__footer .el-input{color:#000;width:160px;font-size:12px;line-height:26px}.el-color-picker-panel.is-disabled .el-color-svpanel,.el-color-picker-panel.is-disabled .el-color-hue-slider{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{width:280px;margin-top:8px;font-size:12px;display:flex}.el-color-predefine__colors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.el-color-predefine__color-selector{border-radius:var(--el-border-radius-base);cursor:pointer;border:none;outline:none;width:20px;height:20px;padding:0;overflow:hidden}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-predefine__color-selector>div{height:100%;display:flex}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{box-sizing:border-box;float:right;background-color:red;width:280px;height:12px;padding:0 2px;position:relative}.el-color-hue-slider__bar{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-svpanel{background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#fff0);width:280px;height:180px;position:relative}.el-color-svpanel__cursor{cursor:pointer;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006}.el-color-svpanel__cursor:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-alpha-slider{box-sizing:border-box;background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;width:280px;height:12px;position:relative}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,#fff0 0%,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(#fff0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333}.el-color-picker{outline:none;width:32px;height:32px;line-height:normal;display:inline-block;position:relative}.el-color-picker:hover:not(:-webkit-any(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:hover:not(:is(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed;background-color:var(--el-fill-color-light)}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{width:40px;height:40px}.el-color-picker--small{width:24px;height:24px}.el-color-picker--small .el-color-picker__icon,.el-color-picker--small .el-color-picker__empty{transform:scale(.8)}.el-color-picker__trigger{box-sizing:border-box;border:1px solid var(--el-border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:0;display:inline-flex;position:relative}.el-color-picker__color{box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);text-align:center;width:100%;height:100%;display:block;position:relative}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{color:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.el-color-picker__panel{border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);background-color:#fff}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker.single-panel{width:322px}.el-date-range-picker.single-panel .el-picker-panel__body{min-width:322px}.el-date-range-picker.single-panel.has-sidebar.has-time{width:434px}.el-date-range-picker.single-panel.has-sidebar{width:438px}.el-date-range-picker.single-panel .el-picker-panel__content{width:292px;margin:15px;padding:0;display:block;position:relative}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-size:14px;line-height:23px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);width:100%;height:1px;margin:24px 0;display:block}.el-divider--vertical{vertical-align:middle;border-left:1px var(--el-border-color) var(--el-border-style);width:1px;height:1em;margin:0 8px;display:inline-block;position:relative}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);padding:0 20px;font-size:14px;font-weight:500;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%)translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;box-sizing:border-box;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);transition:all var(--el-transition-duration);flex-direction:column;display:flex;position:absolute}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{color:var(--el-text-color-primary);padding:var(--el-drawer-padding-primary);align-items:center;margin-bottom:32px;padding-bottom:0;display:flex;overflow:hidden}.el-drawer__header>:first-child{flex:1}.el-drawer__title{line-height:inherit;flex:1;margin:0;font-size:16px}.el-drawer__footer{padding:var(--el-drawer-padding-primary);text-align:right;padding-top:10px;overflow:hidden}.el-drawer__close-btn{cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:#0000;border:none;outline:none;display:inline-flex}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{padding:var(--el-drawer-padding-primary);flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;user-select:none;background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:before{content:"";background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{height:100%;width:var(--el-drawer-dragger-size);cursor:ew-resize;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{width:3px;top:0;bottom:0}.el-drawer.ttb,.el-drawer.btt{width:100%;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger,.el-drawer.btt>.el-drawer__dragger{width:100%;height:var(--el-drawer-dragger-size);cursor:ns-resize;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger:before,.el-drawer.btt>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-from,.el-drawer-fade-enter-active,.el-drawer-fade-enter-to,.el-drawer-fade-leave-from,.el-drawer-fade-leave-active,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:#0000!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;user-select:none;vertical-align:top;object-fit:contain;width:100%;height:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;vertical-align:top;width:100%;height:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{font-size:var(--el-font-size-base);color:var(--el-text-color-secondary);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-form-item{--font-size:14px;margin-bottom:18px;display:flex}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{text-align:left;width:-moz-fit-content;width:fit-content;height:auto;margin-bottom:8px;padding-right:0;line-height:22px;display:block}.el-form-item__label-wrap{display:flex}.el-form-item__label{font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);box-sizing:border-box;flex:none;align-items:flex-start;height:32px;padding:0 12px 0 0;line-height:32px;display:inline-flex}.el-form-item__content{line-height:32px;font-size:var(--font-size);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);padding-top:2px;font-size:12px;line-height:1;position:absolute;top:100%;left:0}.el-form-item__error--inline{margin-left:10px;display:inline-block;position:relative;top:auto;left:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:hover,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field.is-focus,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:hover:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:focus:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field.is-focus:after{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px #0000}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{vertical-align:middle;margin-right:32px;display:inline-flex}.el-form--inline .el-form-item:last-child{margin-right:0}.el-form--inline.el-form--label-top{flex-wrap:wrap;display:flex}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-image-viewer__wrapper{position:fixed;inset:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{z-index:1;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{width:40px;height:40px;font-size:40px;top:40px;right:40px}.el-image-viewer__canvas{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:static}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;height:44px;padding:0 23px;bottom:30px;left:50%;transform:translate(-50%)}.el-image-viewer__actions__inner{cursor:default;color:#fff;justify-content:space-around;align-items:center;gap:22px;width:100%;height:100%;padding:0 6px;font-size:23px;display:flex}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{cursor:default;color:#fff;bottom:90px;left:50%;transform:translate(-50%)}.el-image-viewer__prev{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;left:40px;transform:translateY(-50%)}.el-image-viewer__next{text-indent:2px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;right:40px;transform:translateY(-50%)}.el-image-viewer__close{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px}.el-image-viewer__mask{opacity:.5;background:#000;width:100%;height:100%;position:absolute;top:0;left:0}.el-image-viewer-parent--hidden{overflow:hidden}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{display:inline-block;position:relative;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle;justify-content:center;align-items:center;font-size:14px;display:flex}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{cursor:auto;resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translateZ(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input .el-input__clear{transition:color var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;box-sizing:border-box;cursor:pointer;font-size:var(--el-input-tag-font-size);padding:var(--el-input-tag-padding);width:var(--el-input-tag-width);min-height:var(--el-input-tag-mini-height);line-height:var(--el-input-tag-line-height);border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;display:flex;transform:translate(0)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;display:flex}.el-input-tag__suffix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:8px;display:flex}.el-input-tag__collapse-tag{line-height:1}.el-input-tag__input-tag-list{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{cursor:pointer;border-color:#0000}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;gap:var(--el-input-tag-gap);flex-wrap:wrap;flex:1;min-width:0;max-width:100%;display:flex;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;user-select:none}.el-input-tag__drop-indicator{width:1px;height:var(--el-input-tag-line-height);background-color:var(--el-color-primary);position:absolute;top:0}.el-input-tag__inner .el-tag{cursor:pointer;border-color:#0000;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:normal;overflow:hidden}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{color:var(--el-input-tag-text-color);font-size:inherit;font-family:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;padding:0}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-input-otp{--el-input-otp-text-color:var(--el-text-color-regular);--el-input-otp-field-width:calc(var(--el-input-otp-size) - 4px);--el-input-otp-gap:8px;--el-input-otp-font-size:14px;--el-input-otp-size:32px}.el-input-otp--large{--el-input-otp-gap:12px;--el-input-otp-font-size:14px;--el-input-otp-size:40px}.el-input-otp--small{--el-input-otp-gap:6px;--el-input-otp-font-size:12px;--el-input-otp-size:24px}.el-input-otp{align-items:center;column-gap:var(--el-input-otp-gap);font-size:var(--el-input-otp-font-size);height:var(--el-input-otp-size);flex-wrap:nowrap;display:inline-flex}.el-input-otp.is-disabled,.el-input-otp.is-disabled .el-input-otp__input{cursor:not-allowed}.el-input-otp__input-field{width:var(--el-input-otp-field-width,calc(var(--el-input-otp-size) - 4px));border-radius:var(--el-border-radius-base);height:100%;line-height:1;position:relative}.el-input-otp__input{text-align:center;width:100%;height:100%;line-height:1;font-size:inherit;color:var(--el-input-otp-text-color,var(--el-text-color-regular));background-color:#0000;border:none;outline:none;padding:0}.el-input-otp.is-disabled .el-input-otp__input{color:var(--el-text-color-disabled)}.el-input-otp--outlined .el-input-otp__input-field{box-shadow:0 0 0 1px var(--el-border-color) inset}@media(hover:hover){.el-input-otp--outlined .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset}}.el-input-otp--outlined .el-input-otp__input-field:focus-within{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--outlined.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}@media(hover:hover){.el-input-otp--outlined.is-disabled .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-border-color) inset}}.el-input-otp--filled .el-input-otp__input-field{background-color:var(--el-fill-color)}@media(hover:hover){.el-input-otp--filled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-dark)}}.el-input-otp--filled .el-input-otp__input-field:focus-within{background-color:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--filled.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}@media(hover:hover){.el-input-otp--filled.is-disabled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-light)}}.el-input-otp--underlined .el-input-otp__input-field:after{content:"";background-color:var(--el-border-color);width:100%;height:1px;display:block;position:absolute;bottom:0;left:0}@media(hover:hover){.el-input-otp--underlined .el-input-otp__input-field:hover:after{background-color:var(--el-color-primary-light-5)}}.el-input-otp--underlined .el-input-otp__input-field:focus-within:after{background-color:var(--el-color-primary)}@media(hover:hover){.el-input-otp--underlined.is-disabled .el-input-otp__input-field:hover:after{background-color:var(--el-border-color)}}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);vertical-align:middle;cursor:pointer;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color);outline:none;flex-direction:row;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.el-link.is-hover-underline:hover:after{content:"";border-bottom:1px solid var(--el-link-hover-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link.is-underline:after{content:"";border-bottom:1px solid var(--el-link-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{justify-content:center;align-items:center;display:inline-flex}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:break-word;z-index:9999;display:flex;position:fixed;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{min-width:0;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);flex:1}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);color:var(--el-notification-content-color);margin:6px 0 0;line-height:24px}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size);flex-shrink:0}.el-notification .el-notification__closeBtn{cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size);position:absolute;top:18px;right:15px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification__progress{position:absolute;bottom:0;left:0;right:0}.el-notification__progress .el-progress-bar__inner{transition:width .1s linear}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{justify-content:space-between;align-items:center;line-height:24px;display:flex}.el-page-header__left{align-items:center;margin-right:40px;display:flex;position:relative}.el-page-header__back{cursor:pointer;align-items:center;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;margin-right:10px;font-size:16px;display:flex}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);align-items:center;font-weight:400;display:flex}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select{width:128px}.el-pagination .btn-prev,.el-pagination .btn-next{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pagination .btn-prev *,.el-pagination .btn-next *{pointer-events:none}.el-pagination .btn-prev:focus,.el-pagination .btn-next:focus{outline:none}.el-pagination .btn-prev:hover,.el-pagination .btn-next:hover{color:var(--el-pagination-hover-color)}.el-pagination .btn-prev.is-active,.el-pagination .btn-next.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination .btn-prev.is-active.is-disabled,.el-pagination .btn-next.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination .btn-prev:disabled,.el-pagination .btn-prev.is-disabled,.el-pagination .btn-next:disabled,.el-pagination .btn-next.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-prev:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-prev .el-icon,.el-pagination .btn-next .el-icon{width:inherit;font-size:12px;font-weight:700;display:block}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);font-weight:400}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);align-items:center;font-weight:400;display:flex}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;justify-content:flex-end;align-items:center;display:flex}.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .el-pager li:disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-prev,.el-pagination--small .btn-next,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small span:not([class*=suffix]),.el-pagination--small button{font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-prev,.el-pagination--large .btn-next,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{-webkit-user-select:none;user-select:none;align-items:center;margin:0;padding:0;font-size:0;list-style:none;display:flex}.el-pager li{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li:disabled,.el-pager li.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm{outline:none}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin-top:8px}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);min-width:150px;padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);margin-bottom:12px;line-height:1}.el-popover__reference:focus:not(.focusing),.el-popover__reference:focus:hover{outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus:active,.el-popover.el-popper:focus{outline-width:0}.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light);outline:none;display:inline-block;position:relative}.el-radio-button__inner{white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);line-height:1;font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;z-index:-1;outline:none;position:absolute}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{flex-wrap:wrap;align-items:center;font-size:0;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);cursor:pointer;white-space:nowrap;font-size:var(--el-font-size-base);-webkit-user-select:none;user-select:none;outline:none;align-items:center;height:32px;margin-right:30px;display:inline-flex;position:relative}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;vertical-align:middle;outline:none;display:inline-flex;position:relative}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%)scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);cursor:pointer;box-sizing:border-box;transition:all .3s;display:inline-block;position:relative}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";width:4px;height:4px;transition:transform .15s ease-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.el-radio__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute;inset:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);--el-rate-outline-color:var(--el-color-primary-light-5);align-items:center;height:32px;display:inline-flex}.el-rate:focus,.el-rate:active{outline:none}.el-rate:focus-visible .el-rate__item .el-rate__icon.is-focus-visible{outline:2px solid var(--el-rate-outline-color);transition:outline-offset,outline}.el-rate__item{cursor:pointer;vertical-align:middle;color:var(--el-rate-void-color);font-size:0;line-height:normal;display:inline-block;position:relative}.el-rate .el-rate__icon{font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);transition:var(--el-transition-duration);display:inline-block;position:relative}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-rate__decimal--box{position:absolute;top:0;left:0}.el-rate__text{font-size:var(--el-rate-font-size);vertical-align:middle;color:var(--el-rate-text-color)}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{cursor:not-allowed;color:var(--el-rate-disabled-void-color)}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;text-align:center;box-sizing:border-box;padding:var(--el-result-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-result__icon svg{width:var(--el-result-icon-font-size);height:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{font-size:var(--el-result-title-font-size);color:var(--el-text-color-primary);margin:0;line-height:1.3}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{font-size:var(--el-font-size-base);color:var(--el-text-color-regular);margin:0;line-height:1.3}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;flex-wrap:wrap;display:flex;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translateZ(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);width:100%;height:16px;display:inline-block}.el-skeleton__circle{width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);border-radius:50%}.el-skeleton__button{border-radius:4px;width:64px;height:40px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;border-radius:0;justify-content:center;align-items:center;display:flex}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100%}to{background-position:0}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%;animation:1.4s infinite el-skeleton-loading}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{vertical-align:top;display:inline-flex}.el-space__item{flex-wrap:wrap;display:flex}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{vertical-align:middle;display:inline-block}.el-spinner-inner{width:50px;height:50px;animation:2s linear infinite rotate}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-grow:0;flex-shrink:0;flex-basis:auto!important}.el-step:last-of-type .el-step__main,.el-step:last-of-type .el-step__description{padding-right:0}.el-step__head{width:100%;position:relative}.el-step__head.is-process{color:var(--el-text-color-primary);border-color:var(--el-text-color-primary)}.el-step__head.is-wait{color:var(--el-text-color-placeholder);border-color:var(--el-text-color-placeholder)}.el-step__head.is-success{color:var(--el-color-success);border-color:var(--el-color-success)}.el-step__head.is-error{color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-step__head.is-finish{color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-step__icon{z-index:1;box-sizing:border-box;background:var(--el-bg-color);justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .15s ease-out;display:inline-flex;position:relative}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;color:inherit;font-weight:700;line-height:1;display:inline-block}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{box-sizing:border-box;border:1px solid;width:0;height:0;transition:all .15s ease-out;display:block}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{margin-top:-5px;padding-right:10%;font-size:12px;font-weight:400;line-height:20px}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{padding-bottom:8px;line-height:24px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-vertical .el-step__description{padding-right:0}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{width:auto;padding-right:10px;font-size:0}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8)translateY(1px)}.el-step.is-simple .el-step__main{flex-grow:1;align-items:stretch;display:flex;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{overflow-wrap:break-word;max-width:50%}.el-step.is-simple .el-step__arrow{flex-grow:1;justify-content:center;align-items:center;display:flex}.el-step.is-simple .el-step__arrow:before,.el-step.is-simple .el-step__arrow:after{content:"";background:var(--el-text-color-placeholder);width:1px;height:15px;display:inline-block;position:absolute}.el-step.is-simple .el-step__arrow:before{transform-origin:0 0;transform:rotate(-45deg)translateY(-4px)}.el-step.is-simple .el-step__arrow:after{transform-origin:100% 100%;transform:rotate(45deg)translateY(4px)}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{line-height:normal;display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);vertical-align:middle;align-items:center;height:32px;font-size:14px;line-height:20px;display:inline-flex;position:relative}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);cursor:pointer;vertical-align:middle;height:20px;color:var(--el-text-color-primary);font-size:14px;font-weight:500;display:inline-block}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{font-size:14px;line-height:1;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{opacity:0;width:0;height:0;margin:0;position:absolute}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;min-width:40px;height:20px;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);border-radius:10px;outline:none;align-items:center;display:inline-flex;position:relative}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);justify-content:center;align-items:center;height:16px;padding:0 4px 0 18px;display:flex;overflow:hidden}.el-switch__core .el-switch__inner-wrapper{color:var(--el-color-white);-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:12px;display:flex;overflow:hidden}.el-switch__core .el-switch__action{border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);background-color:var(--el-color-white);width:16px;height:16px;color:var(--el-switch-off-color);justify-content:center;align-items:center;display:flex;position:absolute;left:1px}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{height:40px;font-size:14px;line-height:24px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;min-width:50px;height:24px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{height:24px;font-size:12px;line-height:16px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;min-width:30px;height:16px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s 1ms}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:2px 0 4px #0000000f}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__vertical,.el-table-v2__left .el-vl__horizontal{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-2px 0 4px #0000000f}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__vertical,.el-table-v2__right .el-vl__horizontal{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{position:relative;overflow:hidden}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{position:absolute;bottom:0;left:0;right:0;overflow:hidden}.el-table-v2__empty{position:absolute;left:0}.el-table-v2__overlay{z-index:9999;position:absolute;inset:0}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{-webkit-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color);height:100%;color:var(--el-table-header-text-color);align-items:center;padding:0 8px;font-weight:700;display:flex;overflow:hidden}.el-table-v2__header-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__header-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__sort-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__sort-icon{transition:opacity,display var(--el-transition-duration);opacity:.6;display:none}.el-table-v2__sort-icon.is-sorting{opacity:1;display:flex}.el-table-v2__row{border-bottom:var(--el-table-border);transition:background-color var(--el-transition-duration);align-items:center;display:flex}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;height:100%;padding:0 8px;display:flex;overflow:hidden}.el-table-v2__row-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__row-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__expand-icon{-webkit-user-select:none;user-select:none;margin:0 4px}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{justify-content:space-between;align-items:center;margin:0 0 15px;padding:0;display:flex;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);z-index:1;height:2px;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none;position:absolute;bottom:0;left:0}.el-tabs__active-bar.is-bottom{bottom:auto}.el-tabs__new-tab{border:1px solid var(--el-border-color);text-align:center;width:20px;height:20px;color:var(--el-text-color-primary);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:10px 0 10px 10px;font-size:12px;line-height:20px;transition:all .15s;display:flex}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:auto;margin-bottom:-1px;position:relative;overflow:hidden}.el-tabs__nav-wrap:after{content:"";background-color:var(--el-border-color-light);width:100%;height:2px;z-index:var(--el-index-normal);position:absolute;bottom:0;left:0}.el-tabs__nav-wrap.is-bottom:after{top:0;bottom:auto}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{cursor:pointer;color:var(--el-text-color-secondary);text-align:center;width:20px;font-size:12px;line-height:44px;position:absolute}.el-tabs__nav-next.is-disabled,.el-tabs__nav-prev.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1);display:flex;position:relative}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{text-align:center;flex:1}.el-tabs__item{height:var(--el-tabs-header-height);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary);justify-content:center;align-items:center;padding:0 20px;font-weight:500;list-style:none;display:flex;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border-radius:50%;margin-left:5px}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;position:relative;overflow:hidden}.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--top>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height);box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{transform-origin:100%;width:0;height:14px;font-size:12px;position:relative;right:-2px;overflow:hidden}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid #0000;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-top:-1px}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);color:var(--el-text-color-secondary);border:1px solid #0000;margin-top:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child,.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-top:10px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid #0000}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--card>.el-tabs__header.is-left,.el-tabs--card>.el-tabs__header.is-right,.el-tabs--border-card>.el-tabs__header.is-left,.el-tabs--border-card>.el-tabs__header.is-right{border-bottom:none}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-scroll{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{width:2px;height:auto;top:0;bottom:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{text-align:center;cursor:pointer;width:100%;height:30px;line-height:30px}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled{cursor:not-allowed}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{top:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{width:2px;height:100%;top:0;bottom:auto}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right-color:#fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-right:none;border-radius:4px 0 0 4px}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid #0000;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 #0000}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left-color:#fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid #0000;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 #0000}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInRight-transition,.slideInLeft-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);position:absolute;left:0;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);position:absolute;left:0;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(100%)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(-100%)}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag .el-tag__close .el-icon{display:flex}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);font-size:var(--el-text-font-size);color:var(--el-text-color);overflow-wrap:break-word;align-self:center;margin:0;padding:0}.el-text.is-truncated{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.el-text.is-line-clamp{-webkit-box-orient:vertical;display:-webkit-inline-box;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{min-width:0;margin:5px 0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{box-sizing:content-box;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__node--normal{width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline-item.is-start .el-timeline-item__wrapper{padding-left:28px}.el-timeline-item.is-start .el-timeline-item__tail{left:4px}.el-timeline-item.is-start .el-timeline-item__node--normal{left:-1px}.el-timeline-item.is-start .el-timeline-item__node--large{left:-2px}.el-timeline-item.is-end .el-timeline-item__wrapper{text-align:right;padding-right:28px}.el-timeline-item.is-end .el-timeline-item__tail{right:4px}.el-timeline-item.is-end .el-timeline-item__node--normal{right:-1px}.el-timeline-item.is-end .el-timeline-item__node--large{right:-2px}.el-timeline-item.is-alternate .el-timeline-item__tail,.el-timeline-item.is-alternate .el-timeline-item__node,.el-timeline-item.is-alternate-reverse .el-timeline-item__tail,.el-timeline-item.is-alternate-reverse .el-timeline-item__node{left:50%;transform:translate(-50%)}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{height:calc(50% - 10px);display:block}.el-timeline.is-start{padding-left:40px;padding-right:0}.el-timeline.is-end{padding-left:0;padding-right:40px}.el-timeline.is-alternate{padding-left:20px;padding-right:20px}.el-timeline.is-alternate .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline.is-alternate .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse{padding-left:20px;padding-right:20px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{vertical-align:middle;padding:0 30px;display:inline-block}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width);box-sizing:border-box;max-height:100%;display:inline-block;position:relative;overflow:hidden}.el-transfer-panel__body{height:var(--el-transfer-panel-body-height);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.el-transfer-panel__list{height:var(--el-transfer-panel-body-height);box-sizing:border-box;margin:0;padding:6px 0;list-style:none;overflow:auto}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px;display:block!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%;line-height:var(--el-transfer-item-height);padding-left:22px;display:block;overflow:hidden}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;box-sizing:border-box;padding:15px}.el-transfer-panel__filter .el-input__inner{height:var(--el-transfer-filter-height);box-sizing:border-box;width:100%;font-size:12px;display:inline-block}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:var(--el-transfer-panel-header-height);background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);align-items:center;margin:0;padding-left:15px;display:flex}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;width:100%;display:flex;position:relative}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{min-width:0;color:var(--el-text-color-primary);flex:1;align-items:center;font-size:16px;font-weight:400;display:flex}.el-transfer-panel .el-transfer-panel__header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.el-transfer-panel .el-transfer-panel__header-count{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;margin-right:15px;font-size:12px}.el-transfer-panel .el-transfer-panel__footer{height:var(--el-transfer-panel-footer-height);background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);color:var(--el-text-color-secondary);text-align:center;margin:0;padding:6px 15px 0}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);cursor:default;background:var(--el-fill-color-blank);color:var(--el-tree-text-color);font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{text-align:center;width:100%;height:100%;min-height:60px;position:relative}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;position:absolute;left:0;right:0}.el-tree-node{white-space:nowrap;outline:none}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);height:var(--el-tree-node-content-height);cursor:pointer;align-items:center;display:flex}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:var(--el-tree-expand-icon-color);transition:transform var(--el-transition-duration) ease-in-out;font-size:12px;transform:rotate(0)}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:#0000;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{font-size:var(--el-font-size-base);color:var(--el-tree-expand-icon-color);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:#0000;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{flex:1;height:20px;padding-left:0;line-height:20px;background:0 0!important}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);margin-bottom:4px;line-height:20px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);width:var(--el-tour-width);padding:var(--el-tour-padding-primary);background:var(--el-tour-bg-color);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;overflow-wrap:break-word;outline:none}.el-tour__arrow{background:var(--el-tour-bg-color);pointer-events:none;box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-tour__content[data-side^=top] .el-tour__arrow{border-top-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=right] .el-tour__arrow{border-top-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{cursor:pointer;width:40px;height:40px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size,16px))}.el-tour__title{line-height:var(--el-tour-font-line-height);font-size:var(--el-tour-title-font-size);color:var(--el-tour-title-text-color);font-weight:var(--el-tour-title-font-weight)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{padding-top:var(--el-tour-padding-primary);box-sizing:border-box;justify-content:space-between;display:flex}.el-tour__content .el-tour-indicators{flex:1;display:inline-block}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{color:var(--el-color-primary);border-color:var(--el-color-primary);background:#fff}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:#ffffff26}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-hover-color:var(--el-text-color-regular);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);opacity:0;z-index:0;border-radius:4px;position:absolute}.el-anchor.el-anchor--vertical .el-anchor__marker{width:4px;height:14px;transition:top .25s ease-in-out,opacity .25s;top:8px;left:0}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{content:"";background-color:#0505050f;width:2px;height:100%;position:absolute;left:0}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{width:20px;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;bottom:0}.el-anchor.el-anchor--horizontal .el-anchor__list{padding-bottom:4px;display:flex}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{content:"";background-color:#0505050f;width:100%;height:2px;position:absolute;bottom:0}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{flex-direction:column;display:flex}.el-anchor__link{font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);color:var(--el-anchor-color);transition:color var(--el-transition-duration);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;outline:none;max-width:100%;padding:4px 0;text-decoration:none;overflow:hidden}.el-anchor__link:hover,.el-anchor__link:focus{color:var(--el-hover-color)}.el-anchor__link:focus-visible{border-radius:var(--el-border-radius-base);outline:2px solid var(--el-color-primary)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);background:var(--el-segmented-bg-color);min-height:32px;padding:var(--el-segmented-padding);border-radius:var(--el-border-radius-base);color:var(--el-segmented-color);box-sizing:border-box;align-items:stretch;font-size:14px;display:inline-flex}.el-segmented__group{align-items:stretch;width:100%;display:flex;position:relative}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);pointer-events:none;width:10px;height:100%;transition:all .3s;position:absolute;top:0;left:0}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{content:"";border-radius:inherit;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;inset:0}.el-segmented__item{cursor:pointer;border-radius:calc(var(--el-border-radius-base) - 2px);flex:1;align-items:center;padding:0 11px;display:flex}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{color:var(--el-segmented-item-hover-color);background:var(--el-segmented-item-hover-bg-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{cursor:not-allowed;color:var(--el-segmented-item-disabled-color)}.el-segmented__item-input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.el-segmented__item-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:1;flex:1;line-height:normal;transition:color .3s;overflow:hidden}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);min-height:40px;font-size:16px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);min-height:24px;font-size:14px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px);padding:0 7px}.el-mention{width:100%;position:relative}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{font-size:var(--el-mention-font-size);white-space:nowrap;text-overflow:ellipsis;color:var(--el-mention-option-color);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);box-sizing:border-box;min-width:var(--el-mention-option-min-width);cursor:pointer;padding:0 20px;position:relative;overflow:hidden}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:700}.el-mention-dropdown__item.is-disabled{color:var(--el-mention-option-disabled-color);cursor:not-allowed;background-color:unset}.el-mention-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-mention-dropdown__loading{text-align:center;color:var(--el-mention-option-loading-color);min-width:var(--el-mention-option-min-width);margin:0;padding:10px 0;font-size:12px}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{padding:var(--el-mention-padding);box-sizing:border-box;margin:0;list-style:none}.el-mention-dropdown__header{padding:var(--el-mention-header-padding);border-bottom:var(--el-mention-border)}.el-mention-dropdown__footer{padding:var(--el-mention-footer-padding);border-top:var(--el-mention-border)}.el-splitter{width:100%;height:100%;margin:0;padding:0;display:flex;position:relative}.el-splitter__mask{z-index:999;position:absolute;inset:0}.el-splitter__mask-horizontal{cursor:ew-resize}.el-splitter__mask-vertical{cursor:ns-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{-webkit-user-select:none;user-select:none;flex:none;position:relative}.el-splitter-bar__dragger{z-index:1;background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:before,.el-splitter-bar__dragger:after{content:"";background-color:var(--el-border-color-light);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:not(.is-disabled):before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:before,.el-splitter-bar__dragger-horizontal:after{width:2px;height:100%}.el-splitter-bar__dragger-vertical:before,.el-splitter-bar__dragger-vertical:after{width:100%;height:2px}.el-splitter-bar__dragger-active:before,.el-splitter-bar__dragger-active:after{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{background:var(--el-border-color-light);cursor:pointer;opacity:0;z-index:9;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute}.el-splitter-bar__collapse-icon:hover{opacity:1;background-color:var(--el-color-primary-light-5)}.el-splitter-bar__horizontal-collapse-icon-start{width:16px;height:24px;top:50%;left:-12px;transform:translate(-50%,-50%)}.el-splitter-bar__horizontal-collapse-icon-end{width:16px;height:24px;top:50%;left:12px;transform:translate(-50%,-50%)}.el-splitter-bar__vertical-collapse-icon-start{width:24px;height:16px;top:-12px;right:50%;transform:translate(50%,-50%)}.el-splitter-bar__vertical-collapse-icon-end{width:24px;height:16px;top:12px;right:50%;transform:translate(50%,-50%)}.el-splitter-panel{scrollbar-width:thin;box-sizing:border-box;flex-grow:0;overflow:auto}:root{--w4f-primary: #FF7FAC;--w4f-primary-h: #F33B7C;--w4f-primary-50: #FFF0F5;--w4f-primary-100: #FFE4E9;--w4f-primary-200: #FFCDD9;--w4f-primary-300: #FF9EB5;--w4f-secondary: #88C0D0;--w4f-secondary-h: #4C8DAE;--w4f-secondary-50: #F0F9FC;--w4f-secondary-200: #AEE1F2;--w4f-danger: #DB3694;--w4f-danger-50: #FEEAF6;--w4f-warning: #b7791f;--w4f-warning-50: #fdf3e3;--w4f-info: #3f6ef5;--w4f-ok: #17a964;--w4f-bg-1: #eef2ff;--w4f-bg-2: #ffffff;--w4f-bg-3: #ffe9f0;--w4f-fg: #3b3350;--w4f-muted: #7c7a95;--w4f-faint: #9c98b0;--w4f-card: rgba(255, 255, 255, .6);--w4f-card-solid: #ffffff;--w4f-card-2: rgba(255, 255, 255, .42);--w4f-line: rgba(255, 127, 172, .18);--w4f-line-strong: rgba(120, 90, 150, .22);--w4f-blob1: rgba(255, 127, 172, .45);--w4f-blob2: rgba(136, 192, 208, .42);--w4f-blob3: rgba(244, 114, 182, .3);--w4f-sh-sm: 0 1px 2px rgba(70, 50, 110, .06), inset 0 1px 0 rgba(255, 255, 255, .6);--w4f-sh-md: 0 6px 20px rgba(120, 90, 160, .13);--w4f-sh-lg: 0 18px 46px rgba(120, 90, 160, .22);--w4f-glass: 18px;--w4f-radius: 16px;--w4f-radius-sm: 12px;--w4f-radius-xs: 10px;--w4f-radius-pill: 99px;--w4f-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--w4f-ease: cubic-bezier(.4, 0, .2, 1);--w4f-font: "Quicksand", "Nunito", "Inter", "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--w4f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--el-color-primary: #FF7FAC;--el-color-primary-light-3: #FF9EB5;--el-color-primary-light-5: #ffb3c4;--el-color-primary-light-7: #ffcdd9;--el-color-primary-light-8: #ffe4e9;--el-color-primary-light-9: #fff0f5;--el-color-primary-dark-2: #f33b7c;--el-color-success: #17a964;--el-color-warning: #b7791f;--el-color-danger: #db3694;--el-color-info: #7c7a95;--el-border-radius-base: 12px;--el-border-radius-small: 8px;--el-font-family: var(--w4f-font)}html,body,#app{margin:0;height:100%}html,body{overflow:hidden}body{font:14px/1.55 var(--w4f-font);color:var(--w4f-fg);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:#ffcdba;color:#fff}a{color:var(--w4f-primary-h)}#bgfx{position:fixed;inset:0;z-index:-10;overflow:hidden;background:linear-gradient(135deg,var(--w4f-bg-1),var(--w4f-bg-2) 45%,var(--w4f-bg-3))}#bgfx .blob{position:absolute;border-radius:50%;filter:blur(64px);will-change:transform;opacity:.6}#bgfx .b1{top:-10%;left:-8%;width:560px;height:560px;background:var(--w4f-blob1);animation:drift1 30s ease-in-out infinite alternate}#bgfx .b2{top:16%;right:-10%;width:440px;height:440px;background:var(--w4f-blob2);animation:drift2 36s ease-in-out infinite alternate}#bgfx .b3{bottom:-12%;left:24%;width:620px;height:620px;background:var(--w4f-blob3);animation:drift3 42s ease-in-out infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.05)}}@keyframes drift2{0%{transform:translate(0) scale(1)}to{transform:translate(-25px,18px) scale(1.03)}}@keyframes drift3{0%{transform:translate(0) scale(1)}to{transform:translate(18px,25px) scale(1.04)}}@media(prefers-reduced-motion:reduce){#bgfx .blob{animation:none;opacity:.35}}.w4f-card{position:relative;background:var(--w4f-card);border:1px solid var(--w4f-line);border-radius:var(--w4f-radius);box-shadow:var(--w4f-sh-md);backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);-webkit-backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);animation:cardIn .32s var(--w4f-ease-spring) both}@media(prefers-reduced-motion:reduce){.w4f-card{backdrop-filter:none;-webkit-backdrop-filter:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.w4f-kpi{background:var(--w4f-card);border:1px solid var(--w4f-line);border-radius:var(--w4f-radius);padding:16px 18px;display:flex;flex-direction:column;box-shadow:var(--w4f-sh-md);backdrop-filter:blur(var(--w4f-glass)) saturate(1.6);-webkit-backdrop-filter:blur(var(--w4f-glass)) saturate(1.6);transition:transform .25s var(--w4f-ease-spring),box-shadow .25s var(--w4f-ease-spring),border-color .25s var(--w4f-ease-spring);animation:cardIn .32s var(--w4f-ease-spring) both}.w4f-kpi:hover{transform:translateY(-2px);box-shadow:var(--w4f-sh-lg);border-color:var(--w4f-primary-200)}.w4f-kpi .k-hdr{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.w4f-kpi .k-lab{font-size:12px;color:var(--w4f-muted);font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap}.w4f-kpi .k-val{font-size:27px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:.3px}.w4f-kpi .k-sub{font-size:11.5px;color:var(--w4f-muted);margin-top:4px}.w4f-kpi .k-ic{width:26px;height:26px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h)}.w4f-dot{width:7px;height:7px;border-radius:50%;background:var(--w4f-ok);display:inline-block;animation:blink 1.6s infinite}.w4f-dot.err{background:var(--w4f-danger)}.w4f-dot.pending{background:var(--w4f-secondary)}@keyframes blink{50%{opacity:.25}}.w4f-bar{height:5px;border-radius:3px;background:var(--w4f-card-2);overflow:hidden;min-width:60px}.w4f-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--w4f-primary),var(--w4f-secondary));border-radius:3px}.w4f-bar.ok i{background:var(--w4f-ok)}.w4f-bar.err i{background:var(--w4f-danger)}.w4f-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--w4f-radius-pill);font-size:12px;font-weight:600;margin:2px 3px 2px 0}.w4f-tag-ok{background:#17a9641f;color:var(--w4f-ok)}.w4f-tag-danger{background:var(--w4f-danger-50);color:var(--w4f-danger)}.w4f-tag-info{background:var(--w4f-secondary-50);color:var(--w4f-secondary-h)}.w4f-tag-warn{background:#b7791f24;color:var(--w4f-warning)}.w4f-tag-primary{background:var(--w4f-primary-50);color:var(--w4f-primary-h)}.w4f-btn{background:linear-gradient(135deg,var(--w4f-primary),var(--w4f-danger));color:#fff;border:0;border-radius:11px;padding:8px 16px;cursor:pointer;font:inherit;font-weight:600;transition:all .18s var(--w4f-ease-spring)}.w4f-btn:hover{background:linear-gradient(135deg,var(--w4f-primary-h),var(--w4f-danger));transform:translateY(-1px);box-shadow:0 8px 20px #ff7fac59}.w4f-btn:active{transform:translateY(0)}.w4f-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.w4f-btn.ghost{background:transparent;border:1px solid var(--w4f-line-strong);color:var(--w4f-muted)}.w4f-btn.ghost:hover{border-color:var(--w4f-primary);color:var(--w4f-primary-h);box-shadow:var(--w4f-sh-sm);transform:none;background:transparent}.w4f-btn.danger{background:transparent;border:1px solid var(--w4f-danger);color:var(--w4f-danger)}.w4f-btn.danger:hover{background:var(--w4f-danger);color:#fff;box-shadow:0 8px 20px #db36944d;transform:translateY(-1px)}.w4f-btn.small{padding:5px 12px;font-size:12px;border-radius:var(--w4f-radius-pill)}*{scrollbar-width:thin;scrollbar-color:var(--w4f-line-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffb6c173;border-radius:4px;transition:background .3s}*::-webkit-scrollbar-thumb:hover{background:#ff7facb3}.el-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.el-dialog{border-radius:var(--w4f-radius)!important;box-shadow:var(--w4f-sh-lg)!important}.el-message{border-radius:var(--w4f-radius-sm)!important;box-shadow:var(--w4f-sh-lg)!important}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.local-node[data-v-8f3c448b]{min-width:240px;border-radius:14px 14px 14px 4px;background:#e8f5e9;border:2px solid #4caf50;box-shadow:0 2px 8px #4caf502e;padding:8px 10px}.local-node.selected[data-v-8f3c448b]{border-color:#ffd54f;box-shadow:0 0 0 3px #ffd54f73}.local-node.conflicted[data-v-8f3c448b]{border-color:#f5222d;box-shadow:0 0 0 3px #f5222d66;animation:conflict-pulse-8f3c448b 1.2s ease-in-out infinite}@keyframes conflict-pulse-8f3c448b{0%,to{box-shadow:0 0 0 3px #f5222d66}50%{box-shadow:0 0 0 5px #f5222db3}}.node-head[data-v-8f3c448b]{display:flex;align-items:center;gap:6px}.node-head .node-icon[data-v-8f3c448b]{color:#4caf50;font-size:16px}.name-input[data-v-8f3c448b]{flex:1;min-width:0;border:none;background:transparent;font-weight:600;font-size:14px;color:#2e7d32}.name-input[data-v-8f3c448b]:focus{outline:1px solid #4caf50}.del-btn[data-v-8f3c448b]{border:none;background:transparent;color:#81c784;font-size:16px;cursor:pointer;line-height:1}.del-btn[data-v-8f3c448b]:hover{color:#c62828}.adv .adv-body label input[data-v-8f3c448b],.adv .adv-body label select[data-v-8f3c448b],.fields label input[data-v-8f3c448b],.fields label select[data-v-8f3c448b]{flex:1;min-width:0;border:1px solid #a5d6a7;border-radius:6px;padding:2px 6px;font-size:12px;background:#fff;color:#333}.adv .adv-body label input[data-v-8f3c448b]:focus,.adv .adv-body label select[data-v-8f3c448b]:focus,.fields label input[data-v-8f3c448b]:focus,.fields label select[data-v-8f3c448b]:focus{outline:none;border-color:#4caf50}.fields[data-v-8f3c448b]{display:flex;flex-direction:column;gap:4px;margin-top:6px}.fields label[data-v-8f3c448b]{display:flex;align-items:center;gap:4px;font-size:11px;color:#558b2f}.fields label input[type=number][data-v-8f3c448b]{width:64px;flex:0 0 64px}.adv[data-v-8f3c448b]{margin-top:6px}.adv .adv-toggle[data-v-8f3c448b]{border:1px dashed #a5d6a7;background:transparent;color:#558b2f;font-size:11px;border-radius:6px;padding:2px 8px;cursor:pointer}.adv .adv-body[data-v-8f3c448b]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;padding:8px;background:#4caf500f;border-radius:8px}.adv .adv-body label[data-v-8f3c448b]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#558b2f}.adv .adv-body .adv-check[data-v-8f3c448b]{flex-direction:row;align-items:center;gap:4px}.adv .adv-body .adv-sep[data-v-8f3c448b],.adv .adv-body .adv-wide[data-v-8f3c448b]{grid-column:1/-1}.adv .adv-body .adv-sep[data-v-8f3c448b]{margin:4px 0 2px;font-size:11px;font-weight:600;color:#2e7d32;border-top:1px dashed rgba(76,175,80,.35);padding-top:4px}.remote-node[data-v-70d8e13d]{min-width:200px;border-radius:14px 14px 4px;background:#fff3e0;border:2px solid #ff9800;box-shadow:0 2px 8px #ff98002e;padding:8px 10px}.remote-node.selected[data-v-70d8e13d]{border-color:#ffd54f;box-shadow:0 0 0 3px #ffd54f73}.remote-node.conflicted[data-v-70d8e13d]{border-color:#f5222d;box-shadow:0 0 0 3px #f5222d66;animation:conflict-pulse-70d8e13d 1.2s ease-in-out infinite}@keyframes conflict-pulse-70d8e13d{0%,to{box-shadow:0 0 0 3px #f5222d66}50%{box-shadow:0 0 0 5px #f5222db3}}.node-head[data-v-70d8e13d]{display:flex;align-items:center;gap:6px}.node-head .node-icon[data-v-70d8e13d]{color:#ff9800;font-size:16px}.name-input[data-v-70d8e13d]{flex:1;min-width:0;border:none;background:transparent;font-weight:600;font-size:14px;color:#e65100}.name-input[data-v-70d8e13d]:focus{outline:1px solid #ff9800}.enabled[data-v-70d8e13d]{display:inline-flex;align-items:center;gap:2px;font-size:10px;color:#ef6c00}.del-btn[data-v-70d8e13d]{border:none;background:transparent;color:#ffb74d;font-size:16px;cursor:pointer;line-height:1}.del-btn[data-v-70d8e13d]:hover{color:#c62828}.fields[data-v-70d8e13d]{display:flex;flex-direction:column;gap:4px;margin-top:6px}.fields label[data-v-70d8e13d]{display:flex;align-items:center;gap:4px;font-size:11px;color:#ef6c00}.fields label input[data-v-70d8e13d]{flex:1;min-width:0;border:1px solid #ffcc80;border-radius:6px;padding:2px 6px;font-size:12px;background:#fff;color:#333}.fields label input[data-v-70d8e13d]:focus{outline:none;border-color:#ff9800}.fields label input[type=number][data-v-70d8e13d]{width:64px;flex:0 0 64px}.fields .adv[data-v-70d8e13d]{margin-top:6px}.fields .adv .adv-toggle[data-v-70d8e13d]{border:1px dashed #ffcc80;background:transparent;color:#ef6c00;font-size:11px;border-radius:6px;padding:2px 8px;cursor:pointer}.fields .adv .adv-body[data-v-70d8e13d]{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px;background:#ff98000f;border-radius:8px}.fields .adv .adv-body label[data-v-70d8e13d]{display:flex;align-items:center;gap:4px;font-size:11px;color:#ef6c00}.fields .adv .adv-body label input[data-v-70d8e13d],.fields .adv .adv-body label select[data-v-70d8e13d]{flex:1;min-width:0;border:1px solid #ffcc80;border-radius:6px;padding:2px 6px;font-size:12px;background:#fff;color:#333}.fields .adv .adv-body label input[data-v-70d8e13d]:focus,.fields .adv .adv-body label select[data-v-70d8e13d]:focus{outline:none;border-color:#ff9800}.fields .adv .adv-body .adv-check[data-v-70d8e13d]{font-size:11px}.port-edge-path.selected[data-v-2791f2b6]{filter:drop-shadow(0 0 4px rgba(244,67,54,.6))}.port-edge-path.conflicted[data-v-2791f2b6]{filter:drop-shadow(0 0 6px rgba(245,34,45,.8));animation:conflict-pulse-2791f2b6 1.2s ease-in-out infinite}@keyframes conflict-pulse-2791f2b6{0%,to{opacity:1}50%{opacity:.55}}.port-label[data-v-2791f2b6]{background:#ffffffeb;color:#3b3350;border:1px solid #ecdfec;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;font-family:inherit;white-space:nowrap;box-shadow:0 2px 6px #0000001f;-webkit-user-select:none;user-select:none;transition:box-shadow .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1)),transform .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.port-label.dragging[data-v-2791f2b6]{cursor:grabbing;box-shadow:0 4px 12px #00000038}.canvas-editor[data-v-a2ae9a16]{height:100%;display:flex;flex-direction:column;background:#f8f6fb}.toolbar[data-v-a2ae9a16]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fff;border-bottom:1px solid #ecdfec;z-index:20}.toolbar-left[data-v-a2ae9a16],.toolbar-right[data-v-a2ae9a16]{display:flex;align-items:center;gap:8px}.toolbar-title[data-v-a2ae9a16]{font-weight:600;font-size:16px;margin-right:8px}.btn[data-v-a2ae9a16]{border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1));background:#f4f1f7;color:#3b3350}.btn[data-v-a2ae9a16]:hover{background:#f5eef3}.btn[data-v-a2ae9a16]:disabled{opacity:.5;cursor:default}.btn.local-add[data-v-a2ae9a16]{background:#4caf50;color:#fff}.btn.local-add[data-v-a2ae9a16]:hover{background:#43a047}.btn.remote-add[data-v-a2ae9a16]{background:#ff9800;color:#fff}.btn.remote-add[data-v-a2ae9a16]:hover{background:#f57c00}.btn.warn[data-v-a2ae9a16]{background:#78909c;color:#fff}.btn.warn[data-v-a2ae9a16]:hover{background:#607d8b}.btn.save[data-v-a2ae9a16]{background:#ff7fac;color:#fff}.btn.save[data-v-a2ae9a16]:hover{background:#f33b7c}.save-hint[data-v-a2ae9a16]{font-size:13px;color:#7c7a95}.flow-wrap[data-v-a2ae9a16]{flex:1;position:relative;min-height:0}.flow-canvas[data-v-a2ae9a16]{width:100%;height:100%;background:#f5f7fa}.dlg-row[data-v-a2ae9a16]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dlg-row label[data-v-a2ae9a16]{min-width:70px;font-size:14px;color:#5a5470}.dlg-value[data-v-a2ae9a16]{font-weight:500}.dlg-hint[data-v-a2ae9a16]{font-size:13px;color:#7c7a95}[data-v-a2ae9a16] .vue-flow__edge-label{background:#000000b8;color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;cursor:pointer}[data-v-a2ae9a16] .vue-flow__handle{width:12px;height:12px;border:2px solid #fff}[data-v-a2ae9a16] .vue-flow__node{cursor:grab}[data-v-a2ae9a16] .vue-flow__node.dragging{cursor:grabbing}.settings-page[data-v-42a55655]{height:100%;display:flex;flex-direction:column;overflow-y:auto}.page-top[data-v-42a55655]{flex-shrink:0;padding:24px 32px;border-bottom:1px solid #ecdfec}.page-header .page-title[data-v-42a55655]{margin:0}.page-header .page-subtitle[data-v-42a55655]{margin:4px 0 0;color:#7c7a95;font-size:14px}.page-content[data-v-42a55655]{padding:24px 32px;display:flex;flex-direction:column;gap:24px;max-width:760px}.panel[data-v-42a55655]{border:1px solid #ecdfec;border-radius:16px;padding:24px}.panel-title[data-v-42a55655]{margin:0 0 4px;font-size:16px;font-weight:600}.panel-desc[data-v-42a55655]{margin:0 0 12px;color:#7c7a95;font-size:13px}.binary-row[data-v-42a55655]{display:flex;gap:8px}.binary-input[data-v-42a55655]{flex:1}.btn[data-v-42a55655]{border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1));white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.install-btn[data-v-42a55655]{background:#ff7fac;color:#fff}.install-btn[data-v-42a55655]:hover{background:#f33b7c}.install-btn[data-v-42a55655]:disabled{opacity:.6;cursor:default}.spin[data-v-42a55655]{animation:rotate-42a55655 1s linear infinite}@keyframes rotate-42a55655{to{transform:rotate(360deg)}}.binary-info[data-v-42a55655]{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.binary-info .info-label[data-v-42a55655]{color:#7c7a95;font-size:13px}.binary-info .info-value[data-v-42a55655]{background:#f4f1f7;border-radius:6px;padding:2px 8px;font-size:13px;word-break:break-all}.binary-info .info-version[data-v-42a55655]{background:#409eff1f;color:#ff7fac;border-radius:10px;padding:2px 8px;font-size:13px}.setting-row[data-v-42a55655]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f2e9f4}.setting-row[data-v-42a55655]:last-child{border-bottom:none}.setting-text[data-v-42a55655]{display:flex;flex-direction:column}.setting-label[data-v-42a55655]{font-size:14px;font-weight:500}.setting-hint[data-v-42a55655]{font-size:13px;color:#7c7a95}.status-page[data-v-377c7184]{height:100%;display:flex;flex-direction:column;overflow:hidden;gap:14px}.topbar[data-v-377c7184]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.tb-left[data-v-377c7184]{display:flex;flex-direction:column;gap:3px}.page-title[data-v-377c7184]{margin:0;font-size:17px;font-weight:800}.page-sub[data-v-377c7184]{font-size:12px;color:#7c7a95}.tb-right[data-v-377c7184]{display:flex;gap:8px}.kpis[data-v-377c7184]{flex-shrink:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px}.status-body[data-v-377c7184]{flex:1;display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding-right:4px}.section[data-v-377c7184]{display:flex;flex-direction:column}.section-title[data-v-377c7184]{margin:0 0 10px;font-size:13.5px;font-weight:700;color:#7c7a95;letter-spacing:.02em;display:flex;align-items:center;gap:10px}.section-title .k-ic[data-v-377c7184]{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:13px;background:linear-gradient(135deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h)}.section-title .hint[data-v-377c7184]{font-size:11px;font-weight:400;color:#7c7a95;margin-left:auto}.card-grid[data-v-377c7184]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.node-card[data-v-377c7184]{padding:16px 18px;border-left:4px solid var(--w4f-danger)}.node-card.healthy[data-v-377c7184]{border-left-color:var(--w4f-ok)}.nc-head[data-v-377c7184]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nc-name[data-v-377c7184]{font-weight:800;font-size:15px;margin-right:auto}.nc-actions[data-v-377c7184]{display:flex;gap:6px;flex-wrap:wrap}.nc-meta[data-v-377c7184]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.meta-pill[data-v-377c7184]{font-size:11.5px;padding:2px 9px;border-radius:99px;background:var(--w4f-card-2);color:#7c7a95;font-family:var(--w4f-mono);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-pill.warn[data-v-377c7184]{background:#fdf3e3;color:#b7791f}.meta-pill.err[data-v-377c7184]{background:#feeaf6;color:#db3694}.meta-pill.info[data-v-377c7184]{background:#f0f9fc;color:#4c8dae}.nc-forwards[data-v-377c7184]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.nc-groups[data-v-377c7184]{margin-top:6px}.nc-proxies[data-v-377c7184]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.nc-proxy[data-v-377c7184]{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 10px;border-radius:10px;background:var(--w4f-card-2);border:1px solid var(--w4f-line)}.nc-proxy.ok[data-v-377c7184]{border-left:3px solid #17a964}.nc-proxy.pending[data-v-377c7184]{border-left:3px solid #88c0d0}.nc-proxy.err[data-v-377c7184]{border-left:3px solid #db3694}.nc-proxy .w4f-bar[data-v-377c7184]{width:60px}.np-name[data-v-377c7184]{font-weight:700}.np-status[data-v-377c7184]{font-size:11px;color:#5a5470}.np-addr[data-v-377c7184]{margin-left:auto;font-size:11px;color:#7c7a95;font-family:var(--w4f-mono)}.np-err[data-v-377c7184]{margin-left:auto;font-size:11px;color:#db3694;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-proxies-empty[data-v-377c7184]{margin-top:8px;font-size:12px;color:#7c7a95}.local-card[data-v-377c7184]{padding:14px 16px}.lc-head[data-v-377c7184]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-name[data-v-377c7184]{font-weight:800;font-size:14px}.lc-addr[data-v-377c7184]{font-size:12px;color:#5a5470;font-family:var(--w4f-mono)}.lc-targets[data-v-377c7184]{margin-top:10px;display:flex;flex-direction:column;gap:6px}.lc-target[data-v-377c7184]{display:flex;align-items:center;gap:6px;font-size:13px}.lc-arrow[data-v-377c7184]{color:var(--w4f-primary);font-weight:700}.lc-remote[data-v-377c7184]{font-weight:600}.lc-port[data-v-377c7184]{color:#5a5470;font-family:var(--w4f-mono);margin-right:auto}.lc-none[data-v-377c7184]{font-size:12px;color:#9c98b0}.empty[data-v-377c7184]{grid-column:1/-1;color:#7c7a95;font-size:13px;padding:18px;text-align:center}.form-row[data-v-377c7184]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-row label[data-v-377c7184]{width:72px;font-size:13px;color:#5a5470;flex-shrink:0}.cluster-page[data-v-68cabdd9]{height:100%;display:flex;flex-direction:column;overflow-y:auto;padding:4px 0 40px;gap:14px}.hero[data-v-68cabdd9]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px}.hero-left[data-v-68cabdd9]{display:flex;flex-direction:column;gap:4px}.page-title[data-v-68cabdd9]{margin:0;font-size:18px;font-weight:800}.page-sub[data-v-68cabdd9]{color:#7c7a95;font-size:12px}.hero-stats[data-v-68cabdd9]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hero-stats .w4f-tag b[data-v-68cabdd9]{color:#3b3350;font-weight:800}.crown[data-v-68cabdd9]{color:var(--w4f-primary-h)}.kpis[data-v-68cabdd9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px}.toolbar[data-v-68cabdd9]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px}.act-hint[data-v-68cabdd9]{font-size:12px;color:#7c7a95}.cluster-body[data-v-68cabdd9]{display:flex;flex-direction:column;gap:14px}.section[data-v-68cabdd9]{padding:18px 20px}.section-title[data-v-68cabdd9]{margin:0 0 12px;font-size:13.5px;font-weight:700;color:#7c7a95;letter-spacing:.02em;display:flex;align-items:center;gap:10px}.section-title .k-ic[data-v-68cabdd9]{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:13px;background:linear-gradient(135deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h)}.section-title .hint[data-v-68cabdd9]{font-size:11px;font-weight:400;color:#7c7a95;margin-left:auto}.ring-line[data-v-68cabdd9]{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.ring-node[data-v-68cabdd9]{position:relative;border:1px solid var(--w4f-line);border-radius:16px;padding:12px 14px;min-width:168px;background:var(--w4f-card-2);box-shadow:var(--w4f-sh-sm)}.ring-node.leader[data-v-68cabdd9]{border-color:var(--w4f-secondary);background:var(--w4f-secondary-50)}.ring-node.self[data-v-68cabdd9]{outline:2px solid rgba(255,127,172,.45);box-shadow:0 0 0 4px #ff7fac24;border-color:var(--w4f-primary)}.ring-node.dead[data-v-68cabdd9]{border-color:var(--w4f-danger);background:var(--w4f-danger-50);opacity:.72}.rn-top[data-v-68cabdd9]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rn-id[data-v-68cabdd9]{font-weight:800;font-size:13px;font-family:var(--w4f-mono)}.rn-load-row[data-v-68cabdd9]{display:flex;align-items:center;gap:8px;margin-top:8px}.rn-load-label[data-v-68cabdd9]{font-size:11px;color:#7c7a95;white-space:nowrap}.rn-load-row .w4f-bar[data-v-68cabdd9]{flex:1;min-width:50px}.rn-addr[data-v-68cabdd9]{font-size:11px;color:#7c7a95;font-family:var(--w4f-mono);margin-top:4px}.rn-remove[data-v-68cabdd9]{margin-top:8px}.ring-arrow[data-v-68cabdd9]{align-self:center;color:var(--w4f-primary);font-size:18px;font-weight:700}.task-list[data-v-68cabdd9],.topo-list[data-v-68cabdd9],.log-list[data-v-68cabdd9]{display:flex;flex-direction:column;gap:6px}.task-row[data-v-68cabdd9],.topo-row[data-v-68cabdd9]{display:flex;align-items:center;gap:8px;border:1px solid var(--w4f-line);border-radius:10px;padding:8px 11px;font-size:13px;background:var(--w4f-card-2);box-shadow:var(--w4f-sh-sm)}.task-row.pending[data-v-68cabdd9]{background:var(--w4f-primary-50);border-color:#ff7fac40}.task-row.revoke[data-v-68cabdd9],.task-row.remove[data-v-68cabdd9]{background:var(--w4f-danger-50);border-color:#db369440}.tk-id[data-v-68cabdd9],.tp-id[data-v-68cabdd9]{font-weight:700;color:#5a5470;font-size:12px;font-family:var(--w4f-mono)}.tk-name[data-v-68cabdd9],.tp-name[data-v-68cabdd9]{font-weight:600}.tk-arrow[data-v-68cabdd9]{color:var(--w4f-primary);font-weight:700}.tk-port[data-v-68cabdd9],.tp-port[data-v-68cabdd9]{color:#7c7a95;font-family:var(--w4f-mono)}.tp-owner[data-v-68cabdd9]{margin-left:auto;font-size:11px;color:#4c8dae}.tp-owner.self[data-v-68cabdd9]{color:var(--w4f-primary-h);font-weight:700}.log-row[data-v-68cabdd9]{display:flex;gap:10px;font-size:12px;font-family:var(--w4f-mono);border-bottom:1px dashed var(--w4f-line);padding:3px 2px}.log-row.add .lg-kind[data-v-68cabdd9]{color:#17a964;font-weight:700}.log-row.remove .lg-kind[data-v-68cabdd9]{color:#db3694;font-weight:700}.log-row.join .lg-kind[data-v-68cabdd9]{color:#3f6ef5;font-weight:700}.log-row.leave .lg-kind[data-v-68cabdd9]{color:#b7791f;font-weight:700}.log-row.leader .lg-kind[data-v-68cabdd9]{color:#4c8dae;font-weight:700}.lg-seq[data-v-68cabdd9]{color:#7c7a95}.lg-node[data-v-68cabdd9]{color:#9c98b0}.lg-node.self[data-v-68cabdd9]{color:var(--w4f-primary-h);font-weight:700}.lg-kind[data-v-68cabdd9]{color:#5a5470}.empty[data-v-68cabdd9]{color:#7c7a95;font-size:13px;padding:10px}.empty-page[data-v-68cabdd9]{color:#7c7a95;font-size:14px;padding:40px;text-align:center}.form-row[data-v-68cabdd9]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.form-row label[data-v-68cabdd9]{width:72px;font-size:13px;color:#5a5470;flex-shrink:0}.form-hint[data-v-68cabdd9]{font-size:12px;color:#7c7a95}.app-shell[data-v-74ca128e]{height:100%;display:flex;font-family:var(--w4f-font);color:var(--w4f-fg)}.sidebar[data-v-74ca128e]{flex:0 0 246px;width:246px;padding:18px 14px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;background:var(--w4f-card);border-right:1px solid var(--w4f-line);backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);-webkit-backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);box-shadow:var(--w4f-sh-md);z-index:30}@media(prefers-reduced-motion:reduce){.sidebar[data-v-74ca128e]{backdrop-filter:none;-webkit-backdrop-filter:none}}.sb-brand[data-v-74ca128e]{display:flex;align-items:center;gap:11px;padding:6px 8px 18px}.sb-logo[data-v-74ca128e]{width:40px;height:40px;border-radius:13px;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-weight:800;font-size:19px;letter-spacing:.5px;background:linear-gradient(135deg,var(--w4f-primary),var(--w4f-secondary));box-shadow:0 6px 18px #ff7fac73}.sb-brand-text b[data-v-74ca128e]{font-size:16.5px;letter-spacing:.2px;display:block;line-height:1.1}.sb-brand-text small[data-v-74ca128e]{display:block;font-size:11px;color:var(--w4f-muted);margin-top:3px}.sb-nav[data-v-74ca128e]{display:flex;flex-direction:column;gap:3px;flex:1}.sb-i[data-v-74ca128e]{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 13px;border-radius:13px;cursor:pointer;color:var(--w4f-muted);font-weight:600;font-size:13.5px;font-family:inherit;background:transparent;border:1px solid transparent;transition:background .18s var(--w4f-ease-spring),color .18s var(--w4f-ease-spring),border-color .18s var(--w4f-ease-spring),box-shadow .18s var(--w4f-ease-spring)}.sb-i .ic[data-v-74ca128e]{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;opacity:.85}.sb-i[data-v-74ca128e]:hover{background:var(--w4f-card-2);color:var(--w4f-fg)}.sb-i:hover .ic[data-v-74ca128e]{opacity:1}.sb-i.active[data-v-74ca128e]{background:linear-gradient(120deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h);border-color:var(--w4f-line);box-shadow:var(--w4f-sh-sm)}.sb-i.active .ic[data-v-74ca128e]{opacity:1}.sb-foot[data-v-74ca128e]{margin-top:auto;padding-top:16px}.sb-status[data-v-74ca128e]{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:var(--w4f-radius-pill);font-size:12.5px;font-weight:600;color:var(--w4f-primary-h);background:var(--w4f-primary-50)}.sb-status .dot[data-v-74ca128e]{width:7px;height:7px;border-radius:50%;background:var(--w4f-primary);box-shadow:0 0 0 3px #ff7fac2e;animation:blink-74ca128e 1.6s infinite}@keyframes blink-74ca128e{50%{opacity:.25}}.main[data-v-74ca128e]{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.breadcrumb[data-v-74ca128e]{display:flex;align-items:center;gap:8px;padding:16px 24px 6px;font-weight:700;font-size:15px}.breadcrumb .crumb[data-v-74ca128e]{opacity:1;color:var(--w4f-fg)}.content[data-v-74ca128e]{flex:1;overflow-y:auto;padding:8px 24px 40px}@media(max-width:900px){.sidebar[data-v-74ca128e]{flex:0 0 210px;width:210px}.breadcrumb[data-v-74ca128e]{padding:12px 16px 6px}.content[data-v-74ca128e]{padding:8px 14px 32px}} diff --git a/internal/httpapi/dist/assets/index-C5WLVFP2.js b/internal/httpapi/dist/assets/index-C5WLVFP2.js new file mode 100644 index 0000000..62ed37e --- /dev/null +++ b/internal/httpapi/dist/assets/index-C5WLVFP2.js @@ -0,0 +1,77 @@ +var I_=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}};var Mfe=I_((Ho,Ko)=>{(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const l of a)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&o(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const l={};return a.integrity&&(l.integrity=a.integrity),a.referrerPolicy&&(l.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?l.credentials="include":a.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function o(a){if(a.ep)return;a.ep=!0;const l=n(a);fetch(a.href,l)}})();function Om(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Sn={},Rr=[],mt=()=>{},VS=()=>!1,Df=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Lf=e=>e.startsWith("onUpdate:"),Hn=Object.assign,Mm=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},O_=Object.prototype.hasOwnProperty,zt=(e,t)=>O_.call(e,t),xe=Array.isArray,Ar=e=>qu(e)==="[object Map]",yi=e=>qu(e)==="[object Set]",ns=e=>qu(e)==="[object Date]",je=e=>typeof e=="function",ze=e=>typeof e=="string",jo=e=>typeof e=="symbol",st=e=>e!==null&&typeof e=="object",os=e=>(st(e)||je(e))&&je(e.then)&&je(e.catch),BS=Object.prototype.toString,qu=e=>BS.call(e),M_=e=>qu(e).slice(8,-1),du=e=>qu(e)==="[object Object]",Vf=e=>ze(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Xi=Om(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Bf=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},P_=/-\w/g,Xn=Bf(e=>e.replace(P_,t=>t.slice(1).toUpperCase())),R_=/\B([A-Z])/g,_l=Bf(e=>e.replace(R_,"-$1").toLowerCase()),Gu=Bf(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ds=Bf(e=>e?`on${Gu(e)}`:""),ca=(e,t)=>!Object.is(e,t),rd=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Ff=e=>{const t=parseFloat(e);return isNaN(t)?e:t},A_=e=>{const t=ze(e)?Number(e):NaN;return isNaN(t)?e:t};let tb;const zf=()=>tb||(tb=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Be(e){if(xe(e)){const t={};for(let n=0;n{if(n){const o=n.split(L_);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function R(e){let t="";if(ze(e))t=e;else if(xe(e))for(let n=0;nas(n,t))}const HS=e=>!!(e&&e.__v_isRef===!0),me=e=>ze(e)?e:e==null?"":xe(e)||st(e)&&(e.toString===BS||!je(e.toString))?HS(e)?me(e.value):JSON.stringify(e,KS,2):String(e),KS=(e,t)=>HS(t)?KS(e,t.value):Ar(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],l)=>(n[jp(o,l)+" =>"]=a,n),{})}:yi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>jp(n))}:jo(t)?jp(t):st(t)&&!xe(t)&&!du(t)?String(t):t,jp=(e,t="")=>{var n;return jo(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let jn;class WS{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&&jn&&(jn.active?(this.parent=jn,this.index=(jn.scopes||(jn.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 o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(jn===this)jn=this.prevScope;else{let t=jn;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,o;for(n=0,o=this.effects.length;n0)return;if(Ji){let t=Ji;for(Ji=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Zi;){let t=Zi;for(Zi=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function qS(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function GS(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),Dm(o),K_(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function Zv(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(XS(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function XS(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===fu)||(e.globalVersion=fu,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Zv(e))))return;e.flags|=2;const t=e.dep,n=xn,o=pa;xn=e,pa=!0;try{qS(e);const a=e.fn(e._value);(t.version===0||ca(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{xn=n,pa=o,GS(e),e.flags&=-3}}function Dm(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)Dm(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function K_(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let pa=!0;const ZS=[];function Sl(){ZS.push(pa),pa=!1}function Cl(){const e=ZS.pop();pa=e===void 0?!0:e}function nb(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=xn;xn=void 0;try{t()}finally{xn=n}}}let fu=0;class W_{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 Kf{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(!xn||!pa||xn===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==xn)n=this.activeLink=new W_(xn,this),xn.deps?(n.prevDep=xn.depsTail,xn.depsTail.nextDep=n,xn.depsTail=n):xn.deps=xn.depsTail=n,JS(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=xn.depsTail,n.nextDep=void 0,xn.depsTail.nextDep=n,xn.depsTail=n,xn.deps===n&&(xn.deps=o)}return n}trigger(t){this.version++,fu++,this.notify(t)}notify(t){Rm();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Am()}}}function JS(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)JS(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Bd=new WeakMap,Ls=Symbol(""),Jv=Symbol(""),pu=Symbol("");function ao(e,t,n){if(pa&&xn){let o=Bd.get(e);o||Bd.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new Kf),a.map=o,a.key=n),a.track()}}function ul(e,t,n,o,a,l){const s=Bd.get(e);if(!s){fu++;return}const r=u=>{u&&u.trigger()};if(Rm(),t==="clear")s.forEach(r);else{const u=xe(e),c=u&&Vf(n);if(u&&n==="length"){const d=Number(o);s.forEach((f,v)=>{(v==="length"||v===pu||!jo(v)&&v>=d)&&r(f)})}else switch((n!==void 0||s.has(void 0))&&r(s.get(n)),c&&r(s.get(pu)),t){case"add":u?c&&r(s.get("length")):(r(s.get(Ls)),Ar(e)&&r(s.get(Jv)));break;case"delete":u||(r(s.get(Ls)),Ar(e)&&r(s.get(Jv)));break;case"set":Ar(e)&&r(s.get(Ls));break}}Am()}function j_(e,t){const n=Bd.get(e);return n&&n.get(t)}function wr(e){const t=nn(e);return t===e?t:(ao(t,"iterate",pu),Wo(e)?t:t.map(ga))}function Wf(e){return ao(e=nn(e),"iterate",pu),e}function Pa(e,t){return kl(e)?qr(Vs(e)?ga(t):t):ga(t)}const U_={__proto__:null,[Symbol.iterator](){return Yp(this,Symbol.iterator,e=>Pa(this,e))},concat(...e){return wr(this).concat(...e.map(t=>xe(t)?wr(t):t))},entries(){return Yp(this,"entries",e=>(e[1]=Pa(this,e[1]),e))},every(e,t){return al(this,"every",e,t,void 0,arguments)},filter(e,t){return al(this,"filter",e,t,n=>n.map(o=>Pa(this,o)),arguments)},find(e,t){return al(this,"find",e,t,n=>Pa(this,n),arguments)},findIndex(e,t){return al(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return al(this,"findLast",e,t,n=>Pa(this,n),arguments)},findLastIndex(e,t){return al(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return al(this,"forEach",e,t,void 0,arguments)},includes(...e){return qp(this,"includes",e)},indexOf(...e){return qp(this,"indexOf",e)},join(e){return wr(this).join(e)},lastIndexOf(...e){return qp(this,"lastIndexOf",e)},map(e,t){return al(this,"map",e,t,void 0,arguments)},pop(){return Ti(this,"pop")},push(...e){return Ti(this,"push",e)},reduce(e,...t){return ob(this,"reduce",e,t)},reduceRight(e,...t){return ob(this,"reduceRight",e,t)},shift(){return Ti(this,"shift")},some(e,t){return al(this,"some",e,t,void 0,arguments)},splice(...e){return Ti(this,"splice",e)},toReversed(){return wr(this).toReversed()},toSorted(e){return wr(this).toSorted(e)},toSpliced(...e){return wr(this).toSpliced(...e)},unshift(...e){return Ti(this,"unshift",e)},values(){return Yp(this,"values",e=>Pa(this,e))}};function Yp(e,t,n){const o=Wf(e),a=o[t]();return o!==e&&!Wo(e)&&(a._next=a.next,a.next=()=>{const l=a._next();return l.done||(l.value=n(l.value)),l}),a}const Y_=Array.prototype;function al(e,t,n,o,a,l){const s=Wf(e),r=s!==e&&!Wo(e),u=s[t];if(u!==Y_[t]){const f=u.apply(e,l);return r?ga(f):f}let c=n;s!==e&&(r?c=function(f,v){return n.call(this,Pa(e,f),v,e)}:n.length>2&&(c=function(f,v){return n.call(this,f,v,e)}));const d=u.call(s,c,o);return r&&a?a(d):d}function ob(e,t,n,o){const a=Wf(e),l=a!==e&&!Wo(e);let s=n,r=!1;a!==e&&(l?(r=o.length===0,s=function(c,d,f){return r&&(r=!1,c=Pa(e,c)),n.call(this,c,Pa(e,d),f,e)}):n.length>3&&(s=function(c,d,f){return n.call(this,c,d,f,e)}));const u=a[t](s,...o);return r?Pa(e,u):u}function qp(e,t,n){const o=nn(e);ao(o,"iterate",pu);const a=o[t](...n);return(a===-1||a===!1)&&Yf(n[0])?(n[0]=nn(n[0]),o[t](...n)):a}function Ti(e,t,n=[]){Sl(),Rm();const o=nn(e)[t].apply(e,n);return Am(),Cl(),o}const q_=Om("__proto__,__v_isRef,__isVue"),QS=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jo));function G_(e){jo(e)||(e=String(e));const t=nn(this);return ao(t,"has",e),t.hasOwnProperty(e)}class eC{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return l;if(n==="__v_raw")return o===(a?l?sC:lC:l?aC:oC).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const s=xe(t);if(!a){let u;if(s&&(u=U_[n]))return u;if(n==="hasOwnProperty")return G_}const r=Reflect.get(t,n,gt(t)?t:o);if((jo(n)?QS.has(n):q_(n))||(a||ao(t,"get",n),l))return r;if(gt(r)){const u=s&&Vf(n)?r:r.value;return a&&st(u)?Xs(u):u}return st(r)?a?Xs(r):Kt(r):r}}class tC extends eC{constructor(t=!1){super(!1,t)}set(t,n,o,a){let l=t[n];const s=xe(t)&&Vf(n);if(!this._isShallow){const c=kl(l);if(!Wo(o)&&!kl(o)&&(l=nn(l),o=nn(o)),!s&>(l)&&!gt(o))return c||(l.value=o),!0}const r=s?Number(n)e,Tc=e=>Reflect.getPrototypeOf(e);function eN(e,t,n){return function(...o){const a=this.__v_raw,l=nn(a),s=Ar(l),r=e==="entries"||e===Symbol.iterator&&s,u=e==="keys"&&s,c=a[e](...o),d=n?Qv:t?qr:ga;return!t&&ao(l,"iterate",u?Jv:Ls),Hn(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:r?[d(f[0]),d(f[1])]:d(f),done:v}}})}}function _c(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function tN(e,t){const n={get(a){const l=this.__v_raw,s=nn(l),r=nn(a);e||(ca(a,r)&&ao(s,"get",a),ao(s,"get",r));const{has:u}=Tc(s),c=t?Qv:e?qr:ga;if(u.call(s,a))return c(l.get(a));if(u.call(s,r))return c(l.get(r));l!==s&&l.get(a)},get size(){const a=this.__v_raw;return!e&&ao(nn(a),"iterate",Ls),a.size},has(a){const l=this.__v_raw,s=nn(l),r=nn(a);return e||(ca(a,r)&&ao(s,"has",a),ao(s,"has",r)),a===r?l.has(a):l.has(a)||l.has(r)},forEach(a,l){const s=this,r=s.__v_raw,u=nn(r),c=t?Qv:e?qr:ga;return!e&&ao(u,"iterate",Ls),r.forEach((d,f)=>a.call(l,c(d),c(f),s))}};return Hn(n,e?{add:_c("add"),set:_c("set"),delete:_c("delete"),clear:_c("clear")}:{add(a){const l=nn(this),s=Tc(l),r=nn(a),u=!t&&!Wo(a)&&!kl(a)?r:a;return s.has.call(l,u)||ca(a,u)&&s.has.call(l,a)||ca(r,u)&&s.has.call(l,r)||(l.add(u),ul(l,"add",u,u)),this},set(a,l){!t&&!Wo(l)&&!kl(l)&&(l=nn(l));const s=nn(this),{has:r,get:u}=Tc(s);let c=r.call(s,a);c||(a=nn(a),c=r.call(s,a));const d=u.call(s,a);return s.set(a,l),c?ca(l,d)&&ul(s,"set",a,l):ul(s,"add",a,l),this},delete(a){const l=nn(this),{has:s,get:r}=Tc(l);let u=s.call(l,a);u||(a=nn(a),u=s.call(l,a)),r&&r.call(l,a);const c=l.delete(a);return u&&ul(l,"delete",a,void 0),c},clear(){const a=nn(this),l=a.size!==0,s=a.clear();return l&&ul(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=eN(a,e,t)}),n}function jf(e,t){const n=tN(e,t);return(o,a,l)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(zt(n,a)&&a in o?n:o,a,l)}const nN={get:jf(!1,!1)},oN={get:jf(!1,!0)},aN={get:jf(!0,!1)},lN={get:jf(!0,!0)},oC=new WeakMap,aC=new WeakMap,lC=new WeakMap,sC=new WeakMap;function sN(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Kt(e){return kl(e)?e:Uf(e,!1,X_,nN,oC)}function Lm(e){return Uf(e,!1,J_,oN,aC)}function Xs(e){return Uf(e,!0,Z_,aN,lC)}function Vm(e){return Uf(e,!0,Q_,lN,sC)}function Uf(e,t,n,o,a){if(!st(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=a.get(e);if(l)return l;const s=sN(M_(e));if(s===0)return e;const r=new Proxy(e,s===2?o:n);return a.set(e,r),r}function Vs(e){return kl(e)?Vs(e.__v_raw):!!(e&&e.__v_isReactive)}function kl(e){return!!(e&&e.__v_isReadonly)}function Wo(e){return!!(e&&e.__v_isShallow)}function Yf(e){return e?!!e.__v_raw:!1}function nn(e){const t=e&&e.__v_raw;return t?nn(t):e}function yo(e){return!zt(e,"__v_skip")&&Object.isExtensible(e)&&FS(e,"__v_skip",!0),e}const ga=e=>st(e)?Kt(e):e,qr=e=>st(e)?Xs(e):e;function gt(e){return e?e.__v_isRef===!0:!1}function F(e){return rC(e,!1)}function kt(e){return rC(e,!0)}function rC(e,t){return gt(e)?e:new rN(e,t)}class rN{constructor(t,n){this.dep=new Kf,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:nn(t),this._value=n?t:ga(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Wo(t)||kl(t);t=o?t:nn(t),ca(t,n)&&(this._rawValue=t,this._value=o?t:ga(t),this.dep.trigger())}}function id(e){e.dep&&e.dep.trigger()}function i(e){return gt(e)?e.value:e}function Nt(e){return je(e)?e():i(e)}const iN={get:(e,t,n)=>t==="__v_raw"?e:i(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return gt(a)&&!gt(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function iC(e){return Vs(e)?e:new Proxy(e,iN)}class uN{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Kf,{get:o,set:a}=t(n.track.bind(n),n.trigger.bind(n));this._get=o,this._set=a}get value(){return this._value=this._get()}set value(t){this._set(t)}}function cN(e){return new uN(e)}function An(e){const t=xe(e)?new Array(e.length):{};for(const n in e)t[n]=uC(e,n);return t}class dN{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=jo(n)?n:String(n),this._raw=nn(t);let a=!0,l=t;if(!xe(t)||jo(this._key)||!Vf(this._key))do a=!Yf(l)||Wo(l);while(a&&(l=l.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=i(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&>(this._raw[this._key])){const n=this._object[this._key];if(gt(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return j_(this._raw,this._key)}}class fN{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 wt(e,t,n){return gt(e)?e:je(e)?new fN(e):st(e)&&arguments.length>1?uC(e,t,n):F(e)}function uC(e,t,n){return new dN(e,t,n)}class pN{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Kf(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=fu-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&xn!==this)return YS(this,!0),!0}get value(){const t=this.dep.track();return XS(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function vN(e,t,n=!1){let o,a;return je(e)?o=e:(o=e.get,a=e.set),new pN(o,a,n)}const Nc={},Fd=new WeakMap;let Cs;function hN(e,t=!1,n=Cs){if(n){let o=Fd.get(n);o||Fd.set(n,o=[]),o.push(e)}}function mN(e,t,n=Sn){const{immediate:o,deep:a,once:l,scheduler:s,augmentJob:r,call:u}=n,c=S=>a?S:Wo(S)||a===!1||a===0?cl(S,1):cl(S);let d,f,v,h,g=!1,p=!1;if(gt(e)?(f=()=>e.value,g=Wo(e)):Vs(e)?(f=()=>c(e),g=!0):xe(e)?(p=!0,g=e.some(S=>Vs(S)||Wo(S)),f=()=>e.map(S=>{if(gt(S))return S.value;if(Vs(S))return c(S);if(je(S))return u?u(S,2):S()})):je(e)?t?f=u?()=>u(e,2):e:f=()=>{if(v){Sl();try{v()}finally{Cl()}}const S=Cs;Cs=d;try{return u?u(e,3,[h]):e(h)}finally{Cs=S}}:f=mt,t&&a){const S=f,k=a===!0?1/0:a;f=()=>cl(S(),k)}const m=Xu(),y=()=>{d.stop(),m&&m.active&&Mm(m.effects,d)};if(l&&t){const S=t;t=(...k)=>{const x=S(...k);return y(),x}}let b=p?new Array(e.length).fill(Nc):Nc;const w=S=>{if(!(!(d.flags&1)||!d.dirty&&!S))if(t){const k=d.run();if(S||a||g||(p?k.some((x,$)=>ca(x,b[$])):ca(k,b))){v&&v();const x=Cs;Cs=d;try{const $=[k,b===Nc?void 0:p&&b[0]===Nc?[]:b,h];b=k,u?u(t,3,$):t(...$)}finally{Cs=x}}}else d.run()};return r&&r(w),d=new jS(f),d.scheduler=s?()=>s(w,!1):w,h=S=>hN(S,!1,d),v=d.onStop=()=>{const S=Fd.get(d);if(S){if(u)u(S,4);else for(const k of S)k();Fd.delete(d)}},t?o?w(!0):b=d.run():s?s(w.bind(null,!0),!0):d.run(),y.pause=d.pause.bind(d),y.resume=d.resume.bind(d),y.stop=y,y}function cl(e,t=1/0,n){if(t<=0||!st(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,gt(e))cl(e.value,t,n);else if(xe(e))for(let o=0;o{cl(o,t,n)});else if(du(e)){for(const o in e)cl(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&cl(e[o],t,n)}return e}function Zu(e,t,n,o){try{return o?e(...o):e()}catch(a){qf(a,t,n)}}function ta(e,t,n,o){if(je(e)){const a=Zu(e,t,n,o);return a&&os(a)&&a.catch(l=>{qf(l,t,n)}),a}if(xe(e)){const a=[];for(let l=0;l>>1,a=ho[o],l=vu(a);l=vu(n)?ho.push(e):ho.splice(yN(t),0,e),e.flags|=1,dC()}}function dC(){zd||(zd=cC.then(pC))}function bN(e){if(!xe(e))ql&&e.id===-1?ql.splice(Nr+1,0,e):e.flags&1||(Lr.push(e),e.flags|=1);else for(let t=0;tvu(n)-vu(o));if(Lr.length=0,ql){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function pC(e){try{for(Oa=0;Oa{o._d&&Ud(-1);const l=Hd(t),s=gl.length;let r;try{r=e(...a)}finally{for(let u=gl.length;u>s;u--)Xm();Hd(l),o._d&&Ud(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function Ye(e,t){if(eo===null)return e;const n=Qf(eo),o=e.dirs||(e.dirs=[]);for(let a=0;a1)return n&&je(t)?t.call(o&&o.proxy):t}}function hC(){return!!(ct()||Bs)}const wN=Symbol.for("v-scx"),SN=()=>Fe(wN);function uo(e,t){return Fm(e,null,t)}function ge(e,t,n){return Fm(e,t,n)}function Fm(e,t,n=Sn){const{immediate:o,deep:a,flush:l,once:s}=n,r=Hn({},n),u=t&&o||!t&&l!=="post";let c;if(gu){if(l==="sync"){const h=SN();c=h.__watcherHandles||(h.__watcherHandles=[])}else if(!u){const h=()=>{};return h.stop=mt,h.resume=mt,h.pause=mt,h}}const d=lo;r.call=(h,g,p)=>ta(h,d,g,p);let f=!1;l==="post"?r.scheduler=h=>{vo(h,d&&d.suspense)}:l!=="sync"&&(f=!0,r.scheduler=(h,g)=>{g?h():Bm(h)}),r.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,d&&(h.id=d.uid,h.i=d))};const v=mN(e,t,r);return gu&&(c?c.push(v):u&&v()),v}function CN(e,t,n){const o=this.proxy,a=ze(e)?e.includes(".")?mC(o,e):()=>o[e]:e.bind(o,o);let l;je(t)?l=t:(l=t.handler,n=t);const s=ec(this),r=Fm(a,l.bind(o),n);return s(),r}function mC(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,xs=e=>e&&(e.disabled||e.disabled===""),kN=e=>e&&(e.defer||e.defer===""),lb=e=>typeof SVGElement<"u"&&e instanceof SVGElement,sb=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,eh=(e,t)=>{const n=e&&e.to;return ze(n)?t?t(n):null:n},xN={name:"Teleport",__isTeleport:!0,process(e,t,n,o,a,l,s,r,u,c){const{mc:d,pc:f,pbc:v,o:{insert:h,querySelector:g,createText:p,createComment:m,parentNode:y}}=c,b=xs(t.props);let{dynamicChildren:w}=t;const S=($,T,_)=>{$.shapeFlag&16&&d($.children,T,_,a,l,s,r,u)},k=($=t)=>{const T=xs($.props),_=$.target=eh($.props,g),A=th(_,$,p,h);_&&(s!=="svg"&&lb(_)?s="svg":s!=="mathml"&&sb(_)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(_),T||(S($,_,A),Bi($,!1)))},x=$=>{const T=()=>{if(zl.get($)===T){if(zl.delete($),xs($.props)){const _=y($.el)||n;S($,_,$.anchor),Bi($,!0)}k($)}};zl.set($,T),vo(T,l)};if(e==null){const $=t.el=p(""),T=t.anchor=p("");if(h($,n,o),h(T,n,o),kN(t.props)||l&&l.pendingBranch){x(t);return}b&&(S(t,n,T),Bi(t,!0)),k()}else{t.el=e.el;const $=t.anchor=e.anchor,T=zl.get(e);if(T){T.flags|=8,zl.delete(e),x(t);return}t.targetStart=e.targetStart;const _=t.target=e.target,A=t.targetAnchor=e.targetAnchor,D=xs(e.props),N=D?n:_,W=D?$:A;if(s==="svg"||lb(_)?s="svg":(s==="mathml"||sb(_))&&(s="mathml"),w?(v(e.dynamicChildren,w,N,a,l,s,r),Gm(e,t,!0)):u||f(e,t,N,W,a,l,s,r,!1),b)D?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ic(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const V=eh(t.props,g);V&&(t.target=V,Ic(t,V,null,c,0))}else D&&Ic(t,_,A,c,1);Bi(t,b)}},remove(e,t,n,{um:o,o:{remove:a}},l){const{shapeFlag:s,children:r,anchor:u,targetStart:c,targetAnchor:d,target:f,props:v}=e,h=xs(v),g=l||!h,p=zl.get(e);if(p&&(p.flags|=8,zl.delete(e)),f&&(a(c),a(d)),l&&a(u),!p&&(h||f)&&s&16)for(let m=0;m{e.isMounted=!0}),Ft(()=>{e.isUnmounting=!0}),e}const qo=[Function,Array],bC={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:qo,onEnter:qo,onAfterEnter:qo,onEnterCancelled:qo,onBeforeLeave:qo,onLeave:qo,onAfterLeave:qo,onLeaveCancelled:qo,onBeforeAppear:qo,onAppear:qo,onAfterAppear:qo,onAppearCancelled:qo},wC=e=>{const t=e.subTree;return t.component?wC(t.component):t},$N={name:"BaseTransition",props:bC,setup(e,{slots:t}){const n=ct(),o=yC();return()=>{const a=t.default&&zm(t.default(),!0),l=a&&a.length?SC(a):n.subTree?se():void 0;if(!l)return;const s=nn(e),{mode:r}=s;if(o.isLeaving)return Gp(l);const u=Kd(l);if(!u)return Gp(l);let c=hu(u,s,o,n,f=>c=f);u.type!==_n&&Zs(u,c);let d=n.subTree&&Kd(n.subTree);if(d&&d.type!==_n&&!Es(d,u)&&wC(n).type!==_n){let f=hu(d,s,o,n);if(Zs(d,f),r==="out-in"&&u.type!==_n)return o.isLeaving=!0,f.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,d=void 0},Gp(l);r==="in-out"&&u.type!==_n?f.delayLeave=(v,h,g)=>{const p=CC(o,d);p[String(d.key)]=d,v[Zo]=()=>{h(),v[Zo]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{g(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return l}}};function SC(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==_n){t=n;break}}return t}const TN=$N;function CC(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function hu(e,t,n,o,a){const{appear:l,mode:s,persisted:r=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:v,onLeave:h,onAfterLeave:g,onLeaveCancelled:p,onBeforeAppear:m,onAppear:y,onAfterAppear:b,onAppearCancelled:w}=t,S=String(e.key),k=CC(n,e),x=(_,A)=>{_&&ta(_,o,9,A)},$=(_,A)=>{const D=A[1];x(_,A),xe(_)?_.every(N=>N.length<=1)&&D():_.length<=1&&D()},T={mode:s,persisted:r,beforeEnter(_){let A=u;if(!n.isMounted)if(l)A=m||u;else return;_[Zo]&&_[Zo](!0);const D=k[S];D&&Es(e,D)&&D.el[Zo]&&D.el[Zo](),x(A,[_])},enter(_){if(k[S]===e)return;let A=c,D=d,N=f;if(!n.isMounted)if(l)A=y||c,D=b||d,N=w||f;else return;let W=!1;_[_i]=H=>{W||(W=!0,H?x(N,[_]):x(D,[_]),T.delayedLeave&&T.delayedLeave(),_[_i]=void 0)};const V=_[_i].bind(null,!1);A?$(A,[_,V]):V()},leave(_,A){const D=String(e.key);if(_[_i]&&_[_i](!0),n.isUnmounting)return A();x(v,[_]);let N=!1;_[Zo]=V=>{N||(N=!0,A(),V?x(p,[_]):x(g,[_]),_[Zo]=void 0,k[D]===e&&delete k[D])};const W=_[Zo].bind(null,!1);k[D]=e,h?$(h,[_,W]):W()},clone(_){const A=hu(_,t,n,o,a);return a&&a(A),A}};return T}function Gp(e){if(Xf(e))return e=ya(e),e.children=null,e}function Kd(e){if(!Xf(e))return Gf(e.type)&&e.children?SC(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&&je(n.default))return n.default()}}function Zs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Zs(Gf(n.type)&&Kd(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 zm(e,t=!1,n){let o=[],a=0;for(let l=0;l1)for(let l=0;lQi(p,t&&(xe(t)?t[m]:t),n,o,a));return}if(Vr(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Qi(e,t,n,o.component.subTree);return}const l=o.shapeFlag&4?Qf(o.component):o.el,s=a?null:l,{i:r,r:u}=e,c=t&&t.r,d=r.refs===Sn?r.refs={}:r.refs,f=r.setupState,v=nn(f),h=f===Sn?VS:p=>rb(d,p)?!1:zt(v,p),g=(p,m)=>!(m&&rb(d,m));if(c!=null&&c!==u){if(ib(t),ze(c))d[c]=null,h(c)&&(f[c]=null);else if(gt(c)){const p=t;g(c,p.k)&&(c.value=null),p.k&&(d[p.k]=null)}}if(je(u))Zu(u,r,12,[s,d]);else{const p=ze(u),m=gt(u);if(p||m){const y=()=>{if(e.f){const b=p?h(u)?f[u]:d[u]:g()||!e.k?u.value:d[e.k];if(a)xe(b)&&Mm(b,l);else if(xe(b))b.includes(l)||b.push(l);else if(p)d[u]=[l],h(u)&&(f[u]=d[u]);else{const w=[l];g(u,e.k)&&(u.value=w),e.k&&(d[e.k]=w)}}else p?(d[u]=s,h(u)&&(f[u]=s)):m&&(g(u,e.k)&&(u.value=s),e.k&&(d[e.k]=s))};if(s){const b=()=>{y(),Wd.delete(e)};b.id=-1,Wd.set(e,b),vo(b,n)}else ib(e),y()}}}function ib(e){const t=Wd.get(e);t&&(t.flags|=8,Wd.delete(e))}zf().requestIdleCallback;zf().cancelIdleCallback;const Vr=e=>!!e.type.__asyncLoader,Xf=e=>e.type.__isKeepAlive;function Ju(e,t){xC(e,"a",t)}function Hm(e,t){xC(e,"da",t)}function xC(e,t,n=lo){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Zf(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Xf(a.parent.vnode)&&_N(o,t,n,a),a=a.parent}}function _N(e,t,n,o){const a=Zf(t,e,o,!0);dr(()=>{Mm(o[t],a)},n)}function Zf(e,t,n=lo,o=!1){if(n){const a=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{Sl();const r=ec(n),u=ta(t,n,e,s);return r(),Cl(),u});return o?a.unshift(l):a.push(l),l}}const Nl=e=>(t,n=lo)=>{(!gu||e==="sp")&&Zf(e,(...o)=>t(...o),n)},Qu=Nl("bm"),at=Nl("m"),Km=Nl("bu"),Sa=Nl("u"),Ft=Nl("bum"),dr=Nl("um"),NN=Nl("sp"),IN=Nl("rtg"),ON=Nl("rtc");function MN(e,t=lo){Zf("ec",e,t)}const Wm="components",PN="directives";function yt(e,t){return Um(Wm,e,!0,t)||e}const EC=Symbol.for("v-ndc");function ft(e){return ze(e)?Um(Wm,e,!1)||e:e||EC}function jm(e){return Um(PN,e)}function Um(e,t,n=!0,o=!1){const a=eo||lo;if(a){const l=a.type;if(e===Wm){const r=hI(l,!1);if(r&&(r===t||r===Xn(t)||r===Gu(Xn(t))))return l}const s=ub(a[e]||l[e],t)||ub(a.appContext[e],t);return!s&&o?l:s}}function ub(e,t){return e&&(e[t]||e[Xn(t)]||e[Gu(Xn(t))])}function dt(e,t,n,o){let a;const l=n&&n[o],s=xe(e);if(s||ze(e)){const r=s&&Vs(e);let u=!1,c=!1;r&&(u=!Wo(e),c=kl(e),e=Wf(e)),a=new Array(e.length);for(let d=0,f=e.length;dt(r,u,void 0,l&&l[u]));else{const r=Object.keys(e);a=new Array(r.length);for(let u=0,c=r.length;u{const l=o.fn(...a);return l&&(l.key=o.key),l}:o.fn)}return e}function ue(e,t,n,o,a,l){if(n==null&&(n={}),eo.ce||eo.parent&&Vr(eo.parent)&&eo.parent.ce){const c=n,d=Object.keys(c).length>0;return t!=="default"&&(c.name=t),E(),fe(Me,null,[Z("slot",c,o&&o())],d?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const r=gl.length;E();let u;try{const c=s&&$C(s(n)),d=n.key||l||c&&c.key;u=fe(Me,{key:(d&&!jo(d)?d:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let d=gl.length;d>r;d--)Xm();throw c}finally{s&&s._c&&(s._d=!0)}return u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),u}function $C(e){return e.some(t=>tn(t)?!(t.type===_n||t.type===Me&&!$C(t.children)):!0)?e:null}function RN(e,t){const n={};for(const o in e)n[Ds(o)]=e[o];return n}const nh=e=>e?UC(e)?Qf(e):nh(e.parent):null,eu=Hn(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=>nh(e.parent),$root:e=>nh(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>NC(e),$forceUpdate:e=>e.f||(e.f=()=>{Bm(e.update)}),$nextTick:e=>e.n||(e.n=Re.bind(e.proxy)),$watch:e=>CN.bind(e)}),Xp=(e,t)=>e!==Sn&&!e.__isScriptSetup&&zt(e,t),AN={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:l,accessCache:s,type:r,appContext:u}=e;if(t[0]!=="$"){const v=s[t];if(v!==void 0)switch(v){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return l[t]}else{if(Xp(o,t))return s[t]=1,o[t];if(a!==Sn&&zt(a,t))return s[t]=2,a[t];if(zt(l,t))return s[t]=3,l[t];if(n!==Sn&&zt(n,t))return s[t]=4,n[t];oh&&(s[t]=0)}}const c=eu[t];let d,f;if(c)return t==="$attrs"&&ao(e.attrs,"get",""),c(e);if((d=r.__cssModules)&&(d=d[t]))return d;if(n!==Sn&&zt(n,t))return s[t]=4,n[t];if(f=u.config.globalProperties,zt(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:l}=e;return Xp(a,t)?(a[t]=n,!0):o!==Sn&&zt(o,t)?(o[t]=n,!0):zt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:l,type:s}},r){let u;return!!(n[r]||e!==Sn&&r[0]!=="$"&&zt(e,r)||Xp(t,r)||zt(l,r)||zt(o,r)||zt(eu,r)||zt(a.config.globalProperties,r)||(u=s.__cssModules)&&u[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:zt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function bn(){return TC().slots}function Za(){return TC().attrs}function TC(e){const t=ct();return t.setupContext||(t.setupContext=qC(t))}function cb(e){return xe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function DN(e,t){const n={};for(const o in e)t.includes(o)||Object.defineProperty(n,o,{enumerable:!0,get:()=>e[o]});return n}let oh=!0;function LN(e){const t=NC(e),n=e.proxy,o=e.ctx;oh=!1,t.beforeCreate&&db(t.beforeCreate,e,"bc");const{data:a,computed:l,methods:s,watch:r,provide:u,inject:c,created:d,beforeMount:f,mounted:v,beforeUpdate:h,updated:g,activated:p,deactivated:m,beforeDestroy:y,beforeUnmount:b,destroyed:w,unmounted:S,render:k,renderTracked:x,renderTriggered:$,errorCaptured:T,serverPrefetch:_,expose:A,inheritAttrs:D,components:N,directives:W,filters:V}=t;if(c&&VN(c,o,null),s)for(const O in s){const M=s[O];je(M)&&(o[O]=M.bind(n))}if(a){const O=a.call(n,n);st(O)&&(e.data=Kt(O))}if(oh=!0,l)for(const O in l){const M=l[O],B=je(M)?M.bind(n,n):je(M.get)?M.get.bind(n,n):mt,L=!je(M)&&je(M.set)?M.set.bind(n):mt,K=C({get:B,set:L});Object.defineProperty(o,O,{enumerable:!0,configurable:!0,get:()=>K.value,set:X=>K.value=X})}if(r)for(const O in r)_C(r[O],o,n,O);if(u){const O=je(u)?u.call(n):u;Reflect.ownKeys(O).forEach(M=>{xt(M,O[M])})}d&&db(d,e,"c");function P(O,M){xe(M)?M.forEach(B=>O(B.bind(n))):M&&O(M.bind(n))}if(P(Qu,f),P(at,v),P(Km,h),P(Sa,g),P(Ju,p),P(Hm,m),P(MN,T),P(ON,x),P(IN,$),P(Ft,b),P(dr,S),P(NN,_),xe(A))if(A.length){const O=e.exposed||(e.exposed={});A.forEach(M=>{Object.defineProperty(O,M,{get:()=>n[M],set:B=>n[M]=B,enumerable:!0})})}else e.exposed||(e.exposed={});k&&e.render===mt&&(e.render=k),D!=null&&(e.inheritAttrs=D),N&&(e.components=N),W&&(e.directives=W),_&&kC(e)}function VN(e,t,n=mt){xe(e)&&(e=ah(e));for(const o in e){const a=e[o];let l;st(a)?"default"in a?l=Fe(a.from||o,a.default,!0):l=Fe(a.from||o):l=Fe(a),gt(l)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[o]=l}}function db(e,t,n){ta(xe(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function _C(e,t,n,o){let a=o.includes(".")?mC(n,o):()=>n[o];if(ze(e)){const l=t[e];je(l)&&ge(a,l)}else if(je(e))ge(a,e.bind(n));else if(st(e))if(xe(e))e.forEach(l=>_C(l,t,n,o));else{const l=je(e.handler)?e.handler.bind(n):t[e.handler];je(l)&&ge(a,l,e)}}function NC(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,r=l.get(t);let u;return r?u=r:!a.length&&!n&&!o?u=t:(u={},a.length&&a.forEach(c=>jd(u,c,s,!0)),jd(u,t,s)),st(t)&&l.set(t,u),u}function jd(e,t,n,o=!1){const{mixins:a,extends:l}=t;l&&jd(e,l,n,!0),a&&a.forEach(s=>jd(e,s,n,!0));for(const s in t)if(!(o&&s==="expose")){const r=BN[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}const BN={data:fb,props:pb,emits:pb,methods:Fi,computed:Fi,beforeCreate:po,created:po,beforeMount:po,mounted:po,beforeUpdate:po,updated:po,beforeDestroy:po,beforeUnmount:po,destroyed:po,unmounted:po,activated:po,deactivated:po,errorCaptured:po,serverPrefetch:po,components:Fi,directives:Fi,watch:zN,provide:fb,inject:FN};function fb(e,t){return t?e?function(){return Hn(je(e)?e.call(this,this):e,je(t)?t.call(this,this):t)}:t:e}function FN(e,t){return Fi(ah(e),ah(t))}function ah(e){if(xe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Xn(t)}Modifiers`]||e[`${_l(t)}Modifiers`];function jN(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||Sn;let a=n;const l=t.startsWith("update:"),s=l&&WN(o,t.slice(7));s&&(s.trim&&(a=n.map(d=>ze(d)?d.trim():d)),s.number&&(a=n.map(Ff)));let r,u=o[r=Ds(t)]||o[r=Ds(Xn(t))];!u&&l&&(u=o[r=Ds(_l(t))]),u&&ta(u,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ta(c,e,6,a)}}const UN=new WeakMap;function OC(e,t,n=!1){const o=n?UN:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const l=e.emits;let s={},r=!1;if(!je(e)){const u=c=>{const d=OC(c,t,!0);d&&(r=!0,Hn(s,d))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!l&&!r?(st(e)&&o.set(e,null),null):(xe(l)?l.forEach(u=>s[u]=null):Hn(s,l),st(e)&&o.set(e,s),s)}function Jf(e,t){return!e||!Df(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),zt(e,t[0].toLowerCase()+t.slice(1))||zt(e,_l(t))||zt(e,t))}function vb(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[l],slots:s,attrs:r,emit:u,render:c,renderCache:d,props:f,data:v,setupState:h,ctx:g,inheritAttrs:p}=e,m=Hd(e);let y,b;try{if(n.shapeFlag&4){const S=a||o,k=S;y=Ra(c.call(k,S,d,f,h,v,g)),b=r}else{const S=t;y=Ra(S.length>1?S(f,{attrs:r,slots:s,emit:u}):S(f,null)),b=t.props?r:YN(r)}}catch(S){gl.length=0,qf(S,e,1),y=Z(_n)}let w=y;if(b&&p!==!1){const S=Object.keys(b),{shapeFlag:k}=w;S.length&&k&7&&(l&&S.some(Lf)&&(b=qN(b,l)),w=ya(w,b,!1,!0))}if(n.dirs&&(w=ya(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition){const S=Gf(w.type)&&Kd(w)||w;Zs(S,n.transition)}return y=w,Hd(m),y}const YN=e=>{let t;for(const n in e)(n==="class"||n==="style"||Df(n))&&((t||(t={}))[n]=e[n]);return t},qN=(e,t)=>{const n={};for(const o in e)(!Lf(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function GN(e,t,n){const{props:o,children:a,component:l}=e,{props:s,children:r,patchFlag:u}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return o?hb(o,s,c):!!s;if(u&8){const d=t.dynamicProps;for(let f=0;fObject.create(PC),AC=e=>Object.getPrototypeOf(e)===PC;function ZN(e,t,n,o=!1){const a={},l=RC();e.propsDefaults=Object.create(null),DC(e,t,a,l);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);n?e.props=o?a:Lm(a):e.type.props?e.props=a:e.props=l,e.attrs=l}function JN(e,t,n,o){const{props:a,attrs:l,vnode:{patchFlag:s}}=e,r=nn(a),[u]=e.propsOptions;let c=!1;if((o||s>0)&&!(s&16)){if(s&8){const d=e.vnode.dynamicProps;for(let f=0;f{u=!0;const[v,h]=LC(f,t,!0);Hn(s,v),h&&r.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!u)return st(e)&&o.set(e,Rr),Rr;if(xe(l))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",qm=e=>xe(e)?e.map(Ra):[Ra(e)],eI=(e,t,n)=>{if(t._n)return t;const o=ae((...a)=>qm(t(...a)),n);return o._c=!1,o},VC=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ym(a))continue;const l=e[a];if(je(l))t[a]=eI(a,l,o);else if(l!=null){const s=qm(l);t[a]=()=>s}}},BC=(e,t)=>{const n=qm(t);e.slots.default=()=>n},FC=(e,t,n)=>{for(const o in t)(n||!Ym(o))&&(e[o]=t[o])},tI=(e,t,n)=>{const o=e.slots=RC();if(e.vnode.shapeFlag&32){const a=t._;a?(FC(o,t,n),n&&FS(o,"_",a,!0)):VC(t,o)}else t&&BC(e,t)},nI=(e,t,n)=>{const{vnode:o,slots:a}=e;let l=!0,s=Sn;if(o.shapeFlag&32){const r=t._;r?n&&r===1?l=!1:FC(a,t,n):(l=!t.$stable,VC(t,a)),s=t}else t&&(BC(e,t),s={default:1});if(l)for(const r in a)!Ym(r)&&s[r]==null&&delete a[r]},vo=rI;function oI(e){return aI(e)}function aI(e,t){const n=zf();n.__VUE__=!0;const{insert:o,remove:a,patchProp:l,createElement:s,createText:r,createComment:u,setText:c,setElementText:d,parentNode:f,nextSibling:v,setScopeId:h=mt,insertStaticContent:g}=e,p=(j,ee,Y,q=null,U=null,G=null,te=void 0,he=null,pe=!!ee.dynamicChildren)=>{if(j===ee)return;j&&!Es(j,ee)&&(q=ce(j),X(j,U,G,!0),j=null),ee.patchFlag===-2&&(pe=!1,ee.dynamicChildren=null);const{type:de,ref:be,shapeFlag:ye}=ee;switch(de){case bi:m(j,ee,Y,q);break;case _n:y(j,ee,Y,q);break;case Jp:j==null&&b(ee,Y,q,te);break;case Me:N(j,ee,Y,q,U,G,te,he,pe);break;default:ye&1?k(j,ee,Y,q,U,G,te,he,pe):ye&6?W(j,ee,Y,q,U,G,te,he,pe):(ye&64||ye&128)&&de.process(j,ee,Y,q,U,G,te,he,pe,le)}be!=null&&U?Qi(be,j&&j.ref,G,ee||j,!ee):be==null&&j&&j.ref!=null&&Qi(j.ref,null,G,j,!0)},m=(j,ee,Y,q)=>{if(j==null)o(ee.el=r(ee.children),Y,q);else{const U=ee.el=j.el;ee.children!==j.children&&c(U,ee.children)}},y=(j,ee,Y,q)=>{j==null?o(ee.el=u(ee.children||""),Y,q):ee.el=j.el},b=(j,ee,Y,q)=>{[j.el,j.anchor]=g(j.children,ee,Y,q,j.el,j.anchor)},w=({el:j,anchor:ee},Y,q)=>{let U;for(;j&&j!==ee;)U=v(j),o(j,Y,q),j=U;o(ee,Y,q)},S=({el:j,anchor:ee})=>{let Y;for(;j&&j!==ee;)Y=v(j),a(j),j=Y;a(ee)},k=(j,ee,Y,q,U,G,te,he,pe)=>{if(ee.type==="svg"?te="svg":ee.type==="math"&&(te="mathml"),j==null)x(ee,Y,q,U,G,te,he,pe);else{const de=j.el&&j.el._isVueCE?j.el:null;try{de&&de._beginPatch(),_(j,ee,U,G,te,he,pe)}finally{de&&de._endPatch()}}},x=(j,ee,Y,q,U,G,te,he)=>{let pe,de;const{props:be,shapeFlag:ye,transition:$e,dirs:Pe}=j;if(pe=j.el=s(j.type,G,be&&be.is,be),ye&8?d(pe,j.children):ye&16&&T(j.children,pe,null,q,U,Zp(j,G),te,he),Pe&&gs(j,null,q,"created"),$(pe,j,j.scopeId,te,q),be){for(const tt in be)tt!=="value"&&!Xi(tt)&&l(pe,tt,null,be[tt],G,q);"value"in be&&l(pe,"value",null,be.value,G),(de=be.onVnodeBeforeMount)&&_a(de,q,j)}Pe&&gs(j,null,q,"beforeMount");const et=lI(U,$e);et&&$e.beforeEnter(pe),o(pe,ee,Y),((de=be&&be.onVnodeMounted)||et||Pe)&&vo(()=>{de&&_a(de,q,j),et&&$e.enter(pe),Pe&&gs(j,null,q,"mounted")},U)},$=(j,ee,Y,q,U)=>{if(Y&&h(j,Y),q)for(let G=0;G{for(let de=pe;de{const he=ee.el=j.el;let{patchFlag:pe,dynamicChildren:de,dirs:be}=ee;pe|=j.patchFlag&16;const ye=j.props||Sn,$e=ee.props||Sn;let Pe;if(Y&&ys(Y,!1),(Pe=$e.onVnodeBeforeUpdate)&&_a(Pe,Y,ee,j),be&&gs(ee,j,Y,"beforeUpdate"),Y&&ys(Y,!0),de&&(!j.dynamicChildren||j.dynamicChildren.length!==de.length)&&(pe=0,te=!1,de=null),(ye.innerHTML&&$e.innerHTML==null||ye.textContent&&$e.textContent==null)&&d(he,""),de?A(j.dynamicChildren,de,he,Y,q,Zp(ee,U),G):te||M(j,ee,he,null,Y,q,Zp(ee,U),G,!1),pe>0){if(pe&16)D(he,ye,$e,Y,U);else if(pe&2&&ye.class!==$e.class&&l(he,"class",null,$e.class,U),pe&4&&l(he,"style",ye.style,$e.style,U),pe&8){const et=ee.dynamicProps;for(let tt=0;tt{Pe&&_a(Pe,Y,ee,j),be&&gs(ee,j,Y,"updated")},q)},A=(j,ee,Y,q,U,G,te)=>{for(let he=0;he{if(ee!==Y){if(ee!==Sn)for(const G in ee)!Xi(G)&&!(G in Y)&&l(j,G,ee[G],null,U,q);for(const G in Y){if(Xi(G))continue;const te=Y[G],he=ee[G];te!==he&&G!=="value"&&l(j,G,he,te,U,q)}"value"in Y&&l(j,"value",ee.value,Y.value,U)}},N=(j,ee,Y,q,U,G,te,he,pe)=>{const de=ee.el=j?j.el:r(""),be=ee.anchor=j?j.anchor:r("");let{patchFlag:ye,dynamicChildren:$e,slotScopeIds:Pe}=ee;Pe&&(he=he?he.concat(Pe):Pe),j==null?(o(de,Y,q),o(be,Y,q),T(ee.children||[],Y,be,U,G,te,he,pe)):ye>0&&ye&64&&$e&&j.dynamicChildren&&j.dynamicChildren.length===$e.length?(A(j.dynamicChildren,$e,Y,U,G,te,he),(ee.key!=null||U&&ee===U.subTree)&&Gm(j,ee,!0)):M(j,ee,Y,be,U,G,te,he,pe)},W=(j,ee,Y,q,U,G,te,he,pe)=>{ee.slotScopeIds=he,j==null?ee.shapeFlag&512?U.ctx.activate(ee,Y,q,te,pe):V(ee,Y,q,U,G,te,pe):H(j,ee,pe)},V=(j,ee,Y,q,U,G,te)=>{const he=j.component=dI(j,q,U);if(Xf(j)&&(he.ctx.renderer=le),fI(he,!1,te),he.asyncDep){if(U&&U.registerDep(he,P,te),!j.el){const pe=he.subTree=Z(_n);y(null,pe,ee,Y),j.placeholder=pe.el}}else P(he,j,ee,Y,U,G,te)},H=(j,ee,Y)=>{const q=ee.component=j.component;if(GN(j,ee,Y))if(q.asyncDep&&!q.asyncResolved){O(q,ee,Y);return}else q.next=ee,q.update();else ee.el=j.el,q.vnode=ee},P=(j,ee,Y,q,U,G,te)=>{const he=()=>{if(j.isMounted){let{next:ye,bu:$e,u:Pe,parent:et,vnode:tt}=j;{const Rt=zC(j);if(Rt){ye&&(ye.el=tt.el,O(j,ye,te)),Rt.asyncDep.then(()=>{vo(()=>{j.isUnmounted||de()},U)});return}}let qe=ye,$t;ys(j,!1),ye?(ye.el=tt.el,O(j,ye,te)):ye=tt,$e&&rd($e),($t=ye.props&&ye.props.onVnodeBeforeUpdate)&&_a($t,et,ye,tt),ys(j,!0);const At=vb(j),Wt=j.subTree;j.subTree=At,p(Wt,At,f(Wt.el),ce(Wt),j,U,G),ye.el=At.el,qe===null&&XN(j,At.el),Pe&&vo(Pe,U),($t=ye.props&&ye.props.onVnodeUpdated)&&vo(()=>_a($t,et,ye,tt),U)}else{let ye;const{el:$e,props:Pe}=ee,{bm:et,m:tt,parent:qe,root:$t,type:At}=j,Wt=Vr(ee);ys(j,!1),et&&rd(et),!Wt&&(ye=Pe&&Pe.onVnodeBeforeMount)&&_a(ye,qe,ee),ys(j,!0);{$t.ce&&$t.ce._hasShadowRoot()&&$t.ce._injectChildStyle(At,j.parent?j.parent.type:void 0);const Rt=j.subTree=vb(j);p(null,Rt,Y,q,j,U,G),ee.el=Rt.el}if(tt&&vo(tt,U),!Wt&&(ye=Pe&&Pe.onVnodeMounted)){const Rt=ee;vo(()=>_a(ye,qe,Rt),U)}(ee.shapeFlag&256||qe&&Vr(qe.vnode)&&qe.vnode.shapeFlag&256)&&j.a&&vo(j.a,U),j.isMounted=!0,ee=Y=q=null}};j.scope.on();const pe=j.effect=new jS(he);j.scope.off();const de=j.update=pe.run.bind(pe),be=j.job=pe.runIfDirty.bind(pe);be.i=j,be.id=j.uid,pe.scheduler=()=>Bm(be),ys(j,!0),de()},O=(j,ee,Y)=>{ee.component=j;const q=j.vnode.props;j.vnode=ee,j.next=null,JN(j,ee.props,q,Y),nI(j,ee.children,Y),Sl(),ab(j),Cl()},M=(j,ee,Y,q,U,G,te,he,pe=!1)=>{const de=j&&j.children,be=j?j.shapeFlag:0,ye=ee.children,{patchFlag:$e,shapeFlag:Pe}=ee;if($e>0){if($e&128){L(de,ye,Y,q,U,G,te,he,pe);return}else if($e&256){B(de,ye,Y,q,U,G,te,he,pe);return}}Pe&8?(be&16&&Q(de,U,G),ye!==de&&d(Y,ye)):be&16?Pe&16?L(de,ye,Y,q,U,G,te,he,pe):Q(de,U,G,!0):(be&8&&d(Y,""),Pe&16&&T(ye,Y,q,U,G,te,he,pe))},B=(j,ee,Y,q,U,G,te,he,pe)=>{j=j||Rr,ee=ee||Rr;const de=j.length,be=ee.length,ye=Math.min(de,be);let $e;for($e=0;$ebe?Q(j,U,G,!0,!1,ye):T(ee,Y,q,U,G,te,he,pe,ye)},L=(j,ee,Y,q,U,G,te,he,pe)=>{let de=0;const be=ee.length;let ye=j.length-1,$e=be-1;for(;de<=ye&&de<=$e;){const Pe=j[de],et=ee[de]=pe?rl(ee[de]):Ra(ee[de]);if(Es(Pe,et))p(Pe,et,Y,null,U,G,te,he,pe);else break;de++}for(;de<=ye&&de<=$e;){const Pe=j[ye],et=ee[$e]=pe?rl(ee[$e]):Ra(ee[$e]);if(Es(Pe,et))p(Pe,et,Y,null,U,G,te,he,pe);else break;ye--,$e--}if(de>ye){if(de<=$e){const Pe=$e+1,et=Pe$e)for(;de<=ye;)X(j[de],U,G,!0),de++;else{const Pe=de,et=de,tt=new Map;for(de=et;de<=$e;de++){const Ne=ee[de]=pe?rl(ee[de]):Ra(ee[de]);Ne.key!=null&&tt.set(Ne.key,de)}let qe,$t=0;const At=$e-et+1;let Wt=!1,Rt=0;const qt=new Array(At);for(de=0;de=At){X(Ne,U,G,!0);continue}let Je;if(Ne.key!=null)Je=tt.get(Ne.key);else for(qe=et;qe<=$e;qe++)if(qt[qe-et]===0&&Es(Ne,ee[qe])){Je=qe;break}Je===void 0?X(Ne,U,G,!0):(qt[Je-et]=de+1,Je>=Rt?Rt=Je:Wt=!0,p(Ne,ee[Je],Y,null,U,G,te,he,pe),$t++)}const Ce=Wt?sI(qt):Rr;for(qe=Ce.length-1,de=At-1;de>=0;de--){const Ne=et+de,Je=ee[Ne],_e=ee[Ne+1],Ge=Ne+1{const{el:G,type:te,transition:he,children:pe,shapeFlag:de}=j;if(de&6){K(j.component.subTree,ee,Y,q);return}if(de&128){j.suspense.move(ee,Y,q);return}if(de&64){te.move(j,ee,Y,le);return}if(te===Me){o(G,ee,Y);for(let ye=0;yehe.enter(G),U));else{const{leave:ye,delayLeave:$e,afterLeave:Pe}=he,et=()=>{j.ctx.isUnmounted?a(G):o(G,ee,Y)},tt=()=>{const qe=G._isLeaving||!!G[Zo];G._isLeaving&&G[Zo](!0),he.persisted&&!qe?et():ye(G,()=>{et(),Pe&&Pe()})};$e?$e(G,et,tt):tt()}else o(G,ee,Y)},X=(j,ee,Y,q=!1,U=!1)=>{const{type:G,props:te,ref:he,children:pe,dynamicChildren:de,shapeFlag:be,patchFlag:ye,dirs:$e,cacheIndex:Pe,memo:et}=j;if(ye===-2&&(U=!1),he!=null&&(Sl(),Qi(he,null,Y,j,!0),Cl()),Pe!=null&&(ee.renderCache[Pe]=void 0),be&256){ee.ctx.deactivate(j);return}const tt=be&1&&$e,qe=!Vr(j);let $t;if(qe&&($t=te&&te.onVnodeBeforeUnmount)&&_a($t,ee,j),be&6)re(j.component,Y,q);else{if(be&128){j.suspense.unmount(Y,q);return}tt&&gs(j,null,ee,"beforeUnmount"),be&64?j.type.remove(j,ee,Y,le,q):de&&!de.hasOnce&&(G!==Me||ye>0&&ye&64)?Q(de,ee,Y,!1,!0):(G===Me&&ye&384||!U&&be&16)&&Q(pe,ee,Y),q&&J(j)}const At=et!=null&&Pe==null;(qe&&($t=te&&te.onVnodeUnmounted)||tt||At)&&vo(()=>{$t&&_a($t,ee,j),tt&&gs(j,null,ee,"unmounted"),At&&(j.el=null)},Y)},J=j=>{const{type:ee,el:Y,anchor:q,transition:U}=j;if(ee===Me){ne(Y,q);return}if(ee===Jp){S(j);return}const G=()=>{a(Y),U&&!U.persisted&&U.afterLeave&&U.afterLeave()};if(j.shapeFlag&1&&U&&!U.persisted){const{leave:te,delayLeave:he}=U,pe=()=>te(Y,G);he?he(j.el,G,pe):pe()}else G()},ne=(j,ee)=>{let Y;for(;j!==ee;)Y=v(j),a(j),j=Y;a(ee)},re=(j,ee,Y)=>{const{bum:q,scope:U,job:G,subTree:te,um:he,m:pe,a:de}=j;gb(pe),gb(de),q&&rd(q),U.stop(),G&&(G.flags|=8,X(te,j,ee,Y)),he&&vo(he,ee),vo(()=>{j.isUnmounted=!0},ee)},Q=(j,ee,Y,q=!1,U=!1,G=0)=>{for(let te=G;te{if(j.shapeFlag&6)return ce(j.component.subTree);if(j.shapeFlag&128)return j.suspense.next();const ee=v(j.anchor||j.el),Y=ee&&ee[gC];return Y?v(Y):ee};let we=!1;const Se=(j,ee,Y)=>{let q;j==null?ee._vnode&&(X(ee._vnode,null,null,!0),q=ee._vnode.component):p(ee._vnode||null,j,ee,null,null,null,Y),ee._vnode=j,we||(we=!0,ab(q),fC(),we=!1)},le={p,um:X,m:K,r:J,mt:V,mc:T,pc:M,pbc:A,n:ce,o:e};return{render:Se,hydrate:void 0,createApp:KN(Se)}}function Zp({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 ys({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function lI(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Gm(e,t,n=!1){const o=e.children,a=t.children;if(xe(o)&&xe(a))for(let l=0;l>1,e[n[r]]0&&(t[o]=n[l-1]),n[l]=o)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}function zC(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zC(t)}function gb(e){if(e)for(let t=0;te.__isSuspense;function rI(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):bN(e)}const Me=Symbol.for("v-fgt"),bi=Symbol.for("v-txt"),_n=Symbol.for("v-cmt"),Jp=Symbol.for("v-stc"),gl=[];let go=null;function E(e=!1){gl.push(go=e?null:[])}function Xm(){gl.pop(),go=gl[gl.length-1]||null}let Gr=1;function Ud(e,t=!1){Gr+=e,e<0&&go&&t&&(go.hasOnce=!0)}function WC(e){return e.dynamicChildren=Gr>0?go||Rr:null,Xm(),Gr>0&&go&&go.push(e),e}function z(e,t,n,o,a,l){return WC(I(e,t,n,o,a,l,!0))}function fe(e,t,n,o,a){return WC(Z(e,t,n,o,a,!0))}function tn(e){return e?e.__v_isVNode===!0:!1}function Es(e,t){return e.type===t.type&&e.key===t.key}const jC=({key:e})=>e??null,ud=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ze(e)||gt(e)||je(e)?{i:eo,r:e,k:t,f:!!n}:e:null);function I(e,t=null,n=null,o=0,a=null,l=e===Me?0:1,s=!1,r=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&jC(t),ref:t&&ud(t),scopeId:vC,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:l,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:eo};return r?(Yd(u,n),l&128&&e.normalize(u)):n&&(u.shapeFlag|=ze(n)?8:16),Gr>0&&!s&&go&&(u.patchFlag>0||l&6)&&u.patchFlag!==32&&go.push(u),u}const Z=iI;function iI(e,t=null,n=null,o=0,a=null,l=!1){if((!e||e===EC)&&(e=_n),tn(e)){const r=ya(e,t,!0);return n&&Yd(r,n),Gr>0&&!l&&go&&(r.shapeFlag&6?go[go.indexOf(e)]=r:go.push(r)),r.patchFlag=-2,r}if(mI(e)&&(e=e.__vccOpts),t){t=yl(t);let{class:r,style:u}=t;r&&!ze(r)&&(t.class=R(r)),st(u)&&(Yf(u)&&!xe(u)&&(u=Hn({},u)),t.style=Be(u))}const s=ze(e)?1:KC(e)?128:Gf(e)?64:st(e)?4:je(e)?2:0;return I(e,t,n,o,a,s,l,!0)}function yl(e){return e?Yf(e)||AC(e)?Hn({},e):e:null}function ya(e,t,n=!1,o=!1){const{props:a,ref:l,patchFlag:s,children:r,transition:u}=e,c=t?pt(a||{},t):a,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&jC(c),ref:t&&t.ref?n&&l?xe(l)?l.concat(ud(t)):[l,ud(t)]:ud(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Me?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ya(e.ssContent),ssFallback:e.ssFallback&&ya(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&o&&Zs(d,u.clone(d)),d}function Oe(e=" ",t=0){return Z(bi,null,e,t)}function se(e="",t=!1){return t?(E(),fe(_n,null,e)):Z(_n,null,e)}function Ra(e){return e==null||typeof e=="boolean"?Z(_n):xe(e)?Z(Me,null,e.slice()):tn(e)?rl(e):Z(bi,null,String(e))}function rl(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ya(e)}function Yd(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(xe(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Yd(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!AC(t)?t._ctx=eo:a===3&&eo&&(eo.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(je(t)){if(o&65){Yd(e,{default:t});return}t={default:t,_ctx:eo},n=32}else t=String(t),o&64?(n=16,t=[Oe(t)]):n=8;e.children=t,e.shapeFlag|=n}function pt(...e){const t={};for(let n=0;nlo||eo;let qd,mu;{const e=zf(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),l=>{a.length>1?a.forEach(s=>s(l)):a[0](l)}};qd=t("__VUE_INSTANCE_SETTERS__",n=>lo=n),mu=t("__VUE_SSR_SETTERS__",n=>gu=n)}const ec=e=>{const t=lo;return qd(e),e.scope.on(),()=>{e.scope.off(),qd(t)}},yb=()=>{lo&&lo.scope.off(),qd(null)};function UC(e){return e.vnode.shapeFlag&4}let gu=!1;function fI(e,t=!1,n=!1){t&&mu(t);const{props:o,children:a}=e.vnode,l=UC(e);ZN(e,o,l,t),tI(e,a,n||t);const s=l?pI(e,t):void 0;return t&&mu(!1),s}function pI(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,AN);const{setup:o}=n;if(o){Sl();const a=e.setupContext=o.length>1?qC(e):null,l=ec(e),s=Zu(o,e,0,[e.props,a]),r=os(s);if(Cl(),l(),(r||e.sp)&&!Vr(e)&&kC(e),r){if(s.then(yb,yb),t)return s.then(u=>{mu(!0);try{bb(e,u,t)}finally{mu(!1)}}).catch(u=>{qf(u,e,0)});e.asyncDep=s}else bb(e,s)}else YC(e)}function bb(e,t,n){je(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:st(t)&&(e.setupState=iC(t)),YC(e)}function YC(e,t,n){const o=e.type;e.render||(e.render=o.render||mt);{const a=ec(e);Sl();try{LN(e)}finally{Cl(),a()}}}const vI={get(e,t){return ao(e,"get",""),e[t]}};function qC(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,vI),slots:e.slots,emit:e.emit,expose:t}}function Qf(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(iC(yo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in eu)return eu[n](e)},has(t,n){return n in t||n in eu}})):e.proxy}function hI(e,t=!0){return je(e)?e.displayName||e.name:e.name||t&&e.__name}function mI(e){return je(e)&&"__vccOpts"in e}const C=(e,t)=>vN(e,t,gu);function Le(e,t,n){try{Ud(-1);const o=arguments.length;return o===2?st(t)&&!xe(t)?tn(t)?Z(e,null,[t]):Z(e,t):Z(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&tn(n)&&(n=[n]),Z(e,t,n))}finally{Ud(1)}}function gI(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let o=0;o0&&go&&go.push(e),!0}const yI="3.5.41",bI=mt;let sh;const wb=typeof window<"u"&&window.trustedTypes;if(wb)try{sh=wb.createPolicy("vue",{createHTML:e=>e})}catch{}const GC=sh?e=>sh.createHTML(e):e=>e,wI="http://www.w3.org/2000/svg",SI="http://www.w3.org/1998/Math/MathML",sl=typeof document<"u"?document:null,Sb=sl&&sl.createElement("template"),CI={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?sl.createElementNS(wI,e):t==="mathml"?sl.createElementNS(SI,e):n?sl.createElement(e,{is:n}):sl.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>sl.createTextNode(e),createComment:e=>sl.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>sl.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,l){const s=n?n.previousSibling:t.lastChild;if(a&&(a===l||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===l||!(a=a.nextSibling)););else{Sb.innerHTML=GC(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=Sb.content;if(o==="svg"||o==="mathml"){const u=r.firstChild;for(;u.firstChild;)r.appendChild(u.firstChild);r.removeChild(u)}t.insertBefore(r,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Bl="transition",Ni="animation",Xr=Symbol("_vtc"),XC={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},ZC=Hn({},bC,XC),kI=e=>(e.displayName="Transition",e.props=ZC,e),Zn=kI((e,{slots:t})=>Le(TN,JC(e),t)),bs=(e,t=[])=>{xe(e)?e.forEach(n=>n(...t)):e&&e(...t)},Cb=e=>e?xe(e)?e.some(t=>t.length>1):e.length>1:!1;function JC(e){const t={};for(const N in e)N in XC||(t[N]=e[N]);if(e.css===!1)return t;const{name:n="v",type:o,duration:a,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:r=`${n}-enter-to`,appearFromClass:u=l,appearActiveClass:c=s,appearToClass:d=r,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,g=xI(a),p=g&&g[0],m=g&&g[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:w,onLeave:S,onLeaveCancelled:k,onBeforeAppear:x=y,onAppear:$=b,onAppearCancelled:T=w}=t,_=(N,W,V,H)=>{N._enterCancelled=H,Hl(N,W?d:r),Hl(N,W?c:s),V&&V()},A=(N,W)=>{N._isLeaving=!1,Hl(N,f),Hl(N,h),Hl(N,v),W&&W()},D=N=>(W,V)=>{const H=N?$:b,P=()=>_(W,N,V);bs(H,[W,P]),kb(()=>{Hl(W,N?u:l),Ia(W,N?d:r),Cb(H)||xb(W,o,p,P)})};return Hn(t,{onBeforeEnter(N){bs(y,[N]),Ia(N,l),Ia(N,s)},onBeforeAppear(N){bs(x,[N]),Ia(N,u),Ia(N,c)},onEnter:D(!1),onAppear:D(!0),onLeave(N,W){N._isLeaving=!0;const V=()=>A(N,W);Ia(N,f),N._enterCancelled?(Ia(N,v),rh(N)):(rh(N),Ia(N,v)),kb(()=>{N._isLeaving&&(Hl(N,f),Ia(N,h),Cb(S)||xb(N,o,m,V))}),bs(S,[N,V])},onEnterCancelled(N){_(N,!1,void 0,!0),bs(w,[N])},onAppearCancelled(N){_(N,!0,void 0,!0),bs(T,[N])},onLeaveCancelled(N){A(N),bs(k,[N])}})}function xI(e){if(e==null)return null;if(st(e))return[Qp(e.enter),Qp(e.leave)];{const t=Qp(e);return[t,t]}}function Qp(e){return A_(e)}function Ia(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Xr]||(e[Xr]=new Set)).add(t)}function Hl(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[Xr];n&&(n.delete(t),n.size||(e[Xr]=void 0))}function kb(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let EI=0;function xb(e,t,n,o){const a=e._endId=++EI,l=()=>{a===e._endId&&o()};if(n!=null)return setTimeout(l,n);const{type:s,timeout:r,propCount:u}=QC(e,t);if(!s)return o();const c=s+"end";let d=0;const f=()=>{e.removeEventListener(c,v),l()},v=h=>{h.target===e&&++d>=u&&f()};setTimeout(()=>{d(n[g]||"").split(", "),a=o(`${Bl}Delay`),l=o(`${Bl}Duration`),s=Eb(a,l),r=o(`${Ni}Delay`),u=o(`${Ni}Duration`),c=Eb(r,u);let d=null,f=0,v=0;t===Bl?s>0&&(d=Bl,f=s,v=l.length):t===Ni?c>0&&(d=Ni,f=c,v=u.length):(f=Math.max(s,c),d=f>0?s>c?Bl:Ni:null,v=d?d===Bl?l.length:u.length:0);const h=d===Bl&&/\b(?:transform|all)(?:,|$)/.test(o(`${Bl}Property`).toString());return{type:d,timeout:f,propCount:v,hasTransform:h}}function Eb(e,t){for(;e.length$b(n)+$b(e[o])))}function $b(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function rh(e){return(e?e.ownerDocument:document).body.offsetHeight}function $I(e,t,n){const o=e[Xr];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Gd=Symbol("_vod"),Zm=Symbol("_vsh"),Bt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Gd]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ii(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Ii(e,!0),o.enter(e)):o.leave(e,()=>{Ii(e,!1)}):Ii(e,t))},beforeUnmount(e,{value:t}){Ii(e,t)}};function Ii(e,t){e.style.display=t?e[Gd]:"none",e[Zm]=!t}const TI=Symbol(""),_I=/(?:^|;)\s*display\s*:/;function NI(e,t,n){const o=e.style,a=ze(n);let l=!1;if(n&&!a){if(t)if(ze(t))for(const s of t.split(";")){const r=s.slice(0,s.indexOf(":")).trim();n[r]==null&&zi(o,r,"")}else for(const s in t)n[s]==null&&zi(o,s,"");for(const s in n){s==="display"&&(l=!0);const r=n[s];r!=null?OI(e,s,!ze(t)&&t?t[s]:void 0,r)||zi(o,s,r):zi(o,s,"")}}else if(a){if(t!==n){const s=o[TI];s&&(n+=";"+s),o.cssText=n,l=_I.test(n)}}else t&&e.removeAttribute("style");Gd in e&&(e[Gd]=l?o.display:"",e[Zm]&&(o.display="none"))}const Tb=/\s*!important$/;function zi(e,t,n){if(xe(n))n.forEach(o=>zi(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=II(e,t);Tb.test(n)?e.setProperty(_l(o),n.replace(Tb,""),"important"):e[o]=n}}const _b=["Webkit","Moz","ms"],ev={};function II(e,t){const n=ev[t];if(n)return n;let o=Xn(t);if(o!=="filter"&&o in e)return ev[t]=o;o=Gu(o);for(let a=0;a<_b.length;a++){const l=_b[a]+o;if(l in e)return ev[t]=l}return t}function OI(e,t,n,o){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ze(o)&&n===o}const Nb="http://www.w3.org/1999/xlink";function Ib(e,t,n,o,a,l=z_(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Nb,t.slice(6,t.length)):e.setAttributeNS(Nb,t,n):n==null||l&&!zS(n)?e.removeAttribute(t):e.setAttribute(t,l?"":jo(n)?String(n):n)}function Ob(e,t,n,o,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?GC(n):n);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const r=l==="OPTION"?e.getAttribute("value")||"":e.value,u=n==null?e.type==="checkbox"?"on":"":String(n);(r!==u||!("_value"in e))&&(e.value=u),n==null&&e.removeAttribute(t),e._value=n;return}let s=!1;if(n===""||n==null){const r=typeof e[t];r==="boolean"?n=zS(n):n==null&&r==="string"?(n="",s=!0):r==="number"&&(n=0,s=!0)}try{e[t]=n}catch{}s&&e.removeAttribute(a||t)}function dl(e,t,n,o){e.addEventListener(t,n,o)}function MI(e,t,n,o){e.removeEventListener(t,n,o)}const Mb=Symbol("_vei");function PI(e,t,n,o,a=null){const l=e[Mb]||(e[Mb]={}),s=l[t];if(o&&s)s.value=o;else{const[r,u]=DI(t);if(o){const c=l[t]=BI(o,a);dl(e,r,c,u)}else s&&(MI(e,r,s,u),l[t]=void 0)}}const RI=/(Once|Passive|Capture)$/,AI=/^on:?(?:Once|Passive|Capture)$/;function DI(e){let t,n;for(;(n=e.match(RI))&&!AI.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_l(e.slice(2)),t]}let tv=0;const LI=Promise.resolve(),VI=()=>tv||(LI.then(()=>tv=0),tv=Date.now());function BI(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(xe(a)){const l=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{l.call(o),o._stopped=!0};const s=a.slice(),r=[o];for(let u=0;ue.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,FI=(e,t,n,o,a,l)=>{const s=a==="svg";t==="class"?$I(e,o,s):t==="style"?NI(e,n,o):Df(t)?Lf(t)||PI(e,t,n,o,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):zI(e,t,o,s))?(Ob(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ib(e,t,o,s,l,t!=="value")):e._isVueCE&&(HI(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ze(o)))?Ob(e,Xn(t),o,l,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ib(e,t,o,s))};function zI(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pb(t)&&je(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 a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Pb(t)&&ze(n)?!1:t in e}function HI(e,t){const n=e._def.props;if(!n)return!1;const o=Xn(t);return Array.isArray(n)?n.some(a=>Xn(a)===o):Object.keys(n).some(a=>Xn(a)===o)}const ek=new WeakMap,tk=new WeakMap,Xd=Symbol("_moveCb"),Rb=Symbol("_enterCb"),KI=e=>(delete e.props.mode,e),WI=KI({name:"TransitionGroup",props:Hn({},ZC,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ct(),o=yC();let a,l;return Sa(()=>{if(!a.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!qI(a[0].el,n.vnode.el,s)){a=[];return}a.forEach(jI),a.forEach(UI);const r=a.filter(YI);rh(n.vnode.el),r.forEach(u=>{const c=u.el,d=c.style;Ia(c,s),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[Xd]=v=>{v&&v.target!==c||(!v||v.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[Xd]=null,Hl(c,s))};c.addEventListener("transitionend",f)}),a=[]}),()=>{const s=nn(e),r=JC(s);let u=s.tag||Me;if(a=[],l)for(let c=0;c{r.split(/\s+/).forEach(u=>u&&o.classList.remove(u))}),n.split(/\s+/).forEach(r=>r&&o.classList.add(r)),o.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(o);const{hasTransform:s}=QC(o);return l.removeChild(o),s}const ls=e=>{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?n=>rd(t,n):t};function GI(e){e.target.composing=!0}function Ab(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Vo=Symbol("_assign"),Oc=Symbol("_initialValue");function nv(e,t,n){return t&&(e=e.trim()),n&&(e=Ff(e)),e}const sn={created(e,{modifiers:{lazy:t,trim:n,number:o}},a){e.parentNode&&(e.type==="text"?e[Oc]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Oc]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Vo]=ls(a);const l=o||a.props&&a.props.type==="number";dl(e,t?"change":"input",s=>{s.target.composing||e[Vo](nv(e.value,n,l))}),(n||l)&&dl(e,"change",()=>{e.value=nv(e.value,n,l)}),t||(dl(e,"compositionstart",GI),dl(e,"compositionend",Ab),dl(e,"change",Ab))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const a=t??"",l=e[Oc];delete e[Oc],l!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==l?e[Vo](nv(e.value,n,o)):e.value=a},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:a,number:l}},s){if(e[Vo]=ls(s),e.composing)return;const r=(l||e.type==="number")&&!/^0\d/.test(e.value)?Ff(e.value):e.value,u=t??"";if(r===u)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||a&&e.value.trim()===u)||(e.value=u)}},Fs={deep:!0,created(e,t,n){e[Vo]=ls(n),dl(e,"change",()=>{const o=e._modelValue,a=Zr(e),l=e.checked,s=e[Vo];if(xe(o)){const r=Pm(o,a),u=r!==-1;if(l&&!u)s(o.concat(a));else if(!l&&u){const c=[...o];c.splice(r,1),s(c)}}else if(yi(o)){const r=new Set(o);l?r.add(a):r.delete(a),s(r)}else s(lk(e,l))})},mounted:Db,beforeUpdate(e,t,n){e[Vo]=ls(n),Db(e,t,n)}};function Db(e,{value:t,oldValue:n},o){e._modelValue=t;let a;if(xe(t))a=Pm(t,o.props.value)>-1;else if(yi(t))a=t.has(o.props.value);else{if(t===n)return;a=as(t,lk(e,!0))}e.checked!==a&&(e.checked=a)}const ak={created(e,{value:t},n){e.checked=as(t,n.props.value),e[Vo]=ls(n),dl(e,"change",()=>{e[Vo](Zr(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e[Vo]=ls(o),t!==n&&(e.checked=as(t,o.props.value))}},ih={deep:!0,created(e,{value:t,modifiers:{number:n}},o){e._modelValue=t,dl(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>n?Ff(Zr(l)):Zr(l));e[Vo](e.multiple?yi(e._modelValue)?new Set(a):a:a[0]),e._assigning=!0,Re(()=>{e._assigning=!1})}),e[Vo]=ls(o)},mounted(e,{value:t}){Lb(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Vo]=ls(n)},updated(e,{value:t}){e._assigning||Lb(e,t)}};function Lb(e,t){const n=e.multiple,o=xe(t);if(!(n&&!o&&!yi(t))){for(let a=0,l=e.options.length;aString(c)===String(r)):s.selected=Pm(t,r)>-1}else s.selected=t.has(r);else if(as(Zr(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Zr(e){return"_value"in e?e._value:e.value}function lk(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const XI=["ctrl","shift","alt","meta"],ZI={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)=>XI.some(n=>e[`${n}Key`]&&!t.includes(n))},Xe=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=((a,...l)=>{for(let s=0;s{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=(a=>{if(!("key"in a))return;const l=_l(a.key);if(t.some(s=>s===l||JI[s]===l))return e(a)}))},QI=Hn({patchProp:FI},CI);let Vb;function sk(){return Vb||(Vb=oI(QI))}const ss=((...e)=>{sk().render(...e)}),rk=((...e)=>{const t=sk().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=tO(o);if(!a)return;const l=t._component;!je(l)&&!l.render&&!l.template&&(l.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=n(a,!1,eO(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t});function eO(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function tO(e){return ze(e)?document.querySelector(e):e}const nO=Symbol();var Bb;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Bb||(Bb={}));function oO(){const e=Hf(!0),t=e.run(()=>F({}));let n=[],o=[];const a=yo({install(l){a._a=l,l.provide(nO,a),l.config.globalProperties.$pinia=a,o.forEach(s=>n.push(s)),o=[]},use(l){return this._a?n.push(l):o.push(l),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const Ee={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},aO=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],ov=["sun","mon","tue","wed","thu","fri","sat"],lt="update:modelValue",Et="change",Nn="input",Fb=Symbol("INSTALLED_KEY"),Ca=["","default","small","large"],zb=["left","center","right"];var ik=typeof global=="object"&&global&&global.Object===Object&&global,lO=typeof self=="object"&&self&&self.Object===Object&&self,ka=ik||lO||Function("return this")(),na=ka.Symbol,uk=Object.prototype,sO=uk.hasOwnProperty,rO=uk.toString,Oi=na?na.toStringTag:void 0;function iO(e){var t=sO.call(e,Oi),n=e[Oi];try{e[Oi]=void 0;var o=!0}catch{}var a=rO.call(e);return o&&(t?e[Oi]=n:delete e[Oi]),a}var uO=Object.prototype,cO=uO.toString;function dO(e){return cO.call(e)}var fO="[object Null]",pO="[object Undefined]",Hb=na?na.toStringTag:void 0;function fr(e){return e==null?e===void 0?pO:fO:Hb&&Hb in Object(e)?iO(e):dO(e)}function Wa(e){return e!=null&&typeof e=="object"}var vO="[object Symbol]";function ep(e){return typeof e=="symbol"||Wa(e)&&fr(e)==vO}function Jm(e,t){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n0){if(++t>=HO)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function UO(e){return function(){return e}}var Zd=(function(){try{var e=vr(Object,"defineProperty");return e({},"",{}),e}catch{}})(),YO=Zd?function(e,t){return Zd(e,"toString",{configurable:!0,enumerable:!1,value:UO(t),writable:!0})}:Qm,fk=jO(YO);function qO(e,t){for(var n=-1,o=e==null?0:e.length;++n-1}var QO=9007199254740991,eM=/^(?:0|[1-9]\d*)$/;function tp(e,t){var n=typeof e;return t=t??QO,!!t&&(n=="number"||n!="symbol"&&eM.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=oM}function Si(e){return e!=null&&ng(e.length)&&!eg(e)}function aM(e,t,n){if(!So(n))return!1;var o=typeof t;return(o=="number"?Si(n)&&tp(t,n.length):o=="string"&&t in n)?tc(n[t],e):!1}function lM(e){return hk(function(t,n){var o=-1,a=n.length,l=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(l=e.length>3&&typeof l=="function"?(a--,l):void 0,s&&aM(n[0],n[1],s)&&(l=a<3?void 0:l,a=1),t=Object(t);++o-1}function hP(e,t){var n=this.__data__,o=op(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function Il(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(r)?t>1?ac(r,t-1,n,o,a):rg(a,r):o||(a[a.length]=r)}return a}function Jd(e){var t=e==null?0:e.length;return t?ac(e,1):[]}function Sk(e){return fk(vk(e,void 0,Jd),e+"")}var ig=wk(Object.getPrototypeOf,Object),IP="[object Object]",OP=Function.prototype,MP=Object.prototype,Ck=OP.toString,PP=MP.hasOwnProperty,RP=Ck.call(Object);function ug(e){if(!Wa(e)||fr(e)!=IP)return!1;var t=ig(e);if(t===null)return!0;var n=PP.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Ck.call(n)==RP}function AP(e,t,n){var o=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var l=Array(a);++o=t?e:t)),e}function To(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=tu(n),n=n===n?n:0),t!==void 0&&(t=tu(t),t=t===t?t:0),DP(tu(e),t,n)}function LP(){this.__data__=new Il,this.size=0}function VP(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function BP(e){return this.__data__.get(e)}function FP(e){return this.__data__.has(e)}var zP=200;function HP(e,t){var n=this.__data__;if(n instanceof Il){var o=n.__data__;if(!Su||o.lengthr))return!1;var c=l.get(e),d=l.get(t);if(c&&d)return c==t&&d==e;var f=-1,v=!0,h=n&m4?new Cu:void 0;for(l.set(e,t),l.set(t,e);++f=t||$<0||f&&T>=l}function y(){var x=rv();if(m(x))return b(x);r=setTimeout(y,p(x))}function b(x){return r=void 0,v&&o?h(x):(o=a=void 0,s)}function w(){r!==void 0&&clearTimeout(r),c=0,o=u=a=r=void 0}function S(){return r===void 0?s:b(rv())}function k(){var x=rv(),$=m(x);if(o=arguments,a=this,u=x,$){if(r===void 0)return g(u);if(f)return clearTimeout(r),r=setTimeout(y,t),h(u)}return r===void 0&&(r=setTimeout(y,t)),s}return k.cancel=w,k.flush=S,k}function ph(e,t,n){(n!==void 0&&!tc(e[t],n)||n===void 0&&!(t in e))&&np(e,t,n)}function zk(e){return Wa(e)&&Si(e)}function vh(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function lR(e){return wi(e,oc(e))}function sR(e,t,n,o,a,l,s){var r=vh(e,n),u=vh(t,n),c=s.get(u);if(c){ph(e,n,c);return}var d=l?l(r,u,n+"",e,t,s):void 0,f=d===void 0;if(f){var v=wo(u),h=!v&&bu(u),g=!v&&!h&&lg(u);d=u,v||h||g?wo(r)?d=r:zk(r)?d=dk(r):h?(f=!1,d=xk(u,!0)):g?(f=!1,d=Nk(u,!0)):d=[]:ug(u)||yu(u)?(d=r,yu(r)?d=lR(r):(!So(r)||eg(r))&&(d=Ik(u))):f=!1}f&&(s.set(u,d),a(d,u,o,l,s),s.delete(u)),ph(e,n,d)}function Hk(e,t,n,o,a){e!==t&&Fk(t,function(l,s){if(a||(a=new va),So(l))sR(e,t,s,n,Hk,o,a);else{var r=o?o(vh(e,s),l,s+"",e,t,a):void 0;r===void 0&&(r=l),ph(e,s,r)}},oc)}function rR(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function Kk(e,t,n){var o=e==null?0:e.length;if(!o)return-1;var a=o-1;return pk(e,Bk(t),a,!0)}function iR(e,t){var n=-1,o=Si(e)?Array(e.length):[];return tR(e,function(a,l,s){o[++n]=t(a,l,s)}),o}function uR(e,t){var n=wo(e)?Jm:iR;return n(e,Bk(t))}function Wk(e,t){return ac(uR(e,t),1)}var cR=1/0;function dR(e){var t=e==null?0:e.length;return t?ac(e,cR):[]}function Qr(e){for(var t=-1,n=e==null?0:e.length,o={};++t1),l}),wi(e,_k(e),n),o&&(n=ou(n,gR|yR|bR,mR));for(var a=t.length;a--;)hR(n,t[a]);return n});function Yk(e,t,n,o){if(!So(e))return e;t=Ci(t,e);for(var a=-1,l=t.length,s=l-1,r=e;r!=null&&++a=$R){var c=ER(e);if(c)return fg(c);s=!1,a=Rk,u=new Cu}else u=r;e:for(;++oe===void 0,Gt=e=>typeof e=="boolean",We=e=>typeof e=="number",mo=e=>!e&&e!==0||xe(e)&&e.length===0||st(e)&&!Object.keys(e).length,_o=e=>typeof Element>"u"?!1:e instanceof Element,Bo=e=>yn(e),_R=e=>ze(e)?!Number.isNaN(Number(e)):!1,lc=e=>e===window,ku=e=>Object.keys(e),qk=e=>Object.entries(e),es=(e,t,n)=>({get value(){return En(e,t,n)},set value(o){CR(e,t,o)}}),NR="__epPropKey",oe=e=>e,IR=e=>st(e)&&!!e.__epPropKey,xa=(e,t)=>{if(!st(e)||IR(e))return e;const{values:n,required:o,default:a,type:l,validator:s}=e,r={type:l,required:!!o,validator:n||s?u=>{let c=!1,d=[];if(n&&(d=Array.from(n),zt(e,"default")&&d.push(a),c||=d.includes(u)),s&&(c||=s(u)),!c&&d.length>0){const f=[...new Set(d)].map(v=>JSON.stringify(v)).join(", ");bI(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${f}], got value ${JSON.stringify(u)}.`)}return c}:void 0,[NR]:!0};return zt(e,"default")&&(r.default=a),r},Te=e=>Qr(Object.entries(e).map(([t,n])=>[t,xa(n,t)])),OR=Te({zIndex:{type:oe([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"},teleported:Boolean,appendTo:{type:oe([String,Object]),default:"body"}}),MR={scroll:({scrollTop:e,fixed:t})=>We(e)&&Gt(t),[Et]:e=>Gt(e)};var Gk=class extends Error{constructor(e){super(e),this.name="ElementPlusError"}};function dn(e,t){throw new Gk(`[${e}] ${t}`)}function Yt(e,t){{const n=ze(e)?new Gk(`[${e}] ${t}`):e;console.warn(n)}}const PR=["class","style"],RR=/^on[A-Z]/,up=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,o=C(()=>(n?.value||[]).concat(PR)),a=ct();return a?C(()=>Qr(Object.entries(a.proxy?.$attrs).filter(([l])=>!o.value.includes(l)&&!(t&&RR.test(l))))):(Yt("use-attrs","getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),C(()=>({})))};function Xk(e,t){var n;const o=kt();return uo(()=>{o.value=e()},{...t,flush:(n=t?.flush)!==null&&n!==void 0?n:"sync"}),Xs(o)}function rs(e,t){return Xu()?(Dr(e,t),!0):!1}const uv=new WeakMap,AR=(...e)=>{var t;const n=e[0],o=(t=ct())===null||t===void 0?void 0:t.proxy,a=o??Xu();if(a==null&&!hC())throw new Error("injectLocal must be called in setup");return a&&uv.has(a)&&n in uv.get(a)?uv.get(a)[n]:Fe(...e)},Lt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const DR=e=>typeof e<"u",Zk=e=>e!=null,LR=Object.prototype.toString,VR=e=>LR.call(e)==="[object Object]",cp=(e,t,n)=>Math.min(n,Math.max(t,e)),$o=()=>{},ei=BR();function BR(){var e,t,n;return Lt&&!!(!((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function Jk(e,t){function n(...o){return new Promise((a,l)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(a).catch(l)})}return n}function FR(e,t={}){let n,o,a=$o;const l=u=>{clearTimeout(u),a(),a=$o};let s;return u=>{const c=Nt(e),d=Nt(t.maxWait);return n&&l(n),c<=0||d!==void 0&&d<=0?(o&&(l(o),o=void 0),Promise.resolve(u())):new Promise((f,v)=>{a=t.rejectOnCancel?v:f,s=u,d&&!o&&(o=setTimeout(()=>{n&&l(n),o=void 0,f(s())},d)),n=setTimeout(()=>{o&&l(o),o=void 0,f(u())},c)})}}function zR(...e){let t=0,n,o=!0,a=$o,l,s,r,u,c;!gt(e[0])&&typeof e[0]=="object"?{delay:s,trailing:r=!0,leading:u=!0,rejectOnCancel:c=!1}=e[0]:[s,r=!0,u=!0,c=!1]=e;const d=()=>{n&&(clearTimeout(n),n=void 0,a(),a=$o)};return v=>{const h=Nt(s),g=Date.now()-t,p=()=>l=v();return d(),h<=0?(t=Date.now(),p()):(g>h?(t=Date.now(),(u||!o)&&p()):r&&(l=new Promise((m,y)=>{a=c?y:m,n=setTimeout(()=>{t=Date.now(),o=!0,m(p()),d()},Math.max(0,h-g))})),!u&&!n&&(n=setTimeout(()=>o=!0,h)),o=!1,l)}}function g0(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function Fr(e){return Array.isArray(e)?e:[e]}function HR(e){return ct()}function KR(e){return Kt(gt(e)?new Proxy({},{get(t,n,o){return i(Reflect.get(e.value,n,o))},set(t,n,o){return gt(e.value[n])&&!gt(o)?e.value[n].value=o:e.value[n]=o,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function WR(e){return KR(C(e))}function sc(e,t=200,n={}){return Jk(FR(t,n),e)}function jR(e,t=200,n={}){const o=F(Nt(e)),a=sc(()=>{o.value=e.value},t,n);return ge(e,()=>a()),Vm(o)}function Qk(e,t=200,n=!1,o=!0,a=!1){return Jk(zR(t,n,o,a),e)}function pg(e,t=!0,n){HR()?at(e,n):t?e():Re(e)}function UR(e,t=1e3,n={}){const{immediate:o=!0,immediateCallback:a=!1}=n;let l=null;const s=kt(!1);function r(){l&&(clearInterval(l),l=null)}function u(){s.value=!1,r()}function c(){const d=Nt(t);d<=0||(s.value=!0,a&&e(),r(),s.value&&(l=setInterval(e,d)))}return o&&Lt&&c(),(gt(t)||typeof t=="function")&&rs(ge(t,()=>{s.value&&Lt&&c()})),rs(u),{isActive:Vm(s),pause:u,resume:c}}function ti(e,t,n={}){const{immediate:o=!0,immediateCallback:a=!1}=n,l=kt(!1);let s;function r(){s&&(clearTimeout(s),s=void 0)}function u(){l.value=!1,r()}function c(...d){a&&e(),r(),l.value=!0,s=setTimeout(()=>{l.value=!1,s=void 0,e(...d)},Nt(t))}return o&&(l.value=!0,Lt&&c()),rs(u),{isPending:Vm(l),start:c,stop:u}}function YR(e,t,n){return ge(e,t,{...n,immediate:!0})}const ra=Lt?window:void 0,qR=Lt?window.document:void 0;function Pn(e){var t;const n=Nt(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function jt(...e){const t=(o,a,l,s)=>(o.addEventListener(a,l,s),()=>o.removeEventListener(a,l,s)),n=C(()=>{const o=Fr(Nt(e[0])).filter(a=>a!=null);return o.every(a=>typeof a!="string")?o:void 0});return YR(()=>{var o,a;return[(o=(a=n.value)===null||a===void 0?void 0:a.map(l=>Pn(l)))!==null&&o!==void 0?o:[ra].filter(l=>l!=null),Fr(Nt(n.value?e[1]:e[0])),Fr(i(n.value?e[2]:e[1])),Nt(n.value?e[3]:e[2])]},([o,a,l,s],r,u)=>{if(!o?.length||!a?.length||!l?.length)return;const c=VR(s)?{...s}:s,d=o.flatMap(f=>a.flatMap(v=>l.map(h=>t(f,v,h,c))));u(()=>{d.forEach(f=>f())})},{flush:"post"})}let y0=!1;function vg(e,t,n={}){const{window:o=ra,ignore:a=[],capture:l=!0,detectIframe:s=!1,controls:r=!1}=n;if(!o)return r?{stop:$o,cancel:$o,trigger:$o}:$o;if(ei&&!y0){y0=!0;const m={passive:!0};Array.from(o.document.body.children).forEach(y=>y.addEventListener("click",$o,m)),o.document.documentElement.addEventListener("click",$o,m)}let u=!0;const c=m=>Nt(a).some(y=>{if(typeof y=="string")return Array.from(o.document.querySelectorAll(y)).some(b=>b===m.target||m.composedPath().includes(b));{const b=Pn(y);return b&&(m.target===b||m.composedPath().includes(b))}});function d(m){const y=Nt(m);return y&&y.$.subTree.shapeFlag===16}function f(m,y){const b=Nt(m),w=b.$.subTree&&b.$.subTree.children;return w==null||!Array.isArray(w)?!1:w.some(S=>S.el===y.target||y.composedPath().includes(S.el))}const v=m=>{const y=Pn(e);if(m.target!=null&&!(!(y instanceof Element)&&d(e)&&f(e,m))&&!(!y||y===m.target||m.composedPath().includes(y))){if("detail"in m&&m.detail===0&&(u=!c(m)),!u){u=!0;return}t(m)}};let h=!1;const g=[jt(o,"click",m=>{h||(h=!0,setTimeout(()=>{h=!1},0),v(m))},{passive:!0,capture:l}),jt(o,"pointerdown",m=>{const y=Pn(e);u=!c(m)&&!!(y&&!m.composedPath().includes(y))},{passive:!0}),s&&jt(o,"blur",m=>{setTimeout(()=>{const y=Pn(e);let b=o.document.activeElement;for(;b?.shadowRoot;)b=b.shadowRoot.activeElement;b?.tagName==="IFRAME"&&!y?.contains(o.document.activeElement)&&t(m)},0)},{passive:!0})].filter(Boolean),p=()=>g.forEach(m=>m());return r?{stop:p,cancel:()=>{u=!1},trigger:m=>{u=!0,v(m),u=!1}}:p}function GR(){const e=kt(!1),t=ct();return t&&at(()=>{e.value=!0},t),e}function dp(e){const t=GR();return C(()=>(t.value,!!e()))}function rc(e,t,n={}){const{window:o=ra,...a}=n;let l;const s=dp(()=>o&&"MutationObserver"in o),r=()=>{l&&(l.disconnect(),l=void 0)},u=ge(C(()=>{const f=Fr(Nt(e)).map(Pn).filter(Zk);return new Set(f)}),f=>{r(),s.value&&f.size&&(l=new MutationObserver(t),f.forEach(v=>l.observe(v,a)))},{immediate:!0,flush:"post"}),c=()=>l?.takeRecords(),d=()=>{u(),r()};return rs(d),{isSupported:s,stop:d,takeRecords:c}}function XR(e,t,n={}){const{window:o=ra,document:a=o?.document,flush:l="sync"}=n;if(!o||!a)return $o;let s;const r=d=>{s?.(),s=d},u=uo(()=>{const d=Pn(e);if(d){const{stop:f}=rc(a,v=>{v.map(h=>[...h.removedNodes]).flat().some(h=>h===d||h.contains(d))&&t(v)},{window:o,childList:!0,subtree:!0});r(f)}},{flush:l}),c=()=>{u(),r()};return rs(c),c}function ZR(e={}){var t;const{window:n=ra,deep:o=!0,triggerOnRemoval:a=!1}=e,l=(t=e.document)!==null&&t!==void 0?t:n?.document,s=()=>{let c=l?.activeElement;if(o)for(var d;c?.shadowRoot;)c=c==null||(d=c.shadowRoot)===null||d===void 0?void 0:d.activeElement;return c},r=kt(),u=()=>{r.value=s()};if(n){const c={capture:!0,passive:!0};jt(n,"blur",d=>{d.relatedTarget===null&&u()},c),jt(n,"focus",u,c)}return a&&XR(r,u,{document:l}),u(),r}const JR=Symbol("vueuse-ssr-width");function QR(){const e=hC()?AR(JR,null):null;return typeof e=="number"?e:void 0}function eA(e,t={}){const{window:n=ra,ssrWidth:o=QR()}=t,a=dp(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),l=kt(typeof o=="number"),s=kt(),r=kt(!1),u=c=>{r.value=c.matches};return uo(()=>{if(l.value){l.value=!a.value,r.value=Nt(e).split(",").some(c=>{const d=c.includes("not all"),f=c.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),v=c.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let h=!!(f||v);return f&&h&&(h=o>=g0(f[1])),v&&h&&(h=o<=g0(v[1])),d?!h:h});return}a.value&&(s.value=n.matchMedia(Nt(e)),r.value=s.value.matches)}),jt(s,"change",u,{passive:!0}),C(()=>r.value)}function tA(e){return JSON.parse(JSON.stringify(e))}function nA(e,t,n={}){const{window:o=ra,initialValue:a,observe:l=!1}=n,s=kt(a),r=C(()=>{var c;return Pn(t)||(o==null||(c=o.document)===null||c===void 0?void 0:c.documentElement)});function u(){const c=Nt(e),d=Nt(r);if(d&&o&&c){var f;s.value=((f=o.getComputedStyle(d).getPropertyValue(c))===null||f===void 0?void 0:f.trim())||s.value||a}}return l&&rc(r,u,{attributeFilter:["style","class"],window:o}),ge([r,()=>Nt(e)],(c,d)=>{d[0]&&d[1]&&d[0].style.removeProperty(d[1]),u()},{immediate:!0}),ge([s,r],([c,d])=>{const f=Nt(e);d?.style&&f&&(c==null?d.style.removeProperty(f):d.style.setProperty(f,c))},{immediate:!0}),s}function oA(e={}){const{document:t=qR}=e;if(!t)return kt("visible");const n=kt(t.visibilityState);return jt(t,"visibilitychange",()=>{n.value=t.visibilityState},{passive:!0}),n}function cn(e,t,n={}){const{window:o=ra,...a}=n;let l;const s=dp(()=>o&&"ResizeObserver"in o),r=()=>{l&&(l.disconnect(),l=void 0)},u=ge(C(()=>{const d=Nt(e);return Array.isArray(d)?d.map(f=>Pn(f)):[Pn(d)]}),d=>{if(r(),s.value&&o){l=new ResizeObserver(t);for(const f of d)f&&l.observe(f,a)}},{immediate:!0,flush:"post"}),c=()=>{r(),u()};return rs(c),{isSupported:s,stop:c}}function b0(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:a=!0,immediate:l=!0,updateTiming:s="sync"}=t,r=kt(0),u=kt(0),c=kt(0),d=kt(0),f=kt(0),v=kt(0),h=kt(0),g=kt(0);function p(){const y=Pn(e);if(!y){n&&(r.value=0,u.value=0,c.value=0,d.value=0,f.value=0,v.value=0,h.value=0,g.value=0);return}const b=y.getBoundingClientRect();r.value=b.height,u.value=b.bottom,c.value=b.left,d.value=b.right,f.value=b.top,v.value=b.width,h.value=b.x,g.value=b.y}function m(){s==="sync"?p():s==="next-frame"&&requestAnimationFrame(()=>p())}return cn(e,m),ge(()=>Pn(e),y=>!y&&m()),rc(e,m,{attributeFilter:["style","class"]}),a&&jt("scroll",m,{capture:!0,passive:!0}),o&&jt("resize",m,{passive:!0}),pg(()=>{l&&m()}),{height:r,bottom:u,left:c,right:d,top:f,width:v,x:h,y:g,update:m}}function ef(e,t={width:0,height:0},n={}){const{window:o=ra,box:a="content-box"}=n,l=C(()=>{var f;return(f=Pn(e))===null||f===void 0||(f=f.namespaceURI)===null||f===void 0?void 0:f.includes("svg")}),s=kt(t.width),r=kt(t.height),{stop:u}=cn(e,([f])=>{const v=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&l.value){const h=Pn(e);if(h){const g=h.getBoundingClientRect();s.value=g.width,r.value=g.height}}else if(v){const h=Fr(v);s.value=h.reduce((g,{inlineSize:p})=>g+p,0),r.value=h.reduce((g,{blockSize:p})=>g+p,0)}else s.value=f.contentRect.width,r.value=f.contentRect.height},n);pg(()=>{const f=Pn(e);f&&(s.value="offsetWidth"in f?f.offsetWidth:t.width,r.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=ge(()=>Pn(e),f=>{s.value=f?t.width:0,r.value=f?t.height:0});function d(){u(),c()}return{width:s,height:r,stop:d}}function aA(e,t,n={}){const{root:o,rootMargin:a,threshold:l=0,window:s=ra,immediate:r=!0}=n,u=dp(()=>s&&"IntersectionObserver"in s),c=C(()=>Fr(Nt(e)).map(Pn).filter(Zk));let d=$o;const f=kt(r),v=u.value?ge(()=>[c.value,Pn(o),Nt(a),f.value],([g,p,m])=>{if(d(),!f.value||!g.length)return;const y=new IntersectionObserver(t,{root:Pn(p),rootMargin:m,threshold:l});g.forEach(b=>b&&y.observe(b)),d=()=>{y.disconnect(),d=$o}},{immediate:r,flush:"post"}):$o,h=()=>{d(),v(),f.value=!1};return rs(h),{isSupported:u,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:h}}function lA(e,t,n,o={}){var a,l;const{clone:s=!1,passive:r=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:f}=o,v=ct(),h=v?.emit||(v==null||(a=v.$emit)===null||a===void 0?void 0:a.bind(v))||(v==null||(l=v.proxy)===null||l===void 0||(l=l.$emit)===null||l===void 0?void 0:l.bind(v?.proxy));let g=u;g=g||`update:${t.toString()}`;const p=b=>s?typeof s=="function"?s(b):tA(b):b,m=()=>DR(e[t])?p(e[t]):d,y=b=>{f?f(b)&&h(g,b):h(g,b)};if(r){const b=F(m());let w=!1;return ge(()=>e[t],S=>{w||(w=!0,b.value=p(S),Re(()=>w=!1))}),ge(b,S=>{!w&&(S!==e[t]||c)&&y(S)},{deep:c}),b}else return C({get(){return m()},set(b){y(b)}})}function sA(e={}){const{window:t=ra}=e;if(!t)return kt(!1);const n=kt(t.document.hasFocus()),o={passive:!0};return jt(t,"blur",()=>{n.value=!1},o),jt(t,"focus",()=>{n.value=!0},o),n}function hg(e={}){const{window:t=ra,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:o=Number.POSITIVE_INFINITY,listenOrientation:a=!0,includeScrollbar:l=!0,type:s="inner"}=e,r=kt(n),u=kt(o),c=()=>{if(t)if(s==="outer")r.value=t.outerWidth,u.value=t.outerHeight;else if(s==="visual"&&t.visualViewport){const{width:f,height:v,scale:h}=t.visualViewport;r.value=Math.round(f*h),u.value=Math.round(v*h)}else l?(r.value=t.innerWidth,u.value=t.innerHeight):(r.value=t.document.documentElement.clientWidth,u.value=t.document.documentElement.clientHeight)};c(),pg(c);const d={passive:!0};return jt("resize",c,d),t&&s==="visual"&&t.visualViewport&&jt(t.visualViewport,"resize",c,d),a&&ge(eA("(orientation: portrait)"),()=>c()),{width:r,height:u}}function mg(){const e=kt(),t=F(0),n=C(()=>({minWidth:`${Math.max(t.value,11)}px`}));return cn(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}const Ba=({from:e,replacement:t,scope:n,version:o,ref:a,type:l="API"},s)=>{ge(()=>i(s),r=>{r&&Yt(n,`[${l}] ${e} is about to be deprecated in version ${o}, please use ${t} instead. +For more detail, please visit: ${a} +`)},{immediate:!0})},rA='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',e2=e=>typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot,w0=e=>typeof Element>"u"?!1:e instanceof Element,iA=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,S0=e=>Array.from(e.querySelectorAll(rA)).filter(t=>er(t)&&iA(t)),er=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},cd=function(e,t,...n){let o;t.includes("mouse")||t.includes("click")?o="MouseEvents":t.includes("key")?o="KeyboardEvent":o="HTMLEvents";const a=document.createEvent(o);return a.initEvent(t,...n),e.dispatchEvent(a),e},t2=e=>!e.getAttribute("aria-owns"),n2=(e,t,n)=>{const{parentNode:o}=e;if(!o)return null;const a=o.querySelectorAll(n);return a[Array.prototype.indexOf.call(a,e)+t]||null},ic=(e,t)=>{if(!e||!e.focus)return;let n=!1;w0(e)&&!er(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),w0(e)&&n&&e.removeAttribute("tabindex")},zr=e=>{e&&(ic(e),!t2(e)&&e.click())},fp=()=>Lt&&/firefox/i.test(window.navigator.userAgent),o2=()=>Lt&&/android/i.test(window.navigator.userAgent),gg=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),cv=e=>Gu(e),uA="utils/dom/style",a2=(e="")=>e.split(" ").filter(t=>!!t.trim()),Fa=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Jo=(e,t)=>{!e||!t.trim()||e.classList.add(...a2(t))},ro=(e,t)=>{!e||!t.trim()||e.classList.remove(...a2(t))},fl=(e,t)=>{if(!Lt||!e||!t||e2(e))return"";let n=Xn(t);n==="float"&&(n="cssFloat");try{const o=e.style[n];if(o)return o;const a=document.defaultView?.getComputedStyle(e,"");return a?a[n]:""}catch{return e.style[n]}},l2=(e,t,n)=>{if(!(!e||!t))if(st(t))qk(t).forEach(([o,a])=>l2(e,o,a));else{const o=Xn(t);e.style[o]=n}};function mn(e,t="px"){if(!e&&e!==0)return"";if(We(e)||_R(e))return`${e}${t}`;if(ze(e))return e;Yt(uA,"binding value must be a string or number")}const s2=(e,t,n,o)=>{const a={offsetX:0,offsetY:0},l=F(!1),s=(v,h)=>{if(e.value){const{offsetX:g,offsetY:p}=a,m=e.value.getBoundingClientRect(),y=Math.max(m.left,0),b=Math.max(m.top,0),w=m.width,S=m.height,k=document.documentElement.clientWidth,x=document.documentElement.clientHeight,$=-y+g,T=-b+p,_=k-y-w+g,A=x-b-(S{const h=v.clientX,g=v.clientY,{offsetX:p,offsetY:m}=a,y=w=>{l.value||(l.value=!0),s(p+w.clientX-h,m+w.clientY-g)},b=()=>{l.value=!1,document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",y),document.addEventListener("mouseup",b)},u=()=>{t.value&&e.value&&(t.value.addEventListener("mousedown",r),window.addEventListener("resize",f))},c=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",r),window.removeEventListener("resize",f))},d=()=>{a.offsetX=0,a.offsetY=0,e.value&&(e.value.style.transform="")},f=()=>{const{offsetX:v,offsetY:h}=a;s(v,h)};return at(()=>{uo(()=>{n.value?u():c()})}),Ft(()=>{c()}),{isDragging:l,resetPosition:d,updatePosition:f}};var cA={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value",alphaDescription:"alpha {alpha}, current color is {color}",hueLabel:"pick hue value",hueDescription:"hue {hue}, current color is {color}",svLabel:"pick saturation and brightness value",svDescription:"saturation {saturation}, brightness {brightness}, current color is {color}",predefineDescription:"select {value} as the color"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum",selectAllLabel:"Select all rows",selectRowLabel:"Select this row",expandRowLabel:"Expand this row",collapseRowLabel:"Collapse this row",sortLabel:"Sort by {column}",filterLabel:"Filter by {column}"},tag:{close:"Close this tag"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"},inputOTP:{groupLabel:"OTP Input",defaultLabel:"Please enter OTP character {index}"}}};const dA=e=>(t,n)=>fA(t,n,i(e)),fA=(e,t,n)=>En(n,e,e).replace(/\{(\w+)\}/g,(o,a)=>`${t?.[a]??`{${a}}`}`),pA=e=>({lang:C(()=>i(e).name),locale:gt(e)?e:F(e),t:dA(e)}),r2=Symbol("localeContextKey"),_t=e=>{const t=e||Fe(r2,F());return pA(C(()=>t.value||cA))},vA="is-",ws=(e,t,n,o,a)=>{let l=`${e}-${t}`;return n&&(l+=`-${n}`),o&&(l+=`__${o}`),a&&(l+=`--${a}`),l},i2=Symbol("namespaceContextKey"),yg=e=>{const t=e||(ct()?Fe(i2,F("el")):F("el"));return C(()=>i(t)||"el")},ke=(e,t)=>{const n=yg(t);return{namespace:n,b:(p="")=>ws(n.value,e,p,"",""),e:p=>p?ws(n.value,e,"",p,""):"",m:p=>p?ws(n.value,e,"","",p):"",be:(p,m)=>p&&m?ws(n.value,e,p,m,""):"",em:(p,m)=>p&&m?ws(n.value,e,"",p,m):"",bm:(p,m)=>p&&m?ws(n.value,e,p,"",m):"",bem:(p,m,y)=>p&&m&&y?ws(n.value,e,p,m,y):"",is:(p,...m)=>{const y=m.length>=1?m[0]:!0;return p&&y?`${vA}${p}`:""},cssVar:p=>{const m={};for(const y in p)p[y]&&(m[`--${n.value}-${y}`]=p[y]);return m},cssVarName:p=>`--${n.value}-${p}`,cssVarBlock:p=>{const m={};for(const y in p)p[y]&&(m[`--${n.value}-${e}-${y}`]=p[y]);return m},cssVarBlockName:p=>`--${n.value}-${e}-${p}`}};function hA(e,t,n,o){const a=n-t;return e/=o/2,e<1?a/2*e*e*e+t:a/2*((e-=2)*e*e+2)+t}const Po=e=>Lt?window.requestAnimationFrame(e):setTimeout(e,16),ba=e=>Lt?window.cancelAnimationFrame(e):clearTimeout(e),mA=(e,t)=>{if(!Lt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],o=fl(e,n);return["scroll","auto","overlay"].some(a=>o.includes(a))},bg=(e,t)=>{if(!Lt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(mA(n,t))return n;e2(n)?n=n.host:n=n.parentNode}return n};let Pc;const u2=e=>{if(!Lt)return 0;if(Pc!==void 0)return Pc;const t=document.createElement("div");t.className=`${e}-scrollbar__wrap`,t.style.visibility="hidden",t.style.width="100px",t.style.position="absolute",t.style.top="-9999px",document.body.appendChild(t);const n=t.offsetWidth;t.style.overflow="scroll";const o=document.createElement("div");o.style.width="100%",t.appendChild(o);const a=o.offsetWidth;return t.parentNode?.removeChild(t),Pc=n-a,Pc};function wg(e,t){if(!Lt)return;if(!t){e.scrollTop=0;return}const n=[];let o=t.offsetParent;for(;o!==null&&e!==o&&e.contains(o);)n.push(o),o=o.offsetParent;const a=t.offsetTop+n.reduce((u,c)=>u+c.offsetTop,0),l=a+t.offsetHeight,s=e.scrollTop,r=s+e.clientHeight;ar&&(e.scrollTop=l-e.clientHeight)}function gA(e,t,n,o,a){const l=Date.now();let s;const r=()=>{const u=Date.now()-l,c=hA(u>o?o:u,t,n,o);lc(e)?e.scrollTo(window.pageXOffset,c):e.scrollTop=c,u{s&&ba(s)}}const C0=(e,t)=>lc(t)?e.ownerDocument.documentElement:t,k0=e=>lc(e)?window.scrollY:e.scrollTop,pp=(e,t={})=>{gt(e)||dn("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||ke("popup"),o=C(()=>n.bm("parent","hidden"));let a=0,l=!1,s="0",r=!1;const u=()=>{r||(r=!0,setTimeout(()=>{typeof document>"u"||l&&document&&(document.body.style.width=s,ro(document.body,o.value))},200))};ge(e,c=>{if(!c){u();return}r=!1,l=!Fa(document.body,o.value),l&&(s=document.body.style.width,Jo(document.body,o.value)),a=u2(n.namespace.value);const d=document.documentElement.clientHeight0&&(d||f==="scroll")&&l&&(document.body.style.width=`calc(100% - ${a}px)`)}),Dr(()=>u())},Vn=(e,t,{checkForDefaultPrevented:n=!0}={})=>a=>{const l=e?.(a);if(n===!1||!l)return t?.(a)},x0=e=>t=>t.pointerType==="mouse"?e(t):void 0,Zt=e=>{if(e.code&&e.code!=="Unidentified")return e.code;const t=c2(e);return t?Object.values(Ee).includes(t)?t:t===" "?Ee.space:"":""},c2=e=>{let t=e.key&&e.key!=="Unidentified"?e.key:"";if(!t&&e.type==="keyup"&&o2()){const n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},yA=xa({type:oe(Boolean),default:null}),bA=xa({type:oe(Function)}),wA=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,o=[t],a={[e]:yA,[n]:bA};return{useModelToggle:({indicator:s,toggleReason:r,shouldHideWhenRouteChanges:u,shouldProceed:c,onShow:d,onHide:f})=>{const v=ct(),{emit:h}=v,g=v.props,p=C(()=>je(g[n])),m=C(()=>g[e]===null),y=$=>{s.value!==!0&&(s.value=!0,r&&(r.value=$),je(d)&&d($))},b=$=>{s.value!==!1&&(s.value=!1,r&&(r.value=$),je(f)&&f($))},w=$=>{if(g.disabled===!0||je(c)&&!c())return;const T=p.value&≪T&&h(t,!0),(m.value||!T)&&y($)},S=$=>{if(g.disabled===!0||!Lt)return;const T=p.value&≪T&&h(t,!1),(m.value||!T)&&b($)},k=$=>{Gt($)&&(g.disabled&&$?p.value&&h(t,!1):s.value!==$&&($?y():b()))},x=()=>{s.value?S():w()};return ge(()=>g[e],k),u&&v.appContext.config.globalProperties.$route!==void 0&&ge(()=>({...v.proxy.$route}),()=>{u.value&&s.value&&S()}),at(()=>{k(g[e])}),{hide:S,show:w,toggle:x,hasUpdateHandler:p}},useModelToggleProps:a,useModelToggleEmits:o}},d2=e=>{const t=ct();return C(()=>t?.proxy?.$props?.[e])};var Io="top",oa="bottom",aa="right",Oo="left",Sg="auto",uc=[Io,oa,aa,Oo],ni="start",xu="end",SA="clippingParents",f2="viewport",Mi="popper",CA="reference",E0=uc.reduce(function(e,t){return e.concat([t+"-"+ni,t+"-"+xu])},[]),Ja=[].concat(uc,[Sg]).reduce(function(e,t){return e.concat([t,t+"-"+ni,t+"-"+xu])},[]),kA="beforeRead",xA="read",EA="afterRead",$A="beforeMain",TA="main",_A="afterMain",NA="beforeWrite",IA="write",OA="afterWrite",MA=[kA,xA,EA,$A,TA,_A,NA,IA,OA];function Ya(e){return e?(e.nodeName||"").toLowerCase():null}function Uo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function tr(e){var t=Uo(e).Element;return e instanceof t||e instanceof Element}function ea(e){var t=Uo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Cg(e){if(typeof ShadowRoot>"u")return!1;var t=Uo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function PA(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},a=t.attributes[n]||{},l=t.elements[n];!ea(l)||!Ya(l)||(Object.assign(l.style,o),Object.keys(a).forEach(function(s){var r=a[s];r===!1?l.removeAttribute(s):l.setAttribute(s,r===!0?"":r)}))})}function RA(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],l=t.attributes[o]||{},s=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),r=s.reduce(function(u,c){return u[c]="",u},{});!ea(a)||!Ya(a)||(Object.assign(a.style,r),Object.keys(l).forEach(function(u){a.removeAttribute(u)}))})}}var p2={name:"applyStyles",enabled:!0,phase:"write",fn:PA,effect:RA,requires:["computeStyles"]};function za(e){return e.split("-")[0]}var zs=Math.max,tf=Math.min,oi=Math.round;function hh(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function v2(){return!/^((?!chrome|android).)*safari/i.test(hh())}function ai(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var o=e.getBoundingClientRect(),a=1,l=1;t&&ea(e)&&(a=e.offsetWidth>0&&oi(o.width)/e.offsetWidth||1,l=e.offsetHeight>0&&oi(o.height)/e.offsetHeight||1);var s=tr(e)?Uo(e):window,r=s.visualViewport,u=!v2()&&n,c=(o.left+(u&&r?r.offsetLeft:0))/a,d=(o.top+(u&&r?r.offsetTop:0))/l,f=o.width/a,v=o.height/l;return{width:f,height:v,top:d,right:c+f,bottom:d+v,left:c,x:c,y:d}}function kg(e){var t=ai(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function h2(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Cg(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function xl(e){return Uo(e).getComputedStyle(e)}function AA(e){return["table","td","th"].indexOf(Ya(e))>=0}function hs(e){return((tr(e)?e.ownerDocument:e.document)||window.document).documentElement}function vp(e){return Ya(e)==="html"?e:e.assignedSlot||e.parentNode||(Cg(e)?e.host:null)||hs(e)}function $0(e){return!ea(e)||xl(e).position==="fixed"?null:e.offsetParent}function DA(e){var t=/firefox/i.test(hh()),n=/Trident/i.test(hh());if(n&&ea(e)){var o=xl(e);if(o.position==="fixed")return null}var a=vp(e);for(Cg(a)&&(a=a.host);ea(a)&&["html","body"].indexOf(Ya(a))<0;){var l=xl(a);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||t&&l.willChange==="filter"||t&&l.filter&&l.filter!=="none")return a;a=a.parentNode}return null}function cc(e){for(var t=Uo(e),n=$0(e);n&&AA(n)&&xl(n).position==="static";)n=$0(n);return n&&(Ya(n)==="html"||Ya(n)==="body"&&xl(n).position==="static")?t:n||DA(e)||t}function xg(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function au(e,t,n){return zs(e,tf(t,n))}function LA(e,t,n){var o=au(e,t,n);return o>n?n:o}function m2(){return{top:0,right:0,bottom:0,left:0}}function g2(e){return Object.assign({},m2(),e)}function y2(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var VA=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,g2(typeof e!="number"?e:y2(e,uc))};function BA(e){var t,n=e.state,o=e.name,a=e.options,l=n.elements.arrow,s=n.modifiersData.popperOffsets,r=za(n.placement),u=xg(r),c=[Oo,aa].indexOf(r)>=0,d=c?"height":"width";if(!(!l||!s)){var f=VA(a.padding,n),v=kg(l),h=u==="y"?Io:Oo,g=u==="y"?oa:aa,p=n.rects.reference[d]+n.rects.reference[u]-s[u]-n.rects.popper[d],m=s[u]-n.rects.reference[u],y=cc(l),b=y?u==="y"?y.clientHeight||0:y.clientWidth||0:0,w=p/2-m/2,S=f[h],k=b-v[d]-f[g],x=b/2-v[d]/2+w,$=au(S,x,k),T=u;n.modifiersData[o]=(t={},t[T]=$,t.centerOffset=$-x,t)}}function FA(e){var t=e.state,n=e.options,o=n.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||h2(t.elements.popper,a)&&(t.elements.arrow=a))}var zA={name:"arrow",enabled:!0,phase:"main",fn:BA,effect:FA,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function li(e){return e.split("-")[1]}var HA={top:"auto",right:"auto",bottom:"auto",left:"auto"};function KA(e,t){var n=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:oi(n*a)/a||0,y:oi(o*a)/a||0}}function T0(e){var t,n=e.popper,o=e.popperRect,a=e.placement,l=e.variation,s=e.offsets,r=e.position,u=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,v=s.x,h=v===void 0?0:v,g=s.y,p=g===void 0?0:g,m=typeof d=="function"?d({x:h,y:p}):{x:h,y:p};h=m.x,p=m.y;var y=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),w=Oo,S=Io,k=window;if(c){var x=cc(n),$="clientHeight",T="clientWidth";if(x===Uo(n)&&(x=hs(n),xl(x).position!=="static"&&r==="absolute"&&($="scrollHeight",T="scrollWidth")),x=x,a===Io||(a===Oo||a===aa)&&l===xu){S=oa;var _=f&&x===k&&k.visualViewport?k.visualViewport.height:x[$];p-=_-o.height,p*=u?1:-1}if(a===Oo||(a===Io||a===oa)&&l===xu){w=aa;var A=f&&x===k&&k.visualViewport?k.visualViewport.width:x[T];h-=A-o.width,h*=u?1:-1}}var D=Object.assign({position:r},c&&HA),N=d===!0?KA({x:h,y:p},Uo(n)):{x:h,y:p};if(h=N.x,p=N.y,u){var W;return Object.assign({},D,(W={},W[S]=b?"0":"",W[w]=y?"0":"",W.transform=(k.devicePixelRatio||1)<=1?"translate("+h+"px, "+p+"px)":"translate3d("+h+"px, "+p+"px, 0)",W))}return Object.assign({},D,(t={},t[S]=b?p+"px":"",t[w]=y?h+"px":"",t.transform="",t))}function WA(e){var t=e.state,n=e.options,o=n.gpuAcceleration,a=o===void 0?!0:o,l=n.adaptive,s=l===void 0?!0:l,r=n.roundOffsets,u=r===void 0?!0:r,c={placement:za(t.placement),variation:li(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,T0(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,T0(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var b2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:WA,data:{}},Rc={passive:!0};function jA(e){var t=e.state,n=e.instance,o=e.options,a=o.scroll,l=a===void 0?!0:a,s=o.resize,r=s===void 0?!0:s,u=Uo(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return l&&c.forEach(function(d){d.addEventListener("scroll",n.update,Rc)}),r&&u.addEventListener("resize",n.update,Rc),function(){l&&c.forEach(function(d){d.removeEventListener("scroll",n.update,Rc)}),r&&u.removeEventListener("resize",n.update,Rc)}}var w2={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:jA,data:{}},UA={left:"right",right:"left",bottom:"top",top:"bottom"};function dd(e){return e.replace(/left|right|bottom|top/g,function(t){return UA[t]})}var YA={start:"end",end:"start"};function _0(e){return e.replace(/start|end/g,function(t){return YA[t]})}function Eg(e){var t=Uo(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function $g(e){return ai(hs(e)).left+Eg(e).scrollLeft}function qA(e,t){var n=Uo(e),o=hs(e),a=n.visualViewport,l=o.clientWidth,s=o.clientHeight,r=0,u=0;if(a){l=a.width,s=a.height;var c=v2();(c||!c&&t==="fixed")&&(r=a.offsetLeft,u=a.offsetTop)}return{width:l,height:s,x:r+$g(e),y:u}}function GA(e){var t,n=hs(e),o=Eg(e),a=(t=e.ownerDocument)==null?void 0:t.body,l=zs(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=zs(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),r=-o.scrollLeft+$g(e),u=-o.scrollTop;return xl(a||n).direction==="rtl"&&(r+=zs(n.clientWidth,a?a.clientWidth:0)-l),{width:l,height:s,x:r,y:u}}function Tg(e){var t=xl(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)}function S2(e){return["html","body","#document"].indexOf(Ya(e))>=0?e.ownerDocument.body:ea(e)&&Tg(e)?e:S2(vp(e))}function lu(e,t){var n;t===void 0&&(t=[]);var o=S2(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),l=Uo(o),s=a?[l].concat(l.visualViewport||[],Tg(o)?o:[]):o,r=t.concat(s);return a?r:r.concat(lu(vp(s)))}function mh(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function XA(e,t){var n=ai(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function N0(e,t,n){return t===f2?mh(qA(e,n)):tr(t)?XA(t,n):mh(GA(hs(e)))}function ZA(e){var t=lu(vp(e)),n=["absolute","fixed"].indexOf(xl(e).position)>=0,o=n&&ea(e)?cc(e):e;return tr(o)?t.filter(function(a){return tr(a)&&h2(a,o)&&Ya(a)!=="body"}):[]}function JA(e,t,n,o){var a=t==="clippingParents"?ZA(e):[].concat(t),l=[].concat(a,[n]),s=l[0],r=l.reduce(function(u,c){var d=N0(e,c,o);return u.top=zs(d.top,u.top),u.right=tf(d.right,u.right),u.bottom=tf(d.bottom,u.bottom),u.left=zs(d.left,u.left),u},N0(e,s,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function C2(e){var t=e.reference,n=e.element,o=e.placement,a=o?za(o):null,l=o?li(o):null,s=t.x+t.width/2-n.width/2,r=t.y+t.height/2-n.height/2,u;switch(a){case Io:u={x:s,y:t.y-n.height};break;case oa:u={x:s,y:t.y+t.height};break;case aa:u={x:t.x+t.width,y:r};break;case Oo:u={x:t.x-n.width,y:r};break;default:u={x:t.x,y:t.y}}var c=a?xg(a):null;if(c!=null){var d=c==="y"?"height":"width";switch(l){case ni:u[c]=u[c]-(t[d]/2-n[d]/2);break;case xu:u[c]=u[c]+(t[d]/2-n[d]/2);break}}return u}function Eu(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=o===void 0?e.placement:o,l=n.strategy,s=l===void 0?e.strategy:l,r=n.boundary,u=r===void 0?SA:r,c=n.rootBoundary,d=c===void 0?f2:c,f=n.elementContext,v=f===void 0?Mi:f,h=n.altBoundary,g=h===void 0?!1:h,p=n.padding,m=p===void 0?0:p,y=g2(typeof m!="number"?m:y2(m,uc)),b=v===Mi?CA:Mi,w=e.rects.popper,S=e.elements[g?b:v],k=JA(tr(S)?S:S.contextElement||hs(e.elements.popper),u,d,s),x=ai(e.elements.reference),$=C2({reference:x,element:w,placement:a}),T=mh(Object.assign({},w,$)),_=v===Mi?T:x,A={top:k.top-_.top+y.top,bottom:_.bottom-k.bottom+y.bottom,left:k.left-_.left+y.left,right:_.right-k.right+y.right},D=e.modifiersData.offset;if(v===Mi&&D){var N=D[a];Object.keys(A).forEach(function(W){var V=[aa,oa].indexOf(W)>=0?1:-1,H=[Io,oa].indexOf(W)>=0?"y":"x";A[W]+=N[H]*V})}return A}function QA(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=n.boundary,l=n.rootBoundary,s=n.padding,r=n.flipVariations,u=n.allowedAutoPlacements,c=u===void 0?Ja:u,d=li(o),f=d?r?E0:E0.filter(function(g){return li(g)===d}):uc,v=f.filter(function(g){return c.indexOf(g)>=0});v.length===0&&(v=f);var h=v.reduce(function(g,p){return g[p]=Eu(e,{placement:p,boundary:a,rootBoundary:l,padding:s})[za(p)],g},{});return Object.keys(h).sort(function(g,p){return h[g]-h[p]})}function eD(e){if(za(e)===Sg)return[];var t=dd(e);return[_0(e),t,_0(t)]}function tD(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=n.mainAxis,l=a===void 0?!0:a,s=n.altAxis,r=s===void 0?!0:s,u=n.fallbackPlacements,c=n.padding,d=n.boundary,f=n.rootBoundary,v=n.altBoundary,h=n.flipVariations,g=h===void 0?!0:h,p=n.allowedAutoPlacements,m=t.options.placement,y=za(m),b=y===m,w=u||(b||!g?[dd(m)]:eD(m)),S=[m].concat(w).reduce(function(ne,re){return ne.concat(za(re)===Sg?QA(t,{placement:re,boundary:d,rootBoundary:f,padding:c,flipVariations:g,allowedAutoPlacements:p}):re)},[]),k=t.rects.reference,x=t.rects.popper,$=new Map,T=!0,_=S[0],A=0;A=0,H=V?"width":"height",P=Eu(t,{placement:D,boundary:d,rootBoundary:f,altBoundary:v,padding:c}),O=V?W?aa:Oo:W?oa:Io;k[H]>x[H]&&(O=dd(O));var M=dd(O),B=[];if(l&&B.push(P[N]<=0),r&&B.push(P[O]<=0,P[M]<=0),B.every(function(ne){return ne})){_=D,T=!1;break}$.set(D,B)}if(T)for(var L=g?3:1,K=function(ne){var re=S.find(function(Q){var ce=$.get(Q);if(ce)return ce.slice(0,ne).every(function(we){return we})});if(re)return _=re,"break"},X=L;X>0;X--){var J=K(X);if(J==="break")break}t.placement!==_&&(t.modifiersData[o]._skip=!0,t.placement=_,t.reset=!0)}}var nD={name:"flip",enabled:!0,phase:"main",fn:tD,requiresIfExists:["offset"],data:{_skip:!1}};function I0(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function O0(e){return[Io,aa,oa,Oo].some(function(t){return e[t]>=0})}function oD(e){var t=e.state,n=e.name,o=t.rects.reference,a=t.rects.popper,l=t.modifiersData.preventOverflow,s=Eu(t,{elementContext:"reference"}),r=Eu(t,{altBoundary:!0}),u=I0(s,o),c=I0(r,a,l),d=O0(u),f=O0(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}var aD={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:oD};function lD(e,t,n){var o=za(e),a=[Oo,Io].indexOf(o)>=0?-1:1,l=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=l[0],r=l[1];return s=s||0,r=(r||0)*a,[Oo,aa].indexOf(o)>=0?{x:r,y:s}:{x:s,y:r}}function sD(e){var t=e.state,n=e.options,o=e.name,a=n.offset,l=a===void 0?[0,0]:a,s=Ja.reduce(function(d,f){return d[f]=lD(f,t.rects,l),d},{}),r=s[t.placement],u=r.x,c=r.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=s}var rD={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:sD};function iD(e){var t=e.state,n=e.name;t.modifiersData[n]=C2({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var k2={name:"popperOffsets",enabled:!0,phase:"read",fn:iD,data:{}};function uD(e){return e==="x"?"y":"x"}function cD(e){var t=e.state,n=e.options,o=e.name,a=n.mainAxis,l=a===void 0?!0:a,s=n.altAxis,r=s===void 0?!1:s,u=n.boundary,c=n.rootBoundary,d=n.altBoundary,f=n.padding,v=n.tether,h=v===void 0?!0:v,g=n.tetherOffset,p=g===void 0?0:g,m=Eu(t,{boundary:u,rootBoundary:c,padding:f,altBoundary:d}),y=za(t.placement),b=li(t.placement),w=!b,S=xg(y),k=uD(S),x=t.modifiersData.popperOffsets,$=t.rects.reference,T=t.rects.popper,_=typeof p=="function"?p(Object.assign({},t.rects,{placement:t.placement})):p,A=typeof _=="number"?{mainAxis:_,altAxis:_}:Object.assign({mainAxis:0,altAxis:0},_),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(x){if(l){var W,V=S==="y"?Io:Oo,H=S==="y"?oa:aa,P=S==="y"?"height":"width",O=x[S],M=O+m[V],B=O-m[H],L=h?-T[P]/2:0,K=b===ni?$[P]:T[P],X=b===ni?-T[P]:-$[P],J=t.elements.arrow,ne=h&&J?kg(J):{width:0,height:0},re=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:m2(),Q=re[V],ce=re[H],we=au(0,$[P],ne[P]),Se=w?$[P]/2-L-we-Q-A.mainAxis:K-we-Q-A.mainAxis,le=w?-$[P]/2+L+we+ce+A.mainAxis:X+we+ce+A.mainAxis,ie=t.elements.arrow&&cc(t.elements.arrow),j=ie?S==="y"?ie.clientTop||0:ie.clientLeft||0:0,ee=(W=D?.[S])!=null?W:0,Y=O+Se-ee-j,q=O+le-ee,U=au(h?tf(M,Y):M,O,h?zs(B,q):B);x[S]=U,N[S]=U-O}if(r){var G,te=S==="x"?Io:Oo,he=S==="x"?oa:aa,pe=x[k],de=k==="y"?"height":"width",be=pe+m[te],ye=pe-m[he],$e=[Io,Oo].indexOf(y)!==-1,Pe=(G=D?.[k])!=null?G:0,et=$e?be:pe-$[de]-T[de]-Pe+A.altAxis,tt=$e?pe+$[de]+T[de]-Pe-A.altAxis:ye,qe=h&&$e?LA(et,pe,tt):au(h?et:be,pe,h?tt:ye);x[k]=qe,N[k]=qe-pe}t.modifiersData[o]=N}}var dD={name:"preventOverflow",enabled:!0,phase:"main",fn:cD,requiresIfExists:["offset"]};function fD(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pD(e){return e===Uo(e)||!ea(e)?Eg(e):fD(e)}function vD(e){var t=e.getBoundingClientRect(),n=oi(t.width)/e.offsetWidth||1,o=oi(t.height)/e.offsetHeight||1;return n!==1||o!==1}function hD(e,t,n){n===void 0&&(n=!1);var o=ea(t),a=ea(t)&&vD(t),l=hs(t),s=ai(e,a,n),r={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!n)&&((Ya(t)!=="body"||Tg(l))&&(r=pD(t)),ea(t)?(u=ai(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):l&&(u.x=$g(l))),{x:s.left+r.scrollLeft-u.x,y:s.top+r.scrollTop-u.y,width:s.width,height:s.height}}function mD(e){var t=new Map,n=new Set,o=[];e.forEach(function(l){t.set(l.name,l)});function a(l){n.add(l.name);var s=[].concat(l.requires||[],l.requiresIfExists||[]);s.forEach(function(r){if(!n.has(r)){var u=t.get(r);u&&a(u)}}),o.push(l)}return e.forEach(function(l){n.has(l.name)||a(l)}),o}function gD(e){var t=mD(e);return MA.reduce(function(n,o){return n.concat(t.filter(function(a){return a.phase===o}))},[])}function yD(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function bD(e){var t=e.reduce(function(n,o){var a=n[o.name];return n[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var M0={placement:"bottom",modifiers:[],strategy:"absolute"};function P0(){for(var e=arguments.length,t=new Array(e),n=0;n{const o={name:"updateState",enabled:!0,phase:"write",fn:({state:u})=>{const c=xD(u);Object.assign(s.value,c)},requires:["computeStyles"]},a=C(()=>{const{onFirstUpdate:u,placement:c,strategy:d,modifiers:f}=i(n);return{onFirstUpdate:u,placement:c||"bottom",strategy:d||"absolute",modifiers:[...f||[],o,{name:"applyStyles",enabled:!1}]}}),l=kt(),s=F({styles:{popper:{position:i(a).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),r=()=>{l.value&&(l.value.destroy(),l.value=void 0)};return ge(a,u=>{const c=i(l);c&&c.setOptions(u)},{deep:!0}),ge([e,t],([u,c])=>{r(),!(!u||!c)&&(l.value=CD(u,c,i(a)))}),Ft(()=>{r()}),{state:C(()=>({...i(l)?.state||{}})),styles:C(()=>i(s).styles),attributes:C(()=>i(s).attributes),update:()=>i(l)?.update(),forceUpdate:()=>i(l)?.forceUpdate(),instanceRef:C(()=>i(l))}};function xD(e){const t=Object.keys(e.elements);return{styles:Qr(t.map(n=>[n,e.styles[n]||{}])),attributes:Qr(t.map(n=>[n,e.attributes[n]]))}}const Ng=e=>{if(!e)return{onClick:mt,onMousedown:mt,onMouseup:mt};let t=!1,n=!1;return{onClick:s=>{t&&n&&e(s),t=n=!1},onMousedown:s=>{t=s.target===s.currentTarget},onMouseup:s=>{n=s.target===s.currentTarget}}},ED=(e,t=0)=>{if(t===0)return e;const n=F(st(t)&&!!t.initVal);let o=null;const a=s=>{if(It(s)){n.value=e.value;return}o&&clearTimeout(o),o=setTimeout(()=>{n.value=e.value},s)},l=s=>{s==="leading"?We(t)?a(t):a(t.leading):st(t)?a(t.trailing):n.value=!1};return at(()=>l("leading")),ge(()=>e.value,s=>{l(s?"leading":"trailing")}),n};function R0(){let e;const t=(o,a)=>{n(),e=globalThis.setTimeout(o,a)},n=()=>{e!==void 0&&(globalThis.clearTimeout(e),e=void 0)};return rs(()=>n()),{registerTimeout:t,cancelTimeout:n}}const gh={prefix:Math.floor(Math.random()*1e4),current:0},$D=Symbol("elIdInjection"),Ig=()=>ct()?Fe($D,gh):gh,Jn=e=>{const t=Ig();!Lt&&t===gh&&Yt("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed +usage: app.provide(ID_INJECTION_KEY, { + prefix: number, + current: number, +})`);const n=yg();return Xk(()=>i(e)||`${n.value}-id-${t.prefix}-${t.current++}`)};let Ir=[];const A0=e=>{Zt(e)===Ee.esc&&Ir.forEach(t=>t(e))},TD=e=>{at(()=>{Ir.length===0&&document.addEventListener("keydown",A0),Lt&&Ir.push(e)}),Ft(()=>{Ir=Ir.filter(t=>t!==e),Ir.length===0&&Lt&&document.removeEventListener("keydown",A0)})},x2=()=>{const e=yg(),t=Ig(),n=C(()=>`${e.value}-popper-container-${t.prefix}`);return{id:n,selector:C(()=>`#${n.value}`)}},_D=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},ND=()=>{const{id:e,selector:t}=x2();return Qu(()=>{Lt&&(document.body.querySelector(t.value)||_D(e.value))}),{id:e,selector:t}},ID=Te({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),OD={showAfter:0,hideAfter:200,autoClose:0},MD=({showAfter:e,hideAfter:t,autoClose:n,open:o,close:a})=>{const{registerTimeout:l}=R0(),{registerTimeout:s,cancelTimeout:r}=R0();return{onOpen:(d,f=i(e))=>{l(()=>{o(d);const v=i(n);We(v)&&v>0&&s(()=>{a(d)},v)},f)},onClose:(d,f=i(t))=>{r(),l(()=>{a(d)},f)}}},E2=Symbol("elForwardRef"),PD=e=>{xt(E2,{setForwardRef:(n=>{e.value=n})})},RD=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),D0={current:0},L0=F(0),$2=2e3,V0=Symbol("elZIndexContextKey"),T2=Symbol("zIndexContextKey"),dc=e=>{const t=ct()?Fe(V0,D0):D0,n=e||(ct()?Fe(T2,void 0):void 0),o=C(()=>{const s=i(n);return We(s)?s:$2}),a=C(()=>o.value+L0.value),l=()=>(t.current++,L0.value=t.current,a.value);return!Lt&&!Fe(V0)&&Yt("ZIndexInjection",`Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed +usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:o,currentZIndex:a,nextZIndex:l}},si=Math.min,Hs=Math.max,nf=Math.round,Ac=Math.floor,bl=e=>({x:e,y:e}),AD={left:"right",right:"left",bottom:"top",top:"bottom"};function _2(e,t,n){return Hs(e,si(t,n))}function fc(e,t){return typeof e=="function"?e(t):e}function ri(e){return e.split("-")[0]}function pc(e){return e.split("-")[1]}function N2(e){return e==="x"?"y":"x"}function Og(e){return e==="y"?"height":"width"}function Zl(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function Mg(e){return N2(Zl(e))}function DD(e,t,n){n===void 0&&(n=!1);const o=pc(e),a=Mg(e),l=Og(a);let s=a==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[l]>t.floating[l]&&(s=of(s)),[s,of(s)]}function LD(e){const t=of(e);return[yh(e),t,yh(t)]}function yh(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const B0=["left","right"],F0=["right","left"],VD=["top","bottom"],BD=["bottom","top"];function FD(e,t,n){switch(e){case"top":case"bottom":return n?t?F0:B0:t?B0:F0;case"left":case"right":return t?VD:BD;default:return[]}}function zD(e,t,n,o){const a=pc(e);let l=FD(ri(e),n==="start",o);return a&&(l=l.map(s=>s+"-"+a),t&&(l=l.concat(l.map(yh)))),l}function of(e){const t=ri(e);return AD[t]+e.slice(t.length)}function HD(e){var t,n,o,a;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(o=e.bottom)!=null?o:0,left:(a=e.left)!=null?a:0}}function I2(e){return typeof e!="number"?HD(e):{top:e,right:e,bottom:e,left:e}}function af(e){const{x:t,y:n,width:o,height:a}=e;return{width:o,height:a,top:n,left:t,right:t+o,bottom:n+a,x:t,y:n}}function z0(e,t,n){let{reference:o,floating:a}=e;const l=Zl(t),s=Mg(t),r=Og(s),u=ri(t),c=l==="y",d=o.x+o.width/2-a.width/2,f=o.y+o.height/2-a.height/2,v=o[r]/2-a[r]/2;let h;switch(u){case"top":h={x:d,y:o.y-a.height};break;case"bottom":h={x:d,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:f};break;case"left":h={x:o.x-a.width,y:f};break;default:h={x:o.x,y:o.y}}const g=pc(t);return g&&(h[s]+=v*(g==="end"?1:-1)*(n&&c?-1:1)),h}async function O2(e,t){var n;t===void 0&&(t={});const{x:o,y:a,platform:l,rects:s,elements:r,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:v=!1,padding:h=0}=fc(t,e),g=I2(h),m=r[v?f==="floating"?"reference":"floating":f],y=af(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(m)))==null||n?m:m.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:u})),b=f==="floating"?{x:o,y:a,width:s.floating.width,height:s.floating.height}:s.reference,w=await(l.getOffsetParent==null?void 0:l.getOffsetParent(r.floating)),S=await(l.isElement==null?void 0:l.isElement(w))&&await(l.getScale==null?void 0:l.getScale(w))||{x:1,y:1},k=af(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:b,offsetParent:w,strategy:u}):b);return{top:(y.top-k.top+g.top)/S.y,bottom:(k.bottom-y.bottom+g.bottom)/S.y,left:(y.left-k.left+g.left)/S.x,right:(k.right-y.right+g.right)/S.x}}const KD=50,WD=async(e,t,n)=>{const{placement:o="bottom",strategy:a="absolute",middleware:l=[],platform:s}=n,r=s.detectOverflow?s:{...s,detectOverflow:O2},u=await(s.isRTL==null?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:f}=z0(c,o,u),v=o,h=0;const g={};for(let p=0;p({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:a,rects:l,platform:s,elements:r,middlewareData:u}=t,{element:c,padding:d=0}=fc(e,t)||{};if(c==null)return{};const f=I2(d),v={x:n,y:o},h=Mg(a),g=Og(h),p=await s.getDimensions(c),m=h==="y",y=m?"top":"left",b=m?"bottom":"right",w=m?"clientHeight":"clientWidth",S=l.reference[g]+l.reference[h]-v[h]-l.floating[g],k=v[h]-l.reference[h],x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c));let $=x?x[w]:0;(!$||!await(s.isElement==null?void 0:s.isElement(x)))&&($=r.floating[w]||l.floating[g]);const T=S/2-k/2,_=$/2-p[g]/2-1,A=si(f[y],_),D=si(f[b],_),N=$-p[g]-D,W=$/2-p[g]/2+T,V=_2(A,W,N),H=!u.arrow&&pc(a)!=null&&W!==V&&l.reference[g]/2-(WV<=0)){var D,N;const V=(((D=l.flip)==null?void 0:D.index)||0)+1,H=$[V];if(H&&(!(f==="alignment"?b!==Zl(H):!1)||A.every(M=>Zl(M.placement)===b?M.overflows[0]>0:!0)))return{data:{index:V,overflows:A},reset:{placement:H}};let P=(N=A.filter(O=>O.overflows[0]<=0).sort((O,M)=>O.overflows[1]-M.overflows[1])[0])==null?void 0:N.placement;if(!P)switch(h){case"bestFit":{var W;const O=(W=A.filter(M=>{if(x){const B=Zl(M.placement);return B===b||B==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(B=>B>0).reduce((B,L)=>B+L,0)]).sort((M,B)=>M[1]-B[1])[0])==null?void 0:W[0];O&&(P=O);break}case"initialPlacement":P=r;break}if(a!==P)return{reset:{placement:P}}}return{}}}},YD=new Set(["left","top"]);async function qD(e,t){const{placement:n,platform:o,elements:a}=e,l=await(o.isRTL==null?void 0:o.isRTL(a.floating)),s=ri(n),r=pc(n),u=Zl(n)==="y",c=YD.has(s)?-1:1,d=l&&u?-1:1,f=fc(t,e);let{mainAxis:v,crossAxis:h,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return r&&typeof g=="number"&&(h=r==="end"?g*-1:g),u?{x:h*d,y:v*c}:{x:v*c,y:h*d}}const GD=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:a,y:l,placement:s,middlewareData:r}=t,u=await qD(t,e);return s===((n=r.offset)==null?void 0:n.placement)&&(o=r.arrow)!=null&&o.alignmentOffset?{}:{x:a+u.x,y:l+u.y,data:{...u,placement:s}}}}},XD=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:a,platform:l}=t,{mainAxis:s=!0,crossAxis:r=!1,limiter:u={fn:b=>{let{x:w,y:S}=b;return{x:w,y:S}}},...c}=fc(e,t),d={x:n,y:o},f=await l.detectOverflow(t,c),v=Zl(a),h=N2(v);let g=d[h],p=d[v];const m=(b,w)=>_2(w+f[b==="y"?"top":"left"],w,w-f[b==="y"?"bottom":"right"]);s&&(g=m(h,g)),r&&(p=m(v,p));const y=u.fn({...t,[h]:g,[v]:p});return{...y,data:{x:y.x-n,y:y.y-o,enabled:{[h]:s,[v]:r}}}}}};function hp(){return typeof window<"u"}function ki(e){return M2(e)?(e.nodeName||"").toLowerCase():"#document"}function Mo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ml(e){var t;return(t=(M2(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function M2(e){return hp()?e instanceof Node||e instanceof Mo(e).Node:!1}function qa(e){return hp()?e instanceof Element||e instanceof Mo(e).Element:!1}function ms(e){return hp()?e instanceof HTMLElement||e instanceof Mo(e).HTMLElement:!1}function H0(e){return!hp()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mo(e).ShadowRoot}function mp(e){const{overflow:t,overflowX:n,overflowY:o,display:a}=Ga(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&a!=="inline"&&a!=="contents"}function ZD(e){return/^(table|td|th)$/.test(ki(e))}function gp(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const JD=/transform|translate|scale|rotate|perspective|filter/,QD=/paint|layout|strict|content/,Ss=e=>!!e&&e!=="none";let dv;function Pg(e){const t=qa(e)?Ga(e):e;return Ss(t.transform)||Ss(t.translate)||Ss(t.scale)||Ss(t.rotate)||Ss(t.perspective)||!Rg()&&(Ss(t.backdropFilter)||Ss(t.filter))||JD.test(t.willChange||"")||QD.test(t.contain||"")}function eL(e){let t=nr(e);for(;ms(t)&&!$u(t);){if(Pg(t))return t;if(gp(t))return null;t=nr(t)}return null}function Rg(){return dv==null&&(dv=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),dv}function $u(e){return/^(html|body|#document)$/.test(ki(e))}function Ga(e){return Mo(e).getComputedStyle(e)}function yp(e){return qa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function nr(e){if(ki(e)==="html")return e;const t=e.assignedSlot||e.parentNode||H0(e)&&e.host||Ml(e);return H0(t)?t.host:t}function P2(e){const t=nr(e);return $u(t)?(e.ownerDocument||e).body:ms(t)&&mp(t)?t:P2(t)}function Tu(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=P2(e),l=a===((o=e.ownerDocument)==null?void 0:o.body),s=Mo(a);if(l){const r=bh(s);return t.concat(s,s.visualViewport||[],mp(a)?a:[],r&&n?Tu(r):[])}else return t.concat(a,Tu(a,[],n))}function bh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function R2(e){const t=Ga(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const a=ms(e),l=a?e.offsetWidth:n,s=a?e.offsetHeight:o,r=nf(n)!==l||nf(o)!==s;return r&&(n=l,o=s),{width:n,height:o,$:r}}function Ag(e){return qa(e)?e:e.contextElement}function Hr(e){const t=Ag(e);if(!ms(t))return bl(1);const n=t.getBoundingClientRect(),{width:o,height:a,$:l}=R2(t);let s=(l?nf(n.width):n.width)/o,r=(l?nf(n.height):n.height)/a;return(!s||!Number.isFinite(s))&&(s=1),(!r||!Number.isFinite(r))&&(r=1),{x:s,y:r}}const tL=bl(0);function A2(e){const t=Mo(e);return!Rg()||!t.visualViewport?tL:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function nL(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Mo(e)}function or(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),l=Ag(e);let s=bl(1);t&&(o?qa(o)&&(s=Hr(o)):s=Hr(e));const r=nL(l,n,o)?A2(l):bl(0);let u=(a.left+r.x)/s.x,c=(a.top+r.y)/s.y,d=a.width/s.x,f=a.height/s.y;if(l&&o){const v=Mo(l),h=qa(o)?Mo(o):o;let g=v,p=bh(g);for(;p&&h!==g;){const m=Hr(p),y=p.getBoundingClientRect(),b=Ga(p),w=y.left+(p.clientLeft+parseFloat(b.paddingLeft))*m.x,S=y.top+(p.clientTop+parseFloat(b.paddingTop))*m.y;u*=m.x,c*=m.y,d*=m.x,f*=m.y,u+=w,c+=S,g=Mo(p),p=bh(g)}}return af({width:d,height:f,x:u,y:c})}function bp(e,t){const n=yp(e).scrollLeft;return t?t.left+n:or(Ml(e)).left+n}function D2(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-bp(e,n),a=n.top+t.scrollTop;return{x:o,y:a}}function oL(e){let{elements:t,rect:n,offsetParent:o,strategy:a}=e;const l=a==="fixed",s=Ml(o),r=t?gp(t.floating):!1;if(o===s||r&&l)return n;let u={scrollLeft:0,scrollTop:0},c=bl(1);const d=bl(0),f=ms(o);if((f||!l)&&((ki(o)!=="body"||mp(s))&&(u=yp(o)),f)){const h=or(o);c=Hr(o),d.x=h.x+o.clientLeft,d.y=h.y+o.clientTop}const v=s&&!f&&!l?D2(s,u):bl(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+v.x,y:n.y*c.y-u.scrollTop*c.y+d.y+v.y}}function aL(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function lL(e){const t=yp(e),n=e.ownerDocument.body,o=Hs(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),a=Hs(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let l=-t.scrollLeft+bp(e);const s=-t.scrollTop;return Ga(n).direction==="rtl"&&(l+=Hs(e.clientWidth,n.clientWidth)-o),{width:o,height:a,x:l,y:s}}const sL=25;function rL(e,t,n){n===void 0&&(n="viewport");const o=n==="layoutViewport",a=Mo(e),l=Ml(e),s=a.visualViewport;let r=l.clientWidth,u=l.clientHeight,c=0,d=0;if(s){const v=!Rg()||t==="fixed";o?v||(c=-s.offsetLeft,d=-s.offsetTop):(r=s.width,u=s.height,v&&(c=s.offsetLeft,d=s.offsetTop))}if(bp(l)<=0){const v=l.ownerDocument,h=v.body,g=getComputedStyle(h),p=v.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,m=Math.abs(l.clientWidth-h.clientWidth-p),y=getComputedStyle(l).scrollbarGutter==="stable both-edges"?m/2:m;y<=sL&&(r-=y)}return{width:r,height:u,x:c,y:d}}function iL(e,t){const n=or(e,!0,t==="fixed"),o=n.top+e.clientTop,a=n.left+e.clientLeft,l=Hr(e),s=e.clientWidth*l.x,r=e.clientHeight*l.y,u=a*l.x,c=o*l.y;return{width:s,height:r,x:u,y:c}}function K0(e,t,n){let o;if(t==="viewport"||t==="layoutViewport")o=rL(e,n,t);else if(t==="document")o=lL(Ml(e));else if(qa(t))o=iL(t,n);else{const a=A2(e);o={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return af(o)}function uL(e,t){const n=t.get(e);if(n)return n;let o=Tu(e,[],!1).filter(r=>qa(r)&&ki(r)!=="body"),a=null;const l=Ga(e).position==="fixed";let s=l?nr(e):e;for(;qa(s)&&!$u(s);){const r=Ga(s),u=Pg(s),c=a?a.position:l?"fixed":"";!u&&(c==="fixed"||c==="absolute"&&r.position==="static")?o=o.filter(f=>f!==s):a=r,s=nr(s)}return t.set(e,o),o}function cL(e){let{element:t,boundary:n,rootBoundary:o,strategy:a}=e;const s=[...n==="clippingAncestors"?gp(t)?[]:uL(t,this._c):[].concat(n),o],r=K0(t,s[0],a);let u=r.top,c=r.right,d=r.bottom,f=r.left;for(let v=1;v{r(!1,1e-7)},1e3)}$=!1}try{o=new IntersectionObserver(T,{...x,root:l.ownerDocument})}catch{o=new IntersectionObserver(T,x)}o.observe(e)}const u=Mo(e),c=()=>r(n);return u.addEventListener("resize",c),r(!0),()=>{u.removeEventListener("resize",c),s()}}function gL(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:a=!0,ancestorResize:l=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:u=!1}=o,c=Ag(e),d=a||l?[...c?Tu(c):[],...t?Tu(t):[]]:[];d.forEach(y=>{a&&y.addEventListener("scroll",n),l&&y.addEventListener("resize",n)});const f=c&&r?mL(c,n,l):null;let v=-1,h=null;s&&(h=new ResizeObserver(y=>{let[b]=y;b&&b.target===c&&h&&t&&(h.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var w;(w=h)==null||w.observe(t)})),n()}),c&&!u&&h.observe(c),t&&h.observe(t));let g,p=u?or(e):null;u&&m();function m(){const y=or(e);p&&!V2(p,y)&&n(),p=y,g=requestAnimationFrame(m)}return n(),()=>{var y;d.forEach(b=>{a&&b.removeEventListener("scroll",n),l&&b.removeEventListener("resize",n)}),f?.(),(y=h)==null||y.disconnect(),h=null,u&&cancelAnimationFrame(g)}}const yL=O2,bL=GD,wL=XD,SL=UD,CL=jD,kL=(e,t,n)=>{const o=new Map,a=n??{},l={...hL,...a.platform,_c:o};return WD(e,t,{...a,platform:l})};function xL(e){let t;function n(){if(e.value==null)return;const{selectionStart:a,selectionEnd:l,value:s}=e.value;a==null||l==null||(t={selectionStart:a,selectionEnd:l,value:s,beforeTxt:s.slice(0,Math.max(0,a)),afterTxt:s.slice(Math.max(0,l))})}function o(){if(e.value==null||t==null)return;const{value:a}=e.value,{beforeTxt:l,afterTxt:s,selectionStart:r}=t;if(l==null||s==null||r==null)return;let u=a.length;if(a.endsWith(s))u=a.length-s.length;else if(a.startsWith(l))u=l.length;else{const c=l[r-1],d=a.indexOf(c,r-1);d!==-1&&(u=d+1)}e.value.setSelectionRange(u,u)}return[n,o]}const EL="utils/vue/vnode";function wh(e){return tn(e)&&e.type===Me}function B2(e){return tn(e)&&e.type===_n}function $L(e){return tn(e)&&!wh(e)&&!B2(e)}const TL=e=>{if(!tn(e))return Yt(EL,"[getNormalizedProps] must be a VNode"),{};const t=e.props||{},n=(tn(e.type)?e.type.props:void 0)||{},o={};return Object.keys(n).forEach(a=>{zt(n[a],"default")&&(o[a]=n[a].default)}),Object.keys(t).forEach(a=>{o[Xn(a)]=t[a]}),o},Fo=e=>{const t=xe(e)?e:[e],n=[];return t.forEach(o=>{xe(o)?n.push(...Fo(o)):tn(o)&&o.component?.subTree?n.push(o,...Fo(o.component.subTree)):tn(o)&&xe(o.children)?n.push(...Fo(o.children)):tn(o)&&o.shapeFlag===2?n.push(...Fo(o.type())):n.push(o)}),n},_L=(e,t,n)=>Fo(e.subTree).filter(o=>tn(o)&&o.type?.name===t&&!!o.component).map(o=>o.component.uid).map(o=>n[o]).filter(o=>!!o),wp=(e,t)=>{const n=kt({}),o=kt([]),a=new WeakMap,l=c=>{n.value[c.uid]=c,id(n),at(()=>{const d=c.getVnode().el,f=d.parentNode;if(!a.has(f)){a.set(f,[]);const v=f.insertBefore.bind(f);f.insertBefore=(h,g)=>(a.get(f).some(p=>h===p||g===p)&&id(n),v(h,g))}a.get(f).push(d)})},s=c=>{delete n.value[c.uid],id(n);const d=c.getVnode().el,f=d.parentNode,v=a.get(f),h=v.indexOf(d);v.splice(h,1)},r=()=>{o.value=_L(e,t,n.value)},u=c=>c.render();return{children:o,addChild:l,removeChild:s,ChildrenSorter:ve({setup(c,{slots:d}){return()=>(r(),d.default?Le(u,{render:d.default}):null)}})}},Rn=xa({type:String,values:Ca,required:!1}),F2=Symbol("size"),z2=()=>{const e=Fe(F2,{});return C(()=>i(e.size)||"")};function Pl(e,{disabled:t,beforeFocus:n,afterFocus:o,beforeBlur:a,afterBlur:l}={}){const{emit:s}=ct(),r=kt(),u=F(!1),c=v=>{const h=je(n)?n(v):!1;i(t)||u.value||h||(u.value=!0,s("focus",v),o?.())},d=v=>{const h=je(a)?a(v):!1;i(t)||v.relatedTarget&&r.value?.contains(v.relatedTarget)||h||(u.value=!1,s("blur",v),l?.())},f=v=>{i(t)||er(v.target)||r.value?.contains(document.activeElement)&&r.value!==document.activeElement||e.value?.focus()};return ge([r,()=>i(t)],([v,h])=>{v&&(h?v.removeAttribute("tabindex"):v.setAttribute("tabindex","-1"))}),jt(r,"focus",c,!0),jt(r,"blur",d,!0),jt(r,"click",f,!0),{isFocused:u,wrapperRef:r,handleFocus:c,handleBlur:d}}function vc({afterComposition:e,emit:t}){const n=F(!1),o=r=>{t?.("compositionstart",r),n.value=!0},a=r=>{t?.("compositionupdate",r),n.value=!0},l=r=>{t?.("compositionend",r),n.value&&(n.value=!1,Re(()=>e(r)))};return{isComposing:n,handleComposition:r=>{r.type==="compositionend"?l(r):a(r)},handleCompositionStart:o,handleCompositionUpdate:a,handleCompositionEnd:l}}const H2=Symbol("emptyValuesContextKey"),NL="use-empty-values",IL=["",void 0,null],mr=Te({emptyValues:Array,valueOnClear:{type:oe([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=je(e)?e():e,xe(e)?e.every(t=>!t):!e)}}),hc=(e,t)=>{const n=ct()?Fe(H2,F({})):F({}),o=C(()=>e.emptyValues||n.value.emptyValues||IL),a=C(()=>je(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:je(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:t!==void 0?t:void 0),l=s=>{let r=!0;return xe(s)?r=o.value.some(u=>vn(s,u)):r=o.value.includes(s),r};return l(a.value)||Yt(NL,"value-on-clear should be a value of empty-values"),{emptyValues:o,valueOnClear:a,isEmptyValue:l}},OL=Te({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),co=e=>Ua(OL,e),K2=e=>{const t=e.props,n=xe(t)?Qr(t.map(o=>[o,{}])):t;e.setPropsDefaults=o=>{if(n){for(const[a,l]of Object.entries(o)){const s=n[a];if(zt(n,a)){if(ug(s)){n[a]={...s,default:l};continue}n[a]={type:s,default:l}}}e.props=n}}},ut=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t??{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return K2(e),e},W2=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),ML=(e,t)=>(e.install=n=>{n.directive(t,e)},e),fn=e=>(e.install=mt,K2(e),e),j0="ElAffix";var PL=ve({name:j0,__name:"affix",props:OR,emits:MR,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("affix"),s=kt(),r=kt(),u=kt(),{height:c}=hg(),{height:d,width:f,top:v,bottom:h,left:g,update:p}=b0(r,{windowScroll:!1}),m=b0(s),y=F(!1),b=F(0),w=F(0),S=C(()=>!o.teleported||!y.value),k=C(()=>({display:"flow-root",height:y.value?`${d.value}px`:"",width:y.value?`${f.value}px`:""})),x=C(()=>{if(!y.value)return{};const A=mn(o.offset);return{height:`${d.value}px`,width:`${f.value}px`,top:o.position==="top"?A:"",bottom:o.position==="bottom"?A:"",left:o.teleported?`${g.value}px`:"",transform:w.value?`translateY(${w.value}px)`:"",zIndex:o.zIndex}}),$=()=>{if(!u.value)return;b.value=u.value instanceof Window?document.documentElement.scrollTop:u.value.scrollTop||0;const{position:A,target:D,offset:N}=o,W=N+d.value;if(A==="top")if(D){const V=m.bottom.value-W;y.value=N>v.value&&m.bottom.value>0,w.value=V<0?V:0}else y.value=N>v.value;else if(D){const V=c.value-m.top.value-W;y.value=c.value-Nm.top.value,w.value=V<0?-V:0}else y.value=c.value-N{if(!y.value){p();return}y.value=!1,await Re(),p(),y.value=!0},_=async()=>{p(),await Re(),a("scroll",{scrollTop:b.value,fixed:y.value})};return ge(y,A=>a(Et,A)),at(()=>{o.target?(s.value=document.querySelector(o.target)??void 0,s.value||dn(j0,`Target does not exist: ${o.target}`)):s.value=document.documentElement,u.value=bg(r.value,!0),p()}),Ju(()=>{Re(T)}),Hm(()=>{y.value=!1}),jt(u,"scroll",_),uo($),t({update:$,updateRoot:T}),(A,D)=>(E(),z("div",{ref_key:"root",ref:r,class:R(i(l).b()),style:Be(k.value)},[(E(),fe(cr,{disabled:S.value,to:e.appendTo},[I("div",{class:R({[i(l).m("fixed")]:y.value}),style:Be(x.value)},[ue(A.$slots,"default")],6)],8,["disabled","to"]))],6))}}),RL=PL;const AL=ut(RL);var DL=ve({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}}),Qa=DL,LL=ve({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),El=LL,VL=ve({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),io=VL,BL=ve({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),Sp=BL,FL=ve({name:"Back",__name:"back",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),I("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),zL=FL,HL=ve({name:"Calendar",__name:"calendar",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),KL=HL,WL=ve({name:"CaretRight",__name:"caret-right",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),j2=WL,jL=ve({name:"CaretTop",__name:"caret-top",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),UL=jL,YL=ve({name:"Check",__name:"check",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),ii=YL,qL=ve({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),GL=qL,XL=ve({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),I("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),Dg=XL,ZL=ve({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),Lg=ZL,JL=ve({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),I("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),el=JL,QL=ve({name:"Clock",__name:"clock",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),I("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),I("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),U2=QL,eV=ve({name:"Close",__name:"close",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),la=eV,tV=ve({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}}),is=tV,nV=ve({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}}),us=nV,oV=ve({name:"Delete",__name:"delete",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),aV=oV,lV=ve({name:"Document",__name:"document",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),sV=lV,rV=ve({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),iV=rV,uV=ve({name:"Hide",__name:"hide",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),I("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),cV=uV,dV=ve({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),_u=dV,fV=ve({name:"Loading",__name:"loading",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),sa=fV,pV=ve({name:"Minus",__name:"minus",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),vV=pV,hV=ve({name:"MoreFilled",__name:"more-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),U0=hV,mV=ve({name:"More",__name:"more",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),gV=mV,yV=ve({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),bV=yV,wV=ve({name:"Plus",__name:"plus",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),Y2=wV,SV=ve({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"})]))}}),CV=SV,kV=ve({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),xV=kV,EV=ve({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}}),$V=EV,TV=ve({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),_V=TV,NV=ve({name:"Search",__name:"search",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),IV=NV,OV=ve({name:"SortDown",__name:"sort-down",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),MV=OV,PV=ve({name:"SortUp",__name:"sort-up",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),RV=PV,AV=ve({name:"StarFilled",__name:"star-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M313.6 924.48a70.4 70.4 0 0 1-74.152-5.365 70.4 70.4 0 0 1-27.992-68.875l37.888-220.928L88.96 472.96a70.4 70.4 0 0 1 3.788-104.225A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 100.246-28.595 70.4 70.4 0 0 1 25.962 28.595l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),Dc=AV,DV=ve({name:"Star",__name:"star",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),LV=DV,VV=ve({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),q2=VV,BV=ve({name:"View",__name:"view",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),FV=BV,zV=ve({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),Cp=zV,HV=ve({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),G2=HV,KV=ve({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(E(),z("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[I("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),WV=KV;const Xt=oe([String,Object,Function]),X2={Close:la},Vg={Close:la,SuccessFilled:q2,InfoFilled:_u,WarningFilled:Cp,CircleCloseFilled:Lg},cs={primary:_u,success:q2,warning:Cp,error:Lg,info:_u},kp={validating:sa,success:Dg,error:el},jV=["light","dark"],UV=Te({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:ku(cs),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:jV,default:"light"}}),YV={close:e=>e instanceof MouseEvent},qV=Te({size:{type:oe([Number,String])},color:{type:String}});var GV=ve({name:"ElIcon",inheritAttrs:!1,__name:"icon",props:qV,setup(e){const t=e,n=ke("icon"),o=C(()=>{const{size:a,color:l}=t,s=mn(a);return!s&&!l?{}:{fontSize:s,"--color":l}});return(a,l)=>(E(),z("i",pt({class:i(n).b(),style:o.value},a.$attrs),[ue(a.$slots,"default")],16))}}),XV=GV;const He=ut(XV);var ZV=ve({name:"ElAlert",__name:"alert",props:UV,emits:YV,setup(e,{emit:t}){const{Close:n}=Vg,o=e,a=t,l=bn(),s=ke("alert"),r=F(!0),u=C(()=>cs[o.type]),c=C(()=>{if(o.description)return!0;const f=l.default?.();return f?Fo(f).some(v=>!B2(v)):!1}),d=f=>{r.value=!1,a("close",f)};return(f,v)=>(E(),fe(Zn,{name:i(s).b("fade"),persisted:""},{default:ae(()=>[Ye(I("div",{class:R([i(s).b(),i(s).m(e.type),i(s).is("center",e.center),i(s).is(e.effect)]),role:"alert"},[e.showIcon&&(f.$slots.icon||u.value)?(E(),fe(i(He),{key:0,class:R([i(s).e("icon"),i(s).is("big",c.value)])},{default:ae(()=>[ue(f.$slots,"icon",{},()=>[(E(),fe(ft(u.value)))])]),_:3},8,["class"])):se("v-if",!0),I("div",{class:R(i(s).e("content"))},[e.title||f.$slots.title?(E(),z("span",{key:0,class:R([i(s).e("title"),{"with-description":c.value}])},[ue(f.$slots,"title",{},()=>[Oe(me(e.title),1)])],2)):se("v-if",!0),c.value?(E(),z("p",{key:1,class:R(i(s).e("description"))},[ue(f.$slots,"default",{},()=>[Oe(me(e.description),1)])],2)):se("v-if",!0),e.closable?(E(),z(Me,{key:2},[e.closeText?(E(),z("div",{key:0,class:R([i(s).e("close-btn"),i(s).is("customed")]),onClick:d},me(e.closeText),3)):(E(),fe(i(He),{key:1,class:R(i(s).e("close-btn")),onClick:d},{default:ae(()=>[Z(i(n))]),_:1},8,["class"]))],64)):se("v-if",!0)],2)],2),[[Bt,r.value]])]),_:3},8,["name"]))}}),JV=ZV;const QV=ut(JV),Z2=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],J2=Te({role:{type:String,values:Z2,default:"tooltip"}}),Bg=Symbol("popper"),Q2=Symbol("popperContent");var e8=ve({name:"ElPopperArrow",inheritAttrs:!1,__name:"arrow",setup(e,{expose:t}){const n=ke("popper"),{arrowRef:o,arrowStyle:a}=Fe(Q2,void 0);return Ft(()=>{o.value=void 0}),t({arrowRef:o}),(l,s)=>(E(),z("span",{ref_key:"arrowRef",ref:o,class:R(i(n).e("arrow")),style:Be(i(a)),"data-popper-arrow":""},null,6))}}),t8=e8;const ex=Te({virtualRef:{type:oe(Object)},virtualTriggering:Boolean,onMouseenter:{type:oe(Function)},onMouseleave:{type:oe(Function)},onClick:{type:oe(Function)},onKeydown:{type:oe(Function)},onFocus:{type:oe(Function)},onBlur:{type:oe(Function)},onContextmenu:{type:oe(Function)},id:String,open:Boolean}),pv="ElOnlyChild",tx=ve({name:pv,setup(e,{slots:t,attrs:n}){const o=RD(Fe(E2)?.setForwardRef??mt);return()=>{const a=t.default?.(n);if(!a)return null;const[l,s]=nx(a);return l?(s>1&&Yt(pv,"requires exact only one valid child."),Ye(ya(l,n),[[o]])):(Yt(pv,"no valid child node found"),null)}}});function nx(e){if(!e)return[null,0];const t=e,n=t.filter(o=>o.type!==_n).length;for(const o of t){if(st(o))switch(o.type){case _n:continue;case bi:case"svg":return[Y0(o),n];case Me:return nx(o.children);default:return[o,n]}return[Y0(o),n]}return[null,0]}function Y0(e){return Z("span",{class:ke("only-child").e("content")},[e])}var n8=ve({name:"ElPopperTrigger",inheritAttrs:!1,__name:"trigger",props:ex,setup(e,{expose:t}){const n=e,{role:o,triggerRef:a}=Fe(Bg,void 0);PD(a);const l=C(()=>r.value?n.id:void 0),s=C(()=>{if(o&&o.value==="tooltip")return n.open&&n.id?n.id:void 0}),r=C(()=>{if(o&&o.value!=="tooltip")return o.value}),u=C(()=>r.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return at(()=>{ge(()=>n.virtualRef,f=>{f&&(a.value=Pn(f))},{immediate:!0}),ge(a,(f,v)=>{c?.(),c=void 0,_o(v)&&d.forEach(h=>{const g=n[h];g&&v.removeEventListener(h.slice(2).toLowerCase(),g,["onFocus","onBlur"].includes(h))}),_o(f)&&(d.forEach(h=>{const g=n[h];g&&f.addEventListener(h.slice(2).toLowerCase(),g,["onFocus","onBlur"].includes(h))}),er(f)&&(c=ge([l,s,r,u],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((g,p)=>{yn(h[p])?f.removeAttribute(g):f.setAttribute(g,h[p])})},{immediate:!0}))),_o(v)&&er(v)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>v.removeAttribute(h))},{immediate:!0})}),Ft(()=>{if(c?.(),c=void 0,a.value&&_o(a.value)){const f=a.value;d.forEach(v=>{const h=n[v];h&&f.removeEventListener(v.slice(2).toLowerCase(),h,["onFocus","onBlur"].includes(v))}),a.value=void 0}}),t({triggerRef:a}),(f,v)=>e.virtualTriggering?se("v-if",!0):(E(),fe(i(tx),pt({key:0},f.$attrs,{"aria-controls":l.value,"aria-describedby":s.value,"aria-expanded":u.value,"aria-haspopup":r.value}),{default:ae(()=>[ue(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}}),o8=n8;const ox=Te({arrowOffset:{type:Number,default:5}}),a8={arrowOffset:5},l8=Te({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:oe(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Ja,default:"bottom"},popperOptions:{type:oe(Object),default:()=>({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),ax=Te({...l8,...ox,id:String,style:{type:oe([String,Array,Object,Boolean]),default:void 0},className:{type:oe([String,Array,Object,Boolean])},effect:{type:oe(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:oe([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},referenceEl:{type:oe(Object)},triggerTargetEl:{type:oe(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...co(["ariaLabel"]),loop:Boolean}),s8={boundariesPadding:0,gpuAcceleration:!0,offset:12,placement:"bottom",popperOptions:()=>({}),strategy:"absolute"},r8={...s8,...a8,effect:"dark",enterable:!0,stopPopperMouseEvent:!0,visible:!1,pure:!1,focusOnShow:!1,trapping:!1,virtualTriggering:!1,loop:!1,style:void 0,popperStyle:void 0,popperClass:void 0},i8={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},u8=Te({size:{type:String,values:Ca},disabled:Boolean}),c8=Te({...u8,model:Object,rules:{type:oe(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:oe([Object,Boolean]),default:!0}}),d8={validate:(e,t,n)=>(xe(e)||ze(e))&&Gt(t)&&ze(n)},gr=Symbol("formContextKey"),Xa=Symbol("formItemContextKey"),In=(e,t={})=>{const n=F(void 0),o=t.prop?n:d2("size"),a=t.global?n:z2(),l=t.form?{size:void 0}:Fe(gr,void 0),s=t.formItem?{size:void 0}:Fe(Xa,void 0);return C(()=>o.value||i(e)||s?.size||l?.size||a.value||"")},pn=e=>{const t=d2("disabled"),n=Fe(gr,void 0);return C(()=>t.value??i(e)??n?.disabled??!1)},Wn=()=>({form:Fe(gr,void 0),formItem:Fe(Xa,void 0)}),Ro=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=F(!1)),o||(o=F(!1));const a=ct(),l=()=>{let c=a?.parent;for(;c;){if(c.type.name==="ElFormItem")return!1;if(c.type.name==="ElLabelWrap")return!0;c=c.parent}return!1},s=F();let r;const u=C(()=>!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&t.inputIds?.length<=1));return at(()=>{r=ge([wt(e,"id"),n],([c,d])=>{const f=c??(d?void 0:Jn().value);f!==s.value&&(t?.removeInputId&&!l()&&(s.value&&t.removeInputId(s.value),!o?.value&&!d&&f&&t.addInputId(f)),s.value=f)},{immediate:!0})}),dr(()=>{r&&r(),t?.removeInputId&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:u,inputId:s}},f8=["","error","validating","success"],p8=Te({label:String,labelWidth:{type:[String,Number]},labelPosition:{type:String,values:["left","right","top",""],default:""},prop:{type:oe([String,Array])},required:{type:Boolean,default:void 0},rules:{type:oe([Object,Array])},error:String,validateStatus:{type:String,values:f8},for:String,inlineMessage:{type:Boolean,default:void 0},showMessage:{type:Boolean,default:!0},size:{type:String,values:Ca}}),q0=e=>[...new Set(e)],Pi=e=>xe(e)?e[0]:e,so=e=>!e&&e!==0?[]:xe(e)?e:[e],v8="ElForm";function h8(){const e=F([]),t=C(()=>{if(!e.value.length)return"0";const l=Math.max(...e.value);return l?`${l}px`:""});function n(l){const s=e.value.indexOf(l);return s===-1&&t.value==="0"&&Yt(v8,`unexpected width ${l}`),s}function o(l,s){if(l&&s){const r=n(s);e.value.splice(r,1,l)}else l&&e.value.push(l)}function a(l){const s=n(l);s>-1&&e.value.splice(s,1)}return{autoLabelWidth:t,registerLabelWidth:o,deregisterLabelWidth:a}}const Lc=(e,t)=>{const n=Bn(t).map(o=>xe(o)?o.join("."):o);return n.length>0?e.filter(o=>o.propString&&n.includes(o.propString)):e},Sr="ElForm";var m8=ve({name:Sr,__name:"form",props:c8,emits:d8,setup(e,{expose:t,emit:n}){const o=e,a=n,l=F(),s=Kt([]),r=new Map,u=In(),c=ke("form"),d=C(()=>{const{labelPosition:$,inline:T}=o;return[c.b(),c.m(u.value||"default"),{[c.m(`label-${$}`)]:$,[c.m("inline")]:T}]}),f=$=>Lc(s,[$])[0],v=$=>{s.includes($)||s.push($),$.propString&&(r.has($.propString)?$.setInitialValue(r.get($.propString)):r.set($.propString,La($.fieldValue)))},h=($,T)=>{if(T){r.delete(T);return}const _=s.indexOf($);_>-1&&(s.splice(_,1),$.propString&&r.set($.propString,La($.getInitialValue())))},g=$=>{if(!o.model){Yt(Sr,"model is required for setInitialValues to work.");return}if(!$){Yt(Sr,"initModel is required for setInitialValues to work.");return}for(const T of r.keys())r.set(T,La(es($,T).value));s.forEach(T=>{T.prop&&T.setInitialValue(es($,T.prop).value)})},p=($=[])=>{if(!o.model){Yt(Sr,"model is required for resetFields to work.");return}Lc(s,$).forEach(A=>A.resetField());const T=new Set(s.map(A=>A.propString).filter(Boolean)),_=$.length>0?Bn($).map(A=>xe(A)?A.join("."):A):[...r.keys()];for(const A of _)!T.has(A)&&r.has(A)&&(es(o.model,A).value=La(r.get(A)))},m=($=[])=>{Lc(s,$).forEach(T=>T.clearValidate())},y=C(()=>{const $=!!o.model;return $||Yt(Sr,"model is required for validate to work."),$}),b=$=>{if(s.length===0)return[];const T=Lc(s,$);return T.length?T:(Yt(Sr,"please pass correct props!"),[])},w=async $=>k(void 0,$),S=async($=[])=>{if(!y.value)return!1;const T=b($);if(T.length===0)return!0;let _={};for(const A of T)try{await A.validate(""),A.validateState==="error"&&!A.error&&A.resetField()}catch(D){_={..._,...D}}return Object.keys(_).length===0?!0:Promise.reject(_)},k=async($=[],T)=>{let _=!1;const A=!je(T);try{return _=await S($),_===!0&&await T?.(_),_}catch(D){if(D instanceof Error)throw D;const N=D;return o.scrollToError&&l.value&&l.value.querySelector(`.${c.b()}-item.is-error`)?.scrollIntoView(o.scrollIntoViewOptions),!_&&await T?.(!1,N),A&&Promise.reject(N)}},x=$=>{const T=f($);T&&T.$el?.scrollIntoView(o.scrollIntoViewOptions)};return ge(()=>o.rules,()=>{o.validateOnRuleChange&&w().catch(mt)},{deep:!0,flush:"post"}),xt(gr,Kt({...An(o),emit:a,resetFields:p,clearValidate:m,validateField:k,getField:f,addField:v,removeField:h,setInitialValues:g,...h8()})),t({validate:w,validateField:k,resetFields:p,clearValidate:m,scrollToField:x,getField:f,fields:s,setInitialValues:g}),($,T)=>(E(),z("form",{ref_key:"formRef",ref:l,class:R(d.value)},[ue($.$slots,"default")],2))}}),g8=m8;const G0="ElLabelWrap";var y8=ve({name:G0,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(e,{slots:t}){const n=Fe(gr,void 0),o=Fe(Xa);o||dn(G0,"usage: ");const a=ke("form"),l=F(),s=F(0),r=()=>{if(l.value?.firstElementChild){const d=window.getComputedStyle(l.value.firstElementChild).width;return Math.ceil(Number.parseFloat(d))}else return 0},u=(d="update")=>{Re(()=>{t.default&&e.isAutoWidth&&(d==="update"?s.value=r():d==="remove"&&n?.deregisterLabelWidth(s.value))})},c=()=>u("update");return at(()=>{c()}),Ft(()=>{u("remove")}),Sa(()=>c()),ge(s,(d,f)=>{e.updateAll&&n?.registerLabelWidth(d,f)}),cn(C(()=>l.value?.firstElementChild??null),c),()=>{if(!t)return null;const{isAutoWidth:d}=e;if(d){const f=n?.autoLabelWidth,v=o?.hasLabel,h={};if(v&&f&&f!=="auto"){const g=Math.max(0,Number.parseInt(f,10)-s.value),p=(o.labelPosition||n.labelPosition)==="left"?"marginRight":"marginLeft";g&&(h[p]=`${g}px`)}return Z("div",{ref:l,class:[a.be("item","label-wrap")],style:h},[t.default?.()])}else return Z(Me,{ref:l},[t.default?.()])}}});function Os(){return Os=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function fd(e,t,n){return w8()?fd=Reflect.construct.bind():fd=function(a,l,s){var r=[null];r.push.apply(r,l);var u=Function.bind.apply(a,r),c=new u;return s&&Nu(c,s.prototype),c},fd.apply(null,arguments)}function S8(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function Ch(e){var t=typeof Map=="function"?new Map:void 0;return Ch=function(o){if(o===null||!S8(o))return o;if(typeof o!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(o))return t.get(o);t.set(o,a)}function a(){return fd(o,arguments,Sh(this).constructor)}return a.prototype=Object.create(o.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Nu(a,o)},Ch(e)}var C8=/%[sdj%]/g,k8=function(){};function kh(e){if(!e||!e.length)return null;var t={};return e.forEach(function(n){var o=n.field;t[o]=t[o]||[],t[o].push(n)}),t}function zo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o=l)return r;switch(r){case"%s":return String(n[a++]);case"%d":return Number(n[a++]);case"%j":try{return JSON.stringify(n[a++])}catch{return"[Circular]"}break;default:return r}});return s}return e}function x8(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function Yn(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||x8(t)&&typeof e=="string"&&!e)}function E8(e,t,n){var o=[],a=0,l=e.length;function s(r){o.push.apply(o,r||[]),a++,a===l&&n(o)}e.forEach(function(r){t(r,s)})}function X0(e,t,n){var o=0,a=e.length;function l(s){if(s&&s.length){n(s);return}var r=o;o=o+1,r()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Hi={integer:function(t){return Hi.number(t)&&parseInt(t,10)===t},float:function(t){return Hi.number(t)&&!Hi.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!Hi.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(e1.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(O8())},hex:function(t){return typeof t=="string"&&!!t.match(e1.hex)}},M8=function(t,n,o,a,l){if(t.required&&n===void 0){lx(t,n,o,a,l);return}var s=["integer","float","array","regexp","object","method","email","number","date","url","hex"],r=t.type;s.indexOf(r)>-1?Hi[r](n)||a.push(zo(l.messages.types[r],t.fullField,t.type)):r&&typeof n!==t.type&&a.push(zo(l.messages.types[r],t.fullField,t.type))},P8=function(t,n,o,a,l){var s=typeof t.len=="number",r=typeof t.min=="number",u=typeof t.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,d=n,f=null,v=typeof n=="number",h=typeof n=="string",g=Array.isArray(n);if(v?f="number":h?f="string":g&&(f="array"),!f)return!1;g&&(d=n.length),h&&(d=n.replace(c,"_").length),s?d!==t.len&&a.push(zo(l.messages[f].len,t.fullField,t.len)):r&&!u&&dt.max?a.push(zo(l.messages[f].max,t.fullField,t.max)):r&&u&&(dt.max)&&a.push(zo(l.messages[f].range,t.fullField,t.min,t.max))},Cr="enum",R8=function(t,n,o,a,l){t[Cr]=Array.isArray(t[Cr])?t[Cr]:[],t[Cr].indexOf(n)===-1&&a.push(zo(l.messages[Cr],t.fullField,t[Cr].join(", ")))},A8=function(t,n,o,a,l){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||a.push(zo(l.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var s=new RegExp(t.pattern);s.test(n)||a.push(zo(l.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},on={required:lx,whitespace:I8,type:M8,range:P8,enum:R8,pattern:A8},D8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n,"string")&&!t.required)return o();on.required(t,n,a,s,l,"string"),Yn(n,"string")||(on.type(t,n,a,s,l),on.range(t,n,a,s,l),on.pattern(t,n,a,s,l),t.whitespace===!0&&on.whitespace(t,n,a,s,l))}o(s)},L8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&on.type(t,n,a,s,l)}o(s)},V8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(n===""&&(n=void 0),Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&(on.type(t,n,a,s,l),on.range(t,n,a,s,l))}o(s)},B8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&on.type(t,n,a,s,l)}o(s)},F8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),Yn(n)||on.type(t,n,a,s,l)}o(s)},z8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&(on.type(t,n,a,s,l),on.range(t,n,a,s,l))}o(s)},H8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&(on.type(t,n,a,s,l),on.range(t,n,a,s,l))}o(s)},K8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(n==null&&!t.required)return o();on.required(t,n,a,s,l,"array"),n!=null&&(on.type(t,n,a,s,l),on.range(t,n,a,s,l))}o(s)},W8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&on.type(t,n,a,s,l)}o(s)},j8="enum",U8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l),n!==void 0&&on[j8](t,n,a,s,l)}o(s)},Y8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n,"string")&&!t.required)return o();on.required(t,n,a,s,l),Yn(n,"string")||on.pattern(t,n,a,s,l)}o(s)},q8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n,"date")&&!t.required)return o();if(on.required(t,n,a,s,l),!Yn(n,"date")){var u;n instanceof Date?u=n:u=new Date(n),on.type(t,u,a,s,l),u&&on.range(t,u.getTime(),a,s,l)}}o(s)},G8=function(t,n,o,a,l){var s=[],r=Array.isArray(n)?"array":typeof n;on.required(t,n,a,s,l,r),o(s)},vv=function(t,n,o,a,l){var s=t.type,r=[],u=t.required||!t.required&&a.hasOwnProperty(t.field);if(u){if(Yn(n,s)&&!t.required)return o();on.required(t,n,a,r,l,s),Yn(n,s)||on.type(t,n,a,r,l)}o(r)},X8=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();on.required(t,n,a,s,l)}o(s)},su={string:D8,method:L8,number:V8,boolean:B8,regexp:F8,integer:z8,float:H8,array:K8,object:W8,enum:U8,pattern:Y8,date:q8,url:vv,hex:vv,email:vv,required:G8,any:X8};function xh(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var Eh=xh(),mc=(function(){function e(n){this.rules=null,this._messages=Eh,this.define(n)}var t=e.prototype;return t.define=function(o){var a=this;if(!o)throw new Error("Cannot configure a schema with no rules");if(typeof o!="object"||Array.isArray(o))throw new Error("Rules must be an object");this.rules={},Object.keys(o).forEach(function(l){var s=o[l];a.rules[l]=Array.isArray(s)?s:[s]})},t.messages=function(o){return o&&(this._messages=Q0(xh(),o)),this._messages},t.validate=function(o,a,l){var s=this;a===void 0&&(a={}),l===void 0&&(l=function(){});var r=o,u=a,c=l;if(typeof u=="function"&&(c=u,u={}),!this.rules||Object.keys(this.rules).length===0)return c&&c(null,r),Promise.resolve(r);function d(p){var m=[],y={};function b(S){if(Array.isArray(S)){var k;m=(k=m).concat.apply(k,S)}else m.push(S)}for(var w=0;wn.labelPosition||a?.labelPosition),y=C(()=>m.value==="top"?{}:{width:mn(n.labelWidth??a?.labelWidth)}),b=C(()=>{if(m.value==="top"||a?.inline)return{};if(!n.label&&!n.labelWidth&&A)return{};const le=mn(n.labelWidth??a?.labelWidth);return!n.label&&!o.label?{marginLeft:le}:{}}),w=C(()=>[r.b(),r.m(s.value),r.is("error",d.value==="error"),r.is("validating",d.value==="validating"),r.is("success",d.value==="success"),r.is("required",H.value||n.required),r.is("no-asterisk",a?.hideRequiredAsterisk),a?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[r.m("feedback")]:a?.statusIcon,[r.m(`label-${m.value}`)]:m.value}]),S=C(()=>Gt(n.inlineMessage)?n.inlineMessage:a?.inlineMessage||!1),k=C(()=>[r.e("error"),{[r.em("error","inline")]:S.value}]),x=C(()=>n.prop?xe(n.prop)?n.prop.join("."):n.prop:""),$=C(()=>!!(n.label||o.label)),T=C(()=>n.for??(c.value.length===1?c.value[0]:void 0)),_=C(()=>!T.value&&$.value),A=!!l,D=C(()=>{const le=a?.model;if(!(!le||!n.prop))return es(le,n.prop).value}),N=C(()=>{const{required:le}=n,ie=[];n.rules&&ie.push(...Bn(n.rules));const j=a?.rules;if(j&&n.prop){const ee=es(j,n.prop).value;ee&&ie.push(...Bn(ee))}if(le!==void 0){const ee=ie.map((Y,q)=>[Y,q]).filter(([Y])=>"required"in Y);if(ee.length>0)for(const[Y,q]of ee)Y.required!==le&&(ie[q]={...Y,required:le});else ie.push({required:le})}return ie}),W=C(()=>N.value.length>0),V=le=>N.value.filter(ie=>!ie.trigger||!le?!0:xe(ie.trigger)?ie.trigger.includes(le):ie.trigger===le).map(({trigger:ie,...j})=>j),H=C(()=>N.value.some(le=>le.required)),P=C(()=>f.value==="error"&&n.showMessage&&(a?.showMessage??!0)),O=C(()=>`${n.label||""}${a?.labelSuffix||""}`),M=le=>{d.value=le},B=le=>{const{errors:ie,fields:j}=le;(!ie||!j)&&console.error(le),M("error"),v.value=ie?ie?.[0]?.message??`${n.prop} is required`:"",a?.emit("validate",n.prop,!1,v.value)},L=()=>{M("success"),a?.emit("validate",n.prop,!0,"")},K=async le=>{const ie=x.value;return new mc({[ie]:le}).validate({[ie]:D.value},{firstFields:!0}).then(()=>(L(),!0)).catch(j=>(B(j),Promise.reject(j)))},X=async(le,ie)=>{if(p||!n.prop)return!1;const j=je(ie);if(!W.value)return ie?.(!1),!1;const ee=V(le);return ee.length===0?(ie?.(!0),!0):(M("validating"),K(ee).then(()=>(ie?.(!0),!0)).catch(Y=>{const{fields:q}=Y;return ie?.(!1,q),j?!1:Promise.reject(q)}))},J=()=>{M(""),v.value="",p=!1},ne=async()=>{const le=a?.model;if(!le||!n.prop)return;const ie=es(le,n.prop);p=!0,ie.value=La(g),await Re(),J(),p=!1},re=le=>{c.value.includes(le)||c.value.push(le)},Q=le=>{c.value=c.value.filter(ie=>ie!==le)},ce=le=>{g=La(le)},we=()=>g;ge(()=>n.error,le=>{v.value=le||"",M(le?"error":"")},{immediate:!0}),ge(()=>n.validateStatus,le=>M(le||""));const Se=Kt({...An(n),$el:h,size:s,validateMessage:v,validateState:d,labelId:u,inputIds:c,isGroup:_,hasLabel:$,fieldValue:D,addInputId:re,removeInputId:Q,resetField:ne,clearValidate:J,validate:X,propString:x,setInitialValue:ce,getInitialValue:we});return xt(Xa,Se),ge(x,(le,ie)=>{!a||!ie||(a.removeField(Se,ie),le&&(ce(D.value),a.addField(Se)))}),at(()=>{n.prop&&(ce(D.value),a?.addField(Se))}),Ft(()=>{a?.removeField(Se)}),t({size:s,validateMessage:v,validateState:d,validate:X,clearValidate:J,resetField:ne,setInitialValue:ce}),(le,ie)=>(E(),z("div",{ref_key:"formItemRef",ref:h,class:R(w.value),role:_.value?"group":void 0,"aria-labelledby":_.value?i(u):void 0},[Z(i(y8),{"is-auto-width":y.value.width==="auto","update-all":i(a)?.labelWidth==="auto"},{default:ae(()=>[e.label||le.$slots.label?(E(),fe(ft(T.value?"label":"div"),{key:0,id:i(u),for:T.value,class:R(i(r).e("label")),style:Be(y.value)},{default:ae(()=>[ue(le.$slots,"label",{label:O.value},()=>[Oe(me(O.value),1)])]),_:3},8,["id","for","class","style"])):se("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),I("div",{class:R(i(r).e("content")),style:Be(b.value)},[ue(le.$slots,"default"),Z(nk,{name:`${i(r).namespace.value}-zoom-in-top`},{default:ae(()=>[P.value?ue(le.$slots,"error",{key:0,error:v.value},()=>[I("div",{class:R(k.value)},me(v.value),3)]):se("v-if",!0)]),_:3},8,["name"])],6)],10,Z8))}}),sx=J8;const Q8=ut(g8,{FormItem:sx}),eB=fn(sx),hv="focus-trap.focus-after-trapped",mv="focus-trap.focus-after-released",tB="focus-trap.focusout-prevented",t1={cancelable:!0,bubbles:!1},nB={cancelable:!0,bubbles:!1},n1="focusAfterTrapped",o1="focusAfterReleased",rx=Symbol("elFocusTrap"),Fg=F(),xp=F(0),zg=F(0);let Bc=0;const ix=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const a=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||a?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},a1=(e,t)=>{for(const n of e)if(!oB(n,t))return n},oB=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},aB=e=>{const t=ix(e);return[a1(t,e),a1(t.reverse(),e)]},lB=e=>e instanceof HTMLInputElement&&"select"in e,Kl=(e,t)=>{if(e){const n=document.activeElement;ic(e,{preventScroll:!0}),zg.value=window.performance.now(),e!==n&&lB(e)&&t&&e.select()}};function l1(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const sB=()=>{let e=[];return{push:o=>{const a=e[0];a&&o!==a&&a.pause(),e=l1(e,o),e.unshift(o)},remove:o=>{e=l1(e,o),e[0]?.resume?.()}}},rB=(e,t=!1)=>{const n=document.activeElement;for(const o of e)if(Kl(o,t),document.activeElement!==n)return},s1=sB(),iB=()=>xp.value>zg.value,Fc=()=>{Fg.value="pointer",xp.value=window.performance.now()},r1=()=>{Fg.value="keyboard",xp.value=window.performance.now()},uB=()=>(at(()=>{Bc===0&&(document.addEventListener("mousedown",Fc),document.addEventListener("touchstart",Fc),document.addEventListener("keydown",r1)),Bc++}),Ft(()=>{Bc--,Bc<=0&&(document.removeEventListener("mousedown",Fc),document.removeEventListener("touchstart",Fc),document.removeEventListener("keydown",r1))}),{focusReason:Fg,lastUserFocusTimestamp:xp,lastAutomatedFocusTimestamp:zg}),zc=e=>new CustomEvent(tB,{...nB,detail:e});var cB=ve({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[n1,o1,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=F();let o,a;const{focusReason:l}=uB();TD(g=>{e.trapped&&!s.paused&&t("release-requested",g)});const s={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},r=g=>{if(!e.loop&&!e.trapped||s.paused)return;const{altKey:p,ctrlKey:m,metaKey:y,currentTarget:b,shiftKey:w}=g,{loop:S}=e,k=Zt(g)===Ee.tab&&!p&&!m&&!y,x=document.activeElement;if(k&&x){const $=b,[T,_]=aB($);if(T&&_){if(!w&&x===_){const A=zc({focusReason:l.value});t("focusout-prevented",A),A.defaultPrevented||(g.preventDefault(),S&&Kl(T,!0))}else if(w&&[T,$].includes(x)){const A=zc({focusReason:l.value});t("focusout-prevented",A),A.defaultPrevented||(g.preventDefault(),S&&Kl(_,!0))}}else if(x===$){const A=zc({focusReason:l.value});t("focusout-prevented",A),A.defaultPrevented||g.preventDefault()}}};xt(rx,{focusTrapRef:n,onKeydown:r}),ge(()=>e.focusTrapEl,g=>{g&&(n.value=g)},{immediate:!0}),ge([n],([g],[p])=>{g&&(g.addEventListener("keydown",r),g.addEventListener("focusin",d),g.addEventListener("focusout",f)),p&&(p.removeEventListener("keydown",r),p.removeEventListener("focusin",d),p.removeEventListener("focusout",f))});const u=g=>{t(n1,g)},c=g=>t(o1,g),d=g=>{const p=i(n);if(!p)return;const m=g.target,y=g.relatedTarget,b=m&&p.contains(m);e.trapped||y&&p.contains(y)||(o=y),b&&t("focusin",g),!s.paused&&e.trapped&&(b?a=m:Kl(a,!0))},f=g=>{const p=i(n);if(!(s.paused||!p))if(e.trapped){const m=g.relatedTarget;!yn(m)&&!p.contains(m)&&setTimeout(()=>{if(!s.paused&&e.trapped){const y=zc({focusReason:l.value});t("focusout-prevented",y),y.defaultPrevented||Kl(a,!0)}},0)}else{const m=g.target;m&&p.contains(m)||t("focusout",g)}};async function v(){await Re();const g=i(n);if(g){s1.push(s);const p=g.contains(document.activeElement)?o:document.activeElement;if(o=p,!g.contains(p)){const m=new Event(hv,t1);g.addEventListener(hv,u),g.dispatchEvent(m),m.defaultPrevented||Re(()=>{let y=e.focusStartEl;ze(y)||(Kl(y),document.activeElement!==y&&(y="first")),y==="first"&&rB(ix(g),!0),(document.activeElement===p||y==="container")&&Kl(g)})}}}function h(){const g=i(n);if(g){g.removeEventListener(hv,u);const p=new CustomEvent(mv,{...t1,detail:{focusReason:l.value}});g.addEventListener(mv,c),g.dispatchEvent(p),!p.defaultPrevented&&(l.value=="keyboard"||!iB()||g.contains(document.activeElement))&&Kl(o??document.body),g.removeEventListener(mv,c),s1.remove(s),o=null,a=null}}return at(()=>{e.trapped&&v(),ge(()=>e.trapped,g=>{g?v():h()})}),Ft(()=>{e.trapped&&h(),n.value&&(n.value.removeEventListener("keydown",r),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",f),n.value=void 0),o=null,a=null}),{onKeydown:r}}}),Dn=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n};function dB(e,t,n,o,a,l){return ue(e.$slots,"default",{handleKeydown:e.onKeydown})}var fB=Dn(cB,[["render",dB]]),xi=fB;const pB=(e,t=[])=>{const{placement:n,strategy:o,popperOptions:a}=e,l={placement:n,strategy:o,...a,modifiers:[...hB(e),...t]};return mB(l,a?.modifiers),l},vB=e=>{if(Lt)return Pn(e)};function hB(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function mB(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const gB=0,yB=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:o,role:a}=Fe(Bg,void 0),l=F(),s=C(()=>e.arrowOffset),r=C(()=>({name:"eventListeners",enabled:!!e.visible})),u=C(()=>{const b=i(l),w=i(s)??gB;return{name:"arrow",enabled:!jk(b),options:{element:b,padding:w}}}),c=C(()=>({onFirstUpdate:()=>{g()},...pB(e,[i(u),i(r)])})),d=C(()=>vB(e.referenceEl)||i(o)),{attributes:f,state:v,styles:h,update:g,forceUpdate:p,instanceRef:m}=kD(d,n,c);ge(m,b=>t.value=b,{flush:"sync"}),at(()=>{ge(()=>i(d)?.getBoundingClientRect?.(),()=>{g()})});let y;return ge(()=>e.visible,b=>{y?.(),y=void 0,b&&(y=cn(n,g).stop)}),Ft(()=>{t.value=void 0,y?.(),y=void 0}),{attributes:f,arrowRef:l,contentRef:n,instanceRef:m,state:v,styles:h,role:a,forceUpdate:p,update:g}},bB=(e,{attributes:t,styles:n,role:o})=>{const{nextZIndex:a}=dc(),l=ke("popper"),s=C(()=>i(t).popper),r=F(We(e.zIndex)?e.zIndex:a()),u=C(()=>[l.b(),l.is("pure",e.pure),l.is(e.effect),e.popperClass]),c=C(()=>[{zIndex:i(r)},i(n).popper,e.popperStyle||{}]),d=C(()=>o.value==="dialog"?"false":void 0),f=C(()=>i(n).arrow||{});return{ariaModal:d,arrowStyle:f,contentAttrs:s,contentClass:u,contentStyle:c,contentZIndex:r,updateZIndex:()=>{r.value=We(e.zIndex)?e.zIndex:a()}}},wB=(e,t)=>{const n=F(!1),o=F(),a=()=>{t("focus")},l=c=>{c.detail?.focusReason!=="pointer"&&(o.value="first",t("blur"))},s=c=>{e.visible&&!n.value&&(c.target&&(o.value=c.target),n.value=!0)},r=c=>{e.trapping||(c.detail.focusReason==="pointer"&&c.preventDefault(),n.value=!1)},u=()=>{n.value=!1,t("close")};return Ft(()=>{o.value=void 0}),{focusStartRef:o,trapped:n,onFocusAfterReleased:l,onFocusAfterTrapped:a,onFocusInTrap:s,onFocusoutPrevented:r,onReleaseRequested:u}};var SB=ve({name:"ElPopperContent",__name:"content",props:ax,emits:i8,setup(e,{expose:t,emit:n}){const o=n,a=e,{focusStartRef:l,trapped:s,onFocusAfterReleased:r,onFocusAfterTrapped:u,onFocusInTrap:c,onFocusoutPrevented:d,onReleaseRequested:f}=wB(a,o),{attributes:v,arrowRef:h,contentRef:g,styles:p,instanceRef:m,role:y,update:b}=yB(a),{ariaModal:w,arrowStyle:S,contentAttrs:k,contentClass:x,contentStyle:$,updateZIndex:T}=bB(a,{styles:p,attributes:v,role:y}),_=Fe(Xa,void 0);xt(Q2,{arrowStyle:S,arrowRef:h}),_&&xt(Xa,{..._,addInputId:mt,removeInputId:mt});let A;const D=(W=!0)=>{b(),W&&T()},N=()=>{D(!1),a.visible&&a.focusOnShow?s.value=!0:a.visible===!1&&(s.value=!1)};return at(()=>{ge(()=>a.triggerTargetEl,(W,V)=>{A?.(),A=void 0;const H=i(W||g.value),P=i(V||g.value);_o(H)&&(A=ge([y,()=>a.ariaLabel,w,()=>a.id],O=>{["role","aria-label","aria-modal","id"].forEach((M,B)=>{yn(O[B])?H.removeAttribute(M):H.setAttribute(M,O[B])})},{immediate:!0})),P!==H&&_o(P)&&["role","aria-label","aria-modal","id"].forEach(O=>{P.removeAttribute(O)})},{immediate:!0}),ge(()=>a.visible,N,{immediate:!0})}),Ft(()=>{A?.(),A=void 0,g.value=void 0}),t({popperContentRef:g,popperInstanceRef:m,updatePopper:D,contentStyle:$}),(W,V)=>(E(),z("div",pt({ref_key:"contentRef",ref:g},i(k),{style:i($),class:i(x),tabindex:"-1",onMouseenter:V[0]||(V[0]=H=>W.$emit("mouseenter",H)),onMouseleave:V[1]||(V[1]=H=>W.$emit("mouseleave",H))}),[Z(i(xi),{loop:e.loop,trapped:i(s),"trap-on-focus-in":!0,"focus-trap-el":i(g),"focus-start-el":i(l),onFocusAfterTrapped:i(u),onFocusAfterReleased:i(r),onFocusin:i(c),onFocusoutPrevented:i(d),onReleaseRequested:i(f)},{default:ae(()=>[ue(W.$slots,"default")]),_:3},8,["loop","trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}}),CB=SB,kB=ve({name:"ElPopper",inheritAttrs:!1,__name:"popper",props:J2,setup(e,{expose:t}){const n=e,o={triggerRef:F(),popperInstanceRef:F(),contentRef:F(),referenceRef:F(),role:C(()=>n.role)};return t(o),xt(Bg,o),(a,l)=>ue(a.$slots,"default")}}),xB=kB;const ux=ut(xB),EB={...OD,...r8,content:"",visible:null,teleported:!0},ln=Te({...ID,...ax,appendTo:{type:oe([String,Object])},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:oe(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...co(["ariaLabel"])}),Ks=Te({...ex,disabled:Boolean,trigger:{type:oe([String,Array]),default:"hover"},triggerKeys:{type:oe(Array),default:()=>[Ee.enter,Ee.numpadEnter,Ee.space]},focusOnTarget:Boolean}),{useModelToggleProps:$B,useModelToggleEmits:TB,useModelToggle:_B}=wA("visible"),Ki=Te({...J2,...$B,...ln,...Ks,...ox,showArrow:{type:Boolean,default:!0}}),NB=[...TB,"before-show","before-hide","show","hide","open","close"],Hg=Symbol("elTooltip"),$h=(e,t)=>xe(e)?e.includes(t):e===t,kr=(e,t,n)=>o=>{$h(i(e),t)&&n(o)};var IB=ve({name:"ElTooltipTrigger",__name:"trigger",props:Ks,setup(e,{expose:t}){const n=e,o=ke("tooltip"),{controlled:a,id:l,open:s,onOpen:r,onClose:u,onToggle:c}=Fe(Hg,void 0),d=F(null),f=()=>{if(i(a)||n.disabled)return!0},v=wt(n,"trigger"),h=Vn(f,kr(v,"hover",S=>{r(S),n.focusOnTarget&&S.target&&Re(()=>{ic(S.target,{preventScroll:!0})})})),g=Vn(f,kr(v,"hover",u)),p=Vn(f,kr(v,"click",S=>{S.button===0&&c(S)})),m=Vn(f,kr(v,"focus",r)),y=Vn(f,kr(v,"focus",u)),b=Vn(f,kr(v,"contextmenu",S=>{S.preventDefault(),c(S)})),w=Vn(f,S=>{const k=Zt(S);n.triggerKeys.includes(k)&&(S.preventDefault(),c(S))});return t({triggerRef:d}),(S,k)=>(E(),fe(i(o8),{id:i(l),"virtual-ref":e.virtualRef,open:i(s),"virtual-triggering":e.virtualTriggering,class:R(i(o).e("trigger")),onBlur:i(y),onClick:i(p),onContextmenu:i(b),onFocus:i(m),onMouseenter:i(h),onMouseleave:i(g),onKeydown:i(w)},{default:ae(()=>[ue(S.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}}),OB=IB,MB=ve({name:"ElTooltipContent",inheritAttrs:!1,__name:"content",props:ln,setup(e,{expose:t}){const n=e,{selector:o}=x2(),a=ke("tooltip"),l=F(),s=Xk(()=>l.value?.popperContentRef);let r;const{controlled:u,id:c,open:d,trigger:f,onClose:v,onOpen:h,onShow:g,onHide:p,onBeforeShow:m,onBeforeHide:y}=Fe(Hg,void 0),b=C(()=>n.transition||`${a.namespace.value}-fade-in-linear`),w=C(()=>n.persistent);Ft(()=>{r?.()});const S=C(()=>i(w)?!0:i(d)),k=C(()=>n.disabled?!1:i(d)),x=C(()=>n.appendTo||o.value),$=C(()=>n.style??{}),T=F(!0),_=()=>{p(),O()&&ic(document.body,{preventScroll:!0}),T.value=!0},A=()=>{if(i(u))return!0},D=Vn(A,()=>{n.enterable&&$h(i(f),"hover")&&h()}),N=Vn(A,()=>{$h(i(f),"hover")&&v()}),W=()=>{l.value?.updatePopper?.(),m?.()},V=()=>{y?.()},H=()=>{g()},P=()=>{n.virtualTriggering||v()},O=M=>{const B=l.value?.popperContentRef,L=M?.relatedTarget||document.activeElement;return B?.contains(L)};return ge(()=>i(d),M=>{M?(T.value=!1,r=vg(s,()=>{i(u)||so(i(f)).every(B=>B!=="hover"&&B!=="focus")&&v()},{detectIframe:!0})):r?.()},{flush:"post"}),t({contentRef:l,isFocusInsideContent:O}),(M,B)=>(E(),fe(cr,{disabled:!e.teleported,to:x.value},[S.value||!T.value?(E(),fe(Zn,{key:0,name:b.value,appear:!w.value,onAfterLeave:_,onBeforeEnter:W,onAfterEnter:H,onBeforeLeave:V,persisted:""},{default:ae(()=>[Ye(Z(i(CB),pt({id:i(c),ref_key:"contentRef",ref:l},M.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":T.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,$.value],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:k.value,"z-index":e.zIndex,loop:e.loop,onMouseenter:i(D),onMouseleave:i(N),onBlur:P,onClose:i(v)}),{default:ae(()=>[ue(M.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","loop","onMouseenter","onMouseleave","onClose"]),[[Bt,k.value]])]),_:3},8,["name","appear"])):se("v-if",!0)],8,["disabled","to"]))}}),PB=MB;const RB=["innerHTML"],AB={key:1};var DB=ve({name:"ElTooltip",__name:"tooltip",props:Ki,emits:NB,setup(e,{expose:t,emit:n}){const o=e,a=n;ND();const l=ke("tooltip"),s=Jn(),r=F(),u=F(),c=()=>{const S=i(r);S&&S.popperInstanceRef?.update()},d=F(!1),f=F(),{show:v,hide:h,hasUpdateHandler:g}=_B({indicator:d,toggleReason:f}),{onOpen:p,onClose:m}=MD({showAfter:wt(o,"showAfter"),hideAfter:wt(o,"hideAfter"),autoClose:wt(o,"autoClose"),open:v,close:h}),y=C(()=>Gt(o.visible)&&!g.value),b=C(()=>[l.b(),o.popperClass]);xt(Hg,{controlled:y,id:s,open:Xs(d),trigger:wt(o,"trigger"),onOpen:p,onClose:m,onToggle:S=>{i(d)?m(S):p(S)},onShow:()=>{a("show",f.value)},onHide:()=>{a("hide",f.value)},onBeforeShow:()=>{a("before-show",f.value)},onBeforeHide:()=>{a("before-hide",f.value)},updatePopper:c}),ge(()=>o.disabled,S=>{S&&d.value&&(d.value=!1),!S&&Gt(o.visible)&&(d.value=o.visible)});const w=S=>u.value?.isFocusInsideContent(S);return Hm(()=>d.value&&h()),Ft(()=>{f.value=void 0}),t({popperRef:r,contentRef:u,isFocusInsideContent:w,updatePopper:c,onOpen:p,onClose:m,hide:h}),(S,k)=>(E(),fe(i(ux),{ref_key:"popperRef",ref:r,role:e.role},{default:ae(()=>[Z(OB,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:ae(()=>[S.$slots.default?ue(S.$slots,"default",{key:0}):se("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),Z(PB,{ref_key:"contentRef",ref:u,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":b.value,"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo,loop:e.loop},{default:ae(()=>[ue(S.$slots,"content",{},()=>[e.rawContent?(E(),z("span",{key:0,innerHTML:e.content},null,8,RB)):(E(),z("span",AB,me(e.content),1))]),e.showArrow?(E(),fe(i(t8),{key:0})):se("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to","loop"])]),_:3},8,["role"]))}}),LB=DB;const Kn=ut(LB),hn=e=>e,Kg=Te({id:{type:String,default:void 0},size:Rn,disabled:{type:Boolean,default:void 0},modelValue:{type:oe([String,Number,Object]),default:""},modelModifiers:{type:oe(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:oe(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:oe([Boolean,Object]),default:!1},autocomplete:{type:oe(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Xt,default:el},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:Xt},prefixIcon:{type:Xt},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:oe([Object,Array,String,Boolean]),default:()=>hn({})},countGraphemes:{type:oe(Function)},autofocus:Boolean,rows:{type:Number,default:2},...co(["ariaLabel"]),inputmode:{type:oe(String),default:void 0},name:String}),VB={[lt]:e=>ze(e),input:e=>ze(e),change:(e,t)=>ze(e)&&(t instanceof Event||t===void 0),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:e=>e===void 0||e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent};yo(el);let Go;const BB={height:"0",visibility:"hidden",overflow:fp()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},FB=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],i1=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function zB(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),a=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:FB.map(l=>[l,t.getPropertyValue(l)]),paddingSize:o,borderSize:a,boxSizing:n}}function u1(e,t=1,n){if(!Go){Go=document.createElement("textarea");let d=document.body;!fp()&&e.parentNode&&(d=e.parentNode),d.appendChild(Go)}const{paddingSize:o,borderSize:a,boxSizing:l,contextStyle:s}=zB(e);s.forEach(([d,f])=>Go?.style.setProperty(d,f)),Object.entries(BB).forEach(([d,f])=>Go?.style.setProperty(d,f,"important")),Go.value=e.value||e.placeholder||"";let r=Go.scrollHeight;const u={};l==="border-box"?r=r+a:l==="content-box"&&(r=r-o),Go.value="";const c=Go.scrollHeight-o;if(We(t)){let d=c*t;l==="border-box"&&(d=d+o+a),r=Math.max(d,r),u.minHeight=`${d}px`}if(We(n)){let d=c*n;l==="border-box"&&(d=d+o+a),r=Math.min(d,r)}return u.height=`${r}px`,Go.parentNode?.removeChild(Go),Go=void 0,u}const HB=["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode"],KB=["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","inputmode"],c1="ElInput";var WB=ve({name:c1,inheritAttrs:!1,__name:"input",props:Kg,emits:VB,setup(e,{expose:t,emit:n}){const o=e,a=n,l=Za(),s=bn(),r=C(()=>[o.type==="textarea"?y.b():m.b(),m.m(g.value),m.is("disabled",p.value),m.is("exceed",Se.value),{[m.b("group")]:s.prepend||s.append,[m.m("prefix")]:s.prefix||o.prefixIcon,[m.m("suffix")]:s.suffix||o.suffixIcon||o.clearable||o.showPassword,[m.bm("suffix","password-clear")]:re.value&&Q.value,[m.b("hidden")]:o.type==="hidden"},l.class]),u=C(()=>[m.e("wrapper"),m.is("focus",V.value)]),c=up(),d=C(()=>o.maxlength?.toString()),{form:f,formItem:v}=Wn(),{inputId:h}=Ro(o,{formItemContext:v}),g=In(),p=pn(),m=ke("input"),y=ke("textarea"),b=kt(),w=kt(),S=F(!1),k=F(!1),x=F(),$=F(),T=kt(o.inputStyle),_=F("");let A;const D=F(),N=C(()=>b.value||w.value),{wrapperRef:W,isFocused:V,handleFocus:H,handleBlur:P}=Pl(N,{disabled:p,afterFocus(){o.showPassword&&(A=N.value?.value)},beforeBlur(Ce){if(o.showPassword){const Ne=N.value;if(Ce.relatedTarget&&Ne?.parentElement?.contains(Ce.relatedTarget))return;const Je=Ne?.value;!yn(Je)&&!yn(A)&&Je!==A&&Ne?.dispatchEvent(new Event("change",{bubbles:!0})),A=void 0}},afterBlur(){o.validateEvent&&v?.validate?.("blur").catch(mt)}}),O=C(()=>f?.statusIcon??!1),M=C(()=>v?.validateState||""),B=C(()=>M.value&&kp[M.value]),L=C(()=>k.value?FV:cV),K=C(()=>[l.style]),X=C(()=>[o.inputStyle,T.value,{resize:o.resize},D.value?{height:D.value}:void 0]),J=C(()=>yn(o.modelValue)?"":String(o.modelValue)),ne=C(()=>o.clearable&&!p.value&&!o.readonly),re=C(()=>ne.value&&!!J.value&&(V.value||S.value)),Q=C(()=>o.showPassword&&!p.value&&!!J.value),ce=C(()=>o.showWordLimit&&!!d.value&&(o.type==="text"||o.type==="textarea")&&!p.value&&!o.readonly&&!o.showPassword),we=C(()=>o.countGraphemes&&o.showWordLimit?o.countGraphemes(J.value):J.value.length),Se=C(()=>!!ce.value&&we.value>Number(d.value)),le=C(()=>!!s.suffix||!!o.suffixIcon||o.clearable||o.showPassword||ce.value||!!M.value&&O.value),ie=C(()=>!!Object.keys(o.modelModifiers).length),[j,ee]=xL(b);let Y;cn(w,Ce=>{if(G(),!ce.value&&!ne.value||o.resize!=="both"&&o.resize!=="horizontal")return;const{width:Ne}=Ce[0].target.getBoundingClientRect(),Je=()=>{Y=void 0,x.value={right:`calc(100% - ${Ne-10}px)`},$.value={right:`calc(100% - ${Ne-11}px)`}};Y&&ba(Y),Y=Po(Je)});const q=()=>{const{type:Ce,autosize:Ne}=o;if(!(!Lt||Ce!=="textarea"||!w.value))if(Ne){const Je=st(Ne)?Ne.minRows:void 0,_e=st(Ne)?Ne.maxRows:void 0,Ge=u1(w.value,Je,_e);T.value={overflowY:"hidden",...Ge},Re(()=>{w.value.offsetHeight,T.value=Ge})}else T.value={minHeight:u1(w.value).minHeight}},G=(Ce=>{let Ne=!1;return()=>{if(Ne||!o.autosize){o.resize!=="none"&&setTimeout(()=>{D.value=w.value?.style.height});return}w.value?.offsetParent!==null&&(setTimeout(Ce),Ne=!0)}})(q),te=()=>{const Ce=N.value,Ne=o.formatter?o.formatter(J.value):J.value;!Ce||Ce.value===Ne||o.type==="file"||(Ce.value=Ne)},he=Ce=>{const{trim:Ne,number:Je}=o.modelModifiers;return Ne&&(Ce=Ce.trim()),Je&&(Ce=`${i1(Ce)}`),o.formatter&&o.parser&&(Ce=o.parser(Ce)),Ce},pe=async Ce=>{if(be.value)return;const{lazy:Ne}=o.modelModifiers;let{value:Je}=Ce.target,_e=!1;if(Ne){a(Nn,Je);return}if(Je=he(Je),o.countGraphemes&&d.value!=null){const Ge=Number(d.value),Ve=o.countGraphemes(Je),nt=o.countGraphemes(_.value);if(Ve>Ge&&Ve>nt)if(nt>Ge)Je=_.value,_e=!0;else{const ht=_.value,rt=Je;let Ct=0;for(;CtCt&&vt>Ct&&ht[Ot-1]===rt[vt-1];)Ot--,vt--;const Qt=rt.slice(0,Ct),gn=ht.slice(Ct,Ot),Ke=rt.slice(Ct,vt),Qe=rt.slice(vt),it=nt-o.countGraphemes(gn),Ie=Math.max(0,Ge-it);let Ze="";if(Ie>0)if(typeof Intl<"u"&&"Segmenter"in Intl){const Ue=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(const{segment:Vt}of Ue.segment(Ke)){const Jt=Ze+Vt;if(o.countGraphemes(Jt)>Ie)break;Ze=Jt}}else for(const Ue of Array.from(Ke)){const Vt=Ze+Ue;if(o.countGraphemes(Vt)>Ie)break;Ze=Vt}Je=Qt+Ze+Qe,_e=!0}}if(String(Je)===J.value){if(o.formatter||_e){const Ge=Ce.target,Ve=Ge.value,nt=Ge.selectionStart,ht=Ge.selectionEnd;if(te(),_e&&N.value&&nt!=null&&ht!=null){const rt=N.value.value,Ct=Ve.slice(Math.max(0,ht));let Ot=Math.min(nt,rt.length);Ct&&rt.endsWith(Ct)&&(Ot=rt.length-Ct.length),N.value.setSelectionRange(Ot,Ot)}}return}_.value=Je,j(),a(lt,Je),a(Nn,Je),await Re(),(o.formatter&&o.parser||!ie.value)&&te(),ee()},de=async Ce=>{let{value:Ne}=Ce.target;o.showPassword&&(A=Ne),Ne=he(Ne),o.modelModifiers.lazy&&a(lt,Ne),a(Et,Ne,Ce),await Re(),te()},{isComposing:be,handleCompositionStart:ye,handleCompositionUpdate:$e,handleCompositionEnd:Pe}=vc({emit:a,afterComposition:pe}),et=()=>{k.value=!k.value},tt=()=>N.value?.focus(),qe=()=>N.value?.blur(),$t=Ce=>{S.value=!1,a("mouseleave",Ce)},At=Ce=>{S.value=!0,a("mouseenter",Ce)},Wt=Ce=>{a("keydown",Ce)},Rt=()=>{N.value?.select()},qt=Ce=>{a(lt,""),A="",a(Et,""),a("clear",Ce),a(Nn,"")};return ge(()=>o.modelValue,()=>{Re(()=>{q(),o.autosize&&(D.value=void 0)}),o.validateEvent&&v?.validate?.("change").catch(mt)}),ge(()=>J.value,Ce=>{_.value=Ce},{immediate:!0}),ge(J,Ce=>{if(!N.value)return;const{trim:Ne,number:Je}=o.modelModifiers,_e=N.value.value,Ge=(Je||o.type==="number")&&!/^0\d/.test(_e)?`${i1(_e)}`:_e;Ge!==Ce&&(document.activeElement===N.value&&N.value.type!=="range"&&Ne&&Ge.trim()===Ce||te())}),ge(()=>o.type,async()=>{await Re(),te(),q()}),at(()=>{!o.formatter&&o.parser&&Yt(c1,"If you set the parser, you also need to set the formatter."),te(),Re(q)}),Ft(()=>{Y&&ba(Y)}),t({input:b,textarea:w,ref:N,textareaStyle:X,autosize:wt(o,"autosize"),isComposing:be,passwordVisible:k,focus:tt,blur:qe,select:Rt,clear:qt,resizeTextarea:q}),(Ce,Ne)=>(E(),z("div",{class:R([r.value,{[i(m).bm("group","append")]:Ce.$slots.append,[i(m).bm("group","prepend")]:Ce.$slots.prepend}]),style:Be(K.value),onMouseenter:At,onMouseleave:$t},[se(" input "),e.type!=="textarea"?(E(),z(Me,{key:0},[se(" prepend slot "),Ce.$slots.prepend?(E(),z("div",{key:0,class:R(i(m).be("group","prepend"))},[ue(Ce.$slots,"prepend")],2)):se("v-if",!0),I("div",{ref_key:"wrapperRef",ref:W,class:R(u.value)},[se(" prefix slot "),Ce.$slots.prefix||e.prefixIcon?(E(),z("span",{key:0,class:R(i(m).e("prefix"))},[I("span",{class:R(i(m).e("prefix-inner"))},[ue(Ce.$slots,"prefix"),e.prefixIcon?(E(),fe(i(He),{key:0,class:R(i(m).e("icon"))},{default:ae(()=>[(E(),fe(ft(e.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0),I("input",pt({id:i(h),ref_key:"input",ref:b,class:i(m).e("inner")},i(c),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:d.value,type:e.showPassword?k.value?"text":"password":e.type,disabled:i(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:Ne[0]||(Ne[0]=(...Je)=>i(ye)&&i(ye)(...Je)),onCompositionupdate:Ne[1]||(Ne[1]=(...Je)=>i($e)&&i($e)(...Je)),onCompositionend:Ne[2]||(Ne[2]=(...Je)=>i(Pe)&&i(Pe)(...Je)),onInput:pe,onChange:de,onKeydown:Wt}),null,16,HB),se(" suffix slot "),le.value?(E(),z("span",{key:1,class:R(i(m).e("suffix"))},[I("span",{class:R(i(m).e("suffix-inner"))},[ne.value?(E(),fe(i(He),{key:0,class:R([i(m).e("icon"),i(m).e("clear")]),style:Be({visibility:re.value?"visible":"hidden"}),onMousedown:Xe(i(mt),["prevent"]),onClick:qt},{default:ae(()=>[(E(),fe(ft(e.clearIcon)))]),_:1},8,["class","style","onMousedown"])):se("v-if",!0),!re.value||!Q.value||!ce.value?(E(),z(Me,{key:1},[ue(Ce.$slots,"suffix"),e.suffixIcon?(E(),fe(i(He),{key:0,class:R(i(m).e("icon"))},{default:ae(()=>[(E(),fe(ft(e.suffixIcon)))]),_:1},8,["class"])):se("v-if",!0)],64)):se("v-if",!0),Q.value?(E(),fe(i(He),{key:2,class:R([i(m).e("icon"),i(m).e("password")]),onClick:et,onMousedown:Xe(i(mt),["prevent"]),onMouseup:Xe(i(mt),["prevent"])},{default:ae(()=>[ue(Ce.$slots,"password-icon",{visible:k.value},()=>[(E(),fe(ft(L.value)))])]),_:3},8,["class","onMousedown","onMouseup"])):se("v-if",!0),ce.value?(E(),z("span",{key:3,class:R([i(m).e("count"),i(m).is("outside",e.wordLimitPosition==="outside")])},[I("span",{class:R(i(m).e("count-inner"))},me(we.value)+" / "+me(d.value),3)],2)):se("v-if",!0),M.value&&B.value&&O.value?(E(),fe(i(He),{key:4,class:R([i(m).e("icon"),i(m).e("validateIcon"),i(m).is("loading",M.value==="validating")])},{default:ae(()=>[(E(),fe(ft(B.value)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0)],2),se(" append slot "),Ce.$slots.append?(E(),z("div",{key:1,class:R(i(m).be("group","append"))},[ue(Ce.$slots,"append")],2)):se("v-if",!0)],64)):(E(),z(Me,{key:1},[se(" textarea "),I("textarea",pt({id:i(h),ref_key:"textarea",ref:w,class:[i(y).e("inner"),i(m).is("focus",i(V)),i(y).is("clearable",e.clearable)]},i(c),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:d.value,tabindex:e.tabindex,disabled:i(p),readonly:e.readonly,autocomplete:e.autocomplete,style:X.value,"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:Ne[3]||(Ne[3]=(...Je)=>i(ye)&&i(ye)(...Je)),onCompositionupdate:Ne[4]||(Ne[4]=(...Je)=>i($e)&&i($e)(...Je)),onCompositionend:Ne[5]||(Ne[5]=(...Je)=>i(Pe)&&i(Pe)(...Je)),onInput:pe,onFocus:Ne[6]||(Ne[6]=(...Je)=>i(H)&&i(H)(...Je)),onBlur:Ne[7]||(Ne[7]=(...Je)=>i(P)&&i(P)(...Je)),onChange:de,onKeydown:Wt}),null,16,KB),re.value?(E(),fe(i(He),{key:0,class:R([i(y).e("icon"),i(y).e("clear")]),style:Be($.value),onMousedown:Xe(i(mt),["prevent"]),onClick:qt},{default:ae(()=>[(E(),fe(ft(e.clearIcon)))]),_:1},8,["class","style","onMousedown"])):se("v-if",!0),ce.value?(E(),z("span",{key:1,style:Be(x.value),class:R([i(m).e("count"),i(m).is("outside",e.wordLimitPosition==="outside")])},me(we.value)+" / "+me(d.value),7)):se("v-if",!0)],64))],38))}}),jB=WB;const Gn=ut(jB),UB=Te({...Kg,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:oe(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:oe([Function,Array]),default:mt},popperClass:ln.popperClass,popperStyle:ln.popperStyle,popperOptions:ln.popperOptions,showArrow:{type:Boolean,default:!0},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:ln.teleported,appendTo:ln.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),YB={[lt]:e=>ze(e)||We(e),[Nn]:e=>ze(e)||We(e),[Et]:e=>ze(e)||We(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>st(e)},qB=Te({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:oe([String,Object,Array,Boolean]),default:""},wrapClass:{type:oe([String,Array,Object,Boolean]),default:""},viewClass:{type:oe([String,Array,Object,Boolean]),default:""},viewStyle:{type:oe([String,Object,Array,Boolean]),default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...co(["ariaLabel","ariaOrientation"])}),Iu={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(We)},cx={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},GB=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),XB=Te({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),Wg=Symbol("scrollbarContextKey");function Ha(e,t,n=.03){return e-t>n}const ZB=Te({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),JB="Thumb";var QB=ve({__name:"thumb",props:XB,setup(e){const t=e,n=Fe(Wg),o=ke("scrollbar");n||dn(JB,"can not inject scrollbar context");const a=F(),l=F(),s=F({}),r=F(!1);let u=!1,c=!1,d=0,f=0,v=Lt?document.onselectstart:null;const h=C(()=>cx[t.vertical?"vertical":"horizontal"]),g=C(()=>GB({size:t.size,move:t.move,bar:h.value})),p=C(()=>a.value[h.value.offset]**2/n.wrapElement[h.value.scrollSize]/t.ratio/l.value[h.value.offset]),m=T=>{if(T.stopPropagation(),T.ctrlKey||[1,2].includes(T.button))return;window.getSelection()?.removeAllRanges(),b(T);const _=T.currentTarget;_&&(s.value[h.value.axis]=_[h.value.offset]-(T[h.value.client]-_.getBoundingClientRect()[h.value.direction]))},y=T=>{if(!l.value||!a.value||!n.wrapElement)return;const _=(Math.abs(T.target.getBoundingClientRect()[h.value.direction]-T[h.value.client])-l.value[h.value.offset]/2)*100*p.value/a.value[h.value.offset];n.wrapElement[h.value.scroll]=_*n.wrapElement[h.value.scrollSize]/100},b=T=>{T.stopImmediatePropagation(),u=!0,d=n.wrapElement.scrollHeight,f=n.wrapElement.scrollWidth,document.addEventListener("mousemove",w),document.addEventListener("mouseup",S),v=document.onselectstart,document.onselectstart=()=>!1},w=T=>{if(!a.value||!l.value||u===!1)return;const _=s.value[h.value.axis];if(!_)return;const A=((a.value.getBoundingClientRect()[h.value.direction]-T[h.value.client])*-1-(l.value[h.value.offset]-_))*100*p.value/a.value[h.value.offset];h.value.scroll==="scrollLeft"?n.wrapElement[h.value.scroll]=A*f/100:n.wrapElement[h.value.scroll]=A*d/100},S=()=>{u=!1,s.value[h.value.axis]=0,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",S),$(),c&&(r.value=!1)},k=()=>{c=!1,r.value=!!t.size},x=()=>{c=!0,r.value=u};Ft(()=>{$(),document.removeEventListener("mouseup",S)});const $=()=>{document.onselectstart!==v&&(document.onselectstart=v)};return jt(wt(n,"scrollbarElement"),"mousemove",k),jt(wt(n,"scrollbarElement"),"mouseleave",x),(T,_)=>(E(),fe(Zn,{name:i(o).b("fade"),persisted:""},{default:ae(()=>[Ye(I("div",{ref_key:"instance",ref:a,class:R([i(o).e("bar"),i(o).is(h.value.key)]),onMousedown:y,onClick:_[0]||(_[0]=Xe(()=>{},["stop"]))},[I("div",{ref_key:"thumb",ref:l,class:R(i(o).e("thumb")),style:Be(g.value),onMousedown:m},null,38)],34),[[Bt,e.always||r.value]])]),_:1},8,["name"]))}}),d1=QB,e6=ve({__name:"bar",props:ZB,setup(e,{expose:t}){const n=e,o=Fe(Wg),a=F(0),l=F(0),s=F(""),r=F(""),u=F(1),c=F(1);return t({handleScroll:v=>{if(v){const h=v.offsetHeight-4,g=v.offsetWidth-4;l.value=v.scrollTop*100/h*u.value,a.value=v.scrollLeft*100/g*c.value}},update:()=>{const v=o?.wrapElement;if(!v)return;const h=v.offsetHeight-4,g=v.offsetWidth-4,p=h**2/v.scrollHeight,m=g**2/v.scrollWidth,y=Math.max(p,n.minSize),b=Math.max(m,n.minSize);u.value=p/(h-p)/(y/(h-y)),c.value=m/(g-m)/(b/(g-b)),r.value=y+4(E(),z(Me,null,[Z(d1,{move:a.value,ratio:c.value,size:s.value,always:e.always},null,8,["move","ratio","size","always"]),Z(d1,{move:l.value,ratio:u.value,size:r.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}}),t6=e6;const n6=["tabindex"],gv="ElScrollbar";var o6=ve({name:gv,__name:"scrollbar",props:qB,emits:Iu,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("scrollbar");let s,r,u,c=0,d=0,f=0,v="";const h={bottom:!1,top:!1,right:!1,left:!1},g=F(),p=F(),m=F(),y=F(),b=C(()=>{const V={},H=mn(o.height),P=mn(o.maxHeight);return H&&(V.height=H),P&&(V.maxHeight=P),[o.wrapStyle,V]}),w=C(()=>[o.wrapClass,l.e("wrap"),{[l.em("wrap","hidden-default")]:!o.native}]),S=C(()=>[l.e("view"),o.viewClass]),k=V=>h[V]??!1,x={top:"bottom",bottom:"top",left:"right",right:"left"},$=V=>{const H=x[v];if(!H)return;const P=V[v],O=V[H];P&&!h[v]&&(h[v]=!0),!O&&h[H]&&(h[H]=!1)},T=()=>{if(p.value){y.value?.handleScroll(p.value);const V=d,H=f;d=p.value.scrollTop,f=p.value.scrollLeft;const P={bottom:!Ha(p.value.scrollHeight-o.distance,p.value.clientHeight+d),top:d<=o.distance&&V!==0,right:!Ha(p.value.scrollWidth-o.distance,p.value.clientWidth+f)&&H!==f,left:f<=o.distance&&H!==0};if(a("scroll",{scrollTop:d,scrollLeft:f}),V!==d&&(v=d>V?"bottom":"top"),H!==f&&(v=f>H?"right":"left"),o.distance>0){if(k(v))return;$(P)}P[v]&&a("end-reached",v)}};function _(V,H){st(V)?p.value.scrollTo(V):We(V)&&We(H)&&p.value.scrollTo(V,H)}const A=V=>{if(!We(V)){Yt(gv,"value must be a number");return}p.value.scrollTop=V},D=V=>{if(!We(V)){Yt(gv,"value must be a number");return}p.value.scrollLeft=V},N=()=>{y.value?.update(),h[v]=!1,p.value&&y.value?.handleScroll(p.value)},W=()=>{c||(c=requestAnimationFrame(()=>{c=0,p.value&&(y.value?.update(),y.value?.handleScroll(p.value))}))};return ge(()=>o.noresize,V=>{V?(s?.(),r?.(),u?.()):({stop:s}=cn(m,N),{stop:r}=cn(p,N),u=jt("resize",N))},{immediate:!0}),ge(()=>[o.maxHeight,o.height],()=>{o.native||Re(()=>{N()})}),xt(Wg,Kt({scrollbarElement:g,wrapElement:p})),Ju(()=>{p.value&&(p.value.scrollTop=d,p.value.scrollLeft=f)}),at(()=>{o.native||Re(()=>{N()})}),Sa(()=>N()),t({wrapRef:p,update:N,scrollTo:_,setScrollTop:A,setScrollLeft:D,handleScroll:T}),(V,H)=>(E(),z("div",{ref_key:"scrollbarRef",ref:g,class:R(i(l).b())},[I("div",{ref_key:"wrapRef",ref:p,class:R(w.value),style:Be(b.value),tabindex:e.tabindex,onScroll:T,onTransitionend:W,onAnimationend:W},[(E(),fe(ft(e.tag),{id:e.id,ref_key:"resizeRef",ref:m,class:R(S.value),style:Be(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:ae(()=>[ue(V.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,n6),e.native?se("v-if",!0):(E(),fe(t6,{key:0,ref_key:"barRef",ref:y,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}}),a6=o6;const wa=ut(a6),l6=["aria-expanded","aria-owns"],s6={key:0},r6=["id","aria-selected","onClick"],f1="ElAutocomplete";var i6=ve({name:f1,inheritAttrs:!1,__name:"autocomplete",props:UB,emits:YB,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const le=Gn.props??[];return Ua(o,xe(le)?le:Object.keys(le))}),s=Za(),r=pn(),u=ke("autocomplete"),c=F(),d=F(),f=F(),v=F();let h=!1,g=!1;const p=F([]),m=F(-1),y=F(""),b=F(!1),w=F(!1),S=F(!1),k=Jn(),x=C(()=>s.style),$=C(()=>(p.value.length>0||S.value)&&b.value),T=C(()=>!o.hideLoading&&S.value),_=C(()=>c.value?Array.from(c.value.$el.querySelectorAll("input")):[]),A=()=>{$.value&&(y.value=`${c.value.$el.offsetWidth}px`)},D=()=>{m.value=-1},N=async le=>{if(w.value)return;const ie=j=>{S.value=!1,!w.value&&(xe(j)?(p.value=j,m.value=o.highlightFirstItem?0:-1):dn(f1,"autocomplete suggestions must be an array"))};if(S.value=!0,xe(o.fetchSuggestions))ie(o.fetchSuggestions);else{const j=await o.fetchSuggestions(le,ie);xe(j)&&ie(j)}},W=sc(N,C(()=>o.debounce)),V=le=>{const ie=!!le;if(a(Nn,le),a(lt,le),w.value=!1,b.value||=ie,!o.triggerOnFocus&&!le){w.value=!0,p.value=[];return}W(le)},H=le=>{r.value||(le.target?.tagName!=="INPUT"||_.value.includes(document.activeElement))&&(b.value=!0)},P=le=>{a(Et,le)},O=le=>{if(g)g=!1;else{b.value=!0,a("focus",le);const ie=o.modelValue??"";o.triggerOnFocus&&!h&&(p.value=[],m.value=-1,W(String(ie)))}},M=le=>{setTimeout(()=>{if(f.value?.isFocusInsideContent()){g=!0;return}b.value&&X(),a("blur",le)})},B=()=>{b.value=!1,a(lt,""),a("clear")},L=async()=>{c.value?.isComposing||($.value&&m.value>=0&&m.value{$.value&&(le.preventDefault(),le.stopPropagation(),X())},X=()=>{b.value=!1},J=()=>{c.value?.focus()},ne=()=>{c.value?.blur()},re=async le=>{a(Nn,le[o.valueKey]),a(lt,le[o.valueKey]),a("select",le),p.value=[],m.value=-1},Q=le=>{if(!$.value||S.value)return;if(le<0){if(!o.loopNavigation){m.value=-1;return}le=p.value.length-1}le>=p.value.length&&(le=o.loopNavigation?0:p.value.length-1);const[ie,j]=ce(),ee=j[le],Y=ie.scrollTop,{offsetTop:q,scrollHeight:U}=ee;q+U>Y+ie.clientHeight&&(ie.scrollTop=q+U-ie.clientHeight),q{const le=d.value.querySelector(`.${u.be("suggestion","wrap")}`);return[le,le.querySelectorAll(`.${u.be("suggestion","list")} li`)]},we=vg(v,le=>{if(f.value?.isFocusInsideContent())return;const ie=g;g=!1,$.value&&(ie?M(new FocusEvent("blur",le)):X())}),Se=le=>{switch(Zt(le)){case Ee.up:le.preventDefault(),Q(m.value-1);break;case Ee.down:le.preventDefault(),Q(m.value+1);break;case Ee.enter:case Ee.numpadEnter:le.preventDefault(),L();break;case Ee.tab:X();break;case Ee.esc:K(le);break;case Ee.home:le.preventDefault(),Q(0);break;case Ee.end:le.preventDefault(),Q(p.value.length-1);break;case Ee.pageUp:le.preventDefault(),Q(Math.max(0,m.value-10));break;case Ee.pageDown:le.preventDefault(),Q(Math.min(p.value.length-1,m.value+10));break}};return Ft(()=>{we?.()}),at(()=>{const le=c.value?.ref;le&&([{key:"role",value:"textbox"},{key:"aria-autocomplete",value:"list"},{key:"aria-controls",value:k.value},{key:"aria-activedescendant",value:`${k.value}-item-${m.value}`}].forEach(({key:ie,value:j})=>le.setAttribute(ie,j)),h=le.hasAttribute("readonly"))}),t({highlightedIndex:m,activated:b,loading:S,inputRef:c,popperRef:f,suggestions:p,handleSelect:re,handleKeyEnter:L,focus:J,blur:ne,close:X,highlight:Q,getData:N}),(le,ie)=>(E(),fe(i(Kn),{ref_key:"popperRef",ref:f,visible:$.value,placement:e.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[i(u).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"show-arrow":e.showArrow,teleported:e.teleported,"append-to":e.appendTo,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${i(u).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:A,onHide:D},{content:ae(()=>[I("div",{ref_key:"regionRef",ref:d,class:R([i(u).b("suggestion"),i(u).is("loading",T.value)]),style:Be({[e.fitInputWidth?"width":"minWidth"]:y.value,outline:"none"}),role:"region"},[le.$slots.header?(E(),z("div",{key:0,class:R(i(u).be("suggestion","header")),onClick:ie[0]||(ie[0]=Xe(()=>{},["stop"]))},[ue(le.$slots,"header")],2)):se("v-if",!0),Z(i(wa),{id:i(k),tag:"ul","wrap-class":i(u).be("suggestion","wrap"),"view-class":i(u).be("suggestion","list"),role:"listbox"},{default:ae(()=>[T.value?(E(),z("li",s6,[ue(le.$slots,"loading",{},()=>[Z(i(He),{class:R(i(u).is("loading"))},{default:ae(()=>[Z(i(sa))]),_:1},8,["class"])])])):(E(!0),z(Me,{key:1},dt(p.value,(j,ee)=>(E(),z("li",{id:`${i(k)}-item-${ee}`,key:ee,class:R({highlighted:m.value===ee}),role:"option","aria-selected":m.value===ee,onClick:Y=>re(j)},[ue(le.$slots,"default",{item:j},()=>[Oe(me(j[e.valueKey]),1)])],10,r6))),128))]),_:3},8,["id","wrap-class","view-class"]),le.$slots.footer?(E(),z("div",{key:1,class:R(i(u).be("suggestion","footer")),onClick:ie[1]||(ie[1]=Xe(()=>{},["stop"]))},[ue(le.$slots,"footer")],2)):se("v-if",!0)],6)]),default:ae(()=>[I("div",{ref_key:"listboxRef",ref:v,class:R([i(u).b(),le.$attrs.class]),style:Be(x.value),role:"combobox","aria-haspopup":"listbox","aria-expanded":$.value,"aria-owns":i(k)},[Z(i(Gn),pt({ref_key:"inputRef",ref:c},pt(l.value,le.$attrs),{"model-value":e.modelValue,disabled:i(r),onInput:V,onChange:P,onFocus:O,onBlur:M,onClear:B,onKeydown:Se,onMousedown:H}),bo({_:2},[le.$slots.prepend?{name:"prepend",fn:ae(()=>[ue(le.$slots,"prepend")]),key:"0"}:void 0,le.$slots.append?{name:"append",fn:ae(()=>[ue(le.$slots,"append")]),key:"1"}:void 0,le.$slots.prefix?{name:"prefix",fn:ae(()=>[ue(le.$slots,"prefix")]),key:"2"}:void 0,le.$slots.suffix?{name:"suffix",fn:ae(()=>[ue(le.$slots,"suffix")]),key:"3"}:void 0]),1040,["model-value","disabled"])],14,l6)]),_:3},8,["visible","placement","popper-class","popper-style","popper-options","show-arrow","teleported","append-to","transition"]))}}),u6=i6;const c6=ut(u6),d6=Te({size:{type:[Number,String],values:Ca,validator:e=>We(e)},shape:{type:String,values:["circle","square"]},icon:{type:Xt},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:oe(String),default:"cover"}}),f6={error:e=>e instanceof Event},dx=Symbol("avatarGroupContextKey"),p6={size:{type:oe([Number,String]),values:Ca,validator:e=>We(e)},shape:{type:oe(String),values:["circle","square"]},collapseAvatars:Boolean,collapseAvatarsTooltip:Boolean,maxCollapseAvatars:{type:Number,default:1},effect:{type:oe(String),default:"light"},placement:{type:oe(String),values:Ja,default:"top"},popperClass:ln.popperClass,popperStyle:ln.popperStyle,collapseClass:{type:oe([String,Array,Object,Boolean]),default:void 0},collapseStyle:{type:oe([String,Array,Object,Boolean]),default:void 0}},v6=["src","alt","srcset"];var h6=ve({name:"ElAvatar",__name:"avatar",props:d6,emits:f6,setup(e,{emit:t}){const n=e,o=t,a=Fe(dx,void 0),l=ke("avatar"),s=F(!1),r=C(()=>n.size??a?.size),u=C(()=>n.shape??a?.shape??"circle"),c=C(()=>{const{icon:h}=n,g=[l.b()];return ze(r.value)&&g.push(l.m(r.value)),h&&g.push(l.m("icon")),u.value&&g.push(l.m(u.value)),g}),d=C(()=>We(r.value)?l.cssVarBlock({size:mn(r.value)}):void 0),f=C(()=>({objectFit:n.fit}));ge(()=>[n.src,n.srcSet],()=>s.value=!1);function v(h){s.value=!0,o("error",h)}return(h,g)=>(E(),z("span",{class:R(c.value),style:Be(d.value)},[(e.src||e.srcSet)&&!s.value?(E(),z("img",{key:0,src:e.src,alt:e.alt,srcset:e.srcSet,style:Be(f.value),onError:v},null,44,v6)):e.icon?(E(),fe(i(He),{key:1},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1})):ue(h.$slots,"default",{key:2})],6))}}),fx=h6,px=ve({name:"ElAvatarGroup",props:p6,setup(e,{slots:t}){const n=ke("avatar-group");return xt(dx,Kt({size:wt(e,"size"),shape:wt(e,"shape")})),()=>{const o=Fo(t.default?.()??[]);let a=o;if(e.collapseAvatars&&o.length>e.maxCollapseAvatars){a=o.slice(0,e.maxCollapseAvatars);const l=o.slice(e.maxCollapseAvatars);a.push(Z(Kn,{popperClass:e.popperClass,popperStyle:e.popperStyle,placement:e.placement,effect:e.effect,disabled:!e.collapseAvatarsTooltip},{default:()=>Z(fx,{size:e.size,shape:e.shape,class:e.collapseClass,style:e.collapseStyle},{default:()=>[Oe("+ "),l.length]}),content:()=>Z("div",{class:n.e("collapse-avatars")},[l.map((s,r)=>tn(s)?ya(s,{key:s.key??r}):s)])}))}return Z("div",{class:n.b()},[a])}}});const m6=ut(fx,{AvatarGroup:px}),g6=fn(px),y6={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},b6={click:e=>e instanceof MouseEvent},w6=(e,t,n)=>{const o=kt(),a=kt(),l=F(!1),s=()=>{o.value&&(l.value=o.value.scrollTop>=e.visibilityHeight)},r=u=>{o.value?.scrollTo({top:0,behavior:"smooth"}),t("click",u)};return jt(a,"scroll",Qk(s,300,!0)),at(()=>{a.value=document,o.value=document.documentElement,e.target&&(o.value=document.querySelector(e.target)??void 0,o.value||dn(n,`target does not exist: ${e.target}`),a.value=o.value),s()}),{visible:l,handleClick:r}},p1="ElBacktop";var S6=ve({name:p1,__name:"backtop",props:y6,emits:b6,setup(e,{emit:t}){const n=e,o=t,a=ke("backtop"),{handleClick:l,visible:s}=w6(n,o,p1),r=C(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(u,c)=>(E(),fe(Zn,{name:`${i(a).namespace.value}-fade-in`},{default:ae(()=>[i(s)?(E(),z("div",{key:0,style:Be(r.value),class:R(i(a).b()),onClick:c[0]||(c[0]=Xe((...d)=>i(l)&&i(l)(...d),["stop"]))},[ue(u.$slots,"default",{},()=>[Z(i(He),{class:R(i(a).e("icon"))},{default:ae(()=>[Z(i(UL))]),_:1},8,["class"])])],6)):se("v-if",!0)]),_:3},8,["name"]))}}),C6=S6;const k6=ut(C6),x6=Te({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:oe([String,Object,Array,Boolean]),default:void 0},offset:{type:oe(Array),default:()=>[0,0]},badgeClass:{type:oe([String,Array,Object,Boolean]),default:void 0}});var E6=ve({name:"ElBadge",__name:"badge",props:x6,setup(e,{expose:t}){const n=e,o=ke("badge"),a=C(()=>n.isDot?"":We(n.value)&&We(n.max)?n.max[{backgroundColor:n.color,marginRight:mn(-n.offset[0]),marginTop:mn(n.offset[1])},n.badgeStyle??{}]);return t({content:a}),(s,r)=>(E(),z("div",{class:R(i(o).b())},[ue(s.$slots,"default"),Z(Zn,{name:`${i(o).namespace.value}-zoom-in-center`},{default:ae(()=>[!e.hidden&&(a.value||e.isDot||s.$slots.content)?(E(),z("sup",{key:0,class:R([i(o).e("content"),i(o).em("content",e.type),i(o).is("fixed",!!s.$slots.default),i(o).is("dot",e.isDot),i(o).is("hide-zero",!e.showZero&&e.value===0),e.badgeClass]),style:Be(l.value)},[ue(s.$slots,"content",{value:a.value},()=>[Oe(me(a.value),1)])],6)):se("v-if",!0)]),_:3},8,["name"])],2))}}),$6=E6;const vx=ut($6),T6=Te({separator:{type:String,default:"/"},separatorIcon:{type:Xt}}),hx=Symbol("breadcrumbKey"),_6=Te({to:{type:oe([String,Object]),default:""},replace:Boolean}),N6=["aria-label"];var I6=ve({name:"ElBreadcrumb",__name:"breadcrumb",props:T6,setup(e){const{t}=_t(),n=e,o=ke("breadcrumb"),a=F();return xt(hx,n),at(()=>{const l=a.value.querySelectorAll(`.${o.e("item")}`);l.length&&l[l.length-1].setAttribute("aria-current","page")}),(l,s)=>(E(),z("div",{ref_key:"breadcrumb",ref:a,class:R(i(o).b()),"aria-label":i(t)("el.breadcrumb.label"),role:"navigation"},[ue(l.$slots,"default")],10,N6))}}),O6=I6,M6=ve({name:"ElBreadcrumbItem",__name:"breadcrumb-item",props:_6,setup(e){const t=e,n=ct(),o=Fe(hx,void 0),a=ke("breadcrumb"),l=n.appContext.config.globalProperties.$router,s=()=>{!t.to||!l||(t.replace?l.replace(t.to):l.push(t.to))};return(r,u)=>(E(),z("span",{class:R(i(a).e("item"))},[I("span",{class:R([i(a).e("inner"),i(a).is("link",!!e.to)]),role:"link",onClick:s},[ue(r.$slots,"default")],2),i(o)?.separatorIcon?(E(),fe(i(He),{key:0,class:R(i(a).e("separator"))},{default:ae(()=>[(E(),fe(ft(i(o).separatorIcon)))]),_:1},8,["class"])):(E(),z("span",{key:1,class:R(i(a).e("separator")),role:"presentation"},me(i(o)?.separator),3))],2))}}),mx=M6;const P6=ut(O6,{BreadcrumbItem:mx}),R6=fn(mx),Th=["default","primary","success","warning","info","danger","text",""],A6=["button","submit","reset"],_h=Te({size:Rn,disabled:{type:Boolean,default:void 0},type:{type:String,values:Th,default:""},icon:{type:Xt},nativeType:{type:String,values:A6,default:"button"},loading:Boolean,loadingIcon:{type:Xt,default:()=>sa},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,dashed:{type:Boolean,default:void 0},color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:oe([String,Object]),default:"button"}}),D6={click:e=>e instanceof MouseEvent},gx=Symbol(),lf=F();function Rl(e,t=void 0){const n=ct()?Fe(gx,lf):lf;return e?C(()=>n.value?.[e]??t):n}function Ep(e,t){const n=Rl(),o=ke(e,C(()=>n.value?.namespace||"el")),a=_t(C(()=>n.value?.locale)),l=dc(C(()=>{const r=n.value?.zIndex;return yn(r)||Number.isNaN(r)?$2:r})),s=C(()=>i(t)||n.value?.size||"");return jg(C(()=>i(n)||{})),{ns:o,locale:a,zIndex:l,size:s}}const jg=(e,t,n=!1)=>{const o=!!ct(),a=o?Rl():void 0,l=t?.provide??(o?xt:void 0);if(!l){Yt("provideGlobalConfig","provideGlobalConfig() can only be used inside setup().");return}const s=C(()=>{const r=i(e);return a?.value?L6(a.value,r):r});return l(gx,s),l(r2,C(()=>s.value.locale)),l(i2,C(()=>s.value.namespace)),l(T2,C(()=>s.value.zIndex)),l(F2,{size:C(()=>s.value.size||"")}),l(H2,C(()=>({emptyValues:s.value.emptyValues,valueOnClear:s.value.valueOnClear}))),(n||!lf.value)&&(lf.value=s.value),s},L6=(e,t)=>{const n=[...new Set([...ku(e),...ku(t)])],o={};for(const a of n)o[a]=t[a]!==void 0?t[a]:e[a];return o},V6=Te({a11y:{type:Boolean,default:!0},locale:{type:oe(Object)},size:Rn,button:{type:oe(Object)},card:{type:oe(Object)},dialog:{type:oe(Object)},link:{type:oe(Object)},experimentalFeatures:{type:oe(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:oe(Object)},zIndex:Number,namespace:{type:String,default:"el"},table:{type:oe(Object)},...mr}),oo={placement:"top"},B6=ve({name:"ElConfigProvider",props:V6,setup(e,{slots:t}){const n=jg(e);return ge(()=>e.message,o=>{Object.assign(oo,n?.value?.message??{},o??{})},{immediate:!0,deep:!0}),()=>ue(t,"default",{config:n?.value})}}),F6=ut(B6),yx=Symbol("buttonGroupContextKey"),z6=(e,t)=>{Ba({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},C(()=>e.type==="text"));const n=Fe(yx,void 0),o=Rl("button"),{form:a}=Wn(),l=In(C(()=>n?.size)),s=pn(),r=F(),u=bn(),c=C(()=>e.type||n?.type||o.value?.type||""),d=C(()=>e.autoInsertSpace??o.value?.autoInsertSpace??!1),f=C(()=>e.plain??o.value?.plain??!1),v=C(()=>e.round??o.value?.round??!1),h=C(()=>e.text??o.value?.text??!1),g=C(()=>e.dashed??o.value?.dashed??!1),p=C(()=>e.tag==="button"?{ariaDisabled:s.value||e.loading,disabled:s.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=C(()=>{const b=u.default?.();if(d.value&&b?.length===1){const w=b[0];if(w?.type===bi){const S=w.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(S.trim())}}return!1});return{_disabled:s,_size:l,_type:c,_ref:r,_props:p,_plain:f,_round:v,_text:h,_dashed:g,shouldAddSpace:m,handleClick:b=>{if(s.value||e.loading){b.stopPropagation();return}e.nativeType==="reset"&&a?.resetFields(),t("click",b)}}};function to(e,t){H6(e)&&(e="100%");const n=K6(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Hc(e){return Math.min(1,Math.max(0,e))}function H6(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function K6(e){return typeof e=="string"&&e.indexOf("%")!==-1}function bx(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Kc(e){return Number(e)<=1?`${Number(e)*100}%`:e}function Ms(e){return e.length===1?"0"+e:String(e)}function W6(e,t,n){return{r:to(e,255)*255,g:to(t,255)*255,b:to(n,255)*255}}function v1(e,t,n){e=to(e,255),t=to(t,255),n=to(n,255);const o=Math.max(e,t,n),a=Math.min(e,t,n);let l=0,s=0;const r=(o+a)/2;if(o===a)s=0,l=0;else{const u=o-a;switch(s=r>.5?u/(2-o-a):u/(o+a),o){case e:l=(t-n)/u+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function j6(e,t,n){let o,a,l;if(e=to(e,360),t=to(t,100),n=to(n,100),t===0)a=n,l=n,o=n;else{const s=n<.5?n*(1+t):n+t-n*t,r=2*n-s;o=yv(r,s,e+1/3),a=yv(r,s,e),l=yv(r,s,e-1/3)}return{r:o*255,g:a*255,b:l*255}}function h1(e,t,n){e=to(e,255),t=to(t,255),n=to(n,255);const o=Math.max(e,t,n),a=Math.min(e,t,n);let l=0;const s=o,r=o-a,u=o===0?0:r/o;if(o===a)l=0;else{switch(o){case e:l=(t-n)/r+(t>16,g:(e&65280)>>8,b:e&255}}const Nh={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Z6(e){let t={r:0,g:0,b:0},n=1,o=null,a=null,l=null,s=!1,r=!1;return typeof e=="string"&&(e=eF(e)),typeof e=="object"&&(Do(e.r)&&Do(e.g)&&Do(e.b)?(t=W6(e.r,e.g,e.b),s=!0,r=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Do(e.h)&&Do(e.s)&&Do(e.v)?(o=Kc(e.s),a=Kc(e.v),t=U6(e.h,o,a),s=!0,r="hsv"):Do(e.h)&&Do(e.s)&&Do(e.l)?(o=Kc(e.s),l=Kc(e.l),t=j6(e.h,o,l),s=!0,r="hsl"):Do(e.c)&&Do(e.m)&&Do(e.y)&&Do(e.k)&&(t=q6(e.c,e.m,e.y,e.k),s=!0,r="cmyk"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=bx(n),{ok:s,format:e.format||r,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}const J6="[-\\+]?\\d+%?",Q6="[-\\+]?\\d*\\.\\d+%?",Jl="(?:"+Q6+")|(?:"+J6+")",bv="[\\s|\\(]+("+Jl+")[,|\\s]+("+Jl+")[,|\\s]+("+Jl+")\\s*\\)?",Wc="[\\s|\\(]+("+Jl+")[,|\\s]+("+Jl+")[,|\\s]+("+Jl+")[,|\\s]+("+Jl+")\\s*\\)?",Xo={CSS_UNIT:new RegExp(Jl),rgb:new RegExp("rgb"+bv),rgba:new RegExp("rgba"+Wc),hsl:new RegExp("hsl"+bv),hsla:new RegExp("hsla"+Wc),hsv:new RegExp("hsv"+bv),hsva:new RegExp("hsva"+Wc),cmyk:new RegExp("cmyk"+Wc),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function eF(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;let t=!1;if(Nh[e])e=Nh[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};let n=Xo.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Xo.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Xo.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Xo.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Xo.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Xo.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Xo.cmyk.exec(e),n?{c:n[1],m:n[2],y:n[3],k:n[4]}:(n=Xo.hex8.exec(e),n?{r:Lo(n[1]),g:Lo(n[2]),b:Lo(n[3]),a:y1(n[4]),format:t?"name":"hex8"}:(n=Xo.hex6.exec(e),n?{r:Lo(n[1]),g:Lo(n[2]),b:Lo(n[3]),format:t?"name":"hex"}:(n=Xo.hex4.exec(e),n?{r:Lo(n[1]+n[1]),g:Lo(n[2]+n[2]),b:Lo(n[3]+n[3]),a:y1(n[4]+n[4]),format:t?"name":"hex8"}:(n=Xo.hex3.exec(e),n?{r:Lo(n[1]+n[1]),g:Lo(n[2]+n[2]),b:Lo(n[3]+n[3]),format:t?"name":"hex"}:!1))))))))))}function Do(e){return typeof e=="number"?!Number.isNaN(e):Xo.CSS_UNIT.test(e)}class kn{constructor(t="",n={}){if(t instanceof kn)return t;typeof t=="number"&&(t=X6(t)),this.originalInput=t;const o=Z6(t);this.originalInput=t,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=n.format??o.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){const t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3}getLuminance(){const t=this.toRgb();let n,o,a;const l=t.r/255,s=t.g/255,r=t.b/255;return l<=.03928?n=l/12.92:n=Math.pow((l+.055)/1.055,2.4),s<=.03928?o=s/12.92:o=Math.pow((s+.055)/1.055,2.4),r<=.03928?a=r/12.92:a=Math.pow((r+.055)/1.055,2.4),.2126*n+.7152*o+.0722*a}getAlpha(){return this.a}setAlpha(t){return this.a=bx(t),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){const{s:t}=this.toHsl();return t===0}toHsv(){const t=h1(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}}toHsvString(){const t=h1(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.v*100);return this.a===1?`hsv(${n}, ${o}%, ${a}%)`:`hsva(${n}, ${o}%, ${a}%, ${this.roundA})`}toHsl(){const t=v1(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}}toHslString(){const t=v1(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.l*100);return this.a===1?`hsl(${n}, ${o}%, ${a}%)`:`hsla(${n}, ${o}%, ${a}%, ${this.roundA})`}toHex(t=!1){return m1(this.r,this.g,this.b,t)}toHexString(t=!1){return"#"+this.toHex(t)}toHex8(t=!1){return Y6(this.r,this.g,this.b,this.a,t)}toHex8String(t=!1){return"#"+this.toHex8(t)}toHexShortString(t=!1){return this.a===1?this.toHexString(t):this.toHex8String(t)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){const t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?`rgb(${t}, ${n}, ${o})`:`rgba(${t}, ${n}, ${o}, ${this.roundA})`}toPercentageRgb(){const t=n=>`${Math.round(to(n,255)*100)}%`;return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}}toPercentageRgbString(){const t=n=>Math.round(to(n,255)*100);return this.a===1?`rgb(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%)`:`rgba(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%, ${this.roundA})`}toCmyk(){return{...g1(this.r,this.g,this.b)}}toCmykString(){const{c:t,m:n,y:o,k:a}=g1(this.r,this.g,this.b);return`cmyk(${t}, ${n}, ${o}, ${a})`}toName(){if(this.a===0)return"transparent";if(this.a<1)return!1;const t="#"+m1(this.r,this.g,this.b,!1);for(const[n,o]of Object.entries(Nh))if(t===o)return n;return!1}toString(t){const n=!!t;t=t??this.format;let o=!1;const a=this.a<1&&this.a>=0;return!n&&a&&(t.startsWith("hex")||t==="name")?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),t==="cmyk"&&(o=this.toCmykString()),o||this.toHexString())}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new kn(this.toString())}lighten(t=10){const n=this.toHsl();return n.l+=t/100,n.l=Hc(n.l),new kn(n)}brighten(t=10){const n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new kn(n)}darken(t=10){const n=this.toHsl();return n.l-=t/100,n.l=Hc(n.l),new kn(n)}tint(t=10){return this.mix("white",t)}shade(t=10){return this.mix("black",t)}desaturate(t=10){const n=this.toHsl();return n.s-=t/100,n.s=Hc(n.s),new kn(n)}saturate(t=10){const n=this.toHsl();return n.s+=t/100,n.s=Hc(n.s),new kn(n)}greyscale(){return this.desaturate(100)}spin(t){const n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new kn(n)}mix(t,n=50){const o=this.toRgb(),a=new kn(t).toRgb(),l=n/100,s={r:(a.r-o.r)*l+o.r,g:(a.g-o.g)*l+o.g,b:(a.b-o.b)*l+o.b,a:(a.a-o.a)*l+o.a};return new kn(s)}analogous(t=6,n=30){const o=this.toHsl(),a=360/n,l=[this];for(o.h=(o.h-(a*t>>1)+720)%360;--t;)o.h=(o.h+a)%360,l.push(new kn(o));return l}complement(){const t=this.toHsl();return t.h=(t.h+180)%360,new kn(t)}monochromatic(t=6){const n=this.toHsv(),{h:o}=n,{s:a}=n;let{v:l}=n;const s=[],r=1/t;for(;t--;)s.push(new kn({h:o,s:a,v:l})),l=(l+r)%1;return s}splitcomplement(){const t=this.toHsl(),{h:n}=t;return[this,new kn({h:(n+72)%360,s:t.s,l:t.l}),new kn({h:(n+216)%360,s:t.s,l:t.l})]}onBackground(t){const n=this.toRgb(),o=new kn(t).toRgb(),a=n.a+o.a*(1-n.a);return new kn({r:(n.r*n.a+o.r*o.a*(1-n.a))/a,g:(n.g*n.a+o.g*o.a*(1-n.a))/a,b:(n.b*n.a+o.b*o.a*(1-n.a))/a,a})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(t){const n=this.toHsl(),{h:o}=n,a=[this],l=360/t;for(let s=1;s{let o={},a=e.color;if(a){const l=a.match(/var\((.*?)\)/);l&&(a=window.getComputedStyle(window.document.documentElement).getPropertyValue(l[1]));const s=new kn(a),r=e.dark?s.tint(20).toString():Na(s,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?Na(s,90):s.tint(90).toString(),"text-color":a,"border-color":e.dark?Na(s,50):s.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":a,"hover-border-color":a,"active-bg-color":r,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":r}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?Na(s,90):s.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?Na(s,50):s.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?Na(s,80):s.tint(80).toString());else if(e.link||e.text){const u=e.dark?Na(s,30):s.tint(30).toString();if(o=n.cssVarBlock({"text-color":a,"hover-text-color":u,"active-text-color":r}),e.link&&(o[n.cssVarBlockName("hover-link-text-color")]=u,o[n.cssVarBlockName("active-color")]=r),t.value){const c=e.dark?Na(s,50):s.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]="transparent",o[n.cssVarBlockName("disabled-text-color")]=c,o[n.cssVarBlockName("disabled-border-color")]="transparent"}}else{const u=e.dark?Na(s,30):s.tint(30).toString(),c=s.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":a,"text-color":c,"border-color":a,"hover-bg-color":u,"hover-text-color":c,"hover-border-color":u,"active-bg-color":r,"active-border-color":r}),t.value){const d=e.dark?Na(s,50):s.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=d,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=d}}}return o})}var nF=ve({name:"ElButton",__name:"button",props:_h,emits:D6,setup(e,{expose:t,emit:n}){const o=e,a=n,l=tF(o),s=ke("button"),{_ref:r,_size:u,_type:c,_disabled:d,_props:f,_plain:v,_round:h,_text:g,_dashed:p,shouldAddSpace:m,handleClick:y}=z6(o,a),b=C(()=>[s.b(),s.m(c.value),s.m(u.value),s.is("disabled",d.value),s.is("loading",o.loading),s.is("plain",v.value),s.is("round",h.value),s.is("circle",o.circle),s.is("text",g.value),s.is("dashed",p.value),s.is("link",o.link),s.is("has-bg",o.bg)]);return t({ref:r,size:u,type:c,disabled:d,shouldAddSpace:m}),(w,S)=>(E(),fe(ft(e.tag),pt({ref_key:"_ref",ref:r},i(f),{class:b.value,style:i(l),onClick:i(y)}),{default:ae(()=>[e.loading?(E(),z(Me,{key:0},[w.$slots.loading?ue(w.$slots,"loading",{key:0}):(E(),fe(i(He),{key:1,class:R(i(s).is("loading"))},{default:ae(()=>[(E(),fe(ft(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||w.$slots.icon?(E(),fe(i(He),{key:1},{default:ae(()=>[e.icon?(E(),fe(ft(e.icon),{key:0})):ue(w.$slots,"icon",{key:1})]),_:3})):se("v-if",!0),w.$slots.default?(E(),z("span",{key:2,class:R({[i(s).em("text","expand")]:i(m)})},[ue(w.$slots,"default")],2)):se("v-if",!0)]),_:3},16,["class","style","onClick"]))}}),oF=nF;const aF={size:_h.size,type:_h.type,direction:{type:oe(String),values:["horizontal","vertical"],default:"horizontal"}};var lF=ve({name:"ElButtonGroup",__name:"button-group",props:aF,setup(e){const t=e;xt(yx,Kt({size:wt(t,"size"),type:wt(t,"type")}));const n=ke("button");return(o,a)=>(E(),z("div",{class:R([i(n).b("group"),i(n).bm("group",t.direction)])},[ue(o.$slots,"default")],2))}}),wx=lF;const zn=ut(oF,{ButtonGroup:wx}),Sx=fn(wx),sF=e=>xe(e)&&e.length===2&&e.every(t=>ns(t)),rF=Te({modelValue:{type:Date},range:{type:oe(Array),validator:sF},controllerType:{type:String,values:["button","select"],default:"button"},formatter:{type:oe(Function)}}),iF={[lt]:e=>ns(e),[Nn]:e=>ns(e)},b1=["hours","minutes","seconds"],tl="EP_PICKER_BASE",Ug="ElPopperOptions",Cx=Symbol("commonPickerContextKey"),w1="HH:mm:ss",Or="YYYY-MM-DD",uF={date:Or,dates:Or,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:`${Or} ${w1}`,monthrange:"YYYY-MM",yearrange:"YYYY",daterange:Or,datetimerange:`${Or} ${w1}`};function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pd={exports:{}},cF=pd.exports,S1;function dF(){return S1||(S1=1,(function(e,t){(function(n,o){e.exports=o()})(cF,(function(){var n=1e3,o=6e4,a=36e5,l="millisecond",s="second",r="minute",u="hour",c="day",d="week",f="month",v="quarter",h="year",g="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(V){var H=["th","st","nd","rd"],P=V%100;return"["+V+(H[(P-20)%10]||H[P]||H[0])+"]"}},w=function(V,H,P){var O=String(V);return!O||O.length>=H?V:""+Array(H+1-O.length).join(P)+V},S={s:w,z:function(V){var H=-V.utcOffset(),P=Math.abs(H),O=Math.floor(P/60),M=P%60;return(H<=0?"+":"-")+w(O,2,"0")+":"+w(M,2,"0")},m:function V(H,P){if(H.date()1)return V(L[0])}else{var K=H.name;x[K]=H,M=K}return!O&&M&&(k=M),M||!O&&k},A=function(V,H){if(T(V))return V.clone();var P=typeof H=="object"?H:{};return P.date=V,P.args=arguments,new N(P)},D=S;D.l=_,D.i=T,D.w=function(V,H){return A(V,{locale:H.$L,utc:H.$u,x:H.$x,$offset:H.$offset})};var N=(function(){function V(P){this.$L=_(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[$]=!0}var H=V.prototype;return H.parse=function(P){this.$d=(function(O){var M=O.date,B=O.utc;if(M===null)return new Date(NaN);if(D.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var L=M.match(m);if(L){var K=L[2]-1||0,X=(L[7]||"0").substring(0,3);return B?new Date(Date.UTC(L[1],K,L[3]||1,L[4]||0,L[5]||0,L[6]||0,X)):new Date(L[1],K,L[3]||1,L[4]||0,L[5]||0,L[6]||0,X)}}return new Date(M)})(P),this.init()},H.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},H.$utils=function(){return D},H.isValid=function(){return this.$d.toString()!==p},H.isSame=function(P,O){var M=A(P);return this.startOf(O)<=M&&M<=this.endOf(O)},H.isAfter=function(P,O){return A(P)[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),kx=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),xx=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),C1=function(e,t){const n=ns(e),o=ns(t);return n&&o?e.getTime()===t.getTime():!n&&!o?e===t:!1},Ex=function(e,t){const n=xe(e),o=xe(t);return n&&o?e.length!==t.length?!1:e.every((a,l)=>C1(a,t[l])):!n&&!o?C1(e,t):!1},k1=function(e,t,n){const o=mo(t)||t==="x"?ot(e).locale(n):ot(e,t).locale(n);return o.isValid()?o:void 0},x1=function(e,t,n){return mo(t)?e:t==="x"?+e:ot(e).locale(n).format(t)},Sv=(e,t)=>{const n=[],o=t?.();for(let a=0;axe(e)?e.map(t=>t.toDate()):e.toDate(),Yg=Te({disabledHours:{type:oe(Function)},disabledMinutes:{type:oe(Function)},disabledSeconds:{type:oe(Function)}}),$x=Te({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),qg=Te({automaticDropdown:{type:Boolean,default:!0},id:{type:oe([Array,String])},name:{type:oe([Array,String])},popperClass:ln.popperClass,popperStyle:ln.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:oe([String,Object]),default:el},editable:{type:Boolean,default:!0},saveOnBlur:{type:Boolean,default:!0},prefixIcon:{type:oe([String,Object]),default:""},size:Rn,readonly:Boolean,disabled:{type:Boolean,default:void 0},placeholder:{type:String,default:""},popperOptions:{type:oe(Object),default:()=>({})},modelValue:{type:oe([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:oe([Date,Array])},defaultTime:{type:oe([Date,Array])},isRange:Boolean,...Yg,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:oe([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,singlePanel:Boolean,placement:{type:oe(String),values:Ja,default:"bottom"},fallbackPlacements:{type:oe(Array),default:["bottom","top","right","left"]},...mr,...co(["ariaLabel"]),showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),pF=Te({id:{type:oe(Array)},name:{type:oe(Array)},modelValue:{type:oe([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),Tx=(e,t)=>{const{lang:n}=_t(),o=F(!1),a=F(!1),l=F(null),s=C(()=>{const{modelValue:g}=e;return!g||xe(g)&&!g.filter(Boolean).length}),r=g=>{if(!Ex(e.modelValue,g)){let p;xe(g)?p=g.map(m=>x1(m,e.valueFormat,n.value)):g&&(p=x1(g,e.valueFormat,n.value)),t(lt,g&&p,n.value)}},u=C(()=>{let g;if(s.value?c.value.getDefaultValue&&(g=c.value.getDefaultValue()):xe(e.modelValue)?g=e.modelValue.map(p=>k1(p,e.valueFormat,n.value)):g=k1(e.modelValue??"",e.valueFormat,n.value),c.value.getRangeAvailableTime){const p=c.value.getRangeAvailableTime(g);vn(p,g)||(g=p,s.value||r(vd(g)))}return xe(g)&&g.some(p=>!p)&&(g=[]),g}),c=F({});return{parsedValue:u,pickerActualVisible:a,pickerOptions:c,pickerVisible:o,userInput:l,valueIsEmpty:s,emitInput:r,onCalendarChange:g=>{t("calendar-change",g)},onPanelChange:(g,p,m)=>{t("panel-change",g,p,m)},onPick:(g="",p=!1)=>{o.value=p;let m;xe(g)?m=g.map(y=>y.toDate()):m=g&&g.toDate(),l.value=null,r(m)},onSetPickerOption:g=>{c.value[g[0]]=g[1],c.value.panelReady=!0}}},vF=["id","name","placeholder","value","disabled"],hF=["id","name","placeholder","value","disabled"];var mF=ve({name:"PickerRangeTrigger",inheritAttrs:!1,__name:"picker-range-trigger",props:pF,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(e,{expose:t,emit:n}){const o=e,a=n,{formItem:l}=Wn(),{inputId:s}=Ro(Kt({id:C(()=>o.id?.[0])}),{formItemContext:l}),r=up(),u=ke("date"),c=ke("range"),d=F(),f=F(),{wrapperRef:v,isFocused:h}=Pl(d,{disabled:C(()=>o.disabled)}),g=T=>{a("click",T)},p=T=>{a("mouseenter",T)},m=T=>{a("mouseleave",T)},y=T=>{a("touchstart",T)},b=T=>{a("startInput",T)},w=T=>{a("endInput",T)},S=T=>{a("startChange",T)},k=T=>{a("endChange",T)};return t({focus:()=>{d.value?.focus()},blur:()=>{d.value?.blur(),f.value?.blur()}}),(T,_)=>(E(),z("div",{ref_key:"wrapperRef",ref:v,class:R([i(u).is("active",i(h)),T.$attrs.class]),style:Be(T.$attrs.style),onClick:g,onMouseenter:p,onMouseleave:m,onTouchstartPassive:y},[ue(T.$slots,"prefix"),I("input",pt(i(r),{id:i(s),ref_key:"inputRef",ref:d,name:T.name&&T.name[0],placeholder:T.startPlaceholder,value:T.modelValue&&T.modelValue[0],class:i(c).b("input"),disabled:T.disabled,onInput:b,onChange:S}),null,16,vF),ue(T.$slots,"range-separator"),I("input",pt(i(r),{id:T.id&&T.id[1],ref_key:"endInputRef",ref:f,name:T.name&&T.name[1],placeholder:T.endPlaceholder,value:T.modelValue&&T.modelValue[1],class:i(c).b("input"),disabled:T.disabled,onInput:w,onChange:k}),null,16,hF),ue(T.$slots,"suffix")],38))}}),gF=mF,yF=ve({name:"Picker",__name:"picker",props:qg,emits:[lt,Et,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:n}){const o=e,a=n,l=Za(),s=ke("date"),r=ke("input"),u=ke("range"),{formItem:c}=Wn(),d=Fe(Ug,{}),f=hc(o,null),v=F(),h=F(),g=F(null);let p=!1;const m=pn(),y=Tx(o,a),{parsedValue:b,pickerActualVisible:w,userInput:S,pickerVisible:k,pickerOptions:x,valueIsEmpty:$,emitInput:T,onPick:_,onSetPickerOption:A,onCalendarChange:D,onPanelChange:N}=y,{isFocused:W,handleFocus:V,handleBlur:H}=Pl(h,{disabled:m,beforeFocus(){return o.readonly},afterFocus(){o.automaticDropdown&&(k.value=!0)},beforeBlur(_e){return!p&&v.value?.isFocusInsideContent(_e)},afterBlur(){le.value&&!o.saveOnBlur?$.value||x.value.handleCancel?.():Pe(),k.value=!1,p=!1,o.validateEvent&&c?.validate("blur").catch(mt)}}),P=F(!1),O=C(()=>[s.b("editor"),s.bm("editor",o.type),r.e("wrapper"),s.is("disabled",m.value),s.is("active",k.value),u.b("editor"),be?u.bm("editor",be.value):"",l.class]),M=C(()=>[r.e("icon"),u.e("close-icon"),q.value?"":u.em("close-icon","hidden")]);ge(k,_e=>{_e?Re(()=>{_e&&(g.value=o.modelValue)}):(S.value=null,Re(()=>{B(o.modelValue)}))});const B=(_e,Ge)=>{(Ge||!Ex(_e,g.value))&&(a(Et,_e),Ge&&(g.value=_e),o.validateEvent&&c?.validate("change").catch(mt))},L=_e=>{a("keydown",_e)},K=C(()=>h.value?Array.from(h.value.$el.querySelectorAll("input")):[]),X=(_e,Ge,Ve)=>{const nt=K.value;nt.length&&(!Ve||Ve==="min"?(nt[0].setSelectionRange(_e,Ge),nt[0].focus()):Ve==="max"&&(nt[1].setSelectionRange(_e,Ge),nt[1].focus()))},J=()=>{w.value=!0},ne=()=>{a("visible-change",!0)},re=()=>{w.value=!1,k.value=!1,a("visible-change",!1)},Q=()=>{k.value=!0},ce=()=>{k.value=!1},we=C(()=>{const _e=tt(b.value);return xe(S.value)?[S.value[0]??(_e&&_e[0])??"",S.value[1]??(_e&&_e[1])??""]:S.value!==null?S.value:le.value&&$.value&&!o.saveOnBlur||!le.value&&$.value||!k.value&&$.value?"":_e?ie.value||j.value||ee.value?_e.join(", "):_e:""}),Se=C(()=>o.type.includes("time")),le=C(()=>o.type.startsWith("time")),ie=C(()=>o.type==="dates"),j=C(()=>o.type==="months"),ee=C(()=>o.type==="years"),Y=C(()=>o.prefixIcon||(Se.value?U2:KL)),q=C(()=>o.clearable&&!m.value&&!o.readonly&&!$.value&&(P.value||W.value)),U=_e=>{o.readonly||m.value||(q.value&&(_e?.stopPropagation(),x.value.handleClear?x.value.handleClear():T(f.valueOnClear.value),B(f.valueOnClear.value,!0),re()),a("clear"))},G=async _e=>{o.readonly||m.value||(_e.target?.tagName!=="INPUT"||W.value||!o.automaticDropdown)&&(k.value=!0)},te=()=>{o.readonly||m.value||!$.value&&o.clearable&&(P.value=!0)},he=()=>{P.value=!1},pe=_e=>{o.readonly||m.value||(_e.touches[0].target?.tagName!=="INPUT"||W.value||!o.automaticDropdown)&&(k.value=!0)},de=C(()=>o.type.includes("range")),be=In(),ye=C(()=>i(v)?.popperRef?.contentRef),$e=vg(h,_e=>{const Ge=i(ye),Ve=Pn(h);Ge&&(_e.target===Ge||_e.composedPath().includes(Ge))||_e.target===Ve||Ve&&_e.composedPath().includes(Ve)||(k.value=!1)});Ft(()=>{$e?.()});const Pe=()=>{if(le.value&&!o.saveOnBlur)return;const _e=xe(S.value)&&S.value.every(Ge=>Ge==="");if(S.value&&!_e){const Ge=et(we.value);Ge&&(qe(Ge)&&T(vd(Ge)),S.value=null)}(S.value===""||_e)&&(T(f.valueOnClear.value),B(f.valueOnClear.value,!0),S.value=null)},et=_e=>_e?x.value.parseUserInput(_e):null,tt=_e=>_e?xe(_e)?_e.map(Ge=>Ge.format(o.format)):_e.format(o.format):null,qe=_e=>x.value.isValidValue(_e),$t=async _e=>{if(o.readonly||m.value)return;const Ge=Zt(_e);if(L(_e),Ge===Ee.esc){k.value===!0&&(k.value=!1,_e.preventDefault(),_e.stopPropagation());return}if(Ge===Ee.down&&(x.value.handleFocusPicker&&(_e.preventDefault(),_e.stopPropagation()),k.value===!1&&(k.value=!0,await Re()),x.value.handleFocusPicker)){x.value.handleFocusPicker();return}if(Ge===Ee.tab){p=!0;return}if(Ge===Ee.enter||Ge===Ee.numpadEnter){k.value?S.value===null||S.value===""||qe(et(we.value))?(Pe(),k.value=!1):qe(et(we.value))||Yt("Picker",`Invalid user input: ${we.value}. Please check the format of the input.`):k.value=!0,_e.preventDefault(),_e.stopPropagation();return}if(S.value){_e.stopPropagation();return}x.value.handleKeydownInput&&x.value.handleKeydownInput(_e)},At=_e=>{S.value=_e,k.value||(k.value=!0)},Wt=_e=>{const Ge=_e.target;S.value?S.value=[Ge.value,S.value[1]]:S.value=[Ge.value,null]},Rt=_e=>{const Ge=_e.target;S.value?S.value=[S.value[0],Ge.value]:S.value=[null,Ge.value]},qt=()=>{const _e=S.value,Ge=et(_e&&_e[0]),Ve=i(b);if(Ge&&Ge.isValid()){S.value=[tt(Ge),we.value?.[1]||null];const nt=[Ge,Ve&&(Ve[1]||null)];qe(nt)&&(T(vd(nt)),S.value=null)}},Ce=()=>{const _e=i(S),Ge=et(_e&&_e[1]),Ve=i(b);if(Ge&&Ge.isValid()){S.value=[i(we)?.[0]||null,tt(Ge)];const nt=[Ve&&Ve[0],Ge];qe(nt)&&(T(vd(nt)),S.value=null)}},Ne=()=>{h.value?.focus()},Je=()=>{h.value?.blur()};return xt(tl,{props:o,emptyValues:f}),xt(Cx,y),t({focus:Ne,blur:Je,handleOpen:Q,handleClose:ce,onPick:_}),(_e,Ge)=>(E(),fe(i(Kn),pt({ref_key:"refPopper",ref:v,visible:i(k),effect:"light",pure:"",trigger:"click"},_e.$attrs,{role:"dialog",teleported:"",transition:`${i(s).namespace.value}-zoom-in-top`,"popper-class":[`${i(s).namespace.value}-picker__popper`,_e.popperClass],"popper-style":_e.popperStyle,"popper-options":i(d),"fallback-placements":_e.fallbackPlacements,"gpu-acceleration":!1,placement:_e.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:J,onShow:ne,onHide:re}),{default:ae(()=>[de.value?(E(),fe(gF,{key:1,id:_e.id,ref_key:"inputRef",ref:h,"model-value":we.value,name:_e.name,disabled:i(m),readonly:!_e.editable||_e.readonly,"start-placeholder":_e.startPlaceholder,"end-placeholder":_e.endPlaceholder,class:R(O.value),style:Be(_e.$attrs.style),"aria-label":_e.ariaLabel,tabindex:_e.tabindex,autocomplete:"off",role:"combobox",onClick:G,onFocus:i(V),onBlur:i(H),onStartInput:Wt,onStartChange:qt,onEndInput:Rt,onEndChange:Ce,onMousedown:G,onMouseenter:te,onMouseleave:he,onTouchstartPassive:pe,onKeydown:$t},{prefix:ae(()=>[Y.value?(E(),fe(i(He),{key:0,class:R([i(r).e("icon"),i(u).e("icon")])},{default:ae(()=>[(E(),fe(ft(Y.value)))]),_:1},8,["class"])):se("v-if",!0)]),"range-separator":ae(()=>[ue(_e.$slots,"range-separator",{},()=>[I("span",{class:R(i(u).b("separator"))},me(_e.rangeSeparator),3)])]),suffix:ae(()=>[_e.clearIcon?(E(),fe(i(He),{key:0,class:R(M.value),onMousedown:Xe(i(mt),["prevent"]),onClick:U},{default:ae(()=>[(E(),fe(ft(_e.clearIcon)))]),_:1},8,["class","onMousedown"])):se("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(E(),fe(i(Gn),{key:0,id:_e.id,ref_key:"inputRef",ref:h,"container-role":"combobox","model-value":we.value,name:_e.name,size:i(be),disabled:i(m),placeholder:_e.placeholder,class:R([i(s).b("editor"),i(s).bm("editor",_e.type),i(s).is("focus",i(k)),_e.$attrs.class]),style:Be(_e.$attrs.style),readonly:!_e.editable||_e.readonly||ie.value||j.value||ee.value||_e.type==="week","aria-label":_e.ariaLabel,tabindex:_e.tabindex,"validate-event":!1,onInput:At,onFocus:i(V),onBlur:i(H),onKeydown:$t,onChange:Pe,onMousedown:G,onMouseenter:te,onMouseleave:he,onTouchstartPassive:pe,onClick:Ge[0]||(Ge[0]=Xe(()=>{},["stop"]))},{prefix:ae(()=>[Y.value?(E(),fe(i(He),{key:0,class:R(i(r).e("icon")),onMousedown:Xe(G,["prevent"]),onTouchstartPassive:pe},{default:ae(()=>[(E(),fe(ft(Y.value)))]),_:1},8,["class"])):se("v-if",!0)]),suffix:ae(()=>[q.value&&_e.clearIcon?(E(),fe(i(He),{key:0,class:R(`${i(r).e("icon")} clear-icon`),onMousedown:Xe(i(mt),["prevent"]),onClick:U},{default:ae(()=>[(E(),fe(ft(_e.clearIcon)))]),_:1},8,["class","onMousedown"])):se("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur"]))]),content:ae(()=>[ue(_e.$slots,"default",{visible:i(k),actualVisible:i(w),parsedValue:i(b),format:_e.format,dateFormat:_e.dateFormat,timeFormat:_e.timeFormat,unlinkPanels:_e.unlinkPanels,type:_e.type,defaultValue:_e.defaultValue,showNow:_e.showNow,showConfirm:_e.showConfirm,showFooter:_e.showFooter,showWeekNumber:_e.showWeekNumber,singlePanel:_e.singlePanel,onPick:Ge[1]||(Ge[1]=(...Ve)=>i(_)&&i(_)(...Ve)),onSelectRange:X,onSetPickerOption:Ge[2]||(Ge[2]=(...Ve)=>i(A)&&i(A)(...Ve)),onCalendarChange:Ge[3]||(Ge[3]=(...Ve)=>i(D)&&i(D)(...Ve)),onClear:U,onPanelChange:Ge[4]||(Ge[4]=(...Ve)=>i(N)&&i(N)(...Ve)),onMousedown:Ge[5]||(Ge[5]=Xe(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}}),_x=yF;const Wl=new Map;if(Lt){let e;document.addEventListener("mousedown",t=>e=t),document.addEventListener("mouseup",t=>{if(e){for(const n of Wl.values())for(const{documentHandler:o}of n)o(t,e);e=void 0}})}function E1(e,t){let n=[];return xe(t.arg)?n=t.arg:_o(t.arg)&&n.push(t.arg),function(o,a){const l=t.instance.popperRef,s=o.target,r=a?.target,u=!t||!t.instance,c=!s||!r,d=e.contains(s)||e.contains(r),f=e===s,v=n.length&&n.some(g=>g?.contains(s))||n.length&&n.includes(r),h=l&&(l.contains(s)||l.contains(r));u||c||d||f||v||h||t.value(o,a)}}const ds={beforeMount(e,t){Wl.has(e)||Wl.set(e,[]),Wl.get(e).push({documentHandler:E1(e,t),bindingFn:t.value})},updated(e,t){Wl.has(e)||Wl.set(e,[]);const n=Wl.get(e),o=n.findIndex(l=>l.bindingFn===t.oldValue),a={documentHandler:E1(e,t),bindingFn:t.value};o>=0?n.splice(o,1,a):n.push(a)},unmounted(e){Wl.delete(e)}},jc="_RepeatClick",sf={beforeMount(e,t){const n=t.value,{interval:o=100,delay:a=600}=je(n)?{}:n;let l,s;const r=()=>je(n)?n():n.handler(),u=()=>{s&&(clearTimeout(s),s=void 0),l&&(clearInterval(l),l=void 0)},c=d=>{d.button===0&&(u(),r(),document.addEventListener("mouseup",u,{once:!0,capture:!0}),s=setTimeout(()=>{l=setInterval(()=>{r()},o)},a))};e[jc]={start:c,clear:u},e.addEventListener("mousedown",c)},unmounted(e){if(!e[jc])return;const{start:t,clear:n}=e[jc];t&&e.removeEventListener("mousedown",t),n&&(n(),document.removeEventListener("mouseup",n,!0)),e[jc]=null}},Ih="_trap-focus-children",Ps=[],$1=e=>{if(Ps.length===0)return;const t=Zt(e),n=Ps[Ps.length-1][Ih];if(n.length>0&&t===Ee.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const o=e.shiftKey,a=e.target===n[0],l=e.target===n[n.length-1];a&&o&&(e.preventDefault(),n[n.length-1].focus()),l&&!o&&(e.preventDefault(),n[0].focus())}},bF={beforeMount(e){e[Ih]=S0(e),Ps.push(e),Ps.length<=1&&document.addEventListener("keydown",$1)},updated(e){Re(()=>{e[Ih]=S0(e)})},unmounted(){Ps.shift(),Ps.length===0&&document.removeEventListener("keydown",$1)}};var T1=!1,$s,Oh,Mh,hd,md,Nx,gd,Ph,Rh,Ah,Ix,Dh,Lh,Ox,Mx;function xo(){if(!T1){T1=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Dh=/\b(iPhone|iP[ao]d)/.exec(e),Lh=/\b(iP[ao]d)/.exec(e),Ah=/Android/i.exec(e),Ox=/FBAN\/\w+;/i.exec(e),Mx=/Mobile/i.exec(e),Ix=!!/Win64/.exec(e),t){$s=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,$s&&document&&document.documentMode&&($s=document.documentMode);var o=/(?:Trident\/(\d+.\d+))/.exec(e);Nx=o?parseFloat(o[1])+4:$s,Oh=t[2]?parseFloat(t[2]):NaN,Mh=t[3]?parseFloat(t[3]):NaN,hd=t[4]?parseFloat(t[4]):NaN,hd?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),md=t&&t[1]?parseFloat(t[1]):NaN):md=NaN}else $s=Oh=Mh=md=hd=NaN;if(n){if(n[1]){var a=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);gd=a?parseFloat(a[1].replace("_",".")):!0}else gd=!1;Ph=!!n[2],Rh=!!n[3]}else gd=Ph=Rh=!1}}var Vh={ie:function(){return xo()||$s},ieCompatibilityMode:function(){return xo()||Nx>$s},ie64:function(){return Vh.ie()&&Ix},firefox:function(){return xo()||Oh},opera:function(){return xo()||Mh},webkit:function(){return xo()||hd},safari:function(){return Vh.webkit()},chrome:function(){return xo()||md},windows:function(){return xo()||Ph},osx:function(){return xo()||gd},linux:function(){return xo()||Rh},iphone:function(){return xo()||Dh},mobile:function(){return xo()||Dh||Lh||Ah||Mx},nativeApp:function(){return xo()||Ox},android:function(){return xo()||Ah},ipad:function(){return xo()||Lh}},wF=Vh,SF=!!(typeof window<"u"&&window.document&&window.document.createElement),CF={canUseDOM:SF},Px=CF,Rx;Px.canUseDOM&&(Rx=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function kF(e,t){if(!Px.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var a=document.createElement("div");a.setAttribute(n,"return;"),o=typeof a[n]=="function"}return!o&&Rx&&e==="wheel"&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var xF=kF,_1=10,N1=40,I1=800;function Ax(e){var t=0,n=0,o=0,a=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=t*_1,a=n*_1,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||a)&&e.deltaMode&&(e.deltaMode==1?(o*=N1,a*=N1):(o*=I1,a*=I1)),o&&!t&&(t=o<1?-1:1),a&&!n&&(n=a<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:a}}Ax.getEventType=function(){return wF.firefox()?"DOMMouseScroll":xF("wheel")?"wheel":"mousewheel"};var EF=Ax;const Bh="_Mousewheel",O1=function(e,t){if(e&&e.addEventListener){Dx(e);const n=function(o){const a=EF(o);t&&Reflect.apply(t,this,[o,a])};e[Bh]={wheelHandler:n},e.addEventListener("wheel",n,{passive:!0})}},Dx=e=>{e._Mousewheel?.wheelHandler&&(e.removeEventListener("wheel",e[Bh].wheelHandler),e[Bh]=null)},M1={beforeMount(e,t){O1(e,t.value)},unmounted(e){Dx(e)},updated(e,t){t.value!==t.oldValue&&O1(e,t.value)}},$F=Te({...$x,datetimeRole:String,parsedValue:{type:oe(Object)}}),Lx=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:n})=>{const o=(s,r,u,c)=>{const d={hour:e,minute:t,second:n};let f=s;return["hour","minute","second"].forEach(v=>{if(d[v]){let h;const g=d[v];switch(v){case"minute":h=g(f.hour(),r,c);break;case"second":h=g(f.hour(),f.minute(),r,c);break;default:h=g(r,c);break}if(h?.length&&!h.includes(f[v]())){const p=u?0:h.length-1;f=f[v](h[p])}}}),f},a={};return{timePickerOptions:a,getAvailableTime:o,onSetOption:([s,r])=>{a[s]=r}}},Cv=e=>{const t=(o,a)=>o||a,n=o=>o!==!0;return e.map(t).filter(n)},Vx=(e,t,n)=>({getHoursList:(s,r)=>Sv(24,e&&(()=>e?.(s,r))),getMinutesList:(s,r,u)=>Sv(60,t&&(()=>t?.(s,r,u))),getSecondsList:(s,r,u,c)=>Sv(60,n&&(()=>n?.(s,r,u,c)))}),Bx=(e,t,n)=>{const{getHoursList:o,getMinutesList:a,getSecondsList:l}=Vx(e,t,n);return{getAvailableHours:(c,d)=>Cv(o(c,d)),getAvailableMinutes:(c,d,f)=>Cv(a(c,d,f)),getAvailableSeconds:(c,d,f,v)=>Cv(l(c,d,f,v))}},Fx=(e,t)=>{const n=F(e.parsedValue);return ge(()=>e.visible,o=>{const a=Nt(t.modelValue),l=Nt(t.valueOnClear);if(o&&a===l){n.value=l;return}o||(n.value=e.parsedValue)}),n},TF=Te({role:{type:String,required:!0},spinnerDate:{type:oe(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:oe(String),default:""},...Yg}),_F=["onClick"],NF=["onMouseenter"];var IF=ve({__name:"basic-time-spinner",props:TF,emits:[Et,"select-range","set-option"],setup(e,{emit:t}){const n=e,{isRange:o,format:a,saveOnBlur:l}=Fe(tl).props,s=t,r=ke("time"),{getHoursList:u,getMinutesList:c,getSecondsList:d}=Vx(n.disabledHours,n.disabledMinutes,n.disabledSeconds);let f=!1;const v={hours:!1,minutes:!1,seconds:!1},h=F(),g={hours:F(),minutes:F(),seconds:F()},p=C(()=>n.showSeconds?b1:b1.slice(0,2)),m=C(()=>{const{spinnerDate:K}=n;return{hours:K.hour(),minutes:K.minute(),seconds:K.second()}}),y=C(()=>{const{hours:K,minutes:X}=i(m),{role:J,spinnerDate:ne}=n,re=o?void 0:ne;return{hours:u(J,re),minutes:c(K,J,re),seconds:d(K,X,J,re)}}),b=C(()=>{const{hours:K,minutes:X,seconds:J}=i(m);return{hours:wv(K,23),minutes:wv(X,59),seconds:wv(J,59)}}),w=ja(K=>{f=!1,x(K)},200),S=K=>{if(!n.amPmMode)return"";const X=n.amPmMode==="A";let J=K<12?" am":" pm";return X&&(J=J.toUpperCase()),J},k=K=>{let X=[0,0];const J=a||"HH:mm:ss",ne=J.indexOf("HH"),re=J.indexOf("mm"),Q=J.indexOf("ss");switch(K){case"hours":ne!==-1&&(X=[ne,ne+2]);break;case"minutes":re!==-1&&(X=[re,re+2]);break;case"seconds":Q!==-1&&(X=[Q,Q+2]);break}const[ce,we]=X;s("select-range",ce,we),h.value=K},x=K=>{_(K,i(m)[K])},$=()=>{x("hours"),x("minutes"),x("seconds")},T=K=>K.querySelector(`.${r.namespace.value}-scrollbar__wrap`),_=(K,X)=>{if(n.arrowControl)return;const J=i(g[K]);J&&J.$el&&(l||(v[K]=!0,Po(()=>{v[K]=!1})),T(J.$el).scrollTop=Math.max(0,X*A(K)))},A=K=>{const X=i(g[K])?.$el.querySelector("li");return X&&Number.parseFloat(fl(X,"height"))||0},D=()=>{W(1)},N=()=>{W(-1)},W=K=>{h.value||k("hours");const X=h.value,J=i(m)[X],ne=V(X,J,K,h.value==="hours"?24:60);H(X,ne),_(X,ne),Re(()=>k(X))},V=(K,X,J,ne)=>{let re=(X+J+ne)%ne;const Q=i(y)[K];for(;Q[re]&&re!==X;)re=(re+J+ne)%ne;return re},H=(K,X)=>{if(i(y)[K][X])return;const{hours:J,minutes:ne,seconds:re}=i(m);let Q;switch(K){case"hours":Q=n.spinnerDate.hour(X).minute(ne).second(re);break;case"minutes":Q=n.spinnerDate.hour(J).minute(X).second(re);break;case"seconds":Q=n.spinnerDate.hour(J).minute(ne).second(X);break}s(Et,Q)},P=(K,{value:X,disabled:J})=>{J||(H(K,X),k(K),_(K,X))},O=K=>{if(!l&&v[K])return;const X=i(g[K]);X&&(f=!0,w(K),H(K,Math.min(Math.round((T(X.$el).scrollTop-(M(K)*.5-10)/A(K)+3)/A(K)),K==="hours"?23:59)))},M=K=>i(g[K]).$el.offsetHeight,B=()=>{const K=X=>{const J=i(g[X]);J&&J.$el&&(T(J.$el).onscroll=()=>{O(X)})};K("hours"),K("minutes"),K("seconds")};at(()=>{Re(()=>{!n.arrowControl&&B(),$(),n.role==="start"&&k("hours")})});const L=(K,X)=>{g[X].value=K??void 0};return s("set-option",[`${n.role}_scrollDown`,W]),s("set-option",[`${n.role}_emitSelectRange`,k]),ge(()=>n.spinnerDate,()=>{f||$()}),(K,X)=>(E(),z("div",{class:R([i(r).b("spinner"),{"has-seconds":K.showSeconds}])},[K.arrowControl?se("v-if",!0):(E(!0),z(Me,{key:0},dt(p.value,J=>(E(),fe(i(wa),{key:J,ref_for:!0,ref:ne=>L(ne,J),class:R(i(r).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":i(r).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:ne=>k(J),onMousemove:ne=>x(J)},{default:ae(()=>[(E(!0),z(Me,null,dt(y.value[J],(ne,re)=>(E(),z("li",{key:re,class:R([i(r).be("spinner","item"),i(r).is("active",re===m.value[J]),i(r).is("disabled",ne)]),onClick:Q=>P(J,{value:re,disabled:ne})},[J==="hours"?(E(),z(Me,{key:0},[Oe(me(("0"+(K.amPmMode?re%12||12:re)).slice(-2))+me(S(re)),1)],64)):(E(),z(Me,{key:1},[Oe(me(("0"+re).slice(-2)),1)],64))],10,_F))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),K.arrowControl?(E(!0),z(Me,{key:1},dt(p.value,J=>(E(),z("div",{key:J,class:R([i(r).be("spinner","wrapper"),i(r).is("arrow")]),onMouseenter:ne=>k(J)},[Ye((E(),fe(i(He),{class:R(["arrow-up",i(r).be("spinner","arrow")])},{default:ae(()=>[Z(i(Sp))]),_:1},8,["class"])),[[i(sf),N]]),Ye((E(),fe(i(He),{class:R(["arrow-down",i(r).be("spinner","arrow")])},{default:ae(()=>[Z(i(Qa))]),_:1},8,["class"])),[[i(sf),D]]),I("ul",{class:R(i(r).be("spinner","list"))},[(E(!0),z(Me,null,dt(b.value[J],(ne,re)=>(E(),z("li",{key:re,class:R([i(r).be("spinner","item"),i(r).is("active",ne===m.value[J]),i(r).is("disabled",y.value[J][ne])])},[i(We)(ne)?(E(),z(Me,{key:0},[J==="hours"?(E(),z(Me,{key:0},[Oe(me(("0"+(K.amPmMode?ne%12||12:ne)).slice(-2))+me(S(ne)),1)],64)):(E(),z(Me,{key:1},[Oe(me(("0"+ne).slice(-2)),1)],64))],64)):se("v-if",!0)],2))),128))],2)],42,NF))),128)):se("v-if",!0)],2))}}),Fh=IF,OF=ve({__name:"panel-time-pick",props:$F,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,o=t,a=Fe(tl),{arrowControl:l,disabledHours:s,disabledMinutes:r,disabledSeconds:u,defaultValue:c}=a.props,{getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:v}=Bx(s,r,u),h=ke("time"),{t:g,lang:p}=_t(),m=F([0,2]),y=Fx(n,{modelValue:C(()=>a.props.modelValue),valueOnClear:C(()=>a?.emptyValues?a.emptyValues.valueOnClear.value:null)}),b=C(()=>It(n.actualVisible)?`${h.namespace.value}-zoom-in-top`:""),w=C(()=>n.format.includes("ss")),S=C(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),k=M=>{const B=ot(M).locale(p.value),L=H(B);return B.isSame(L)},x=()=>{const M=y.value;o("pick",M,!1),Re(()=>{y.value=M})},$=(M=!1,B=!1)=>{B||o("pick",n.parsedValue,M)},T=M=>{n.visible&&o("pick",H(M).millisecond(0),!0)},_=(M,B)=>{o("select-range",M,B),m.value=[M,B]},A=M=>{const B=n.format,L=B.indexOf("HH"),K=B.indexOf("mm"),X=B.indexOf("ss"),J=[],ne=[];L!==-1&&(J.push(L),ne.push("hours")),K!==-1&&(J.push(K),ne.push("minutes")),X!==-1&&w.value&&(J.push(X),ne.push("seconds"));const re=(J.indexOf(m.value[0])+M+J.length)%J.length;N.start_emitSelectRange(ne[re])},D=M=>{const B=Zt(M),{left:L,right:K,up:X,down:J}=Ee;if([L,K].includes(B)){A(B===L?-1:1),M.preventDefault();return}if([X,J].includes(B)){const ne=B===X?-1:1;N.start_scrollDown(ne),M.preventDefault();return}},{timePickerOptions:N,onSetOption:W,getAvailableTime:V}=Lx({getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:v}),H=M=>V(M,n.datetimeRole||"",!0),P=M=>M?ot(M,n.format).locale(p.value):null,O=()=>ot(c).locale(p.value);return o("set-picker-option",["isValidValue",k]),o("set-picker-option",["parseUserInput",P]),o("set-picker-option",["handleKeydownInput",D]),o("set-picker-option",["getRangeAvailableTime",H]),o("set-picker-option",["getDefaultValue",O]),o("set-picker-option",["handleCancel",x]),(M,B)=>(E(),fe(Zn,{name:b.value},{default:ae(()=>[M.actualVisible||M.visible?(E(),z("div",{key:0,class:R(i(h).b("panel"))},[I("div",{class:R([i(h).be("panel","content"),{"has-seconds":w.value}])},[Z(Fh,{ref:"spinner",role:M.datetimeRole||"start","arrow-control":i(l),"show-seconds":w.value,"am-pm-mode":S.value,"spinner-date":M.parsedValue,"disabled-hours":i(s),"disabled-minutes":i(r),"disabled-seconds":i(u),onChange:T,onSetOption:i(W),onSelectRange:_},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),I("div",{class:R(i(h).be("panel","footer"))},[I("button",{type:"button",class:R([i(h).be("panel","btn"),"cancel"]),onClick:x},me(i(g)("el.datepicker.cancel")),3),I("button",{type:"button",class:R([i(h).be("panel","btn"),"confirm"]),onClick:B[0]||(B[0]=L=>$())},me(i(g)("el.datepicker.confirm")),3)],2)],2)):se("v-if",!0)]),_:1},8,["name"]))}}),rf=OF;const MF=Te({...$x,parsedValue:{type:oe(Array)}}),PF=["disabled"];var RF=ve({__name:"panel-time-range",props:MF,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,o=t,a=(ie,j)=>{const ee=[];for(let Y=ie;Y<=j;Y++)ee.push(Y);return ee},{t:l,lang:s}=_t(),r=ke("time"),u=ke("picker"),c=Fe(tl),{arrowControl:d,disabledHours:f,disabledMinutes:v,disabledSeconds:h,defaultValue:g}=c.props,p=C(()=>[r.be("range-picker","body"),r.be("panel","content"),r.is("arrow",d),k.value?"has-seconds":""]),m=C(()=>[r.be("range-picker","body"),r.be("panel","content"),r.is("arrow",d),k.value?"has-seconds":""]),y=C(()=>n.parsedValue[0]),b=C(()=>n.parsedValue[1]),w=Fx(n,{modelValue:C(()=>c.props.modelValue),valueOnClear:C(()=>c?.emptyValues?c.emptyValues.valueOnClear.value:null)}),S=()=>{const ie=w.value;o("pick",ie,!1),Re(()=>{w.value=ie})},k=C(()=>n.format.includes("ss")),x=C(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),$=(ie=!1)=>{o("pick",[y.value,b.value],ie)},T=ie=>{D(ie.millisecond(0),b.value)},_=ie=>{D(y.value,ie.millisecond(0))},A=ie=>{const j=ie.map(Y=>ot(Y).locale(s.value)),ee=X(j);return j[0].isSame(ee[0])&&j[1].isSame(ee[1])},D=(ie,j)=>{n.visible&&o("pick",[ie,j],!0)},N=C(()=>y.value>b.value),W=F([0,2]),V=(ie,j)=>{o("select-range",ie,j,"min"),W.value=[ie,j]},H=C(()=>k.value?11:8),P=(ie,j)=>{o("select-range",ie,j,"max");const ee=i(H);W.value=[ie+ee,j+ee]},O=ie=>{const j=k.value?[0,3,6,11,14,17]:[0,3,8,11],ee=["hours","minutes"].concat(k.value?["seconds"]:[]),Y=(j.indexOf(W.value[0])+ie+j.length)%j.length,q=j.length/2;Y{const j=Zt(ie),{left:ee,right:Y,up:q,down:U}=Ee;if([ee,Y].includes(j)){O(j===ee?-1:1),ie.preventDefault();return}if([q,U].includes(j)){const G=j===q?-1:1;Q[`${W.value[0]{const ee=f?f(ie):[],Y=ie==="start",q=(j||(Y?b.value:y.value)).hour();return iv(ee,Y?a(q+1,23):a(0,q-1))},L=(ie,j,ee)=>{const Y=v?v(ie,j):[],q=j==="start",U=ee||(q?b.value:y.value);if(ie!==U.hour())return Y;const G=U.minute();return iv(Y,q?a(G+1,59):a(0,G-1))},K=(ie,j,ee,Y)=>{const q=h?h(ie,j,ee):[],U=ee==="start",G=Y||(U?b.value:y.value),te=G.hour(),he=G.minute();if(ie!==te||j!==he)return q;const pe=G.second();return iv(q,U?a(pe+1,59):a(0,pe-1))},X=([ie,j])=>[ce(ie,"start",!0,j),ce(j,"end",!1,ie)],{getAvailableHours:J,getAvailableMinutes:ne,getAvailableSeconds:re}=Bx(B,L,K),{timePickerOptions:Q,getAvailableTime:ce,onSetOption:we}=Lx({getAvailableHours:J,getAvailableMinutes:ne,getAvailableSeconds:re}),Se=ie=>ie?xe(ie)?ie.map(j=>ot(j,n.format).locale(s.value)):ot(ie,n.format).locale(s.value):null,le=()=>{if(xe(g))return g.map(j=>ot(j).locale(s.value));const ie=ot(g).locale(s.value);return[ie,ie.add(60,"m")]};return o("set-picker-option",["parseUserInput",Se]),o("set-picker-option",["isValidValue",A]),o("set-picker-option",["handleKeydownInput",M]),o("set-picker-option",["getDefaultValue",le]),o("set-picker-option",["getRangeAvailableTime",X]),o("set-picker-option",["handleCancel",S]),(ie,j)=>ie.actualVisible?(E(),z("div",{key:0,class:R([i(r).b("range-picker"),i(u).b("panel")])},[I("div",{class:R(i(r).be("range-picker","content"))},[I("div",{class:R(i(r).be("range-picker","cell"))},[I("div",{class:R(i(r).be("range-picker","header"))},me(i(l)("el.datepicker.startTime")),3),I("div",{class:R(p.value)},[Z(Fh,{ref:"minSpinner",role:"start","show-seconds":k.value,"am-pm-mode":x.value,"arrow-control":i(d),"spinner-date":y.value,"disabled-hours":B,"disabled-minutes":L,"disabled-seconds":K,onChange:T,onSetOption:i(we),onSelectRange:V},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),I("div",{class:R(i(r).be("range-picker","cell"))},[I("div",{class:R(i(r).be("range-picker","header"))},me(i(l)("el.datepicker.endTime")),3),I("div",{class:R(m.value)},[Z(Fh,{ref:"maxSpinner",role:"end","show-seconds":k.value,"am-pm-mode":x.value,"arrow-control":i(d),"spinner-date":b.value,"disabled-hours":B,"disabled-minutes":L,"disabled-seconds":K,onChange:_,onSetOption:i(we),onSelectRange:P},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),I("div",{class:R(i(r).be("panel","footer"))},[I("button",{type:"button",class:R([i(r).be("panel","btn"),"cancel"]),onClick:j[0]||(j[0]=ee=>S())},me(i(l)("el.datepicker.cancel")),3),I("button",{type:"button",class:R([i(r).be("panel","btn"),"confirm"]),disabled:N.value,onClick:j[1]||(j[1]=ee=>$())},me(i(l)("el.datepicker.confirm")),11,PF)],2)],2)):se("v-if",!0)}}),AF=RF,yd={exports:{}},DF=yd.exports,P1;function LF(){return P1||(P1=1,(function(e,t){(function(n,o){e.exports=o()})(DF,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,l=/\d\d/,s=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,u={},c=function(m){return(m=+m)+(m>68?1900:2e3)},d=function(m){return function(y){this[m]=+y}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var b=y.match(/([+-]|\d\d)/g),w=60*b[1]+(+b[2]||0);return w===0?0:b[0]==="+"?-w:w})(m)}],v=function(m){var y=u[m];return y&&(y.indexOf?y:y.s.concat(y.f))},h=function(m,y){var b,w=u.meridiem;if(w){for(var S=1;S<=24;S+=1)if(m.indexOf(w(S,0,y))>-1){b=S>12;break}}else b=m===(y?"pm":"PM");return b},g={A:[r,function(m){this.afternoon=h(m,!1)}],a:[r,function(m){this.afternoon=h(m,!0)}],Q:[a,function(m){this.month=3*(m-1)+1}],S:[a,function(m){this.milliseconds=100*+m}],SS:[l,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[s,d("seconds")],ss:[s,d("seconds")],m:[s,d("minutes")],mm:[s,d("minutes")],H:[s,d("hours")],h:[s,d("hours")],HH:[s,d("hours")],hh:[s,d("hours")],D:[s,d("day")],DD:[l,d("day")],Do:[r,function(m){var y=u.ordinal,b=m.match(/\d+/);if(this.day=b[0],y)for(var w=1;w<=31;w+=1)y(w).replace(/\[|\]/g,"")===m&&(this.day=w)}],w:[s,d("week")],ww:[l,d("week")],M:[s,d("month")],MM:[l,d("month")],MMM:[r,function(m){var y=v("months"),b=(v("monthsShort")||y.map((function(w){return w.slice(0,3)}))).indexOf(m)+1;if(b<1)throw new Error;this.month=b%12||b}],MMMM:[r,function(m){var y=v("months").indexOf(m)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,d("year")],YY:[l,function(m){this.year=c(m)}],YYYY:[/\d{4}/,d("year")],Z:f,ZZ:f};function p(m){var y,b;y=m,b=u&&u.formats;for(var w=(m=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,D,N){var W=N&&N.toUpperCase();return D||b[N]||n[N]||b[W].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(V,H,P){return H||P.slice(1)}))}))).match(o),S=w.length,k=0;k-1)return new Date((M==="X"?1e3:1)*O);var K=p(M)(O),X=K.year,J=K.month,ne=K.day,re=K.hours,Q=K.minutes,ce=K.seconds,we=K.milliseconds,Se=K.zone,le=K.week,ie=new Date,j=ne||(X||J?1:ie.getDate()),ee=X||ie.getFullYear(),Y=0;X&&!J||(Y=J>0?J-1:ie.getMonth());var q,U=re||0,G=Q||0,te=ce||0,he=we||0;return Se?new Date(Date.UTC(ee,Y,j,U,G,te,he+60*Se.offset*1e3)):B?new Date(Date.UTC(ee,Y,j,U,G,te,he)):(q=new Date(ee,Y,j,U,G,te,he),le&&(q=L(q).week(le).toDate()),q)}catch{return new Date("")}})(x,_,$,b),this.init(),W&&W!==!0&&(this.$L=this.locale(W).$L),N&&x!=this.format(_)&&(this.$d=new Date("")),u={}}else if(_ instanceof Array)for(var V=_.length,H=1;H<=V;H+=1){T[1]=_[H-1];var P=b.apply(this,T);if(P.isValid()){this.$d=P.$d,this.$L=P.$L,this.init();break}H===V&&(this.$d=new Date(""))}else S.call(this,k)}}}))})(yd)),yd.exports}var VF=LF();const Gg=Al(VF);ot.extend(Gg);var BF=ve({name:"ElTimePicker",install:null,props:{...qg,isRange:Boolean},emits:[lt],setup(e,t){const n=F(),[o,a]=e.isRange?["timerange",AF]:["time",rf],l=s=>t.emit(lt,s);return xt(Ug,e.popperOptions),t.expose({focus:()=>{n.value?.focus()},blur:()=>{n.value?.blur()},handleOpen:()=>{n.value?.handleOpen()},handleClose:()=>{n.value?.handleClose()}}),()=>Z(_x,pt(e,{ref:n,type:o,format:e.format??"HH:mm:ss","onUpdate:modelValue":l}),{default:s=>Z(a,s,null)})}});const FF=ut(BF),$l=Te({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:Ca},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),zF={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},HF=["aria-label"],KF=["aria-label"];var WF=ve({name:"ElTag",__name:"tag",props:$l,emits:zF,setup(e,{emit:t}){const n=e,o=t,a=In(),{t:l}=_t(),s=ke("tag"),r=C(()=>{const{type:f,hit:v,effect:h,closable:g,round:p}=n;return[s.b(),s.is("closable",g),s.m(f||"primary"),s.m(a.value),s.m(h),s.is("hit",v),s.is("round",p)]}),u=f=>{o("close",f)},c=f=>{o("click",f)},d=f=>{f?.component?.subTree?.component?.bum&&(f.component.subTree.component.bum=null)};return(f,v)=>e.disableTransitions?(E(),z("span",{key:0,class:R(r.value),style:Be({backgroundColor:e.color}),onClick:c},[I("span",{class:R(i(s).e("content"))},[ue(f.$slots,"default")],2),e.closable?(E(),z("button",{key:0,"aria-label":i(l)("el.tag.close"),class:R(i(s).e("close")),type:"button",onClick:Xe(u,["stop"])},[Z(i(He),null,{default:ae(()=>[Z(i(la))]),_:1})],10,HF)):se("v-if",!0)],6)):(E(),fe(Zn,{key:1,name:`${i(s).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:d},{default:ae(()=>[I("span",{class:R(r.value),style:Be({backgroundColor:e.color}),onClick:c},[I("span",{class:R(i(s).e("content"))},[ue(f.$slots,"default")],2),e.closable?(E(),z("button",{key:0,"aria-label":i(l)("el.tag.close"),class:R(i(s).e("close")),type:"button",onClick:Xe(u,["stop"])},[Z(i(He),null,{default:ae(()=>[Z(i(la))]),_:1})],10,KF)):se("v-if",!0)],6)]),_:3},8,["name"]))}}),jF=WF;const wl=ut(jF),zx=Symbol("ElSelectGroup"),gc=Symbol("ElSelect"),uf={label:"label",value:"value",disabled:"disabled",options:"options"};function yc(e){const t=F({...uf,...e.props});let n={...e.props};return ge(()=>e.props,r=>{vn(r,n)||(t.value={...uf,...r},n={...r})},{deep:!0}),{aliasProps:t,getLabel:r=>En(r,t.value.label),getValue:r=>En(r,t.value.value),getDisabled:r=>En(r,t.value.disabled),getOptions:r=>En(r,t.value.options)}}const Hx=Te({name:String,id:String,modelValue:{type:oe([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:Rn,effect:{type:oe(String),default:"light"},disabled:{type:Boolean,default:void 0},clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:oe([String,Array,Object,Boolean]),default:""},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},popperOptions:{type:oe(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:oe(Function)},filterMethod:{type:oe(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:oe(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},teleported:ln.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Xt,default:el},fitInputWidth:Boolean,suffixIcon:{type:Xt,default:Qa},tagType:{...$l.type,default:"info"},tagEffect:{...$l.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:oe(String),values:Ja,default:"bottom-start"},fallbackPlacements:{type:oe(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:ln.appendTo,options:{type:oe(Array)},props:{type:oe(Object),default:()=>uf},...mr,...co(["ariaLabel"])}),UF={[lt]:e=>!0,[Et]:e=>!0,"popup-scroll":Iu.scroll,"end-reached":Iu["end-reached"],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},zh="ElOption",YF=Te({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean});function qF(e,t){const n=Fe(gc);n||dn(zh,"usage: ");const o=Fe(zx,{disabled:!1}),a=C(()=>d(Bn(n.props.modelValue),e.value)),l=C(()=>{if(n.props.multiple){const h=Bn(n.props.modelValue??[]);return!a.value&&h.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),s=C(()=>e.label??(st(e.value)?"":e.value)),r=C(()=>e.value||e.label||""),u=C(()=>e.disabled||t.groupDisabled||l.value),c=ct(),d=(h=[],g)=>{if(st(e.value)){const p=n.props.valueKey;return h&&h.some(m=>nn(En(m,p))===En(g,p))}else return h&&h.includes(g)},f=()=>{u.value||(n.states.hoveringIndex=n.optionsArray.indexOf(c.proxy))},v=h=>{t.visible=new RegExp(gg(h),"i").test(String(s.value))||e.created};return ge(()=>s.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),ge(()=>e.value,(h,g)=>{const{remote:p,valueKey:m}=n.props;if((p?h!==g:!vn(h,g))&&(n.onOptionDestroy(g,c.proxy),n.onOptionCreate(c.proxy)),!e.created&&!p){if(m&&st(h)&&st(g)&&h[m]===g[m])return;n.setSelected()}}),ge(()=>o.disabled,()=>{t.groupDisabled=o.disabled},{immediate:!0}),{select:n,currentLabel:s,currentValue:r,itemSelected:a,isDisabled:u,hoverItem:f,updateOption:v}}var GF=ve({name:zh,componentName:zh,props:YF,setup(e){const t=ke("select"),n=Jn(),o=C(()=>[t.be("dropdown","item"),t.is("disabled",i(u)),t.is("selected",i(r)),t.is("hovering",i(h))]),a=Kt({index:-1,groupDisabled:!1,visible:!0,hover:!1}),l=ei?null:"mousemove",{currentLabel:s,itemSelected:r,isDisabled:u,select:c,hoverItem:d,updateOption:f}=qF(e,a),{visible:v,hover:h}=An(a),g=ct().proxy;c.onOptionCreate(g),Ft(()=>{const y=g.value;Re(()=>{const{selected:b}=c.states,w=b.some(S=>S.value===g.value);c.states.cachedOptions.get(y)===g&&!w&&c.states.cachedOptions.delete(y)}),c.onOptionDestroy(y,g)});function p(){u.value||c.handleOptionSelect(g)}return{ns:t,id:n,containerKls:o,currentLabel:s,itemSelected:r,isDisabled:u,select:c,visible:v,hover:h,states:a,mouseMoveEventName:l,hoverItem:d,handleMousedown:y=>{let b=y.target;const w=y.currentTarget;for(;b&&b!==w;){if(er(b))return;b=b.parentElement}y.preventDefault()},updateOption:f,selectOptionClick:p}}});const XF=["id","aria-disabled","aria-selected"];function ZF(e,t,n,o,a,l){return Ye((E(),z("li",pt({id:e.id,class:e.containerKls,role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected},{[Ds(e.mouseMoveEventName)]:t[0]||(t[0]=(...s)=>e.hoverItem&&e.hoverItem(...s))},{onMousedown:t[1]||(t[1]=(...s)=>e.handleMousedown&&e.handleMousedown(...s)),onClick:t[2]||(t[2]=Xe((...s)=>e.selectOptionClick&&e.selectOptionClick(...s),["stop"]))}),[ue(e.$slots,"default",{},()=>[I("span",null,me(e.currentLabel),1)])],16,XF)),[[Bt,e.visible]])}var Xg=Dn(GF,[["render",ZF]]),JF=ve({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=ke("select"),n=F(),o=ct(),a=F([]);xt(zx,Kt({...An(e)}));const l=C(()=>a.value.some(c=>c.visible===!0)),s=c=>c.type.name==="ElOption"&&!!c.component?.proxy,r=c=>{const d=Bn(c),f=[];return d.forEach(v=>{tn(v)&&(s(v)?f.push(v.component.proxy):xe(v.children)&&v.children.length?f.push(...r(v.children)):v.component?.subTree&&f.push(...r(v.component.subTree)))}),f},u=()=>{a.value=r(o.subTree)};return at(()=>{u()}),rc(n,u,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:l,ns:t}}});function QF(e,t,n,o,a,l){return Ye((E(),z("ul",{ref:"groupRef",class:R(e.ns.be("group","wrap"))},[I("li",{class:R(e.ns.be("group","title"))},me(e.label),3),I("li",null,[I("ul",{class:R(e.ns.b("group"))},[ue(e.$slots,"default")],2)])],2)),[[Bt,e.visible]])}var Zg=Dn(JF,[["render",QF]]),e5=ve({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Fe(gc),t=ke("select"),n=C(()=>e.props.popperClass),o=C(()=>e.props.multiple),a=C(()=>e.props.fitInputWidth),l=F("");function s(){const r=e.selectRef?.offsetWidth;r?l.value=`${r-2}px`:l.value=""}return at(()=>{s(),cn(e.selectRef,s)}),{ns:t,minWidth:l,popperClass:n,isMultiple:o,isFitInputWidth:a}}});function t5(e,t,n,o,a,l){return E(),z("div",{class:R([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:Be({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(E(),z("div",{key:0,class:R(e.ns.be("dropdown","header"))},[ue(e.$slots,"header")],2)):se("v-if",!0),ue(e.$slots,"default"),e.$slots.footer?(E(),z("div",{key:1,class:R(e.ns.be("dropdown","footer"))},[ue(e.$slots,"footer")],2)):se("v-if",!0)],6)}var n5=Dn(e5,[["render",t5]]);const o5=(e,t)=>{const{t:n}=_t(),o=bn(),a=Jn(),l=ke("select"),s=ke("input"),r=Kt({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),u=F(),c=F(),d=F(),f=F(),v=F(),h=F(),g=F(),p=F(),m=F(),y=F(),b=F(),w=F(!1),S=F(),k=F(!1),{form:x,formItem:$}=Wn(),{inputId:T}=Ro(e,{formItemContext:$}),{valueOnClear:_,isEmptyValue:A}=hc(e),{isComposing:D,handleCompositionStart:N,handleCompositionUpdate:W,handleCompositionEnd:V}=vc({afterComposition:Ae=>At(Ae)}),H=pn(),{wrapperRef:P,isFocused:O,handleBlur:M}=Pl(v,{disabled:H,afterFocus(){e.automaticDropdown&&!w.value&&(w.value=!0,r.menuVisibleOnFocus=!0)},beforeBlur(Ae){return d.value?.isFocusInsideContent(Ae)||f.value?.isFocusInsideContent(Ae)},afterBlur(){w.value=!1,r.menuVisibleOnFocus=!1,e.validateEvent&&$?.validate?.("blur").catch(mt)}}),B=C(()=>xe(e.modelValue)?e.modelValue.length>0:!A(e.modelValue)),L=C(()=>x?.statusIcon??!1),K=C(()=>e.clearable&&!H.value&&B.value&&(O.value||r.inputHovering)),X=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),J=C(()=>l.is("reverse",!!(X.value&&w.value))),ne=C(()=>$?.validateState||""),re=C(()=>ne.value&&kp[ne.value]),Q=C(()=>e.remote?e.debounce:0),ce=C(()=>e.remote&&!r.inputValue&&r.options.size===0),we=C(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&r.inputValue&&r.options.size>0&&Se.value===0?e.noMatchText||n("el.select.noMatch"):r.options.size===0?e.noDataText||n("el.select.noData"):null),Se=C(()=>le.value.filter(Ae=>Ae.visible).length),le=C(()=>{const Ae=Array.from(r.options.values()),St=[];return r.optionValues.forEach(Ut=>{const an=Ae.findIndex(Mn=>Mn.value===Ut);an>-1&&St.push(Ae[an])}),St.length>=Ae.length?St:Ae}),ie=C(()=>Array.from(r.cachedOptions.values())),j=C(()=>{const Ae=le.value.filter(St=>!St.created).some(St=>St.currentLabel===r.inputValue);return e.filterable&&e.allowCreate&&r.inputValue!==""&&!Ae}),ee=()=>{e.filterable&&je(e.filterMethod)||e.filterable&&e.remote&&je(e.remoteMethod)||le.value.forEach(Ae=>{Ae.updateOption?.(r.inputValue)})},Y=In(),q=C(()=>["small"].includes(Y.value)?"small":"default"),U=C({get(){return w.value&&(e.loading||!ce.value||e.remote&&!!o.empty)&&(!k.value||!mo(r.previousQuery)||r.options.size>0)},set(Ae){w.value=Ae}}),G=C(()=>{if(e.multiple&&!It(e.modelValue))return Bn(e.modelValue).length===0&&!r.inputValue;const Ae=xe(e.modelValue)?e.modelValue[0]:e.modelValue;return e.filterable||It(Ae)?!r.inputValue:!0}),te=C(()=>{const Ae=e.placeholder??n("el.select.placeholder");return e.multiple||!B.value?Ae:r.selectedLabel}),he=ei?null:"mouseenter";ge(()=>e.modelValue,(Ae,St)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(r.inputValue="",pe("")),be(),!vn(Ae,St)&&e.validateEvent&&$?.validate("change").catch(mt)},{flush:"post",deep:!0}),ge(()=>w.value,Ae=>{Ae?pe(r.inputValue):(r.inputValue="",r.previousQuery=null,r.isBeforeHide=!0,r.menuVisibleOnFocus=!1)}),ge(()=>r.options.entries(),()=>{Lt&&(be(),e.defaultFirstOption&&(e.filterable||e.remote)&&Se.value&&de())},{flush:"post"}),ge([()=>r.hoveringIndex,le],([Ae])=>{We(Ae)&&Ae>-1?S.value=le.value[Ae]||{}:S.value={},le.value.forEach(St=>{St.hover=S.value===St})}),uo(()=>{r.isBeforeHide||ee()});const pe=Ae=>{r.previousQuery===Ae||D.value||(r.previousQuery=Ae,e.filterable&&je(e.filterMethod)?e.filterMethod(Ae):e.filterable&&e.remote&&je(e.remoteMethod)&&e.remoteMethod(Ae),e.defaultFirstOption&&(e.filterable||e.remote)&&Se.value?Re(de):Re($e))},de=()=>{const Ae=le.value.filter(an=>an.visible&&!an.disabled&&!an.states.groupDisabled),St=Ae.find(an=>an.created),Ut=Ae[0];r.hoveringIndex=Ge(le.value.map(an=>an.value),St||Ut)},be=()=>{if(e.multiple)r.selectedLabel="";else{const St=ye(xe(e.modelValue)?e.modelValue[0]:e.modelValue);r.selectedLabel=St.currentLabel,r.selected=[St];return}const Ae=[];It(e.modelValue)||Bn(e.modelValue).forEach(St=>{Ae.push(ye(St))}),r.selected=Ae},ye=Ae=>{let St;const Ut=du(Ae);for(let Mn=r.cachedOptions.size-1;Mn>=0;Mn--){const ko=ie.value[Mn];if(Ut?En(ko.value,e.valueKey)===En(Ae,e.valueKey):ko.value===Ae){St={index:le.value.filter(Vl=>!Vl.created).indexOf(ko),value:Ae,currentLabel:ko.currentLabel,get isDisabled(){return ko.isDisabled}};break}}if(St)return St;const an=r.selected.find(Mn=>Ut?En(Mn.value,e.valueKey)===En(Ae,e.valueKey):Mn.value===Ae);return{index:-1,value:Ae,currentLabel:Ut?Ae.label:an?an.currentLabel:Ae??""}},$e=()=>{const Ae=r.selected.length;if(Ae>0){const St=r.selected[Ae-1];r.hoveringIndex=le.value.findIndex(Ut=>Ie(St)===Ie(Ut))}else r.hoveringIndex=-1},Pe=()=>{r.selectionWidth=Number.parseFloat(window.getComputedStyle(c.value).width)},et=()=>{r.collapseItemWidth=y.value.getBoundingClientRect().width},tt=()=>{d.value?.updatePopper?.()},qe=()=>{f.value?.updatePopper?.()},$t=()=>{r.inputValue.length>0&&!w.value&&(w.value=!0),pe(r.inputValue)},At=Ae=>{if(r.inputValue=Ae.target.value,e.remote)k.value=!0,Wt();else return $t()},Wt=sc(()=>{$t(),k.value=!1},Q),Rt=Ae=>{vn(e.modelValue,Ae)||t(Et,Ae)},qt=Ae=>Kk(Ae,St=>{const Ut=r.cachedOptions.get(St);return!Ut?.disabled&&!Ut?.states.groupDisabled}),Ce=Ae=>{const St=Zt(Ae);if(e.multiple&&St!==Ee.delete&&Ae.target.value.length<=0){const Ut=Bn(e.modelValue).slice(),an=qt(Ut);if(an<0)return;const Mn=Ut[an];Ut.splice(an,1),t(lt,Ut),Rt(Ut),t("remove-tag",Mn)}},Ne=(Ae,St)=>{const Ut=r.selected.indexOf(St);if(Ut>-1&&!H.value){const an=Bn(e.modelValue).slice();an.splice(Ut,1),t(lt,an),Rt(an),t("remove-tag",St.value)}Ae.stopPropagation(),Ot()},Je=Ae=>{Ae.stopPropagation();const St=e.multiple?[]:_.value;if(e.multiple)for(const Ut of r.selected)Ut.isDisabled&&St.push(Ut.value);t(lt,St),Rt(St),r.hoveringIndex=-1,w.value=!1,t("clear"),Ot()},_e=Ae=>{if(e.multiple){const St=Bn(e.modelValue??[]).slice(),Ut=Ge(St,Ae);Ut>-1?St.splice(Ut,1):(e.multipleLimit<=0||St.length{Ve(Ae)})},Ge=(Ae,St)=>It(St)?-1:st(St.value)?Ae.findIndex(Ut=>vn(En(Ut,e.valueKey),Ie(St))):Ae.indexOf(St.value),Ve=Ae=>{const St=xe(Ae)?Ae[Ae.length-1]:Ae;let Ut=null;if(!yn(St?.value)){const an=le.value.filter(Mn=>Mn.value===St.value);an.length>0&&(Ut=an[0].$el)}if(d.value&&Ut){const an=d.value?.popperRef?.contentRef?.querySelector?.(`.${l.be("dropdown","wrap")}`);an&&wg(an,Ut)}b.value?.handleScroll()},nt=Ae=>{r.options.set(Ae.value,Ae),r.cachedOptions.set(Ae.value,Ae)},ht=(Ae,St)=>{r.options.get(Ae)===St&&r.options.delete(Ae)},rt=C(()=>d.value?.popperRef?.contentRef),Ct=()=>{r.isBeforeHide=!1,Re(()=>{b.value?.update(),Ve(r.selected)})},Ot=()=>{v.value?.focus()},vt=()=>{if(w.value){w.value=!1,Re(()=>v.value?.blur());return}v.value?.blur()},Qt=Ae=>{Je(Ae)},gn=Ae=>{if(w.value=!1,O.value){const St=new FocusEvent("blur",Ae);Re(()=>M(St))}},Ke=()=>{r.inputValue.length>0?r.inputValue="":w.value=!1},Qe=Ae=>{H.value||e.filterable&&w.value&&Ae&&!g.value?.contains(Ae.target)||(ei&&(r.inputHovering=!0),r.menuVisibleOnFocus?r.menuVisibleOnFocus=!1:w.value=!w.value)},it=()=>{if(!w.value)Qe();else{const Ae=le.value[r.hoveringIndex];Ae&&!Ae.isDisabled&&_e(Ae)}},Ie=Ae=>st(Ae.value)?En(Ae.value,e.valueKey):Ae.value,Ze=C(()=>le.value.filter(Ae=>Ae.visible).every(Ae=>Ae.isDisabled)),Ue=C(()=>e.multiple?e.collapseTags?r.selected.slice(0,e.maxCollapseTags):r.selected:[]),Vt=C(()=>e.multiple?e.collapseTags?r.selected.slice(e.maxCollapseTags):[]:[]),Jt=Ae=>{if(!w.value){w.value=!0;return}if(!(r.options.size===0||Se.value===0||D.value)&&!Ze.value){Ae==="next"?(r.hoveringIndex++,r.hoveringIndex===r.options.size&&(r.hoveringIndex=0)):Ae==="prev"&&(r.hoveringIndex--,r.hoveringIndex<0&&(r.hoveringIndex=r.options.size-1));const St=le.value[r.hoveringIndex];(St.isDisabled||!St.visible)&&Jt(Ae),Re(()=>Ve(S.value))}},wn=(Ae,St,Ut,an)=>{for(let Mn=St;Mn>=0&&Mn{const Ut=r.options.size;if(Ut===0)return;const an=To(Ae,0,Ut-1),Mn=le.value,ko=St==="up"?-1:1,Vl=wn(Mn,an,ko,Ut)??wn(Mn,an-ko,-ko,Ut);Vl!=null&&(r.hoveringIndex=Vl,Re(()=>Ve(S.value)))},Co=Ae=>{const St=Zt(Ae);let Ut=!0;switch(St){case Ee.up:Jt("prev");break;case Ee.down:Jt("next");break;case Ee.enter:case Ee.numpadEnter:D.value||it();break;case Ee.esc:Ke();break;case Ee.backspace:Ut=!1,Ce(Ae);return;case Ee.home:if(!w.value)return;Qn(0,"down");break;case Ee.end:if(!w.value)return;Qn(r.options.size-1,"up");break;case Ee.pageUp:if(!w.value)return;Qn(r.hoveringIndex-10,"up");break;case Ee.pageDown:if(!w.value)return;Qn(r.hoveringIndex+10,"down");break;default:Ut=!1;break}Ut&&(Ae.preventDefault(),Ae.stopPropagation())},Ta=()=>{if(!c.value)return 0;const Ae=window.getComputedStyle(c.value);return Number.parseFloat(Ae.gap||"6px")},Ll=C(()=>{const Ae=Ta(),St=e.filterable?Ae+11:0;return{maxWidth:`${y.value&&e.maxCollapseTags===1?r.selectionWidth-r.collapseItemWidth-Ae-St:r.selectionWidth-St}px`}}),yr=C(()=>({maxWidth:`${r.selectionWidth}px`})),ol=Ae=>{t("popup-scroll",Ae)},Kp=Ae=>{t("end-reached",Ae)};cn(c,Pe),cn(P,tt),cn(m,qe),cn(y,et);let br;return ge(()=>U.value,Ae=>{Ae?br=cn(p,tt).stop:(br?.(),br=void 0),t("visible-change",Ae)}),at(()=>{be()}),{inputId:T,contentId:a,nsSelect:l,nsInput:s,states:r,isFocused:O,expanded:w,optionsArray:le,hoverOption:S,selectSize:Y,filteredOptionsCount:Se,updateTooltip:tt,updateTagTooltip:qe,debouncedOnInputChange:Wt,onInput:At,deletePrevTag:Ce,deleteTag:Ne,deleteSelected:Je,handleOptionSelect:_e,scrollToOption:Ve,hasModelValue:B,shouldShowPlaceholder:G,currentPlaceholder:te,mouseEnterEventName:he,needStatusIcon:L,showClearBtn:K,iconComponent:X,iconReverse:J,validateState:ne,validateIcon:re,showNewOption:j,updateOptions:ee,collapseTagSize:q,setSelected:be,selectDisabled:H,emptyText:we,handleCompositionStart:N,handleCompositionUpdate:W,handleCompositionEnd:V,handleKeydown:Co,onOptionCreate:nt,onOptionDestroy:ht,handleMenuEnter:Ct,focus:Ot,blur:vt,handleClearClick:Qt,handleClickOutside:gn,handleEsc:Ke,toggleMenu:Qe,selectOption:it,getValueKey:Ie,navigateOptions:Jt,dropdownMenuVisible:U,showTagList:Ue,collapseTagList:Vt,popupScroll:ol,getOption:ye,endReached:Kp,tagStyle:Ll,collapseTagStyle:yr,popperRef:rt,inputRef:v,tooltipRef:d,tagTooltipRef:f,prefixRef:h,suffixRef:g,selectRef:u,wrapperRef:P,selectionRef:c,scrollbarRef:b,menuRef:p,tagMenuRef:m,collapseItemRef:y}};var a5=ve({name:"ElOptions",setup(e,{slots:t}){const n=Fe(gc);let o=[];return()=>{const a=t.default?.(),l=[];function s(r){xe(r)&&r.forEach(u=>{const c=(u?.type||{})?.name;c==="ElOptionGroup"?s(!ze(u.children)&&!xe(u.children)&&je(u.children?.default)?u.children?.default():u.children):c==="ElOption"?l.push(u.props?.value):xe(u.children)&&s(u.children)})}return a.length&&s(a[0]?.children),vn(l,o)||(o=l,n&&(n.states.optionValues=l)),a}}});const R1="ElSelect",Ou=new WeakMap,l5=e=>(...t)=>{const n=t[0];if(!n||n.includes('Slot "default" invoked outside of the render function')&&t[2]?.includes("ElTreeSelect"))return;const o=Ou.get(e)?.originalWarnHandler;if(o){o(...t);return}console.warn(...t)},s5=e=>{let t=Ou.get(e);return t||(t={originalWarnHandler:e.config.warnHandler,handler:l5(e),count:0},Ou.set(e,t)),t};var r5=ve({name:R1,componentName:R1,components:{ElSelectMenu:n5,ElOption:Xg,ElOptions:a5,ElOptionGroup:Zg,ElTag:wl,ElScrollbar:wa,ElTooltip:Kn,ElIcon:He},directives:{ClickOutside:ds},props:Hx,emits:UF,setup(e,{emit:t,slots:n}){const o=ct(),a=s5(o.appContext);a.count+=1,o.appContext.config.warnHandler=a.handler;const l=C(()=>{const{modelValue:b,multiple:w}=e,S=w?[]:void 0;return xe(b)?w?b:S:w?S:b}),s=Kt({...An(e),modelValue:l}),r=o5(s,t),{calculatorRef:u,inputStyle:c}=mg(),{getLabel:d,getValue:f,getOptions:v,getDisabled:h}=yc(e),g=b=>({label:d(b),value:f(b),disabled:h(b)}),p=b=>b.reduce((w,S)=>(w.push(S),S.children&&S.children.length>0&&w.push(...p(S.children)),w),[]),m=b=>{Fo(b||[]).forEach(w=>{if(st(w)&&(w.type.name==="ElOption"||w.type.name==="ElTree")){const S=w.type.name;if(S==="ElTree")p(w.props?.data||[]).forEach(k=>{k.currentLabel=k.label??(st(k.value)?"":k.value),r.onOptionCreate(k)});else if(S==="ElOption"){const k={...w.props};k.currentLabel=k.label??(st(k.value)?"":k.value),r.onOptionCreate(k)}}})};ge(()=>[e.persistent||r.expanded.value||!n.default?void 0:n.default?.(),l.value],()=>{e.persistent||r.expanded.value||n.default&&(r.states.options.clear(),m(n.default?.()))},{immediate:!0}),xt(gc,Kt({props:s,states:r.states,selectRef:r.selectRef,optionsArray:r.optionsArray,setSelected:r.setSelected,handleOptionSelect:r.handleOptionSelect,onOptionCreate:r.onOptionCreate,onOptionDestroy:r.onOptionDestroy}));const y=C(()=>e.multiple?r.states.selected.map(b=>b.currentLabel):r.states.selectedLabel);return Ft(()=>{const b=Ou.get(o.appContext);b&&(b.count-=1,b.count<=0&&(o.appContext.config.warnHandler=b.originalWarnHandler,Ou.delete(o.appContext)))}),{...r,modelValue:l,selectedLabel:y,calculatorRef:u,inputStyle:c,getLabel:d,getValue:f,getOptions:v,getDisabled:h,getOptionProps:g}}});const i5=["id","value","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],u5=["textContent"],c5={key:1};function d5(e,t,n,o,a,l){const s=yt("el-tag"),r=yt("el-tooltip"),u=yt("el-icon"),c=yt("el-option"),d=yt("el-option-group"),f=yt("el-options"),v=yt("el-scrollbar"),h=yt("el-select-menu"),g=jm("click-outside");return Ye((E(),z("div",pt({ref:"selectRef",class:[e.nsSelect.b(),e.nsSelect.m(e.selectSize)]},{[Ds(e.mouseEnterEventName)]:t[11]||(t[11]=p=>e.states.inputHovering=!0)},{onMouseleave:t[12]||(t[12]=p=>e.states.inputHovering=!1)}),[Z(r,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[10]||(t[10]=p=>e.states.isBeforeHide=!1)},{default:ae(()=>[I("div",{ref:"wrapperRef",class:R([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[7]||(t[7]=Xe((...p)=>e.toggleMenu&&e.toggleMenu(...p),["prevent"]))},[e.$slots.prefix?(E(),z("div",{key:0,ref:"prefixRef",class:R(e.nsSelect.e("prefix"))},[ue(e.$slots,"prefix")],2)):se("v-if",!0),I("div",{ref:"selectionRef",class:R([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?ue(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),z(Me,null,dt(e.showTagList,p=>(E(),z("div",{key:e.getValueKey(p),class:R(e.nsSelect.e("selected-item"))},[Z(s,{closable:!e.selectDisabled&&!p.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Be(e.tagStyle),onClose:m=>e.deleteTag(m,p)},{default:ae(()=>[I("span",{class:R(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:p.index,label:p.currentLabel,value:p.value},()=>[Oe(me(p.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(E(),fe(r,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:ae(()=>[I("div",{ref:"collapseItemRef",class:R(e.nsSelect.e("selected-item"))},[Z(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Be(e.collapseTagStyle)},{default:ae(()=>[I("span",{class:R(e.nsSelect.e("tags-text"))}," + "+me(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:ae(()=>[I("div",{ref:"tagMenuRef",class:R(e.nsSelect.e("selection"))},[(E(!0),z(Me,null,dt(e.collapseTagList,p=>(E(),z("div",{key:e.getValueKey(p),class:R(e.nsSelect.e("selected-item"))},[Z(s,{class:"in-tooltip",closable:!e.selectDisabled&&!p.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:m=>e.deleteTag(m,p)},{default:ae(()=>[I("span",{class:R(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:p.index,label:p.currentLabel,value:p.value},()=>[Oe(me(p.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):se("v-if",!0)]):se("v-if",!0),I("div",{class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||e.multiple&&!e.states.inputValue&&!e.isFocused)])},[I("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,type:"text",name:e.name,class:R([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:Be(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":e.hoverOption?.id||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:t[0]||(t[0]=(...p)=>e.handleKeydown&&e.handleKeydown(...p)),onCompositionstart:t[1]||(t[1]=(...p)=>e.handleCompositionStart&&e.handleCompositionStart(...p)),onCompositionupdate:t[2]||(t[2]=(...p)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...p)),onCompositionend:t[3]||(t[3]=(...p)=>e.handleCompositionEnd&&e.handleCompositionEnd(...p)),onInput:t[4]||(t[4]=(...p)=>e.onInput&&e.onInput(...p)),onChange:t[5]||(t[5]=Xe(()=>{},["stop"])),onClick:t[6]||(t[6]=Xe((...p)=>e.toggleMenu&&e.toggleMenu(...p),["stop"]))},null,46,i5),e.filterable?(E(),z("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:R(e.nsSelect.e("input-calculator")),textContent:me(e.states.inputValue)},null,10,u5)):se("v-if",!0)],2),e.shouldShowPlaceholder?(E(),z("div",{key:1,class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?ue(e.$slots,"label",{key:0,index:e.getOption(e.modelValue).index,label:e.currentPlaceholder,value:e.modelValue},()=>[I("span",null,me(e.currentPlaceholder),1)]):(E(),z("span",c5,me(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),I("div",{ref:"suffixRef",class:R(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(E(),fe(u,{key:0,class:R([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:ae(()=>[(E(),fe(ft(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),fe(u,{key:1,class:R([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:ae(()=>[(E(),fe(ft(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),fe(u,{key:2,class:R([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:ae(()=>[(E(),fe(ft(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]),content:ae(()=>[Z(h,{ref:"menuRef"},{default:ae(()=>[e.$slots.header?(E(),z("div",{key:0,class:R(e.nsSelect.be("dropdown","header")),onClick:t[8]||(t[8]=Xe(()=>{},["stop"]))},[ue(e.$slots,"header")],2)):se("v-if",!0),Ye(Z(v,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:R([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll,onEndReached:e.endReached},{default:ae(()=>[e.showNewOption?(E(),fe(c,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):se("v-if",!0),Z(f,null,{default:ae(()=>[ue(e.$slots,"default",{},()=>[(E(!0),z(Me,null,dt(e.options,(p,m)=>(E(),z(Me,{key:m},[e.getOptions(p)?.length?(E(),fe(d,{key:0,label:e.getLabel(p),disabled:e.getDisabled(p)},{default:ae(()=>[(E(!0),z(Me,null,dt(e.getOptions(p),y=>(E(),fe(c,pt({key:e.getValue(y)},{ref_for:!0},e.getOptionProps(y)),null,16))),128))]),_:2},1032,["label","disabled"])):(E(),fe(c,pt({key:1,ref_for:!0},e.getOptionProps(p)),null,16))],64))),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll","onEndReached"]),[[Bt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(E(),z("div",{key:1,class:R(e.nsSelect.be("dropdown","loading"))},[ue(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(E(),z("div",{key:2,class:R(e.nsSelect.be("dropdown","empty"))},[ue(e.$slots,"empty",{},()=>[I("span",null,me(e.emptyText),1)])],2)):se("v-if",!0),e.$slots.footer?(E(),z("div",{key:3,class:R(e.nsSelect.be("dropdown","footer")),onClick:t[9]||(t[9]=Xe(()=>{},["stop"]))},[ue(e.$slots,"footer")],2)):se("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],16)),[[g,e.handleClickOutside,e.popperRef]])}var f5=Dn(r5,[["render",d5]]);const fs=ut(f5,{Option:Xg,OptionGroup:Zg}),cf=fn(Xg),p5=fn(Zg),v5=(e,t)=>{const n=e.subtract(1,"month").endOf("month").date();return ts(t).map((o,a)=>n-(t-a-1))},h5=e=>ts(e.daysInMonth()).map((t,n)=>n+1),m5=e=>ts(e.length/7).map(t=>{const n=t*7;return e.slice(n,n+7)}),g5=Te({selectedDay:{type:oe(Object)},range:{type:oe(Array)},date:{type:oe(Object),required:!0},hideHeader:{type:Boolean}}),y5={pick:e=>st(e)};var bd={exports:{}},b5=bd.exports,A1;function w5(){return A1||(A1=1,(function(e,t){(function(n,o){e.exports=o()})(b5,(function(){return function(n,o,a){var l=o.prototype,s=function(f){return f&&(f.indexOf?f:f.s)},r=function(f,v,h,g,p){var m=f.name?f:f.$locale(),y=s(m[v]),b=s(m[h]),w=y||b.map((function(k){return k.slice(0,g)}));if(!p)return w;var S=m.weekStart;return w.map((function(k,x){return w[(x+(S||0))%7]}))},u=function(){return a.Ls[a.locale()]},c=function(f,v){return f.formats[v]||(function(h){return h.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(g,p,m){return p||m.slice(1)}))})(f.formats[v.toUpperCase()])},d=function(){var f=this;return{months:function(v){return v?v.format("MMMM"):r(f,"months")},monthsShort:function(v){return v?v.format("MMM"):r(f,"monthsShort","months",3)},firstDayOfWeek:function(){return f.$locale().weekStart||0},weekdays:function(v){return v?v.format("dddd"):r(f,"weekdays")},weekdaysMin:function(v){return v?v.format("dd"):r(f,"weekdaysMin","weekdays",2)},weekdaysShort:function(v){return v?v.format("ddd"):r(f,"weekdaysShort","weekdays",3)},longDateFormat:function(v){return c(f.$locale(),v)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};l.localeData=function(){return d.bind(this)()},a.localeData=function(){var f=u();return{firstDayOfWeek:function(){return f.weekStart||0},weekdays:function(){return a.weekdays()},weekdaysShort:function(){return a.weekdaysShort()},weekdaysMin:function(){return a.weekdaysMin()},months:function(){return a.months()},monthsShort:function(){return a.monthsShort()},longDateFormat:function(v){return c(f,v)},meridiem:f.meridiem,ordinal:f.ordinal}},a.months=function(){return r(u(),"months")},a.monthsShort=function(){return r(u(),"monthsShort","months",3)},a.weekdays=function(f){return r(u(),"weekdays",null,null,f)},a.weekdaysShort=function(f){return r(u(),"weekdaysShort","weekdays",3,f)},a.weekdaysMin=function(f){return r(u(),"weekdaysMin","weekdays",2,f)}}}))})(bd)),bd.exports}var S5=w5();const Kx=Al(S5),C5=(e,t)=>{ot.extend(Kx);const n=ot.localeData().firstDayOfWeek(),{t:o,lang:a}=_t(),l=ot().locale(a.value),s=C(()=>!!e.range&&!!e.range.length),r=C(()=>{let v=[];if(s.value){const[h,g]=e.range,p=ts(g.date()-h.date()+1).map(b=>({text:h.date()+b,type:"current"}));let m=p.length%7;m=m===0?0:7-m;const y=ts(m).map((b,w)=>({text:w+1,type:"next"}));v=p.concat(y)}else{const h=e.date.startOf("month").day(),g=v5(e.date,(h-n+7)%7).map(y=>({text:y,type:"prev"})),p=h5(e.date).map(y=>({text:y,type:"current"}));v=[...g,...p];const m=ts(7-(v.length%7||7)).map((y,b)=>({text:b+1,type:"next"}));v=v.concat(m)}return m5(v)}),u=C(()=>{const v=n;return v===0?ov.map(h=>o(`el.datepicker.weeks.${h}`)):ov.slice(v).concat(ov.slice(0,v)).map(h=>o(`el.datepicker.weeks.${h}`))}),c=(v,h)=>{switch(h){case"prev":return e.date.startOf("month").subtract(1,"month").date(v);case"next":return e.date.startOf("month").add(1,"month").date(v);case"current":return e.date.date(v)}};return{now:l,isInRange:s,rows:r,weekDays:u,getFormattedDate:c,handlePickDay:({text:v,type:h})=>{t("pick",c(v,h))},getSlotData:({text:v,type:h})=>{const g=c(v,h);return{isSelected:g.isSame(e.selectedDay),type:`${h}-month`,day:g.format(Or),date:g.toDate()}}}},k5={key:0},x5=["onClick"];var E5=ve({name:"DateTable",__name:"date-table",props:g5,emits:y5,setup(e,{expose:t,emit:n}){const o=e,{isInRange:a,now:l,rows:s,weekDays:r,getFormattedDate:u,handlePickDay:c,getSlotData:d}=C5(o,n),f=ke("calendar-table"),v=ke("calendar-day"),h=({text:g,type:p})=>{const m=[p];if(p==="current"){const y=u(g,p);y.isSame(o.selectedDay,"day")&&m.push(v.is("selected")),y.isSame(l,"day")&&m.push(v.is("today"))}return m};return t({getFormattedDate:u}),(g,p)=>(E(),z("table",{class:R([i(f).b(),i(f).is("range",i(a))]),cellspacing:"0",cellpadding:"0"},[e.hideHeader?se("v-if",!0):(E(),z("thead",k5,[I("tr",null,[(E(!0),z(Me,null,dt(i(r),m=>(E(),z("th",{key:m,scope:"col"},me(m),1))),128))])])),I("tbody",null,[(E(!0),z(Me,null,dt(i(s),(m,y)=>(E(),z("tr",{key:y,class:R({[i(f).e("row")]:!0,[i(f).em("row","hide-border")]:y===0&&e.hideHeader})},[(E(!0),z(Me,null,dt(m,(b,w)=>(E(),z("td",{key:w,class:R(h(b)),onClick:S=>i(c)(b)},[I("div",{class:R(i(v).b())},[ue(g.$slots,"date-cell",{data:i(d)(b)},()=>[I("span",null,me(b.text),1)])],2)],10,x5))),128))],2))),128))])],2))}}),D1=E5;const $5=(e,t)=>{const n=e.endOf("month"),o=t.startOf("month"),a=n.isSame(o,"week")?o.add(1,"week"):o;return[[e,n],[a.startOf("week"),t]]},T5=(e,t)=>{const n=e.endOf("month"),o=e.add(1,"month").startOf("month"),a=n.isSame(o,"week")?o.add(1,"week"):o,l=a.endOf("month"),s=t.startOf("month"),r=l.isSame(s,"week")?s.add(1,"week"):s;return[[e,n],[a.startOf("week"),l],[r.startOf("week"),t]]},_5=(e,t,n)=>{const{lang:o}=_t(),a=F(),l=ot().locale(o.value),s=C({get(){return e.modelValue?u.value:a.value},set(y){if(!y)return;a.value=y;const b=y.toDate();t(Nn,b),t(lt,b)}}),r=C(()=>{if(!e.range||!xe(e.range)||e.range.length!==2||e.range.some(w=>!ns(w)))return[];const[y,b]=e.range.map(w=>ot(w).locale(o.value));return y.isAfter(b)?(Yt(n,"end time should be greater than start time"),[]):y.isSame(b,"month")||y.add(1,"month").isSame(b,"month")?h(y,b):(Yt(n,"start time and end time interval must not exceed two months"),[])}),u=C(()=>e.modelValue?ot(e.modelValue).locale(o.value):s.value||(r.value.length?r.value[0][0]:l)),c=C(()=>u.value.subtract(1,"month").date(1)),d=C(()=>u.value.add(1,"month").date(1)),f=C(()=>u.value.subtract(1,"year").date(1)),v=C(()=>u.value.add(1,"year").date(1)),h=(y,b)=>{const w=y.startOf("week"),S=b.endOf("week"),k=w.get("month"),x=S.get("month");return k===x?[[w,S]]:(k+1)%12===x?$5(w,S):k+2===x||(k+1)%11===x?T5(w,S):(Yt(n,"start time and end time interval must not exceed two months"),[])},g=y=>{s.value=y},p=y=>{const b={"prev-month":c.value,"next-month":d.value,"prev-year":f.value,"next-year":v.value,today:l}[y];b.isSame(u.value,"day")||g(b)};return{calculateValidatedDateRange:h,date:u,realSelectedDay:s,pickDay:g,selectDate:p,validatedRange:r,handleDateChange:y=>{y==="today"?p("today"):g(y)}}},N5=Te({date:{type:oe(Object),required:!0},formatter:{type:oe(Function)}}),I5={"date-change":e=>st(e)||ze(e)};var O5=ve({name:"SelectController",__name:"select-controller",props:N5,emits:I5,setup(e,{emit:t}){const n=e,o=t,a=ke("calendar-select"),{t:l,lang:s}=_t(),r=Array.from({length:12},(g,p)=>{const m=p+1;return{value:m,label:je(n.formatter)?n.formatter(m,"month"):m}}),u=C(()=>n.date.year()),c=C(()=>n.date.month()+1),d=C(()=>{const g=[];for(let p=-10;p<10;p++){const m=u.value+p;if(m>0){const y=je(n.formatter)?n.formatter(m,"year"):m;g.push({value:m,label:y})}}return g}),f=g=>{o("date-change",ot(new Date(g,c.value-1,1)).locale(s.value))},v=g=>{o("date-change",ot(new Date(u.value,g-1,1)).locale(s.value))},h=()=>{o("date-change","today")};return(g,p)=>(E(),z(Me,null,[Z(i(fs),{"model-value":u.value,size:"small",class:R(i(a).e("year")),"validate-event":!1,options:d.value,onChange:f},null,8,["model-value","class","options"]),Z(i(fs),{"model-value":c.value,size:"small",class:R(i(a).e("month")),"validate-event":!1,options:i(r),onChange:v},null,8,["model-value","class","options"]),Z(i(zn),{size:"small",onClick:h},{default:ae(()=>[Oe(me(i(l)("el.datepicker.today")),1)]),_:1})],64))}}),M5=O5;const L1="ElCalendar";var P5=ve({name:L1,__name:"calendar",props:rF,emits:iF,setup(e,{expose:t,emit:n}){const o=ke("calendar"),{calculateValidatedDateRange:a,date:l,pickDay:s,realSelectedDay:r,selectDate:u,validatedRange:c,handleDateChange:d}=_5(e,n,L1),{t:f}=_t(),v=C(()=>{const h=`el.datepicker.month${l.value.format("M")}`;return`${l.value.year()} ${f("el.datepicker.year")} ${f(h)}`});return t({selectedDay:r,pickDay:s,selectDate:u,calculateValidatedDateRange:a}),(h,g)=>(E(),z("div",{class:R(i(o).b())},[I("div",{class:R(i(o).e("header"))},[ue(h.$slots,"header",{date:v.value},()=>[I("div",{class:R(i(o).e("title"))},me(v.value),3),i(c).length===0&&e.controllerType==="button"?(E(),z("div",{key:0,class:R(i(o).e("button-group"))},[Z(i(Sx),null,{default:ae(()=>[Z(i(zn),{size:"small",onClick:g[0]||(g[0]=p=>i(u)("prev-month"))},{default:ae(()=>[Oe(me(i(f)("el.datepicker.prevMonth")),1)]),_:1}),Z(i(zn),{size:"small",onClick:g[1]||(g[1]=p=>i(u)("today"))},{default:ae(()=>[Oe(me(i(f)("el.datepicker.today")),1)]),_:1}),Z(i(zn),{size:"small",onClick:g[2]||(g[2]=p=>i(u)("next-month"))},{default:ae(()=>[Oe(me(i(f)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):i(c).length===0&&e.controllerType==="select"?(E(),z("div",{key:1,class:R(i(o).e("select-controller"))},[Z(M5,{date:i(l),formatter:e.formatter,onDateChange:i(d)},null,8,["date","formatter","onDateChange"])],2)):se("v-if",!0)])],2),i(c).length===0?(E(),z("div",{key:0,class:R(i(o).e("body"))},[Z(D1,{date:i(l),"selected-day":i(r),onPick:i(s)},bo({_:2},[h.$slots["date-cell"]?{name:"date-cell",fn:ae(p=>[ue(h.$slots,"date-cell",ml(yl(p)))]),key:"0"}:void 0]),1032,["date","selected-day","onPick"])],2)):(E(),z("div",{key:1,class:R(i(o).e("body"))},[(E(!0),z(Me,null,dt(i(c),(p,m)=>(E(),fe(D1,{key:m,date:p[0],"selected-day":i(r),range:p,"hide-header":m!==0,onPick:i(s)},bo({_:2},[h.$slots["date-cell"]?{name:"date-cell",fn:ae(y=>[ue(h.$slots,"date-cell",pt({ref_for:!0},y))]),key:"0"}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}}),R5=P5;const A5=ut(R5),D5=Te({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:oe([String,Object,Array,Boolean]),default:""},headerClass:{type:oe([String,Array,Object,Boolean]),default:void 0},bodyClass:{type:oe([String,Array,Object,Boolean]),default:void 0},footerClass:{type:oe([String,Array,Object,Boolean]),default:void 0},shadow:{type:String,values:["always","hover","never"],default:void 0}});var L5=ve({name:"ElCard",__name:"card",props:D5,setup(e){const t=Rl("card"),n=ke("card");return(o,a)=>(E(),z("div",{class:R([i(n).b(),i(n).is(`${e.shadow||i(t)?.shadow||"always"}-shadow`)])},[o.$slots.header||e.header?(E(),z("div",{key:0,class:R([i(n).e("header"),e.headerClass])},[ue(o.$slots,"header",{},()=>[Oe(me(e.header),1)])],2)):se("v-if",!0),I("div",{class:R([i(n).e("body"),e.bodyClass]),style:Be(e.bodyStyle)},[ue(o.$slots,"default")],6),o.$slots.footer||e.footer?(E(),z("div",{key:1,class:R([i(n).e("footer"),e.footerClass])},[ue(o.$slots,"footer",{},()=>[Oe(me(e.footer),1)])],2)):se("v-if",!0)],2))}}),V5=L5;const B5=ut(V5),F5=Te({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},cardScale:{type:Number,default:.83},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:Boolean}),z5={change:(e,t)=>[e,t].every(We)},Wx=Symbol("carouselContextKey"),df="ElCarouselItem",H5=Te({name:{type:String,default:""},label:{type:[String,Number],default:""}}),V1=300,K5=(e,t,n)=>{const{children:o,addChild:a,removeChild:l,ChildrenSorter:s}=wp(ct(),df),r=bn(),u=F(-1),c=F(null),d=F(!1),f=F(),v=F(0),h=F(!0),g=C(()=>e.arrow!=="never"&&!i(y)),p=C(()=>o.value.some(re=>re.props.label.toString().length>0)),m=C(()=>e.type==="card"),y=C(()=>e.direction==="vertical"),b=C(()=>e.height!=="auto"?{height:e.height}:{height:`${v.value}px`,overflow:"hidden"}),w=Xl(re=>{_(re)},V1,{trailing:!0}),S=Xl(re=>{O(re)},V1),k=re=>h.value?u.value<=1?re<=1:re>1:!0;function x(){c.value&&(clearInterval(c.value),c.value=null)}function $(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>T(),e.interval))}const T=()=>{u.valueSe.props.name===re);we.length>0&&(re=o.value.indexOf(we[0]))}if(re=Number(re),Number.isNaN(re)||re!==Math.floor(re)){Yt(n,"index must be integer.");return}const Q=o.value.length,ce=u.value;re<0?u.value=e.loop?Q-1:0:re>=Q?u.value=e.loop?0:Q-1:u.value=re,ce===u.value&&A(ce),L()}function A(re){o.value.forEach((Q,ce)=>{Q.translateItem(ce,u.value,re)})}function D(re,Q){const ce=i(o),we=ce.length;if(we===0||!re.states.inStage)return!1;const Se=Q+1,le=Q-1,ie=we-1,j=ce[ie].states.active,ee=ce[0].states.active,Y=ce[Se]?.states?.active,q=ce[le]?.states?.active;return Q===ie&&ee||Y?"left":Q===0&&j||q?"right":!1}function N(){d.value=!0,e.pauseOnHover&&x()}function W(){d.value=!1,$()}function V(re){i(y)||o.value.forEach((Q,ce)=>{re===D(Q,ce)&&(Q.states.hover=!0)})}function H(){i(y)||o.value.forEach(re=>{re.states.hover=!1})}function P(re){u.value=re}function O(re){e.trigger==="hover"&&re!==u.value&&(u.value=re)}function M(){_(u.value-1)}function B(){_(u.value+1)}function L(){x(),(!e.pauseOnHover||!d.value)&&$()}function K(re){e.height==="auto"&&(v.value=re)}function X(){const re=r.default?.();if(!re)return null;const Q=Fo(re).filter(ce=>tn(ce)&&ce.type.name==="ElCarouselItem");return Q?.length===2&&e.loop&&!m.value?(h.value=!0,Q):(h.value=!1,null)}ge(()=>u.value,(re,Q)=>{A(Q),h.value&&(re=re%2,Q=Q%2),Q>-1&&t(Et,re,Q)});const J=C({get:()=>h.value?u.value%2:u.value,set:re=>u.value=re});ge(()=>e.autoplay,re=>{re?$():x()}),ge(()=>e.loop,()=>{_(u.value)}),ge(()=>e.interval,()=>{L()});const ne=kt();return at(()=>{ge(()=>o.value,()=>{o.value.length>0&&_(e.initialIndex)},{immediate:!0}),ne.value=cn(f.value,()=>{A()}),$()}),Ft(()=>{x(),f.value&&ne.value&&ne.value.stop()}),xt(Wx,{root:f,isCardType:m,isVertical:y,items:o,loop:e.loop,cardScale:e.cardScale,addItem:a,removeItem:l,setActiveItem:_,setContainerHeight:K}),{root:f,activeIndex:u,exposeActiveIndex:J,arrowDisplay:g,hasLabel:p,hover:d,isCardType:m,items:o,isVertical:y,containerStyle:b,isItemsTwoLength:h,handleButtonEnter:V,handleButtonLeave:H,handleIndicatorClick:P,handleMouseEnter:N,handleMouseLeave:W,setActiveItem:_,prev:M,next:B,PlaceholderItem:X,isTwoLengthShow:k,ItemsSorter:s,throttledArrowClick:w,throttledIndicatorHover:S}},W5=["aria-label"],j5=["aria-label"],U5=["onMouseenter","onClick"],Y5=["aria-label"],q5={key:0},G5={key:2,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},B1="ElCarousel";var X5=ve({name:B1,__name:"carousel",props:F5,emits:z5,setup(e,{expose:t,emit:n}){const o=e,{root:a,activeIndex:l,exposeActiveIndex:s,arrowDisplay:r,hasLabel:u,hover:c,isCardType:d,items:f,isVertical:v,containerStyle:h,handleButtonEnter:g,handleButtonLeave:p,handleIndicatorClick:m,handleMouseEnter:y,handleMouseLeave:b,setActiveItem:w,prev:S,next:k,PlaceholderItem:x,isTwoLengthShow:$,ItemsSorter:T,throttledArrowClick:_,throttledIndicatorHover:A}=K5(o,n,B1),D=ke("carousel"),{t:N}=_t(),W=C(()=>{const O=[D.b(),D.m(o.direction)];return i(d)&&O.push(D.m("card")),O.push(D.is("vertical-outside",i(v)&&o.indicatorPosition==="outside")),O}),V=C(()=>{const O=[D.e("indicators"),D.em("indicators",o.direction)];return i(u)&&O.push(D.em("indicators","labels")),o.indicatorPosition==="outside"&&O.push(D.em("indicators","outside")),i(v)&&O.push(D.em("indicators","right")),O});function H(O){if(!o.motionBlur)return;const M=i(v)?`${D.namespace.value}-transitioning-vertical`:`${D.namespace.value}-transitioning`;O.currentTarget.classList.add(M)}function P(O){if(!o.motionBlur)return;const M=i(v)?`${D.namespace.value}-transitioning-vertical`:`${D.namespace.value}-transitioning`;O.currentTarget.classList.remove(M)}return t({activeIndex:s,setActiveItem:w,prev:S,next:k}),(O,M)=>(E(),z("div",{ref_key:"root",ref:a,class:R(W.value),onMouseenter:M[6]||(M[6]=Xe((...B)=>i(y)&&i(y)(...B),["stop"])),onMouseleave:M[7]||(M[7]=Xe((...B)=>i(b)&&i(b)(...B),["stop"]))},[i(r)?(E(),fe(Zn,{key:0,name:"carousel-arrow-left",persisted:""},{default:ae(()=>[Ye(I("button",{type:"button",class:R([i(D).e("arrow"),i(D).em("arrow","left")]),"aria-label":i(N)("el.carousel.leftArrow"),onMouseenter:M[0]||(M[0]=B=>i(g)("left")),onMouseleave:M[1]||(M[1]=(...B)=>i(p)&&i(p)(...B)),onClick:M[2]||(M[2]=Xe(B=>i(_)(i(l)-1),["stop"]))},[Z(i(He),null,{default:ae(()=>[Z(i(El))]),_:1})],42,W5),[[Bt,(e.arrow==="always"||i(c))&&(e.loop||i(l)>0)]])]),_:1})):se("v-if",!0),i(r)?(E(),fe(Zn,{key:1,name:"carousel-arrow-right",persisted:""},{default:ae(()=>[Ye(I("button",{type:"button",class:R([i(D).e("arrow"),i(D).em("arrow","right")]),"aria-label":i(N)("el.carousel.rightArrow"),onMouseenter:M[3]||(M[3]=B=>i(g)("right")),onMouseleave:M[4]||(M[4]=(...B)=>i(p)&&i(p)(...B)),onClick:M[5]||(M[5]=Xe(B=>i(_)(i(l)+1),["stop"]))},[Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})],42,j5),[[Bt,(e.arrow==="always"||i(c))&&(e.loop||i(l)[e.indicatorPosition!=="none"?(E(),z("ul",{key:0,class:R(V.value)},[(E(!0),z(Me,null,dt(i(f),(B,L)=>Ye((E(),z("li",{key:L,class:R([i(D).e("indicator"),i(D).em("indicator",e.direction),i(D).is("active",L===i(l))]),onMouseenter:K=>i(A)(L),onClick:Xe(K=>i(m)(L),["stop"])},[I("button",{class:R(i(D).e("button")),"aria-label":i(N)("el.carousel.indicator",{index:L+1})},[i(u)?(E(),z("span",q5,me(B.props.label),1)):se("v-if",!0)],10,Y5)],42,U5)),[[Bt,i($)(L)]])),128))],2)):se("v-if",!0)]),_:1}),e.motionBlur?(E(),z("svg",G5,[...M[8]||(M[8]=[I("defs",null,[I("filter",{id:"elCarouselHorizontal"},[I("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),I("filter",{id:"elCarouselVertical"},[I("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1)])])):se("v-if",!0)],34))}}),Z5=X5;const J5=e=>{const t=Fe(Wx),n=ct();t||Yt(df,"usage: "),n||Yt(df,"compositional hook can only be invoked inside setups");const o=F(),a=F(!1),l=F(0),s=F(1),r=F(!1),u=F(!1),c=F(!1),d=F(!1),{isCardType:f,isVertical:v,cardScale:h}=t;function g(S,k,x){const $=x-1,T=k-1,_=k+1,A=x/2;return k===0&&S===$?-1:k===$&&S===0?x:S=A?x+1:S>_&&S-k>=A?-2:S}function p(S,k){const x=i(v)?t.root.value?.offsetHeight||0:t.root.value?.offsetWidth||0;return c.value?x*((2-h)*(S-k)+1)/4:S{const $=i(f),T=t.items.value.length??NaN,_=S===k;!$&&!It(x)&&(d.value=_||S===x),!_&&T>2&&t.loop&&(S=g(S,k,T));const A=i(v);r.value=_,$?(c.value=Math.round(Math.abs(S-k))<=1,l.value=p(S,k),s.value=i(r)?1:h):l.value=m(S,k,A),u.value=!0,_&&o.value&&t.setContainerHeight(o.value.offsetHeight)};function b(){if(t&&i(f)){const S=t.items.value.findIndex(({uid:k})=>k===n.uid);t.setActiveItem(S)}}const w={props:e,states:Kt({hover:a,translate:l,scale:s,active:r,ready:u,inStage:c,animating:d}),uid:n.uid,getVnode:()=>n.vnode,translateItem:y};return t.addItem(w),Ft(()=>{t.removeItem(w)}),{carouselItemRef:o,active:r,animating:d,hover:a,inStage:c,isVertical:v,translate:l,isCardType:f,scale:s,ready:u,handleItemClick:b}};var Q5=ve({name:df,__name:"carousel-item",props:H5,setup(e){const t=e,n=ke("carousel"),{carouselItemRef:o,active:a,animating:l,hover:s,inStage:r,isVertical:u,translate:c,isCardType:d,scale:f,ready:v,handleItemClick:h}=J5(t),g=C(()=>[n.e("item"),n.is("active",a.value),n.is("in-stage",r.value),n.is("hover",s.value),n.is("animating",l.value),{[n.em("item","card")]:d.value,[n.em("item","card-vertical")]:d.value&&u.value}]),p=C(()=>({transform:[`${`translate${i(u)?"Y":"X"}`}(${i(c)}px)`,`scale(${i(f)})`].join(" ")}));return(m,y)=>Ye((E(),z("div",{ref_key:"carouselItemRef",ref:o,class:R(g.value),style:Be(p.value),onClick:y[0]||(y[0]=(...b)=>i(h)&&i(h)(...b))},[i(d)?Ye((E(),z("div",{key:0,class:R(i(n).e("mask"))},null,2)),[[Bt,!i(a)]]):se("v-if",!0),ue(m.$slots,"default")],6)),[[Bt,i(v)]])}}),jx=Q5;const ez=ut(Z5,{CarouselItem:jx}),tz=fn(jx),Ux=Te({modelValue:{type:oe([Number,String,Array,Object])},options:{type:oe(Array),default:()=>[]},props:{type:oe(Object),default:()=>({})},virtualScroll:Boolean,itemSize:{type:Number,default:34},height:{type:Number,default:204}}),nz={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:mt,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},oz=Te({...Ux,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),F1=e=>!0,az={[lt]:F1,[Et]:F1,close:()=>!0,"expand-change":e=>e},lz=e=>C(()=>({...nz,...e.props})),ff="itemRendered",pf="scroll",kv="end-reached",vf="forward",sz="backward",Qo="auto",Mu="start",Va="center",rz="horizontal",Yx="vertical",Pu="negative",Jg="positive-ascending",Qg="positive-descending",iz={[rz]:"left",[Yx]:"top"},Hh=xa({type:oe([Number,Function]),required:!0}),Kh=xa({type:Number}),Wh=xa({type:Number,default:2}),uz=xa({type:String,values:["ltr","rtl"],default:"ltr"}),jh=xa({type:Number,default:0}),hf=xa({type:Number,required:!0}),qx=xa({type:String,values:["horizontal","vertical"],default:Yx}),Gx=Te({className:{type:oe([String,Array,Object,Boolean]),default:""},containerElement:{type:oe([String,Object]),default:"div"},data:{type:oe(Array),default:()=>hn([])},direction:uz,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},innerProps:{type:oe(Object),default:()=>({})},style:{type:oe([Object,String,Array,Boolean]),default:void 0},useIsScrolling:Boolean,width:{type:[Number,String],required:!1},innerWidth:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),Xx=Te({cache:Wh,estimatedItemSize:Kh,layout:qx,initScrollOffset:jh,total:hf,itemSize:Hh,...Gx}),Uh={type:Number,default:6},Zx={type:Number,default:0},Jx={type:Number,default:2},Ws=Te({columnCache:Wh,columnWidth:Hh,estimatedColumnWidth:Kh,estimatedRowHeight:Kh,initScrollLeft:jh,initScrollTop:jh,itemKey:{type:oe(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:Wh,rowHeight:Hh,totalColumn:hf,totalRow:hf,hScrollbarSize:Uh,vScrollbarSize:Uh,scrollbarStartGap:Zx,scrollbarEndGap:Jx,role:String,...Gx}),Qx=Te({alwaysOn:Boolean,class:{type:oe([String,Array,Object,Boolean]),default:""},layout:qx,total:hf,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:Uh,startGap:Zx,endGap:Jx,visible:Boolean}),Wi=(e,t)=>ee==="ltr"||e==="rtl"||e==="horizontal",z1=e=>e==="rtl";let xr=null;function mf(e=!1){if(xr===null||e){const t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";const o=document.createElement("div"),a=o.style;return a.width="100px",a.height="100px",t.appendChild(o),document.body.appendChild(t),t.scrollLeft>0?xr=Qg:(t.scrollLeft=1,t.scrollLeft===0?xr=Pu:xr=Jg),document.body.removeChild(t),xr}return xr}function cz({move:e,size:t,bar:n},o){const a={},l=`translate${n.axis}(${e}px)`;return a[n.size]=t,a.transform=l,o==="horizontal"?a.height="100%":a.width="100%",a}var H1=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function dz(e,t){return!!(e===t||H1(e)&&H1(t))}function fz(e,t){if(e.length!==t.length)return!1;for(var n=0;n{const e=ct().proxy.$props;return C(()=>{const t=(n,o,a)=>({});return e.perfMode?lp(t):pz(t)})},tE=({atEndEdge:e,atStartEdge:t,layout:n},o)=>{let a,l=0;const s=u=>u<0&&t.value||u>0&&e.value;return{hasReachedEdge:s,onWheel:u=>{ba(a);let{deltaX:c,deltaY:d}=u;u.shiftKey&&d!==0&&(c=d,d=0);const f=n.value==="horizontal"?c:d;s(f)||(l+=f,!fp()&&f!==0&&u.preventDefault(),a=Po(()=>{o(l),l=0}))}}},Yh=ve({name:"ElVirtualScrollBar",props:Qx,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const n=C(()=>e.startGap+e.endGap),o=ke("virtual-scrollbar"),a=ke("scrollbar"),l=F(),s=F();let r=null,u=null;const c=Kt({isDragging:!1,traveled:0}),d=C(()=>cx[e.layout]),f=C(()=>e.clientSize-i(n)),v=C(()=>({position:"absolute",width:`${e.layout==="horizontal"?f.value:e.scrollbarSize}px`,height:`${e.layout==="horizontal"?e.scrollbarSize:f.value}px`,[iz[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),h=C(()=>{const x=e.ratio;if(x>=100)return Number.POSITIVE_INFINITY;if(x>=50)return x*f.value/100;const $=f.value/3;return Math.floor(Math.min(Math.max(x*f.value/100,20),$))}),g=C(()=>{if(!Number.isFinite(h.value))return{display:"none"};const x=`${h.value}px`;return cz({bar:d.value,size:x,move:c.traveled},e.layout)}),p=C(()=>Math.ceil(e.clientSize-h.value-i(n))),m=()=>{window.addEventListener("mousemove",S),window.addEventListener("mouseup",w);const x=i(s);x&&(u=document.onselectstart,document.onselectstart=()=>!1,x.addEventListener("touchmove",S,{passive:!0}),x.addEventListener("touchend",w))},y=()=>{window.removeEventListener("mousemove",S),window.removeEventListener("mouseup",w),document.onselectstart=u,u=null;const x=i(s);x&&(x.removeEventListener("touchmove",S),x.removeEventListener("touchend",w))},b=x=>{x.stopImmediatePropagation(),!(x.ctrlKey||[1,2].includes(x.button))&&(c.isDragging=!0,c[d.value.axis]=x.currentTarget[d.value.offset]-(x[d.value.client]-x.currentTarget.getBoundingClientRect()[d.value.direction]),t("start-move"),m())},w=()=>{c.isDragging=!1,c[d.value.axis]=0,t("stop-move"),y()},S=x=>{const{isDragging:$}=c;if(!$||!s.value||!l.value)return;const T=c[d.value.axis];if(!T)return;ba(r);const _=(l.value.getBoundingClientRect()[d.value.direction]-x[d.value.client])*-1-(s.value[d.value.offset]-T);r=Po(()=>{c.traveled=Math.max(0,Math.min(_,p.value)),t("scroll",_,p.value)})},k=x=>{const $=Math.abs(x.target.getBoundingClientRect()[d.value.direction]-x[d.value.client])-s.value[d.value.offset]/2;c.traveled=Math.max(0,Math.min($,p.value)),t("scroll",$,p.value)};return ge(()=>e.scrollFrom,x=>{c.isDragging||(c.traveled=Math.ceil(x*p.value))}),Ft(()=>{y()}),()=>Le("div",{role:"presentation",ref:l,class:[o.b(),e.class,(e.alwaysOn||c.isDragging)&&"always-on"],style:v.value,onMousedown:Xe(k,["stop","prevent"]),onTouchstartPrevent:b},Le("div",{ref:s,class:a.e("thumb"),style:g.value,onMousedown:b},[]))}}),nE=({name:e,getOffset:t,getItemSize:n,getItemOffset:o,getEstimatedTotalSize:a,getStartIndexForOffset:l,getStopIndexForStartIndex:s,initCache:r,clearCache:u,validateProps:c})=>ve({name:e??"ElVirtualList",props:Xx,emits:[ff,pf,kv],setup(d,{emit:f,expose:v}){c(d);const h=ct(),g=ke("vl"),p=F(r(d,h)),m=eE(),y=F(),b=F(),w=F(),S=F({isScrolling:!1,scrollDir:vf,scrollOffset:We(d.initScrollOffset)?d.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1}),k=C(()=>{const{total:j,cache:ee}=d,{isScrolling:Y,scrollDir:q,scrollOffset:U}=i(S);if(j===0)return[0,0,0,0];const G=l(d,U,i(p)),te=s(d,G,U,i(p)),he=!Y||q==="backward"?Math.max(1,ee):1,pe=!Y||q==="forward"?Math.max(1,ee):1;return[Math.max(0,G-he),Math.max(0,Math.min(j-1,te+pe)),G,te]}),x=C(()=>a(d,i(p))),$=C(()=>Ru(d.layout)),T=C(()=>[{position:"relative",[`overflow-${$.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:d.direction,height:We(d.height)?`${d.height}px`:d.height,width:We(d.width)?`${d.width}px`:d.width},d.style]),_=C(()=>{const j=i(x),ee=i($),Y=d.innerWidth;return{height:ee?"100%":`${j}px`,pointerEvents:i(S).isScrolling?"none":void 0,width:ee?`${j}px`:Y!==void 0?We(Y)?`${Y}px`:Y:"100%",margin:0,boxSizing:"border-box"}}),A=C(()=>$.value?d.width:d.height),D=C(()=>Math.max(0,x.value-A.value)),N=j=>cp(j,0,D.value),W=1,V=j=>({start:!Ha(j,0,W),end:!Ha(D.value,j,W)}),H=C(()=>N(S.value.scrollOffset)),P=C(()=>V(H.value));let O=P.value;const{onWheel:M}=tE({atStartEdge:C(()=>P.value.start),atEndEdge:C(()=>P.value.end),layout:C(()=>d.layout)},j=>{w.value.onMouseUp?.(),Q(Math.min(S.value.scrollOffset+j,D.value))});jt(y,"wheel",M,{passive:!1});const B=()=>{const{total:j}=d;if(j>0){const[U,G,te,he]=i(k);f(ff,U,G,te,he)}const{scrollDir:ee,scrollOffset:Y,updateRequested:q}=i(S);f(pf,ee,Y,q)},L=(j,ee)=>{const Y=V(ee),q=d.direction==="rtl"?"left":"right",U=d.direction==="rtl"?"right":"left";j==="forward"&&Y.end&&!O.end&&f(kv,$.value?q:"bottom"),j==="backward"&&Y.start&&!O.start&&f(kv,$.value?U:"top"),O=Y},K=(j,{isScrolling:ee,updateRequested:Y})=>{const q=i(S),U=Math.max(j,0);if(U===q.scrollOffset)return;const G=Wi(q.scrollOffset,U);S.value={...q,isScrolling:ee,scrollDir:G,scrollOffset:U,updateRequested:Y},L(G,N(U)),Re(Se)},X=j=>{const{clientHeight:ee,scrollHeight:Y,scrollTop:q}=j.currentTarget;i(S).scrollOffset!==q&&K(Math.min(q,Y-ee),{isScrolling:!0,updateRequested:!1})},J=j=>{const{clientWidth:ee,scrollLeft:Y,scrollWidth:q}=j.currentTarget;if(i(S).scrollOffset===Y)return;const{direction:U}=d;let G=Y;if(U==="rtl")switch(mf()){case Pu:G=-Y;break;case Qg:G=q-ee-Y;break}K(Math.min(G,q-ee),{isScrolling:!0,updateRequested:!1})},ne=j=>{i($)?J(j):X(j),B()},re=(j,ee)=>{const Y=D.value/ee*j;Q(Math.min(D.value,Y))},Q=j=>{K(j,{isScrolling:i(S).isScrolling,updateRequested:!0})},ce=(j,ee=Qo)=>{const{scrollOffset:Y}=i(S);j=Math.max(0,Math.min(j,d.total-1)),Q(t(d,j,ee,Y,i(p)))},we=j=>{const{direction:ee,itemSize:Y,layout:q}=d,U=m.value(u&&Y,u&&q,u&&ee);let G;if(zt(U,String(j)))G=U[j];else{const te=o(d,j,i(p)),he=n(d,j,i(p)),pe=i($),de=ee==="rtl",be=pe?te:0;U[j]=G={position:"absolute",left:de?void 0:`${be}px`,right:de?`${be}px`:void 0,top:pe?0:`${te}px`,height:pe?"100%":`${he}px`,width:pe?`${he}px`:"100%"}}return G},Se=()=>{S.value.isScrolling=!1,Re(()=>{m.value(-1,null,null)})},le=()=>{const j=y.value;j&&(j.scrollTop=0)};at(()=>{if(!Lt)return;const{initScrollOffset:j}=d,ee=i(y);We(j)&&ee&&(i($)?ee.scrollLeft=j:ee.scrollTop=j),B()}),Sa(()=>{const{direction:j,layout:ee}=d,{scrollOffset:Y,updateRequested:q}=i(S),U=i(y);if(q&&U)if(ee==="horizontal")if(j==="rtl")switch(mf()){case Pu:U.scrollLeft=-Y;break;case Jg:U.scrollLeft=Y;break;default:{const{clientWidth:G,scrollWidth:te}=U;U.scrollLeft=te-G-Y;break}}else U.scrollLeft=Y;else U.scrollTop=Y}),Ju(()=>{i(y).scrollTop=i(S).scrollOffset}),ge(D,()=>{O=P.value});const ie={ns:g,clientSize:A,estimatedTotalSize:x,windowStyle:T,windowRef:y,innerRef:b,innerStyle:_,itemsToRender:k,scrollbarRef:w,states:S,getItemStyle:we,onScroll:ne,onScrollbarScroll:re,onWheel:M,scrollTo:Q,scrollToItem:ce,resetScrollTop:le};return v({windowRef:y,innerRef:b,getItemStyleCache:m,scrollTo:Q,scrollToItem:ce,resetScrollTop:le,states:S}),ie},render(d){const{$slots:f,className:v,clientSize:h,containerElement:g,data:p,getItemStyle:m,innerElement:y,itemsToRender:b,innerStyle:w,layout:S,scrollbarAlwaysOn:k,total:x,onScroll:$,onScrollbarScroll:T,states:_,useIsScrolling:A,windowStyle:D,ns:N}=d,[W,V]=b,H=ft(g),P=ft(y),O=[];if(x>0)for(let K=W;K<=V;K++)O.push(Le(Me,{key:K},f.default?.({data:p,index:K,isScrolling:A?_.isScrolling:void 0,style:m(K)})));const M=[Le(P,pt(d.innerProps,{style:w,ref:"innerRef"}),ze(P)?O:{default:()=>O})],B=Le(Yh,{ref:"scrollbarRef",clientSize:h,layout:S,onScroll:T,ratio:h*100/this.estimatedTotalSize,scrollFrom:_.scrollOffset/(this.estimatedTotalSize-h),total:x,alwaysOn:k}),L=Le(H,{class:[N.e("window"),v],style:D,onScroll:$,ref:"windowRef",key:0},ze(H)?[M]:{default:()=>[M]});return Le("div",{key:0,class:[N.e("wrapper"),k?"always-on":""]},[L,B])}}),bc=nE({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:n,layout:o,width:a},l,s,r)=>{const u=Ru(o)?a:e;ze(u)&&dn("[ElVirtualList]",` + You should set + width/height + to number when your layout is + horizontal/vertical + `);const c=Math.max(0,t*n-u),d=Math.min(c,l*n),f=Math.max(0,(l+1)*n-u);switch(s==="smart"&&(r>=f-u&&r<=d+u?s=Qo:s=Va),s){case Mu:return d;case"end":return f;case Va:{const v=Math.round(f+(d-f)/2);return vc+Math.floor(u/2)?c:v}case Qo:default:return r>=f&&r<=d?r:rMath.max(0,Math.min(e-1,Math.floor(n/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:n,layout:o,width:a},l,s)=>{const r=l*n,u=Ru(o)?a:e,c=Math.ceil((u+s-r)/n);return Math.max(0,Math.min(t-1,l+c-1))},initCache(){},clearCache:!0,validateProps(){}}),vz="ElDynamicSizeList",Mr=(e,t,n)=>{const{itemSize:o}=e,{items:a,lastVisitedIndex:l}=n;if(t>l){let s=0;if(l>=0){const r=a[l];s=r.offset+r.size}for(let r=l+1;r<=t;r++){const u=o(r);a[r]={offset:s,size:u},s+=u}n.lastVisitedIndex=t}return a[t]},hz=(e,t,n)=>{const{items:o,lastVisitedIndex:a}=t;return(a>0?o[a].offset:0)>=n?oE(e,t,0,a,n):mz(e,t,Math.max(0,a),n)},oE=(e,t,n,o,a)=>{for(;n<=o;){const l=n+Math.floor((o-n)/2),s=Mr(e,l,t).offset;if(s===a)return l;sa&&(o=l-1)}return Math.max(0,n-1)},mz=(e,t,n,o)=>{const{total:a}=e;let l=1;for(;n{let a=0;if(o>=e&&(o=e-1),o>=0){const s=t[o];a=s.offset+s.size}const l=(e-o-1)*n;return a+l},gz=nE({name:"ElDynamicSizeList",getItemOffset:(e,t,n)=>Mr(e,t,n).offset,getItemSize:(e,t,{items:n})=>n[t].size,getEstimatedTotalSize:K1,getOffset:(e,t,n,o,a)=>{const{height:l,layout:s,width:r}=e,u=Ru(s)?r:l,c=Mr(e,t,a),d=K1(e,a),f=Math.max(0,Math.min(d-u,c.offset)),v=Math.max(0,c.offset-u+c.size);switch(n==="smart"&&(o>=v-u&&o<=f+u?n=Qo:n=Va),n){case Mu:return f;case"end":return v;case Va:return Math.round(v+(f-v)/2);case Qo:default:return o>=v&&o<=f?o:ohz(e,n,t),getStopIndexForStartIndex:(e,t,n,o)=>{const{height:a,total:l,layout:s,width:r}=e,u=Ru(s)?r:a,c=Mr(e,t,o),d=n+u;let f=c.offset+c.size,v=t;for(;v{n.lastVisitedIndex=Math.min(n.lastVisitedIndex,o-1),t.exposed?.getItemStyleCache(-1),a&&t.proxy?.$forceUpdate()},n},clearCache:!1,validateProps:({itemSize:e})=>{typeof e!="function"&&dn(vz,` + itemSize is required as function, but the given value was ${typeof e} + `)}}),yz=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:n,atYStartEdge:o},a)=>{let l=null,s=0,r=0;const u=(d,f)=>{const v=d<0&&t.value||d>0&&e.value,h=f<0&&o.value||f>0&&n.value;return v||h};return{hasReachedEdge:u,onWheel:d=>{ba(l);let f=d.deltaX,v=d.deltaY;if(Math.abs(f)>Math.abs(v)?v=0:f=0,d.shiftKey&&v!==0&&(f=v,v=0),u(f,v)){d.deltaX!==0&&f===0&&d.preventDefault();return}s+=f,r+=v,d.preventDefault(),l=Po(()=>{a(s,r),s=0,r=0})}}},bz=(e,t,n,o,a,l,s)=>{const r=F(0),u=F(0);let c,d=0,f=0;const v=g=>{ba(c),r.value=g.touches[0].clientX,u.value=g.touches[0].clientY,d=0,f=0},h=g=>{g.preventDefault(),ba(c),d+=r.value-g.touches[0].clientX,f+=u.value-g.touches[0].clientY,r.value=g.touches[0].clientX,u.value=g.touches[0].clientY,c=Po(()=>{const p=o.value-i(l),m=a.value-i(s);n({scrollLeft:Math.min(t.value.scrollLeft+d,p),scrollTop:Math.min(t.value.scrollTop+f,m)}),d=0,f=0})};return jt(e,"touchstart",v,{passive:!0}),jt(e,"touchmove",h,{passive:!1}),{touchStartX:r,touchStartY:u,handleTouchStart:v,handleTouchMove:h}},aE=({name:e,clearCache:t,getColumnPosition:n,getColumnStartIndexForOffset:o,getColumnStopIndexForStartIndex:a,getEstimatedTotalHeight:l,getEstimatedTotalWidth:s,getColumnOffset:r,getRowOffset:u,getRowPosition:c,getRowStartIndexForOffset:d,getRowStopIndexForStartIndex:f,initCache:v,injectToInstance:h,validateProps:g})=>ve({name:e??"ElVirtualList",props:Ws,emits:[ff,pf],setup(p,{emit:m,expose:y,slots:b}){const w=ke("vl");g(p);const S=ct(),k=F(v(p,S));h?.(S,k);const x=F(),$=F(),T=F(),_=F(),A=F({isScrolling:!1,scrollLeft:We(p.initScrollLeft)?p.initScrollLeft:0,scrollTop:We(p.initScrollTop)?p.initScrollTop:0,updateRequested:!1,xAxisScrollDir:vf,yAxisScrollDir:vf}),D=eE(),N=C(()=>Number.parseInt(`${p.height}`,10)),W=C(()=>Number.parseInt(`${p.width}`,10)),V=C(()=>{const{totalColumn:de,totalRow:be,columnCache:ye}=p,{isScrolling:$e,xAxisScrollDir:Pe,scrollLeft:et}=i(A);if(de===0||be===0)return[0,0,0,0];const tt=o(p,et,i(k)),qe=a(p,tt,et,i(k)),$t=!$e||Pe==="backward"?Math.max(1,ye):1,At=!$e||Pe==="forward"?Math.max(1,ye):1;return[Math.max(0,tt-$t),Math.max(0,Math.min(de-1,qe+At)),tt,qe]}),H=C(()=>{const{totalColumn:de,totalRow:be,rowCache:ye}=p,{isScrolling:$e,yAxisScrollDir:Pe,scrollTop:et}=i(A);if(de===0||be===0)return[0,0,0,0];const tt=d(p,et,i(k)),qe=f(p,tt,et,i(k)),$t=!$e||Pe==="backward"?Math.max(1,ye):1,At=!$e||Pe==="forward"?Math.max(1,ye):1;return[Math.max(0,tt-$t),Math.max(0,Math.min(be-1,qe+At)),tt,qe]}),P=C(()=>l(p,i(k))),O=C(()=>s(p,i(k))),M=C(()=>[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:p.direction,height:We(p.height)?`${p.height}px`:p.height,width:We(p.width)?`${p.width}px`:p.width},p.style??{}]),B=C(()=>{const de=`${i(O)}px`;return{height:`${i(P)}px`,pointerEvents:i(A).isScrolling?"none":void 0,width:de,margin:0,boxSizing:"border-box"}}),L=()=>{const{totalColumn:de,totalRow:be}=p;if(de>0&&be>0){const[qe,$t,At,Wt]=i(V),[Rt,qt,Ce,Ne]=i(H);m(ff,{columnCacheStart:qe,columnCacheEnd:$t,rowCacheStart:Rt,rowCacheEnd:qt,columnVisibleStart:At,columnVisibleEnd:Wt,rowVisibleStart:Ce,rowVisibleEnd:Ne})}const{scrollLeft:ye,scrollTop:$e,updateRequested:Pe,xAxisScrollDir:et,yAxisScrollDir:tt}=i(A);m(pf,{xAxisScrollDir:et,scrollLeft:ye,yAxisScrollDir:tt,scrollTop:$e,updateRequested:Pe})},K=de=>{const{clientHeight:be,clientWidth:ye,scrollHeight:$e,scrollLeft:Pe,scrollTop:et,scrollWidth:tt}=de.currentTarget,qe=i(A);if(qe.scrollTop===et&&qe.scrollLeft===Pe)return;let $t=Pe;if(z1(p.direction))switch(mf()){case Pu:$t=-Pe;break;case Qg:$t=tt-ye-Pe;break}A.value={...qe,isScrolling:!0,scrollLeft:$t,scrollTop:Math.max(0,Math.min(et,$e-be)),updateRequested:!0,xAxisScrollDir:Wi(qe.scrollLeft,$t),yAxisScrollDir:Wi(qe.scrollTop,et)},Re(()=>j()),ee(),L()},X=(de,be)=>{const ye=i(N),$e=(P.value-ye)/be*de;re({scrollTop:Math.min(P.value-ye,$e)})},J=(de,be)=>{const ye=i(W),$e=(O.value-ye)/be*de;re({scrollLeft:Math.min(O.value-ye,$e)})},{onWheel:ne}=yz({atXStartEdge:C(()=>A.value.scrollLeft<=0),atXEndEdge:C(()=>A.value.scrollLeft>=O.value-i(W)),atYStartEdge:C(()=>A.value.scrollTop<=0),atYEndEdge:C(()=>A.value.scrollTop>=P.value-i(N))},(de,be)=>{$.value?.onMouseUp?.(),T.value?.onMouseUp?.();const ye=i(W),$e=i(N);re({scrollLeft:Math.min(A.value.scrollLeft+de,O.value-ye),scrollTop:Math.min(A.value.scrollTop+be,P.value-$e)})});jt(x,"wheel",ne,{passive:!1});const re=({scrollLeft:de=A.value.scrollLeft,scrollTop:be=A.value.scrollTop})=>{de=Math.max(de,0),be=Math.max(be,0);const ye=i(A);be===ye.scrollTop&&de===ye.scrollLeft||(A.value={...ye,xAxisScrollDir:Wi(ye.scrollLeft,de),yAxisScrollDir:Wi(ye.scrollTop,be),scrollLeft:de,scrollTop:be,updateRequested:!0},Re(()=>j()),ee(),L())},{touchStartX:Q,touchStartY:ce,handleTouchStart:we,handleTouchMove:Se}=bz(x,A,re,O,P,W,N),le=(de=0,be=0,ye=Qo)=>{const $e=i(A);be=Math.max(0,Math.min(be,p.totalColumn-1)),de=Math.max(0,Math.min(de,p.totalRow-1));const Pe=u2(w.namespace.value),et=i(k),tt=l(p,et),qe=s(p,et);re({scrollLeft:r(p,be,ye,$e.scrollLeft,et,qe>p.width?Pe:0),scrollTop:u(p,de,ye,$e.scrollTop,et,tt>p.height?Pe:0)})},ie=(de,be)=>{const{columnWidth:ye,direction:$e,rowHeight:Pe}=p,et=D.value(t&&ye,t&&Pe,t&&$e),tt=`${de},${be}`;if(zt(et,tt))return et[tt];{const[,qe]=n(p,be,i(k)),$t=i(k),At=z1($e),[Wt,Rt]=c(p,de,$t),[qt]=n(p,be,$t);return et[tt]={position:"absolute",left:At?void 0:`${qe}px`,right:At?`${qe}px`:void 0,top:`${Rt}px`,height:`${Wt}px`,width:`${qt}px`},et[tt]}},j=()=>{A.value.isScrolling=!1,Re(()=>{D.value(-1,null,null)})};at(()=>{if(!Lt)return;const{initScrollLeft:de,initScrollTop:be}=p,ye=i(x);ye&&(We(de)&&(ye.scrollLeft=de),We(be)&&(ye.scrollTop=be)),L()});const ee=()=>{const{direction:de}=p,{scrollLeft:be,scrollTop:ye,updateRequested:$e}=i(A),Pe=i(x);if($e&&Pe){if(de==="rtl")switch(mf()){case Pu:Pe.scrollLeft=-be;break;case Jg:Pe.scrollLeft=be;break;default:{const{clientWidth:et,scrollWidth:tt}=Pe;Pe.scrollLeft=tt-et-be;break}}else Pe.scrollLeft=Math.max(0,be);Pe.scrollTop=Math.max(0,ye)}},{resetAfterColumnIndex:Y,resetAfterRowIndex:q,resetAfter:U}=S.proxy;y({windowRef:x,innerRef:_,getItemStyleCache:D,touchStartX:Q,touchStartY:ce,handleTouchStart:we,handleTouchMove:Se,scrollTo:re,scrollToItem:le,states:A,resetAfterColumnIndex:Y,resetAfterRowIndex:q,resetAfter:U});const G=()=>{const{scrollbarAlwaysOn:de,scrollbarStartGap:be,scrollbarEndGap:ye,totalColumn:$e,totalRow:Pe}=p,et=i(W),tt=i(N),qe=i(O),$t=i(P),{scrollLeft:At,scrollTop:Wt}=i(A);return{horizontalScrollbar:Le(Yh,{ref:$,alwaysOn:de,startGap:be,endGap:ye,class:w.e("horizontal"),clientSize:et,layout:"horizontal",onScroll:J,ratio:et*100/qe,scrollFrom:At/(qe-et),total:Pe,visible:!0}),verticalScrollbar:Le(Yh,{ref:T,alwaysOn:de,startGap:be,endGap:ye,class:w.e("vertical"),clientSize:tt,layout:"vertical",onScroll:X,ratio:tt*100/$t,scrollFrom:Wt/($t-tt),total:$e,visible:!0})}},te=()=>{const[de,be]=i(V),[ye,$e]=i(H),{data:Pe,totalColumn:et,totalRow:tt,useIsScrolling:qe,itemKey:$t}=p,At=[];if(tt>0&&et>0)for(let Wt=ye;Wt<=$e;Wt++)for(let Rt=de;Rt<=be;Rt++){const qt=$t({columnIndex:Rt,data:Pe,rowIndex:Wt});At.push(Le(Me,{key:qt},b.default?.({columnIndex:Rt,data:Pe,isScrolling:qe?i(A).isScrolling:void 0,style:ie(Wt,Rt),rowIndex:Wt})))}return At},he=()=>{const de=ft(p.innerElement),be=te();return[Le(de,pt(p.innerProps,{style:i(B),ref:_}),ze(de)?be:{default:()=>be})]};return()=>{const de=ft(p.containerElement),{horizontalScrollbar:be,verticalScrollbar:ye}=G(),$e=he();return Le("div",{key:0,class:w.e("wrapper"),role:p.role},[Le(de,{class:p.className,style:i(M),onScroll:K,ref:x},ze(de)?$e:{default:()=>$e}),be,ye])}}}),W1="ElFixedSizeGrid",wz=aE({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:n},o,a,l,s,r)=>{n=Number(n);const u=Math.max(0,e*t-n),c=Math.min(u,o*t),d=Math.max(0,o*t-n+r+t);switch(a==="smart"&&(l>=d-n&&l<=c+n?a=Qo:a=Va),a){case Mu:return c;case"end":return d;case Va:{const f=Math.round(d+(c-d)/2);return fu+Math.floor(n/2)?u:f}case Qo:default:return l>=d&&l<=c?l:d>c||l{t=Number(t);const u=Math.max(0,n*e-t),c=Math.min(u,o*e),d=Math.max(0,o*e-t+r+e);switch(a==="smart"&&(l>=d-t&&l<=c+t?a=Qo:a=Va),a){case Mu:return c;case"end":return d;case Va:{const f=Math.round(d+(c-d)/2);return fu+Math.floor(t/2)?u:f}case Qo:default:return l>=d&&l<=c?l:d>c||lMath.max(0,Math.min(t-1,Math.floor(n/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:n},o,a)=>{const l=o*e,s=Math.ceil((n+a-l)/e);return Math.max(0,Math.min(t-1,o+s-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},n)=>Math.max(0,Math.min(t-1,Math.floor(n/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:n},o,a)=>{const l=o*e,s=Math.ceil((n+a-l)/e);return Math.max(0,Math.min(t-1,o+s-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{We(e)||dn(W1,` + "columnWidth" must be passed as number, + instead ${typeof e} was given. + `),We(t)||dn(W1,` + "columnWidth" must be passed as number, + instead ${typeof t} was given. + `)}}),{max:gf,min:lE,floor:sE}=Math,j1="ElDynamicSizeGrid",Sz={column:"columnWidth",row:"rowHeight"},qh={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},il=(e,t,n,o)=>{const[a,l,s]=[n[o],e[Sz[o]],n[qh[o]]];if(t>s){let r=0;if(s>=0){const u=a[s];r=u.offset+u.size}for(let u=s+1;u<=t;u++){const c=l(u);a[u]={offset:r,size:c},r+=c}n[qh[o]]=t}return a[t]},rE=(e,t,n,o,a,l)=>{for(;n<=o;){const s=n+sE((o-n)/2),r=il(e,s,t,l).offset;if(r===a)return s;r{const l=a==="column"?e.totalColumn:e.totalRow;let s=1;for(;n{const[a,l]=[t[o],t[qh[o]]];return(l>0?a[l].offset:0)>=n?rE(e,t,0,l,n,o):Cz(e,t,gf(0,l),n,o)},iE=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:n,row:o})=>{let a=0;if(n>=e&&(n=e-1),n>=0){const s=o[n];a=s.offset+s.size}const l=(e-n-1)*t;return a+l},uE=({totalColumn:e},{column:t,estimatedColumnWidth:n,lastVisitedColumnIndex:o})=>{let a=0;if(o>e&&(o=e-1),o>=0){const s=t[o];a=s.offset+s.size}const l=(e-o-1)*n;return a+l},kz={column:uE,row:iE},Y1=(e,t,n,o,a,l,s)=>{const[r,u]=[l==="row"?e.height:e.width,kz[l]],c=il(e,t,a,l),d=gf(0,lE(u(e,a)-r,c.offset)),f=gf(0,c.offset-r+s+c.size);switch(n==="smart"&&(o>=f-r&&o<=d+r?n=Qo:n=Va),n){case Mu:return d;case"end":return f;case Va:return Math.round(f+(d-f)/2);case Qo:default:return o>=f&&o<=d?o:f>d||o{const o=il(e,t,n,"column");return[o.size,o.offset]},getRowPosition:(e,t,n)=>{const o=il(e,t,n,"row");return[o.size,o.offset]},getColumnOffset:(e,t,n,o,a,l)=>Y1(e,t,n,o,a,"column",l),getRowOffset:(e,t,n,o,a,l)=>Y1(e,t,n,o,a,"row",l),getColumnStartIndexForOffset:(e,t,n)=>U1(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,o)=>{const a=il(e,t,o,"column"),l=n+e.width;let s=a.offset+a.size,r=t;for(;rU1(e,n,t,"row"),getRowStopIndexForStartIndex:(e,t,n,o)=>{const{totalRow:a,height:l}=e,s=il(e,t,o,"row"),r=n+l;let u=s.size+s.offset,c=t;for(;c{const n=({columnIndex:l,rowIndex:s},r)=>{r=It(r)?!0:r,We(l)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,l-1)),We(s)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,s-1)),e.exposed?.getItemStyleCache.value(-1,null,null),r&&e.proxy?.$forceUpdate()},o=(l,s)=>{n({columnIndex:l},s)},a=(l,s)=>{n({rowIndex:l},s)};Object.assign(e.proxy,{resetAfterColumnIndex:o,resetAfterRowIndex:a,resetAfter:n})},initCache:({estimatedColumnWidth:e=50,estimatedRowHeight:t=50})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{je(e)||dn(j1,` + "columnWidth" must be passed as function, + instead ${typeof e} was given. + `),je(t)||dn(j1,` + "rowHeight" must be passed as function, + instead ${typeof t} was given. + `)}}),cE={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:{type:Boolean,default:void 0},checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:Rn,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...co(["ariaControls"])},dE={[lt]:e=>ze(e)||We(e)||Gt(e),change:e=>ze(e)||We(e)||Gt(e)},Ei=Symbol("checkboxGroupContextKey"),Ez=Te({modelValue:{type:oe(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:Rn,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:oe(Array)},props:{type:oe(Object),default:()=>fE},type:{type:String,values:["checkbox","button"],default:"checkbox"},...co(["ariaLabel"])}),$z={[lt]:e=>xe(e),change:e=>xe(e)},fE={label:"label",value:"value",disabled:"disabled"},Tz=({model:e,isChecked:t})=>{const n=Fe(Ei,void 0),o=Fe(gr,void 0),a=C(()=>{const l=n?.max?.value,s=n?.min?.value;return!It(l)&&e.value.length>=l&&!t.value||!It(s)&&e.value.length<=s&&t.value});return{isDisabled:pn(C(()=>n===void 0?o?.disabled??a.value:n.disabled?.value||a.value)),isLimitDisabled:a}},_z=(e,{model:t,isLimitExceeded:n,hasOwnLabel:o,isDisabled:a,isLabeledByFormItem:l})=>{const s=Fe(Ei,void 0),{formItem:r}=Wn(),{emit:u}=ct();function c(g){return[!0,e.trueValue,e.trueLabel].includes(g)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function d(g,p){u(Et,c(g),p)}function f(g){if(n.value)return;const p=g.target;u(Et,c(p.checked),g)}async function v(g){n.value||!o.value&&!a.value&&l.value&&(g.composedPath().some(p=>p.tagName==="LABEL")||(t.value=c([!1,e.falseValue,e.falseLabel].includes(t.value)),await Re(),d(t.value,g)))}const h=C(()=>s?.validateEvent||e.validateEvent);return ge(()=>e.modelValue,()=>{h.value&&r?.validate("change").catch(mt)}),{handleChange:f,onClickRoot:v}},Nz=e=>{const t=F(!1),{emit:n,vnode:o}=ct(),a=Fe(Ei,void 0),l=C(()=>It(a)===!1),s=F(!1),r=C(()=>{const c=o.props??{};return"modelValue"in c||"model-value"in c}),u=C({get(){return l.value?a?.modelValue?.value:r.value?e.modelValue:t.value},set(c){l.value&&xe(c)?(s.value=a?.max?.value!==void 0&&c.length>a?.max.value&&c.length>u.value.length,s.value===!1&&a?.changeEvent?.(c)):(n(lt,c),t.value=c)}});return{model:u,isGroup:l,isLimitExceeded:s}},Iz=(e,t,{model:n})=>{const o=Fe(Ei,void 0),a=F(!1),l=C(()=>Bo(e.value)?e.label:e.value),s=C(()=>{const r=n.value;return Gt(r)?r:xe(r)?st(l.value)?r.map(nn).some(u=>vn(u,l.value)):r.map(nn).includes(l.value):r!=null?r===e.trueValue||r===e.trueLabel:!!r});return{checkboxButtonSize:In(C(()=>o?.size?.value),{prop:!0}),isChecked:s,isFocused:a,checkboxSize:In(C(()=>o?.size?.value)),hasOwnLabel:C(()=>!!t.default||!Bo(l.value)),actualValue:l}},pE=(e,t)=>{const{formItem:n}=Wn(),{model:o,isGroup:a,isLimitExceeded:l}=Nz(e),{isFocused:s,isChecked:r,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,actualValue:f}=Iz(e,t,{model:o}),{isDisabled:v}=Tz({model:o,isChecked:r}),{inputId:h,isLabeledByFormItem:g}=Ro(e,{formItemContext:n,disableIdGeneration:d,disableIdManagement:a}),{handleChange:p,onClickRoot:m}=_z(e,{model:o,isLimitExceeded:l,hasOwnLabel:d,isDisabled:v,isLabeledByFormItem:g});return(()=>{function b(){xe(o.value)&&!o.value.includes(f.value)?o.value.push(f.value):o.value=e.trueValue??e.trueLabel??!0}e.checked&&b()})(),Ba({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>a.value&&Bo(e.value))),Ba({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.trueLabel)),Ba({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.falseLabel)),{inputId:h,isLabeledByFormItem:g,isChecked:r,isDisabled:v,isFocused:s,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,model:o,actualValue:f,handleChange:p,onClickRoot:m}},Oz=["id","indeterminate","name","tabindex","disabled"];var Mz=ve({name:"ElCheckbox",__name:"checkbox",props:cE,emits:dE,setup(e){const t=e,{inputId:n,isLabeledByFormItem:o,isChecked:a,isDisabled:l,isFocused:s,checkboxSize:r,hasOwnLabel:u,model:c,actualValue:d,handleChange:f,onClickRoot:v}=pE(t,bn()),h=C(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:d.value}),g=ke("checkbox"),p=C(()=>[g.b(),g.m(r.value),g.is("disabled",l.value),g.is("bordered",t.border),g.is("checked",a.value)]),m=C(()=>[g.e("input"),g.is("disabled",l.value),g.is("checked",a.value),g.is("indeterminate",t.indeterminate),g.is("focus",s.value)]);return(y,b)=>(E(),fe(ft(!i(u)&&i(o)?"span":"label"),{for:!i(u)&&i(o)?null:i(n),class:R(p.value),"aria-controls":e.indeterminate?e.ariaControls:null,"aria-checked":e.indeterminate?"mixed":void 0,"aria-label":e.ariaLabel,onClick:i(v)},{default:ae(()=>[I("span",{class:R(m.value)},[Ye(I("input",pt({id:i(n),"onUpdate:modelValue":b[0]||(b[0]=w=>gt(c)?c.value=w:null),class:i(g).e("original"),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:i(l)},h.value,{onChange:b[1]||(b[1]=(...w)=>i(f)&&i(f)(...w)),onFocus:b[2]||(b[2]=w=>s.value=!0),onBlur:b[3]||(b[3]=w=>s.value=!1),onClick:b[4]||(b[4]=Xe(()=>{},["stop"]))}),null,16,Oz),[[Fs,i(c)]]),I("span",{class:R(i(g).e("inner"))},null,2)],2),i(u)?(E(),z("span",{key:0,class:R(i(g).e("label"))},[ue(y.$slots,"default"),y.$slots.default?se("v-if",!0):(E(),z(Me,{key:0},[Oe(me(e.label),1)],64))],2)):se("v-if",!0)]),_:3},8,["for","class","aria-controls","aria-checked","aria-label","onClick"]))}}),vE=Mz;const Pz=["name","tabindex","disabled"];var Rz=ve({name:"ElCheckboxButton",__name:"checkbox-button",props:cE,emits:dE,setup(e){const t=e,{isFocused:n,isChecked:o,isDisabled:a,checkboxButtonSize:l,model:s,actualValue:r,handleChange:u}=pE(t,bn()),c=C(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:r.value}),d=Fe(Ei,void 0),f=ke("checkbox"),v=C(()=>{const g=d?.fill?.value??"";return{backgroundColor:g,borderColor:g,color:d?.textColor?.value??"",boxShadow:g?`-1px 0 0 0 ${g}`:void 0}}),h=C(()=>[f.b("button"),f.bm("button",l.value),f.is("disabled",a.value),f.is("checked",o.value),f.is("focus",n.value)]);return(g,p)=>(E(),z("label",{class:R(h.value)},[Ye(I("input",pt({"onUpdate:modelValue":p[0]||(p[0]=m=>gt(s)?s.value=m:null),class:i(f).be("button","original"),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:i(a)},c.value,{onChange:p[1]||(p[1]=(...m)=>i(u)&&i(u)(...m)),onFocus:p[2]||(p[2]=m=>n.value=!0),onBlur:p[3]||(p[3]=m=>n.value=!1),onClick:p[4]||(p[4]=Xe(()=>{},["stop"]))}),null,16,Pz),[[Fs,i(s)]]),g.$slots.default||e.label?(E(),z("span",{key:0,class:R(i(f).be("button","inner")),style:Be(i(o)?v.value:void 0)},[ue(g.$slots,"default",{},()=>[Oe(me(e.label),1)])],6)):se("v-if",!0)],2))}}),ey=Rz,Az=ve({name:"ElCheckboxGroup",__name:"checkbox-group",props:Ez,emits:$z,setup(e,{emit:t}){const n=e,o=t,a=ke("checkbox"),l=pn(),{formItem:s}=Wn(),{inputId:r,isLabeledByFormItem:u}=Ro(n,{formItemContext:s}),c=async g=>{o(lt,g),await Re(),o(Et,g)},d=C({get(){return n.modelValue},set(g){c(g)}}),f=C(()=>({...fE,...n.props})),v=g=>{const{label:p,value:m,disabled:y}=f.value,b={label:g[p],value:g[m],disabled:g[y]};return{...hr(g,[p,m,y]),...b}},h=C(()=>n.type==="button"?ey:vE);return xt(Ei,{...Ua(An(n),["size","min","max","validateEvent","fill","textColor"]),disabled:l,modelValue:d,changeEvent:c}),ge(()=>n.modelValue,(g,p)=>{n.validateEvent&&!vn(g,p)&&s?.validate("change").catch(mt)}),(g,p)=>(E(),fe(ft(e.tag),{id:i(r),class:R(i(a).b("group")),role:"group","aria-label":i(u)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":i(u)?i(s)?.labelId:void 0},{default:ae(()=>[ue(g.$slots,"default",{},()=>[(E(!0),z(Me,null,dt(e.options,(m,y)=>(E(),fe(ft(h.value),pt({key:y},{ref_for:!0},v(m)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"]))}}),hE=Az;const ha=ut(vE,{CheckboxButton:ey,CheckboxGroup:hE}),Dz=fn(ey),ty=fn(hE),mE=Te({modelValue:{type:[String,Number,Boolean],default:void 0},size:Rn,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),Lz=Te({...mE,border:Boolean}),gE={[lt]:e=>ze(e)||We(e)||Gt(e),[Et]:e=>ze(e)||We(e)||Gt(e)},yE=Symbol("radioGroupKey"),Vz=Te({...mE}),bE={label:"label",value:"value",disabled:"disabled"},Bz=Te({id:{type:String,default:void 0},size:Rn,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:oe(Array)},props:{type:oe(Object),default:()=>bE},type:{type:String,values:["radio","button"],default:"radio"},...co(["ariaLabel"])}),Fz=gE,wE=(e,t)=>{const n=F(),o=Fe(yE,void 0),a=C(()=>!!o),l=C(()=>Bo(e.value)?e.label:e.value),s=C({get(){return a.value?o.modelValue:e.modelValue},set(f){a.value?o.changeEvent(f):t&&t("update:modelValue",f),n.value.checked=e.modelValue===l.value}}),r=In(C(()=>o?.size)),u=pn(C(()=>o?.disabled)),c=F(!1),d=C(()=>u.value||a.value&&s.value!==l.value?-1:0);return Ba({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>a.value&&Bo(e.value))),{radioRef:n,isGroup:a,radioGroup:o,focus:c,size:r,disabled:u,tabIndex:d,modelValue:s,actualValue:l}},zz=["value","name","disabled","checked"];var Hz=ve({name:"ElRadio",__name:"radio",props:Lz,emits:gE,setup(e,{emit:t}){const n=e,o=t,a=ke("radio"),{radioRef:l,radioGroup:s,focus:r,size:u,disabled:c,modelValue:d,actualValue:f}=wE(n,o);function v(){Re(()=>o(Et,d.value))}return(h,g)=>(E(),z("label",{class:R([i(a).b(),i(a).is("disabled",i(c)),i(a).is("focus",i(r)),i(a).is("bordered",e.border),i(a).is("checked",i(d)===i(f)),i(a).m(i(u))])},[I("span",{class:R([i(a).e("input"),i(a).is("disabled",i(c)),i(a).is("checked",i(d)===i(f))])},[Ye(I("input",{ref_key:"radioRef",ref:l,"onUpdate:modelValue":g[0]||(g[0]=p=>gt(d)?d.value=p:null),class:R(i(a).e("original")),value:i(f),name:e.name||i(s)?.name,disabled:i(c),checked:i(d)===i(f),type:"radio",onFocus:g[1]||(g[1]=p=>r.value=!0),onBlur:g[2]||(g[2]=p=>r.value=!1),onChange:v,onClick:g[3]||(g[3]=Xe(()=>{},["stop"]))},null,42,zz),[[ak,i(d)]]),I("span",{class:R(i(a).e("inner"))},null,2)],2),I("span",{class:R(i(a).e("label")),onKeydown:g[4]||(g[4]=Xe(()=>{},["stop"]))},[ue(h.$slots,"default",{},()=>[Oe(me(e.label),1)])],34)],2))}}),SE=Hz;const Kz=["value","name","disabled"];var Wz=ve({name:"ElRadioButton",__name:"radio-button",props:Vz,setup(e){const t=e,n=ke("radio"),{radioRef:o,focus:a,size:l,disabled:s,modelValue:r,radioGroup:u,actualValue:c}=wE(t),d=C(()=>({backgroundColor:u?.fill||"",borderColor:u?.fill||"",boxShadow:u?.fill?`-1px 0 0 0 ${u.fill}`:"",color:u?.textColor||""}));return(f,v)=>(E(),z("label",{class:R([i(n).b("button"),i(n).is("active",i(r)===i(c)),i(n).is("disabled",i(s)),i(n).is("focus",i(a)),i(n).bm("button",i(l))])},[Ye(I("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":v[0]||(v[0]=h=>gt(r)?r.value=h:null),class:R(i(n).be("button","original-radio")),value:i(c),type:"radio",name:e.name||i(u)?.name,disabled:i(s),onFocus:v[1]||(v[1]=h=>a.value=!0),onBlur:v[2]||(v[2]=h=>a.value=!1),onClick:v[3]||(v[3]=Xe(()=>{},["stop"]))},null,42,Kz),[[ak,i(r)]]),I("span",{class:R(i(n).be("button","inner")),style:Be(i(r)===i(c)?d.value:{}),onKeydown:v[4]||(v[4]=Xe(()=>{},["stop"]))},[ue(f.$slots,"default",{},()=>[Oe(me(e.label),1)])],38)],2))}}),ny=Wz;const jz=["id","aria-label","aria-labelledby"];var Uz=ve({name:"ElRadioGroup",__name:"radio-group",props:Bz,emits:Fz,setup(e,{emit:t}){const n=e,o=t,a=ke("radio"),l=Jn(),s=F(),{formItem:r}=Wn(),{inputId:u,isLabeledByFormItem:c}=Ro(n,{formItemContext:r}),d=p=>{o(lt,p),Re(()=>o(Et,p))};at(()=>{const p=s.value.querySelectorAll("[type=radio]"),m=p[0];!Array.from(p).some(y=>y.checked)&&m&&(m.tabIndex=0)});const f=C(()=>n.name||l.value),v=C(()=>({...bE,...n.props})),h=p=>{const{label:m,value:y,disabled:b}=v.value,w={label:p[m],value:p[y],disabled:p[b]};return{...hr(p,[m,y,b]),...w}},g=C(()=>n.type==="button"?ny:SE);return xt(yE,Kt({...An(n),changeEvent:d,name:f})),ge(()=>n.modelValue,(p,m)=>{n.validateEvent&&!vn(p,m)&&r?.validate("change").catch(mt)}),(p,m)=>(E(),z("div",{id:i(u),ref_key:"radioGroupRef",ref:s,class:R(i(a).b("group")),role:"radiogroup","aria-label":i(c)?void 0:e.ariaLabel||"radio-group","aria-labelledby":i(c)?i(r).labelId:void 0},[ue(p.$slots,"default",{},()=>[(E(!0),z(Me,null,dt(e.options,(y,b)=>(E(),fe(ft(g.value),pt({key:b},{ref_for:!0},h(y)),null,16))),128))])],10,jz))}}),CE=Uz;const kE=ut(SE,{RadioButton:ny,RadioGroup:CE}),Yz=fn(CE),qz=fn(ny),$p=Symbol();function Gz(e){return!!(xe(e)?e.every(({type:t})=>t===_n):e?.type===_n)}var Xz=ve({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const t=ke("cascader-node"),{renderLabelFn:n}=Fe($p),{node:o}=e,{data:a,label:l}=o,s=()=>{const r=n?.({node:o,data:a});return Gz(r)?l:r??l};return()=>Z("span",{class:t.e("label")},[s()])}});const Zz=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"];var Jz=ve({name:"ElCascaderNode",__name:"node",props:{node:{type:Object,required:!0},menuId:{type:String,required:!1}},emits:["expand"],setup(e,{emit:t}){const n=e,o=t,a=Fe($p),l=ke("cascader-node"),s=C(()=>a.isHoverMenu),r=C(()=>a.config.multiple),u=C(()=>a.config.checkStrictly),c=C(()=>a.config.showPrefix),d=C(()=>a.checkedNodes[0]?.uid),f=C(()=>n.node.isDisabled),v=C(()=>n.node.isLeaf),h=C(()=>u.value&&!v.value||!f.value),g=C(()=>m(a.expandingNode)),p=C(()=>u.value&&a.checkedNodes.some(m)),m=_=>{const{level:A,uid:D}=n.node;return _?.pathNodes[A-1]?.uid===D},y=()=>{g.value||a.expandNode(n.node)},b=_=>{const{node:A}=n;_!==A.checked&&a.handleCheckChange(A,_)},w=()=>{a.lazyLoad(n.node,()=>{v.value||y()})},S=_=>{s.value&&(k(),!v.value&&o("expand",_))},k=()=>{const{node:_}=n;!h.value||_.loading||(_.loaded?y():w())},x=()=>{v.value&&!f.value&&!u.value&&!r.value?T(!0):(a.config.checkOnClickNode&&(r.value||u.value)||v.value&&a.config.checkOnClickLeaf)&&!f.value?$(!n.node.checked):s.value||k()},$=_=>{u.value?(b(_),n.node.loaded&&y()):T(_)},T=_=>{n.node.loaded?(b(_),!u.value&&y()):w()};return(_,A)=>(E(),z("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!v.value,"aria-owns":v.value?void 0:e.menuId,"aria-expanded":g.value,tabindex:h.value?-1:void 0,class:R([i(l).b(),i(l).is("selectable",u.value),i(l).is("active",e.node.checked),i(l).is("disabled",!h.value),g.value&&"in-active-path",p.value&&"in-checked-path"]),onMouseenter:S,onFocus:S,onClick:x},[se(" prefix "),r.value&&c.value?(E(),fe(i(ha),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:f.value,onClick:A[0]||(A[0]=Xe(()=>{},["stop"])),"onUpdate:modelValue":$},null,8,["model-value","indeterminate","disabled"])):u.value&&c.value?(E(),fe(i(kE),{key:1,"model-value":d.value,label:e.node.uid,disabled:f.value,"onUpdate:modelValue":$,onClick:A[1]||(A[1]=Xe(()=>{},["stop"]))},{default:ae(()=>[se(` + Add an empty element to avoid render label, + do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 + `),A[2]||(A[2]=I("span",null,null,-1))]),_:1},8,["model-value","label","disabled"])):v.value&&e.node.checked?(E(),fe(i(He),{key:2,class:R(i(l).e("prefix"))},{default:ae(()=>[Z(i(ii))]),_:1},8,["class"])):se("v-if",!0),se(" content "),Z(i(Xz),{node:e.node},null,8,["node"]),se(" postfix "),v.value?se("v-if",!0):(E(),z(Me,{key:3},[e.node.loading?(E(),fe(i(He),{key:0,class:R([i(l).is("loading"),i(l).e("postfix")])},{default:ae(()=>[Z(i(sa))]),_:1},8,["class"])):(E(),fe(i(He),{key:1,class:R(["arrow-right",i(l).e("postfix")])},{default:ae(()=>[Z(i(io))]),_:1},8,["class"]))],64))],42,Zz))}}),q1=Jz,Qz=ve({name:"ElCascaderMenu",__name:"menu",props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0},virtualScroll:{type:Boolean,required:!1,default:!1},itemSize:{type:Number,required:!1,default:34},height:{type:Number,required:!1,default:204}},setup(e,{expose:t}){const n=e,o=ct(),a=ke("cascader-menu"),{t:l}=_t(),s=Jn();let r,u;const c=Fe($p),d=F(),f=F(),v=C(()=>!n.nodes.length),h=C(()=>!c.initialLoaded),g=C(()=>`${s.value}-${n.index}`),p=()=>{let $;if(c.expandingNode){const{level:T,pathNodes:_}=c.expandingNode;n.index0&&($=c.checkedNodes[0]?.pathNodes[n.index]?.uid)}else c.checkedNodes.length>0&&n.indexT.uid===$):-1},m=$=>$?n.nodes.findIndex(T=>`${g.value}-${T.uid}`===$):-1,y=$=>{const T=To($,0,n.nodes.length-1);f.value?.scrollToItem(T)},b=$=>{if(!n.nodes.length)return;const T=To($,0,n.nodes.length-1);y(T),Re(()=>{const _=o.vnode.el?.querySelector(`#${g.value}-${n.nodes[T].uid}`);_&&zr(_)})},w=$=>{r=$.target},S=$=>{if(!(!c.isHoverMenu||!r||!d.value))if(r.contains($.target)){k();const T=o.vnode.el,{left:_}=T.getBoundingClientRect(),{offsetWidth:A,offsetHeight:D}=T,N=$.clientX-_,W=r.offsetTop,V=W+r.offsetHeight,H=n.virtualScroll?f.value?.states?.scrollOffset||0:T.querySelector(`.${a.e("wrap")}`)?.scrollTop||0;d.value.innerHTML=` + + + `}else u||(u=window.setTimeout(x,c.config.hoverThreshold))},k=()=>{u&&(clearTimeout(u),u=void 0)},x=()=>{d.value&&(d.value.innerHTML="",k())};return t({getActiveNodeIndex:p,getNodeIndexById:m,scrollToItem:y,focusNodeAt:b,virtualListRef:f,get $el(){return o.vnode.el}}),($,T)=>e.virtualScroll?(E(),z("div",{key:g.value,class:R(i(a).b()),onMousemove:S,onMouseleave:x},[Z(i(bc),{ref_key:"virtualListRef",ref:f,height:e.height,"item-size":e.itemSize,data:e.nodes,total:e.nodes.length,"class-name":i(a).e("list"),"inner-element":"ul","inner-props":{role:"menu",class:i(a).is("empty",v.value)}},{default:ae(({data:_,index:A,style:D})=>[(E(),fe(q1,{key:_[A].uid,node:_[A],"menu-id":g.value,style:Be(D),onExpand:w},null,8,["node","menu-id","style"]))]),_:1},8,["height","item-size","data","total","class-name","inner-props"]),h.value?(E(),z("div",{key:0,class:R(i(a).e("empty-text"))},[Z(i(He),{size:14,class:R(i(a).is("loading"))},{default:ae(()=>[Z(i(sa))]),_:1},8,["class"]),Oe(" "+me(i(l)("el.cascader.loading")),1)],2)):v.value?(E(),z("div",{key:1,class:R(i(a).e("empty-text"))},[ue($.$slots,"empty",{},()=>[Oe(me(i(l)("el.cascader.noData")),1)])],2)):i(c)?.isHoverMenu?(E(),z(Me,{key:2},[se(" eslint-disable vue/html-self-closing "),(E(),z("svg",{ref_key:"hoverZone",ref:d,class:R(i(a).e("hover-zone"))},null,2))],2112)):se("v-if",!0),se(" eslint-enable vue/html-self-closing ")],34)):(E(),fe(i(wa),{key:g.value,tag:"ul",role:"menu",class:R(i(a).b()),"wrap-class":i(a).e("wrap"),"view-class":[i(a).e("list"),i(a).is("empty",v.value)],onMousemove:S,onMouseleave:x},{default:ae(()=>[(E(!0),z(Me,null,dt(e.nodes,_=>(E(),fe(q1,{key:_.uid,node:_,"menu-id":g.value,onExpand:w},null,8,["node","menu-id"]))),128)),h.value?(E(),z("div",{key:0,class:R(i(a).e("empty-text"))},[Z(i(He),{size:14,class:R(i(a).is("loading"))},{default:ae(()=>[Z(i(sa))]),_:1},8,["class"]),Oe(" "+me(i(l)("el.cascader.loading")),1)],2)):v.value?(E(),z("div",{key:1,class:R(i(a).e("empty-text"))},[ue($.$slots,"empty",{},()=>[Oe(me(i(l)("el.cascader.noData")),1)])],2)):i(c)?.isHoverMenu?(E(),z(Me,{key:2},[se(" eslint-disable vue/html-self-closing "),(E(),z("svg",{ref_key:"hoverZone",ref:d,class:R(i(a).e("hover-zone"))},null,2))],2112)):se("v-if",!0),se(" eslint-enable vue/html-self-closing ")]),_:3},8,["class","wrap-class","view-class"]))}}),eH=Qz;let tH=0;const nH=e=>{const t=[e];let{parent:n}=e;for(;n;)t.unshift(n),n=n.parent;return t};var Gh=class Xh{constructor(t,n,o,a=!1){this.data=t,this.config=n,this.parent=o,this.root=a,this.uid=tH++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:l,label:s,children:r}=n,u=t[r],c=nH(this);this.level=a?0:o?o.level+1:1,this.value=t[l],this.label=t[s],this.pathNodes=c,this.pathValues=c.map(d=>d.value),this.pathLabels=c.map(d=>d.label),this.childrenData=u,this.children=(u||[]).map(d=>new Xh(d,n,this)),this.loaded=!n.lazy||this.isLeaf||!mo(u),this.text=""}get isDisabled(){const{data:t,parent:n,config:o}=this,{disabled:a,checkStrictly:l}=o;return(je(a)?a(t,this):!!t[a])||!l&&!!n?.isDisabled}get isLeaf(){const{data:t,config:n,childrenData:o,loaded:a}=this,{lazy:l,leaf:s}=n,r=je(s)?s(t,this):t[s];return It(r)?l&&!a?!1:!(xe(o)&&o.length):!!r}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:n,children:o}=this,a=new Xh(t,this.config,this);return xe(n)?n.push(t):this.childrenData=[t],o.push(a),a}calcText(t,n){const o=t?this.pathLabels.join(n):this.label;return this.text=o,o}broadcast(t){this.children.forEach(n=>{n&&(n.broadcast(t),n.onParentCheck?.(t))})}emit(){const{parent:t}=this;t&&(t.onChildCheck?.(),t.emit())}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,n=t.filter(a=>!a.isDisabled),o=n.length?n.every(a=>a.checked):!1;this.setCheckState(o)}setCheckState(t){const n=this.children.length,o=this.children.reduce((a,l)=>a+(l.checked?1:l.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(a=>!a.isDisabled).every(a=>a.loaded&&a.checked)&&t,this.indeterminate=this.loaded&&o!==n&&o>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:n,multiple:o}=this.config;n||!o?this.checked=t:(this.broadcast(t),this.setCheckState(t),this.emit())}};const Zh=(e,t)=>e.reduce((n,o)=>(o.isLeaf?n.push(o):(!t&&n.push(o),n=n.concat(Zh(o.children,t))),n),[]);var G1=class{constructor(e,t){this.config=t;const n=(e||[]).map(o=>new Gh(o,this.config));this.nodes=n,this.allNodes=Zh(n,!1),this.leafNodes=Zh(n,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){const n=t?t.appendChild(e):new Gh(e,this.config);t||this.nodes.push(n),this.appendAllNodesAndLeafNodes(n)}appendNodes(e,t){e.length>0?e.forEach(n=>this.appendNode(n,t)):t&&t.isLeaf&&this.leafNodes.push(t)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(t=>{this.appendAllNodesAndLeafNodes(t)})}getNodeByValue(e,t=!1){return Bo(e)?null:this.getFlattedNodes(t).find(n=>vn(n.value,e)||vn(n.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:t,level:n})=>vn(e.value,t)&&e.level===n)||null}};const xv=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},oH=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():t2(e)&&e.click()},aH=(e,t)=>{const n=t.slice(0),o=n.map(l=>l.uid),a=e.reduce((l,s)=>{const r=o.indexOf(s.uid);return r>-1&&(l.push(s),n.splice(r,1),o.splice(r,1)),l},[]);return a.push(...n),a};var lH=ve({name:"ElCascaderPanel",__name:"index",props:oz,emits:az,setup(e,{expose:t,emit:n}){const o=e,a=n;let l=!1;const s=ke("cascader"),r=lz(o),u=bn();let c;const d=F(!0),f=F(!1),v=F([]),h=F(),g=F([]),p=F(),m=F([]),y=C(()=>r.value.expandTrigger==="hover"),b=C(()=>o.renderLabel||u.default),w=C(()=>o.virtualScroll),S=C(()=>o.itemSize),k=C(()=>o.height),x=()=>{const{options:L}=o,K=r.value;l=!1,c=new G1(L,K),g.value=[c.getNodes()],K.lazy&&mo(o.options)?(d.value=!1,$(void 0,X=>{X&&(c=new G1(X,K),g.value=[c.getNodes()]),d.value=!0,H(!1,!0)})):H(!1,!0)},$=(L,K)=>{const X=r.value;L=L||new Gh({},X,void 0,!0),L.loading=!0;const J=re=>{const Q=L,ce=Q.root?null:Q;Q.loading=!1,Q.loaded=!0,Q.childrenData=Q.childrenData||[],re&&c?.appendNodes(re,ce),re&&K?.(re),L.level===0&&(f.value=!0)},ne=()=>{L.loading=!1,L.loaded=!1,L.level===0&&(d.value=!0)};X.lazyLoad(L,J,ne)},T=(L,K)=>{const{level:X}=L,J=g.value.slice(0,X);let ne;L.isLeaf?ne=L.pathNodes[X-2]:(ne=L,J.push(L.children)),p.value?.uid!==ne?.uid&&(p.value=L,g.value=J,!K&&a("expand-change",L?.pathValues||[]))},_=(L,K,X=!0)=>{const{checkStrictly:J,multiple:ne}=r.value,re=m.value[0];l=!0,!ne&&re?.doCheck(!1),L.doCheck(K),V(),X&&!ne&&!J&&a("close"),!X&&!ne&&A(L)},A=L=>{L&&(L=L.parent,A(L),L&&T(L))},D=L=>c?.getFlattedNodes(L),N=L=>D(L)?.filter(({checked:K})=>K!==!1),W=()=>{m.value.forEach(L=>L.doCheck(!1)),V(),g.value=g.value.slice(0,1),p.value=void 0,a("expand-change",[])},V=()=>{const{checkStrictly:L,multiple:K}=r.value,X=m.value,J=aH(X,N(!L)),ne=J.map(re=>re.valueByOption);m.value=J,h.value=K?ne:ne[0]??null},H=(L=!1,K=!1)=>{const{modelValue:X}=o,{lazy:J,multiple:ne,checkStrictly:re}=r.value,Q=!re;if(!(!d.value||l||!K&&vn(X,h.value)))if(J&&!L){const ce=q0(dR(so(X))).map(we=>c?.getNodeByValue(we)).filter(we=>!!we&&!we.loaded&&!we.loading);ce.length?ce.forEach(we=>{$(we,()=>H(!1,K))}):H(!0,K)}else P(q0((ne?so(X):[X]).map(ce=>c?.getNodeByValue(ce,Q))),K),h.value=La(X??void 0)},P=(L,K=!0)=>{const{checkStrictly:X}=r.value,J=m.value,ne=L.filter(ce=>!!ce&&(X||ce.isLeaf)),re=c?.getSameNode(p.value),Q=K&&re||ne[0];Q?Q.pathNodes.forEach(ce=>T(ce,!0)):p.value=void 0,J.forEach(ce=>ce.doCheck(!1)),Kt(ne).forEach(ce=>ce.doCheck(!0)),m.value=ne,Re(O)},O=()=>{Lt&&v.value.forEach(L=>{const K=L?.$el;if(K)if(w.value){const X=L?.getActiveNodeIndex?.();X!==void 0&&X>=0&&L?.scrollToItem?.(X)}else{const X=K.querySelector(`.${s.namespace.value}-scrollbar__wrap`);let J=K.querySelector(`.${s.b("node")}.in-active-path`);if(!J){const ne=K.querySelectorAll(`.${s.b("node")}.${s.is("active")}`);J=ne[ne.length-1]}wg(X,J)}})},M=L=>{const K=L.target,X=Zt(L);switch(X){case Ee.up:case Ee.down:{L.preventDefault();const J=X===Ee.up?-1:1;if(w.value){const ne=xv(K),re=v.value[ne];if(re){const Q=re.getNodeIndexById(K.id);if(Q>=0){const ce=g.value[ne]??[],we=ce.length;let Se=Q+J;for(;Se>=0&&Se{vn(L,K)||x()},{immediate:!0}),ge(()=>o.options,x,{deep:!0}),ge(()=>o.modelValue,()=>{l=!1,H()},{deep:!0}),ge(()=>h.value,L=>{vn(L,o.modelValue)||(a(lt,L),a(Et,L))});const B=()=>{f.value||!d.value||x()};return Km(()=>v.value=[]),at(()=>!mo(o.modelValue)&&H()),t({menuList:v,menus:g,checkedNodes:m,handleKeyDown:M,handleCheckChange:_,getFlattedNodes:D,getCheckedNodes:N,clearCheckedNodes:W,calculateCheckedValue:V,scrollToExpandingNode:O,loadLazyRootNodes:B}),(L,K)=>(E(),z("div",{class:R([i(s).b("panel"),i(s).is("bordered",e.border)]),onKeydown:M},[(E(!0),z(Me,null,dt(g.value,(X,J)=>(E(),fe(eH,{key:J,ref_for:!0,ref:ne=>v.value[J]=ne,index:J,nodes:[...X],"virtual-scroll":w.value,"item-size":S.value,height:k.value},{empty:ae(()=>[ue(L.$slots,"empty")]),_:3},8,["index","nodes","virtual-scroll","item-size","height"]))),128))],34))}}),sH=lH;const xE=ut(sH),rH=Te({...Ux,size:Rn,placeholder:String,disabled:{type:Boolean,default:void 0},clearable:Boolean,clearIcon:{type:Xt,default:el},filterable:Boolean,filterMethod:{type:oe(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:oe(Function),default:()=>!0},placement:{type:oe(String),values:Ja,default:"bottom-start"},fallbackPlacements:{type:oe(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:ln.popperClass,popperStyle:ln.popperStyle,teleported:ln.teleported,effect:{type:oe(String),default:"light"},tagType:{...$l.type,default:"info"},tagEffect:{...$l.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0},fitInputWidth:{type:[Boolean,Number],default:!1},...mr}),X1=e=>!0,iH={[lt]:X1,[Et]:X1,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>Gt(e),expandChange:e=>!!e,removeTag:e=>!!e},uH=["placeholder"],cH=["onClick"],dH=["id","data-suggestion-index","onClick"],fH=34;var pH=ve({name:"ElCascader",__name:"cascader",props:rH,emits:iH,setup(e,{expose:t,emit:n}){const o={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:Ie})=>{const{modifiersData:Ze,placement:Ue}=Ie;["right","left","bottom","top"].includes(Ue)||Ze.arrow&&(Ze.arrow.x=35)},requires:["arrow"]}]},a=e,l=n,s=Za(),r=bn();let u=0,c=0;const d=ke("cascader"),f=ke("input"),v={small:7,default:11,large:15},{t:h}=_t(),{formItem:g}=Wn(),p=pn(),{valueOnClear:m}=hc(a),{isComposing:y,handleComposition:b}=vc({afterComposition(Ie){const Ze=Ie.target?.value;gn(Ze)}}),w=F(),S=F(),k=F(),x=F(),$=F(),T=F(),_=F(),A=F(!1),D=F(!1),N=F(!1),W=F(""),V=F(""),H=F([]),P=F([]),O=F("100%"),M=C(()=>!!r["suggestion-item"]),B=C(()=>To(P.value.length*a.itemSize,a.itemSize,a.height)),L=C(()=>a.props.multiple?a.collapseTags?H.value.slice(0,a.maxCollapseTags):H.value:[]),K=C(()=>a.props.multiple?a.collapseTags?H.value.slice(a.maxCollapseTags):[]:[]),X=C(()=>s.style),J=C(()=>a.placeholder??h("el.cascader.placeholder")),ne=C(()=>V.value||H.value.length>0||y.value?"":J.value),re=In(),Q=C(()=>re.value==="small"?"small":"default"),ce=C(()=>!!a.props.multiple),we=C(()=>!a.filterable||ce.value),Se=C(()=>ce.value?V.value:W.value),le=C(()=>$.value?.checkedNodes||[]),{wrapperRef:ie,isFocused:j,handleBlur:ee}=Pl(k,{disabled:p,beforeBlur(Ie){return w.value?.isFocusInsideContent(Ie)||S.value?.isFocusInsideContent(Ie)},afterBlur(){a.validateEvent&&g?.validate?.("blur").catch(mt)}}),Y=C(()=>!a.clearable||p.value||N.value||!D.value&&!j.value?!1:!!le.value.length),q=C(()=>{const{showAllLevels:Ie,separator:Ze}=a,Ue=le.value;return Ue.length?ce.value?"":Ue[0].calcText(Ie,Ze):""}),U=C(()=>g?.validateState||""),G=C({get(){return La(a.modelValue)},set(Ie){const Ze=Ie??m.value;l(lt,Ze),l(Et,Ze),a.validateEvent&&g?.validate("change").catch(mt)}}),te=C(()=>[d.b(),d.m(re.value),d.is("disabled",p.value),s.class]),he=C(()=>[f.e("icon"),"icon-arrow-down",d.is("reverse",A.value)]),pe=C(()=>d.is("focus",j.value)),de=C(()=>w.value?.popperRef?.contentRef),be=Ie=>{j.value&&ee(new FocusEvent("blur",Ie)),ye(!1)},ye=Ie=>{p.value||(Ie=Ie??!A.value,Ie!==A.value&&(A.value=Ie,k.value?.input?.setAttribute("aria-expanded",`${Ie}`),Ie?($e(),$.value&&Re($.value.scrollToExpandingNode)):a.filterable&&ht(),l("visibleChange",Ie)))},$e=()=>{Re(()=>{w.value?.updatePopper()})},Pe=()=>{N.value=!1},et=Ie=>{const{showAllLevels:Ze,separator:Ue}=a;return{node:Ie,key:Ie.uid,text:Ie.calcText(Ze,Ue),hitState:!1,closable:!p.value&&!Ie.isDisabled}},tt=Ie=>{const Ze=Ie.node;Ze.doCheck(!1),$.value?.calculateCheckedValue(),l("removeTag",Ze.valueByOption)},qe=()=>{switch(a.showCheckedStrategy){case"child":return le.value;case"parent":{const Ie=_e(!1),Ze=Ie.map(Ue=>Ue.value);return Ie.filter(Ue=>!Ue.parent||!Ze.includes(Ue.parent.value))}default:return[]}},$t=()=>{if(!ce.value)return;const Ie=qe(),Ze=[];Ie.forEach(Ue=>Ze.push(et(Ue))),H.value=Ze},At=()=>{const{filterMethod:Ie,showAllLevels:Ze,separator:Ue}=a,Vt=$.value?.getFlattedNodes(!a.props.checkStrictly)?.filter(Jt=>Jt.isDisabled?!1:(Jt.calcText(Ze,Ue),Ie(Jt,Se.value)));ce.value&&H.value.forEach(Jt=>{Jt.hitState=!1}),N.value=!0,P.value=Vt,Re(()=>{a.virtualScroll&&P.value.length>0&&_.value?.scrollToItem(0),Ne()}),$e()},Wt=Ie=>{const Ze=T.value;return Ie?Ze?.querySelector(Ie)??void 0:Ze},Rt=()=>{let Ie;N.value&&T.value?Ie=Wt(`.${d.e("suggestion-item")}`):Ie=$.value?.$el.querySelector(`.${d.b("node")}[tabindex="-1"]`),Ie&&(Ie.focus(),!N.value&&Ie.getAttribute("aria-haspopup")==="true"&&Ie.click())},qt=Ie=>{const Ze=Wt();if(!Ze)return;const Ue=We(a.fitInputWidth)?`${a.fitInputWidth}px`:`${Ie}px`,Vt=wn=>{a.fitInputWidth!==!1?(wn.style.width=Ue,wn.style.minWidth=""):(wn.style.width="",wn.style.minWidth=Ue)};if(Vt(Ze),a.virtualScroll){O.value=a.fitInputWidth!==!1?Ue:M.value?`${Ie}px`:`${Math.max(Ie,Je())}px`;return}const Jt=Wt(`.${d.e("suggestion-list")}`);Jt&&Vt(Jt)},Ce=()=>{if(!r.prefix)return 0;const Ie=k.value?.$el.querySelector(`.${f.e("prefix")}`);if(!Ie)return 0;const Ze=Ie.getBoundingClientRect().width;return Ze<=0?0:Ze+v[re.value||"default"]},Ne=()=>{const Ie=k.value?.input,Ze=k.value?.$el;if(!Lt||!Ie||!Ze)return;T.value&&qt(Ze.getBoundingClientRect().width);const Ue=x.value;if(Ue){const Vt=H.value.length>0?`${Math.max(Ue.offsetHeight,u)-2}px`:`${u}px`;Ie.style.height=Vt,Ue.style.left=`${Ce()}px`,$e()}},Je=()=>{if(M.value||!P.value.length)return 0;const Ie=document.createElement("canvas").getContext("2d");if(!Ie)return 0;const Ze=Wt(`.${d.e("suggestion-item")}`);if(!Ze||!Lt)return 0;const Ue=getComputedStyle(Ze),Vt=Number.parseFloat(Ue.paddingLeft)+Number.parseFloat(Ue.paddingRight);Ie.font=`bold ${Ue.fontSize} ${Ue.fontFamily}`;let Jt=0,wn=!1;for(const Qn of P.value){const Co=Qn.text||"",Ta=Ie.measureText(Co);Jt=Math.max(Jt,Ta.width),Qn.checked&&!wn&&(wn=!0)}return Jt+Vt+(wn?fH:0)},_e=Ie=>$.value?.getCheckedNodes(Ie),Ge=Ie=>{$e(),l("expandChange",Ie)},Ve=Ie=>{if(!y.value)switch(Zt(Ie)){case Ee.enter:case Ee.numpadEnter:ye();break;case Ee.down:ye(!0),Re(Rt),Ie.preventDefault();break;case Ee.esc:A.value===!0&&(Ie.preventDefault(),Ie.stopPropagation(),ye(!1));break;case Ee.tab:ye(!1);break}},nt=()=>{$.value?.clearCheckedNodes(),!A.value&&a.filterable&&ht(),ye(!1),l("clear")},ht=()=>{const{value:Ie}=q;W.value=Ie,V.value=Ie},rt=Ie=>{const{checked:Ze}=Ie;ce.value?$.value?.handleCheckChange(Ie,!Ze,!1):(!Ze&&$.value?.handleCheckChange(Ie,!0,!1),ye(!1))},Ct=Ie=>{const Ze=Ie.closest("[data-suggestion-index]")?.dataset.suggestionIndex;if(!Ze)return-1;const Ue=Number.parseInt(Ze,10);return Number.isNaN(Ue)||Ue<0||Ue>=P.value.length?-1:Ue},Ot=Ie=>{const Ze=Ie.target,Ue=Zt(Ie);switch(Ue){case Ee.up:case Ee.down:{Ie.preventDefault();const Vt=Ue===Ee.up?-1:1;if(a.virtualScroll&&_.value){const Jt=Ct(Ze);if(Jt>=0){const wn=P.value.length,Qn=(Jt+Vt+wn)%wn;_.value.scrollToItem(Qn),Re(()=>{const Co=Wt(`#suggestion-${P.value[Qn].uid}`);Co&&zr(Co)});return}}zr(n2(Ze,Vt,`.${d.e("suggestion-item")}[tabindex="-1"]`));break}case Ee.enter:case Ee.numpadEnter:Ze.click();break}},vt=()=>{const Ie=H.value[H.value.length-1];c=V.value?0:c+1,!(!Ie||!c||a.collapseTags&&H.value.length>1)&&(Ie.hitState?tt(Ie):Ie.hitState=!0)},Qt=sc(()=>{const{value:Ie}=Se;if(!Ie)return;const Ze=a.beforeFilter(Ie);os(Ze)?Ze.then(At).catch(()=>{}):Ze!==!1?At():Pe()},C(()=>a.debounce)),gn=(Ie,Ze)=>{if(!A.value&&ye(!0),!Ze?.isComposing)if(Ie)Qt();else{const Ue=a.beforeFilter("");os(Ue)&&Ue.catch(()=>{}),Pe()}},Ke=Ie=>Number.parseFloat(nA(f.cssVarName("input-height"),Ie).value)-2,Qe=()=>{k.value?.focus()},it=()=>{k.value?.blur()};return ge(N,$e),ge([le,p,()=>a.collapseTags,()=>a.maxCollapseTags],$t),ge(H,()=>{Re(()=>Ne())}),ge(re,async()=>{await Re();const Ie=k.value.input;u=Ke(Ie)||u,Ne()}),ge(q,ht,{immediate:!0}),ge(()=>A.value,Ie=>{Ie&&a.props.lazy&&a.props.lazyLoad&&$.value?.loadLazyRootNodes()}),at(()=>{const Ie=k.value.input,Ze=k.value.$el,Ue=Ke(Ie);u=Ie.offsetHeight||Ue,cn(Ze,Ne)}),t({getCheckedNodes:_e,cascaderPanelRef:$,togglePopperVisible:ye,contentRef:de,presentText:q,focus:Qe,blur:it}),(Ie,Ze)=>(E(),fe(i(Kn),{ref_key:"tooltipRef",ref:w,visible:A.value,teleported:e.teleported,"popper-class":[i(d).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":o,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${i(d).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:Pe},{default:ae(()=>[Ye((E(),z("div",{ref_key:"wrapperRef",ref:ie,class:R(te.value),style:Be(X.value),onClick:Ze[8]||(Ze[8]=()=>ye(we.value?void 0:!0)),onKeydown:Ve,onMouseenter:Ze[9]||(Ze[9]=Ue=>D.value=!0),onMouseleave:Ze[10]||(Ze[10]=Ue=>D.value=!1)},[Z(i(Gn),{ref_key:"inputRef",ref:k,modelValue:W.value,"onUpdate:modelValue":Ze[1]||(Ze[1]=Ue=>W.value=Ue),placeholder:ne.value,readonly:we.value,disabled:i(p),"validate-event":!1,size:i(re),class:R(pe.value),tabindex:ce.value&&e.filterable&&!i(p)?-1:void 0,onCompositionstart:i(b),onCompositionupdate:i(b),onCompositionend:i(b),onInput:gn},bo({suffix:ae(()=>[Y.value?(E(),fe(i(He),{key:"clear",class:R([i(f).e("icon"),"icon-circle-close"]),onClick:Xe(nt,["stop"])},{default:ae(()=>[(E(),fe(ft(e.clearIcon)))]),_:1},8,["class"])):(E(),fe(i(He),{key:"arrow-down",class:R(he.value),onClick:Ze[0]||(Ze[0]=Xe(Ue=>ye(),["stop"]))},{default:ae(()=>[Z(i(Qa))]),_:1},8,["class"]))]),_:2},[Ie.$slots.prefix?{name:"prefix",fn:ae(()=>[ue(Ie.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),ce.value?(E(),z("div",{key:0,ref_key:"tagWrapper",ref:x,class:R([i(d).e("tags"),i(d).is("validate",!!U.value)])},[ue(Ie.$slots,"tag",{data:H.value,deleteTag:tt},()=>[(E(!0),z(Me,null,dt(L.value,Ue=>(E(),fe(i(wl),{key:Ue.key,type:e.tagType,size:Q.value,effect:e.tagEffect,hit:Ue.hitState,closable:Ue.closable,"disable-transitions":"",onClose:Vt=>tt(Ue)},{default:ae(()=>[I("span",null,me(Ue.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.collapseTags&&H.value.length>e.maxCollapseTags?(E(),fe(i(Kn),{key:0,ref_key:"tagTooltipRef",ref:S,disabled:A.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect,persistent:e.persistent},{default:ae(()=>[Z(i(wl),{closable:!1,size:Q.value,type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:ae(()=>[I("span",{class:R(i(d).e("tags-text"))}," + "+me(H.value.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect"])]),content:ae(()=>[Z(i(wa),{"max-height":e.maxCollapseTagsTooltipHeight},{default:ae(()=>[I("div",{class:R(i(d).e("collapse-tags"))},[(E(!0),z(Me,null,dt(K.value,(Ue,Vt)=>(E(),z("div",{key:Vt,class:R(i(d).e("collapse-tag"))},[(E(),fe(i(wl),{key:Ue.key,class:"in-tooltip",type:e.tagType,size:Q.value,effect:e.tagEffect,hit:Ue.hitState,closable:Ue.closable,"disable-transitions":"",onClose:Jt=>tt(Ue)},{default:ae(()=>[I("span",null,me(Ue.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:1},8,["disabled","popper-class","popper-style","effect","persistent"])):se("v-if",!0),e.filterable&&!i(p)?Ye((E(),z("input",{key:1,"onUpdate:modelValue":Ze[2]||(Ze[2]=Ue=>V.value=Ue),type:"text",class:R(i(d).e("search-input")),placeholder:q.value?"":J.value,onInput:Ze[3]||(Ze[3]=Ue=>gn(V.value,Ue)),onClick:Ze[4]||(Ze[4]=Xe(Ue=>ye(!0),["stop"])),onKeydown:rn(vt,["delete"]),onCompositionstart:Ze[5]||(Ze[5]=(...Ue)=>i(b)&&i(b)(...Ue)),onCompositionupdate:Ze[6]||(Ze[6]=(...Ue)=>i(b)&&i(b)(...Ue)),onCompositionend:Ze[7]||(Ze[7]=(...Ue)=>i(b)&&i(b)(...Ue))},null,42,uH)),[[sn,V.value]]):se("v-if",!0)],2)):se("v-if",!0)],38)),[[i(ds),be,de.value]])]),content:ae(()=>[Ie.$slots.header?(E(),z("div",{key:0,class:R(i(d).e("header")),onClick:Ze[11]||(Ze[11]=Xe(()=>{},["stop"]))},[ue(Ie.$slots,"header")],2)):se("v-if",!0),Ye(Z(i(xE),{ref_key:"cascaderPanelRef",ref:$,modelValue:G.value,"onUpdate:modelValue":Ze[12]||(Ze[12]=Ue=>G.value=Ue),options:e.options,props:a.props,border:!1,"render-label":Ie.$slots.default,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,height:e.height,onExpandChange:Ge,onClose:Ze[13]||(Ze[13]=Ue=>Ie.$nextTick(()=>ye(!1)))},{empty:ae(()=>[ue(Ie.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label","virtual-scroll","item-size","height"]),[[Bt,!N.value]]),e.filterable?(E(),z(Me,{key:1},[e.virtualScroll?Ye((E(),z("div",{key:1,ref_key:"suggestionPanel",ref:T,class:R(i(d).e("suggestion-panel")),onKeydown:Ot},[Ye(Z(i(bc),{ref_key:"suggestionVirtualListRef",ref:_,height:B.value,"item-size":e.itemSize,data:P.value,total:P.value.length,"class-name":i(d).e("suggestion-list"),"inner-element":"ul","inner-width":O.value},{default:ae(({data:Ue,index:Vt,style:Jt})=>[(E(),z("li",{id:`suggestion-${Ue[Vt].uid}`,key:Ue[Vt].uid,"data-suggestion-index":Vt,class:R([i(d).e("suggestion-item"),i(d).is("checked",Ue[Vt].checked)]),tabindex:-1,style:Be(Jt),onClick:wn=>rt(Ue[Vt])},[ue(Ie.$slots,"suggestion-item",{item:Ue[Vt]},()=>[I("span",null,me(Ue[Vt].text),1),Ue[Vt].checked?(E(),fe(i(He),{key:0},{default:ae(()=>[Z(i(ii))]),_:1})):se("v-if",!0)])],14,dH))]),_:3},8,["height","item-size","data","total","class-name","inner-width"]),[[Bt,P.value.length]]),P.value.length?se("v-if",!0):ue(Ie.$slots,"empty",{key:0},()=>[I("ul",{class:R(i(d).e("suggestion-list"))},[I("li",{class:R(i(d).e("empty-text"))},me(i(h)("el.cascader.noMatch")),3)],2)])],34)),[[Bt,N.value]]):Ye((E(),fe(i(wa),{key:0,ref:Ue=>T.value=Ue?.$el,tag:"ul",class:R(i(d).e("suggestion-panel")),"wrap-class":i(d).e("suggestion-wrap"),"view-class":i(d).e("suggestion-list"),onKeydown:Ot},{default:ae(()=>[P.value.length?(E(!0),z(Me,{key:0},dt(P.value,Ue=>(E(),z("li",{key:Ue.uid,class:R([i(d).e("suggestion-item"),i(d).is("checked",Ue.checked)]),tabindex:-1,onClick:Vt=>rt(Ue)},[ue(Ie.$slots,"suggestion-item",{item:Ue},()=>[I("span",null,me(Ue.text),1),Ue.checked?(E(),fe(i(He),{key:0},{default:ae(()=>[Z(i(ii))]),_:1})):se("v-if",!0)])],10,cH))),128)):ue(Ie.$slots,"empty",{key:1},()=>[I("li",{class:R(i(d).e("empty-text"))},me(i(h)("el.cascader.noMatch")),3)])]),_:3},8,["class","wrap-class","view-class"])),[[Bt,N.value]])],64)):se("v-if",!0),Ie.$slots.footer?(E(),z("div",{key:2,class:R(i(d).e("footer")),onClick:Ze[14]||(Ze[14]=Xe(()=>{},["stop"]))},[ue(Ie.$slots,"footer")],2)):se("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}}),vH=pH;const hH=ut(vH),mH=Te({checked:Boolean,disabled:Boolean,type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),gH={"update:checked":e=>Gt(e),[Et]:e=>Gt(e)};var yH=ve({name:"ElCheckTag",__name:"check-tag",props:mH,emits:gH,setup(e,{emit:t}){const n=e,o=t,a=ke("check-tag"),l=C(()=>[a.b(),a.is("checked",n.checked),a.is("disabled",n.disabled),a.m(n.type||"primary")]),s=()=>{if(n.disabled)return;const r=!n.checked;o(Et,r),o("update:checked",r)};return(r,u)=>(E(),z("span",{class:R(l.value),onClick:s},[ue(r.$slots,"default")],2))}}),bH=yH;const wH=ut(bH),SH=Te({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:oe([Number,Object]),default:()=>hn({})},sm:{type:oe([Number,Object]),default:()=>hn({})},md:{type:oe([Number,Object]),default:()=>hn({})},lg:{type:oe([Number,Object]),default:()=>hn({})},xl:{type:oe([Number,Object]),default:()=>hn({})}}),CH=["start","center","end","space-around","space-between","space-evenly"],kH=["top","middle","bottom"],xH=Te({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:CH,default:"start"},align:{type:String,values:kH}}),EE=Symbol("rowContextKey");var EH=ve({name:"ElRow",__name:"row",props:xH,setup(e){const t=e,n=ke("row");xt(EE,{gutter:C(()=>t.gutter)});const o=C(()=>{const l={};return t.gutter&&(l.marginRight=l.marginLeft=`-${t.gutter/2}px`),l}),a=C(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(l,s)=>(E(),fe(ft(e.tag),{class:R(a.value),style:Be(o.value)},{default:ae(()=>[ue(l.$slots,"default")]),_:3},8,["class","style"]))}}),$H=EH;const TH=ut($H);var _H=ve({name:"ElCol",__name:"col",props:SH,setup(e){const t=e,{gutter:n}=Fe(EE,{gutter:C(()=>0)}),o=ke("col"),a=C(()=>{const s={};return n.value&&(s.paddingLeft=s.paddingRight=`${n.value/2}px`),s}),l=C(()=>{const s=[];return["span","offset","pull","push"].forEach(r=>{const u=t[r];We(u)&&(r==="span"?s.push(o.b(`${t[r]}`)):u>0&&s.push(o.b(`${r}-${t[r]}`)))}),["xs","sm","md","lg","xl"].forEach(r=>{We(t[r])?s.push(o.b(`${r}-${t[r]}`)):st(t[r])&&Object.entries(t[r]).forEach(([u,c])=>{s.push(u!=="span"?o.b(`${r}-${u}-${c}`):o.b(`${r}-${c}`))})}),n.value&&s.push(o.is("guttered")),[o.b(),s]});return(s,r)=>(E(),fe(ft(e.tag),{class:R(l.value),style:Be(a.value)},{default:ae(()=>[ue(s.$slots,"default")]),_:3},8,["class","style"]))}}),NH=_H;const IH=ut(NH),Z1=e=>We(e)||ze(e)||xe(e),OH=Te({accordion:Boolean,modelValue:{type:oe([Array,String,Number]),default:()=>hn([])},expandIconPosition:{type:oe([String]),default:"right"},beforeCollapse:{type:oe(Function)}}),MH={[lt]:Z1,[Et]:Z1},$E=Symbol("collapseContextKey"),PH=Te({title:{type:String,default:""},name:{type:oe([String,Number]),default:void 0},icon:{type:Xt,default:io},disabled:Boolean});var RH=ve({name:"ElCollapseTransition",__name:"collapse-transition",setup(e){const t=ke("collapse-transition"),n=a=>{a.style.maxHeight="",a.style.overflow=a.dataset.oldOverflow,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom},o={beforeEnter(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.style.height&&(a.dataset.elExistsHeight=a.style.height),a.style.maxHeight=0,a.style.paddingTop=0,a.style.paddingBottom=0},enter(a){requestAnimationFrame(()=>{a.dataset.oldOverflow=a.style.overflow,a.dataset.elExistsHeight?a.style.maxHeight=a.dataset.elExistsHeight:a.scrollHeight!==0?a.style.maxHeight=`${a.scrollHeight}px`:a.style.maxHeight=0,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom,a.style.overflow="hidden"})},afterEnter(a){a.style.maxHeight="",a.style.overflow=a.dataset.oldOverflow},enterCancelled(a){n(a)},beforeLeave(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.dataset.oldOverflow=a.style.overflow,a.style.maxHeight=`${a.scrollHeight}px`,a.style.overflow="hidden"},leave(a){a.scrollHeight!==0&&(a.style.maxHeight=0,a.style.paddingTop=0,a.style.paddingBottom=0)},afterLeave(a){n(a)},leaveCancelled(a){n(a)}};return(a,l)=>(E(),fe(Zn,pt({name:i(t).b()},RN(o)),{default:ae(()=>[ue(a.$slots,"default")]),_:3},16,["name"]))}}),AH=RH;const Tp=ut(AH),J1="ElCollapse",DH=(e,t)=>{const n=F(Bn(e.modelValue)),o=s=>{n.value=s;const r=e.accordion?n.value[0]:n.value;t(lt,r),t(Et,r)},a=s=>{if(e.accordion)o([n.value[0]===s?"":s]);else{const r=[...n.value],u=r.indexOf(s);u>-1?r.splice(u,1):r.push(s),o(r)}},l=async s=>{const{beforeCollapse:r}=e;if(!r){a(s);return}const u=r(s);[os(u),Gt(u)].includes(!0)||dn(J1,"beforeCollapse must return type `Promise` or `boolean`"),os(u)?u.then(c=>{c!==!1&&a(s)}).catch(c=>{Yt(J1,`some error occurred: ${c}`)}):u&&a(s)};return ge(()=>e.modelValue,()=>n.value=Bn(e.modelValue),{deep:!0}),xt($E,{activeNames:n,handleItemClick:l}),{activeNames:n,setActiveNames:o}},LH=e=>{const t=ke("collapse");return{rootKls:C(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}};var VH=ve({name:"ElCollapse",__name:"collapse",props:OH,emits:MH,setup(e,{expose:t,emit:n}){const o=e,{activeNames:a,setActiveNames:l}=DH(o,n),{rootKls:s}=LH(o);return t({activeNames:a,setActiveNames:l}),(r,u)=>(E(),z("div",{class:R(i(s))},[ue(r.$slots,"default")],2))}}),BH=VH;const FH=e=>{const t=Fe($E),{namespace:n}=ke("collapse"),o=F(!1),a=F(!1),l=Ig(),s=C(()=>l.current++),r=C(()=>e.name??`${n.value}-id-${l.prefix}-${i(s)}`),u=C(()=>t?.activeNames.value.includes(i(r)));return{focusing:o,id:s,isActive:u,handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:o.value=!0},50)},handleHeaderClick:v=>{e.disabled||v.target?.closest("input, textarea, select")||(t?.handleItemClick(i(r)),o.value=!1,a.value=!0)},handleEnterClick:v=>{v.target?.closest("input, textarea, select")||(v.preventDefault(),t?.handleItemClick(i(r)))}}},zH=(e,{focusing:t,isActive:n,id:o})=>{const a=ke("collapse"),l=C(()=>[a.b("item"),a.is("active",i(n)),a.is("disabled",e.disabled)]),s=C(()=>[a.be("item","header"),a.is("active",i(n)),{focusing:i(t)&&!e.disabled}]),r=C(()=>[a.be("item","arrow"),a.is("active",i(n))]);return{itemTitleKls:C(()=>[a.be("item","title")]),arrowKls:r,headKls:s,rootKls:l,itemWrapperKls:C(()=>a.be("item","wrap")),itemContentKls:C(()=>a.be("item","content")),scopedContentId:C(()=>a.b(`content-${i(o)}`)),scopedHeadId:C(()=>a.b(`head-${i(o)}`))}},HH=["id","aria-expanded","aria-controls","aria-describedby","tabindex","aria-disabled"],KH=["id","aria-hidden","aria-labelledby"];var WH=ve({name:"ElCollapseItem",__name:"collapse-item",props:PH,setup(e,{expose:t}){const n=e,{focusing:o,id:a,isActive:l,handleFocus:s,handleHeaderClick:r,handleEnterClick:u}=FH(n),{arrowKls:c,headKls:d,rootKls:f,itemTitleKls:v,itemWrapperKls:h,itemContentKls:g,scopedContentId:p,scopedHeadId:m}=zH(n,{focusing:o,isActive:l,id:a});return t({isActive:l}),(y,b)=>(E(),z("div",{class:R(i(f))},[I("div",{id:i(m),class:R(i(d)),"aria-expanded":i(l),"aria-controls":i(p),"aria-describedby":i(p),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"button",onClick:b[0]||(b[0]=(...w)=>i(r)&&i(r)(...w)),onKeydown:b[1]||(b[1]=rn(Xe((...w)=>i(u)&&i(u)(...w),["stop"]),["space","enter"])),onFocus:b[2]||(b[2]=(...w)=>i(s)&&i(s)(...w)),onBlur:b[3]||(b[3]=w=>o.value=!1)},[I("span",{class:R(i(v))},[ue(y.$slots,"title",{isActive:i(l)},()=>[Oe(me(e.title),1)])],2),ue(y.$slots,"icon",{isActive:i(l)},()=>[Z(i(He),{class:R(i(c))},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1},8,["class"])])],42,HH),Z(i(Tp),null,{default:ae(()=>[Ye(I("div",{id:i(p),role:"region",class:R(i(h)),"aria-hidden":!i(l),"aria-labelledby":i(m)},[I("div",{class:R(i(g))},[ue(y.$slots,"default")],2)],10,KH),[[Bt,i(l)]])]),_:3})],2))}}),TE=WH;const jH=ut(BH,{CollapseItem:TE}),UH=fn(TE),_E=Te({modelValue:{type:oe(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:{type:oe(String)},disabled:Boolean,predefine:{type:oe(Array)},validateEvent:{type:Boolean,default:!0},hueSliderClass:{type:oe([String,Array,Object,Boolean]),default:void 0},hueSliderStyle:{type:oe([String,Array,Object,Boolean]),default:void 0}}),YH={[lt]:e=>ze(e)||yn(e)},NE=Symbol("colorCommonPickerKey"),IE=Symbol("colorPickerPanelContextKey"),OE=Te({color:{type:oe(Object),required:!0},vertical:Boolean,disabled:Boolean}),qH=OE,Q1=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},Jh=(e,t)=>Math.abs(Q1(e)-Q1(t)),yf=e=>{let t,n;return e.type==="touchend"?(n=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}};let Ev=!1;function Qh(e,t){if(!Lt)return;const n=function(l){t.drag?.(l)},o=function(l){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",o),document.onselectstart=null,document.ondragstart=null,Ev=!1,t.end?.(l)},a=function(l){Ev||(document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",n),document.addEventListener("mouseup",o),document.addEventListener("touchmove",n),document.addEventListener("touchend",o),Ev=!0,t.start?.(l))};e.addEventListener("mousedown",a),e.addEventListener("touchstart",a,{passive:!1})}const ME=(e,{key:t,minValue:n,maxValue:o})=>{const a=ct(),l=kt(),s=kt(),r=C(()=>e.color.get(t));function u(v){e.disabled||(v.target!==l.value&&c(v),l.value?.focus())}function c(v){if(!s.value||!l.value||e.disabled)return;const h=a.vnode.el.getBoundingClientRect(),{clientX:g,clientY:p}=yf(v);let m;if(e.vertical){let y=p-h.top;y=Math.max(l.value.offsetHeight/2,y),y=Math.min(y,h.height-l.value.offsetHeight/2),m=Math.round((y-l.value.offsetHeight/2)/(h.height-l.value.offsetHeight)*o)}else{let y=g-h.left;y=Math.max(l.value.offsetWidth/2,y),y=Math.min(y,h.width-l.value.offsetWidth/2),m=Math.round((y-l.value.offsetWidth/2)/(h.width-l.value.offsetWidth)*o)}e.color.set(t,m)}function d(v){if(e.disabled)return;const{shiftKey:h}=v,g=Zt(v),p=h?10:1,m=t==="hue"?-1:1;let y=!0;switch(g){case Ee.left:case Ee.down:f(-p*m);break;case Ee.right:case Ee.up:f(p*m);break;case Ee.home:e.color.set(t,t==="hue"?o:n);break;case Ee.end:e.color.set(t,t==="hue"?n:o);break;case Ee.pageDown:f(-4*m);break;case Ee.pageUp:f(4*m);break;default:y=!1;break}y&&v.preventDefault()}function f(v){let h=r.value+v;h=ho?o:h,e.color.set(t,h)}return{thumb:l,bar:s,currentValue:r,handleDrag:c,handleClick:u,handleKeydown:d}},PE=(e,{namespace:t,maxValue:n,bar:o,thumb:a,currentValue:l,handleDrag:s,getBackground:r})=>{const u=ct(),c=ke(t),d=F(0),f=F(0),v=F();function h(){if(!a.value||e.vertical)return 0;const w=u.vnode.el,S=l.value;return w?Math.round(S*(w.offsetWidth-a.value.offsetWidth/2)/n):0}function g(){if(!a.value)return 0;const w=u.vnode.el;if(!e.vertical)return 0;const S=l.value;return w?Math.round(S*(w.offsetHeight-a.value.offsetHeight/2)/n):0}function p(){d.value=h(),f.value=g(),v.value=r?.()}at(()=>{if(!o.value||!a.value)return;const w={drag:S=>{s(S)},end:S=>{s(S)}};Qh(o.value,w),Qh(a.value,w),p()}),ge(l,()=>p()),ge(()=>e.color.value,()=>p());const m=C(()=>[c.b(),c.is("vertical",e.vertical),c.is("disabled",e.disabled)]),y=C(()=>c.e("bar")),b=C(()=>c.e("thumb"));return{rootKls:m,barKls:y,barStyle:C(()=>({background:v.value})),thumbKls:b,thumbStyle:C(()=>({left:mn(d.value),top:mn(f.value)})),thumbLeft:d,thumbTop:f,update:p}},GH=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],ew=0,$v=100;var XH=ve({name:"ElColorAlphaSlider",__name:"alpha-slider",props:OE,setup(e,{expose:t}){const n=e,{currentValue:o,bar:a,thumb:l,handleDrag:s,handleClick:r,handleKeydown:u}=ME(n,{key:"alpha",minValue:ew,maxValue:$v}),{rootKls:c,barKls:d,barStyle:f,thumbKls:v,thumbStyle:h,update:g}=PE(n,{namespace:"color-alpha-slider",maxValue:$v,currentValue:o,bar:a,thumb:l,handleDrag:s,getBackground:b}),{t:p}=_t(),m=C(()=>p("el.colorpicker.alphaLabel")),y=C(()=>p("el.colorpicker.alphaDescription",{alpha:o.value,color:n.color.value}));function b(){if(n.color&&n.color.value){const{r:w,g:S,b:k}=n.color.toRgb();return`linear-gradient(to right, rgba(${w}, ${S}, ${k}, 0) 0%, rgba(${w}, ${S}, ${k}, 1) 100%)`}return""}return t({update:g,bar:a,thumb:l}),(w,S)=>(E(),z("div",{class:R(i(c))},[I("div",{ref_key:"bar",ref:a,class:R(i(d)),style:Be(i(f)),onClick:S[0]||(S[0]=(...k)=>i(r)&&i(r)(...k))},null,6),I("div",{ref_key:"thumb",ref:l,class:R(i(v)),style:Be(i(h)),"aria-label":m.value,"aria-valuenow":i(o),"aria-valuetext":y.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":ew,"aria-valuemax":$v,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:S[1]||(S[1]=(...k)=>i(u)&&i(u)(...k))},null,46,GH)],2))}}),ZH=XH;const JH=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],tw=0,Tv=360;var QH=ve({name:"ElColorHueSlider",__name:"hue-slider",props:qH,setup(e,{expose:t}){const n=e,{currentValue:o,bar:a,thumb:l,handleDrag:s,handleClick:r,handleKeydown:u}=ME(n,{key:"hue",minValue:tw,maxValue:Tv}),{rootKls:c,barKls:d,thumbKls:f,thumbStyle:v,thumbTop:h,update:g}=PE(n,{namespace:"color-hue-slider",maxValue:Tv,currentValue:o,bar:a,thumb:l,handleDrag:s}),{t:p}=_t(),m=C(()=>p("el.colorpicker.hueLabel")),y=C(()=>p("el.colorpicker.hueDescription",{hue:o.value,color:n.color.value}));return t({bar:a,thumb:l,thumbTop:h,update:g}),(b,w)=>(E(),z("div",{class:R(i(c))},[I("div",{ref_key:"bar",ref:a,class:R(i(d)),onClick:w[0]||(w[0]=(...S)=>i(r)&&i(r)(...S))},null,2),I("div",{ref_key:"thumb",ref:l,class:R(i(f)),style:Be(i(v)),"aria-label":m.value,"aria-valuenow":i(o),"aria-valuetext":y.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":tw,"aria-valuemax":Tv,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:w[1]||(w[1]=(...S)=>i(u)&&i(u)(...S))},null,46,JH)],2))}}),eK=QH;const tK=Te({colors:{type:oe(Array),required:!0},color:{type:oe(Object),required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean});var bf=class{constructor(t={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new kn,this._isValid=!1,this.enableAlpha=!1,this.format="",this.value="";for(const n in t)zt(t,n)&&(this[n]=t[n]);t.value?this.fromString(t.value):this.doOnChange()}set(t,n){if(arguments.length===1&&typeof t=="object"){for(const o in t)zt(t,o)&&this.set(o,t[o]);return}this[`_${t}`]=n,this._isValid=!0,this.doOnChange()}get(t){return["hue","saturation","value","alpha"].includes(t)?Math.round(this[`_${t}`]):this[`_${t}`]}toRgb(){return this._isValid?this._tiny.toRgb():{r:255,g:255,b:255,a:0}}fromString(t){const n=new kn(t);if(this._isValid=n.isValid,n.isValid){const{h:o,s:a,v:l,a:s}=n.toHsv();this._hue=o,this._saturation=a*100,this._value=l*100,this._alpha=s*100}else this._hue=0,this._saturation=100,this._value=100,this._alpha=100;this.doOnChange()}clear(){this._isValid=!1,this.value="",this._hue=0,this._saturation=100,this._value=100,this._alpha=100}compare(t){const n=new kn({h:t._hue,s:t._saturation/100,v:t._value/100,a:t._alpha/100});return this._tiny.equals(n)}doOnChange(){const{_hue:t,_saturation:n,_value:o,_alpha:a,format:l,enableAlpha:s}=this;let r=l||(s?"rgb":"hex");l==="hex"&&s&&(r="hex8"),this._tiny=new kn({h:t,s:n/100,v:o/100,a:a/100}),this.value=this._isValid?this._tiny.toString(r):""}};const nK=e=>{const{currentColor:t}=Fe(IE),n=F(a(e.colors,e.color));ge(()=>t.value,l=>{const s=new bf({value:l,enableAlpha:e.enableAlpha});n.value.forEach(r=>{r.selected=s.compare(r)})}),uo(()=>{n.value=a(e.colors,e.color)});function o(l){e.color.fromString(e.colors[l])}function a(l,s){return l.map(r=>{const u=new bf({value:r,enableAlpha:e.enableAlpha});return u.selected=u.compare(s),u})}return{rgbaColors:n,handleSelect:o}},oK=e=>{const t=ke("color-predefine"),n=C(()=>[t.b(),t.is("disabled",e.disabled)]),o=C(()=>t.e("colors"));function a(l){return[t.e("color-selector"),t.is("alpha",l.get("alpha")<100),{selected:l.selected}]}return{rootKls:n,colorsKls:o,colorSelectorKls:a}},aK=["disabled","aria-label","onClick"];var lK=ve({name:"ElColorPredefine",__name:"predefine",props:tK,setup(e){const t=e,{rgbaColors:n,handleSelect:o}=nK(t),{rootKls:a,colorsKls:l,colorSelectorKls:s}=oK(t),{t:r}=_t(),u=c=>r("el.colorpicker.predefineDescription",{value:c});return(c,d)=>(E(),z("div",{class:R(i(a))},[I("div",{class:R(i(l))},[(E(!0),z(Me,null,dt(i(n),(f,v)=>(E(),z("button",{key:e.colors[v],type:"button",disabled:e.disabled,"aria-label":u(f.value),class:R(i(s)(f)),onClick:h=>i(o)(v)},[I("div",{style:Be({backgroundColor:f.value})},null,4)],10,aK))),128))],2)],2))}}),sK=lK;const rK=Te({color:{type:oe(Object),required:!0},disabled:Boolean}),iK=e=>{const t=ct(),n=F(),o=F(0),a=F(0),l=F("hsl(0, 100%, 50%)"),s=C(()=>e.color.get("saturation")),r=C(()=>e.color.get("value")),u=C(()=>e.color.get("hue"));function c(g){e.disabled||(g.target!==n.value&&d(g),n.value?.focus({preventScroll:!0}))}function d(g){if(e.disabled)return;const p=t.vnode.el.getBoundingClientRect(),{clientX:m,clientY:y}=yf(g);let b=m-p.left,w=y-p.top;b=Math.max(0,b),b=Math.min(b,p.width),w=Math.max(0,w),w=Math.min(w,p.height),a.value=b,o.value=w,e.color.set({saturation:b/p.width*100,value:100-w/p.height*100})}function f(g){if(e.disabled)return;const{shiftKey:p}=g,m=Zt(g),y=p?10:1;let b=!0;switch(m){case Ee.left:v(-y);break;case Ee.right:v(y);break;case Ee.up:h(y);break;case Ee.down:h(-y);break;default:b=!1;break}b&&g.preventDefault()}function v(g){let p=s.value+g;p=p<0?0:p>100?100:p,e.color.set("saturation",p)}function h(g){let p=r.value+g;p=p<0?0:p>100?100:p,e.color.set("value",p)}return{cursorRef:n,cursorTop:o,cursorLeft:a,background:l,saturation:s,brightness:r,hue:u,handleClick:c,handleDrag:d,handleKeydown:f}},uK=(e,{cursorTop:t,cursorLeft:n,background:o,handleDrag:a})=>{const l=ct(),s=ke("color-svpanel");function r(){const u=e.color.get("saturation"),c=e.color.get("value"),{clientWidth:d,clientHeight:f}=l.vnode.el;n.value=u*d/100,t.value=(100-c)*f/100,o.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}return at(()=>{Qh(l.vnode.el,{drag:u=>{a(u)},end:u=>{a(u)}}),r()}),ge([()=>e.color.get("hue"),()=>e.color.get("value"),()=>e.color.value],()=>r()),{rootKls:C(()=>s.b()),cursorKls:C(()=>s.e("cursor")),rootStyle:C(()=>({backgroundColor:o.value})),cursorStyle:C(()=>({top:mn(t.value),left:mn(n.value)})),update:r}},cK=["tabindex","aria-disabled","aria-label","aria-valuenow","aria-valuetext"];var dK=ve({name:"ElSvPanel",__name:"sv-panel",props:rK,setup(e,{expose:t}){const n=e,{cursorRef:o,cursorTop:a,cursorLeft:l,background:s,saturation:r,brightness:u,handleClick:c,handleDrag:d,handleKeydown:f}=iK(n),{rootKls:v,cursorKls:h,rootStyle:g,cursorStyle:p,update:m}=uK(n,{cursorTop:a,cursorLeft:l,background:s,handleDrag:d}),{t:y}=_t(),b=C(()=>y("el.colorpicker.svLabel")),w=C(()=>y("el.colorpicker.svDescription",{saturation:r.value,brightness:u.value,color:n.color.value}));return t({update:m}),(S,k)=>(E(),z("div",{class:R(i(v)),style:Be(i(g)),onClick:k[1]||(k[1]=(...x)=>i(c)&&i(c)(...x))},[I("div",{ref_key:"cursorRef",ref:o,class:R(i(h)),style:Be(i(p)),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"slider","aria-valuemin":"0,0","aria-valuemax":"100,100","aria-label":b.value,"aria-valuenow":`${i(r)},${i(u)}`,"aria-valuetext":w.value,onKeydown:k[0]||(k[0]=(...x)=>i(f)&&i(f)(...x))},null,46,cK)],6))}}),fK=dK;const RE=(e,t)=>{const n=Kt(new bf({enableAlpha:e.showAlpha,format:e.colorFormat||"",value:e.modelValue}));return ge(()=>[e.colorFormat,e.showAlpha],()=>{n.enableAlpha=e.showAlpha,n.format=e.colorFormat||n.format,n.doOnChange(),t(lt,n.value)}),{color:n}};var pK=ve({name:"ElColorPickerPanel",__name:"color-picker-panel",props:_E,emits:YH,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("color-picker-panel"),{formItem:s}=Wn(),r=pn(),u=F(),c=F(),d=F(),f=F(),v=F(""),{color:h}=Fe(NE,()=>RE(o,a),!0);function g(){h.fromString(v.value),h.value!==v.value&&(v.value=h.value)}function p(){o.validateEvent&&s?.validate?.("blur").catch(mt)}function m(){u.value?.update(),c.value?.update(),d.value?.update()}return at(()=>{o.modelValue&&(v.value=h.value),Re(m)}),ge(()=>o.modelValue,y=>{y!==h.value&&(y?h.fromString(y):h.clear())}),ge(()=>h.value,y=>{a(lt,y),v.value=y,o.validateEvent&&s?.validate("change").catch(mt)}),xt(IE,{currentColor:C(()=>h.value)}),t({color:h,inputRef:f,update:m}),(y,b)=>(E(),z("div",{class:R([i(l).b(),i(l).is("disabled",i(r)),i(l).is("border",e.border)]),onFocusout:p},[I("div",{class:R(i(l).e("wrapper"))},[Z(eK,{ref_key:"hueRef",ref:u,color:i(h),vertical:"",disabled:i(r),class:R(["hue-slider",e.hueSliderClass]),style:Be(e.hueSliderStyle)},null,8,["color","disabled","class","style"]),Z(fK,{ref_key:"svRef",ref:c,color:i(h),disabled:i(r)},null,8,["color","disabled"])],2),e.showAlpha?(E(),fe(ZH,{key:0,ref_key:"alphaRef",ref:d,color:i(h),disabled:i(r)},null,8,["color","disabled"])):se("v-if",!0),e.predefine?(E(),fe(sK,{key:1,ref:"predefine","enable-alpha":e.showAlpha,color:i(h),colors:e.predefine,disabled:i(r)},null,8,["enable-alpha","color","colors","disabled"])):se("v-if",!0),I("div",{class:R(i(l).e("footer"))},[Z(i(Gn),{ref_key:"inputRef",ref:f,modelValue:v.value,"onUpdate:modelValue":b[0]||(b[0]=w=>v.value=w),"validate-event":!1,size:"small",disabled:i(r),onChange:g},null,8,["modelValue","disabled"]),ue(y.$slots,"footer")],2)],34))}}),vK=pK;const AE=ut(vK),hK=Te({persistent:{type:Boolean,default:!0},modelValue:{type:oe(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:{type:oe(String)},disabled:{type:Boolean,default:void 0},clearable:{type:Boolean,default:!0},size:Rn,popperClass:ln.popperClass,popperStyle:ln.popperStyle,tabindex:{type:[String,Number],default:0},teleported:ln.teleported,appendTo:ln.appendTo,predefine:{type:oe(Array)},validateEvent:{type:Boolean,default:!0},...mr,...co(["ariaLabel"])}),mK={[lt]:e=>ze(e)||yn(e),[Et]:e=>ze(e)||yn(e),activeChange:e=>ze(e)||yn(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},gK=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"];var yK=ve({name:"ElColorPicker",__name:"color-picker",props:hK,emits:mK,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=_t(),s=ke("color"),{formItem:r}=Wn(),u=In(),c=pn(),{valueOnClear:d,isEmptyValue:f}=hc(o,null),v=RE(o,a),{inputId:h,isLabeledByFormItem:g}=Ro(o,{formItemContext:r}),p=F(),m=F(),y=F(),b=F(!1),w=F(!1);let S=!0;const{isFocused:k,handleFocus:x,handleBlur:$}=Pl(m,{disabled:c,beforeBlur(le){return p.value?.isFocusInsideContent(le)},afterBlur(){P(!1),L(),o.validateEvent&&r?.validate?.("blur").catch(mt)}}),T=WR(()=>y.value?.color??v.color),_=C(()=>Ua(o,Object.keys(_E))),A=C(()=>!o.modelValue&&!w.value?"transparent":H(T,o.showAlpha)),D=C(()=>!o.modelValue&&!w.value?"":T.value),N=C(()=>g.value?void 0:o.ariaLabel||l("el.colorpicker.defaultLabel")),W=C(()=>g.value?r?.labelId:void 0),V=C(()=>[s.b("picker"),s.is("disabled",c.value),s.bm("picker",u.value),s.is("focused",k.value)]);function H(le,ie){const{r:j,g:ee,b:Y,a:q}=le.toRgb();return ie?`rgba(${j}, ${ee}, ${Y}, ${q})`:`rgb(${j}, ${ee}, ${Y})`}function P(le){b.value=le}const O=ja(P,100,{leading:!0});function M(){c.value||P(!0)}function B(){O(!1),L()}function L(){Re(()=>{o.modelValue?T.fromString(o.modelValue):(T.value="",Re(()=>{w.value=!1}))})}function K(){c.value||(b.value&&L(),O(!b.value))}function X(){const le=f(T.value)?d.value:T.value;a(lt,le),a(Et,le),o.validateEvent&&r?.validate("change").catch(mt),O(!1),Re(()=>{const ie=new bf({enableAlpha:o.showAlpha,format:o.colorFormat||"",value:o.modelValue});T.compare(ie)||L()})}function J(){O(!1),a(lt,d.value),a(Et,d.value),o.modelValue!==d.value&&o.validateEvent&&r?.validate("change").catch(mt),L(),a("clear")}function ne(){y?.value?.inputRef?.focus()}function re(){b.value&&(B(),k.value&&we())}function Q(le){le.preventDefault(),le.stopPropagation(),P(!1),L()}function ce(le){switch(Zt(le)){case Ee.enter:case Ee.numpadEnter:case Ee.space:le.preventDefault(),le.stopPropagation(),M();break;case Ee.esc:Q(le);break}}function we(){m.value.focus()}function Se(){m.value.blur()}return ge(()=>D.value,le=>{S&&a("activeChange",le),S=!0}),ge(()=>T.value,()=>{!o.modelValue&&!w.value&&(w.value=!0)}),ge(()=>o.modelValue,le=>{le?le&&le!==T.value&&(S=!1,T.fromString(le)):w.value=!1}),ge(()=>b.value,()=>{y.value&&Re(y.value.update)}),xt(NE,v),t({color:T,show:M,hide:B,focus:we,blur:Se}),(le,ie)=>(E(),fe(i(Kn),{ref_key:"popper",ref:p,visible:b.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[i(s).be("picker","panel"),e.popperClass],"popper-style":e.popperStyle,"stop-popper-mouse-event":!1,pure:"",loop:"",role:"dialog",effect:"light",trigger:"click",teleported:e.teleported,transition:`${i(s).namespace.value}-zoom-in-top`,persistent:e.persistent,"append-to":e.appendTo,onShow:ne,onHide:ie[2]||(ie[2]=j=>P(!1))},{content:ae(()=>[Ye((E(),fe(i(AE),pt({ref_key:"pickerPanelRef",ref:y},_.value,{border:!1,"validate-event":!1,onKeydown:rn(Q,["esc"])}),{footer:ae(()=>[I("div",null,[e.clearable?(E(),fe(i(zn),{key:0,class:R(i(s).be("footer","link-btn")),text:"",size:"small",onClick:J},{default:ae(()=>[Oe(me(i(l)("el.colorpicker.clear")),1)]),_:1},8,["class"])):se("v-if",!0),Z(i(zn),{plain:"",size:"small",class:R(i(s).be("footer","btn")),onClick:X},{default:ae(()=>[Oe(me(i(l)("el.colorpicker.confirm")),1)]),_:1},8,["class"])])]),_:1},16)),[[i(ds),re,m.value]])]),default:ae(()=>[I("div",pt({id:i(h),ref_key:"triggerRef",ref:m},le.$attrs,{class:V.value,role:"button","aria-label":N.value,"aria-labelledby":W.value,"aria-description":i(l)("el.colorpicker.description",{color:e.modelValue||""}),"aria-disabled":i(c),tabindex:i(c)?void 0:e.tabindex,onKeydown:ce,onFocus:ie[0]||(ie[0]=(...j)=>i(x)&&i(x)(...j)),onBlur:ie[1]||(ie[1]=(...j)=>i($)&&i($)(...j))}),[I("div",{class:R(i(s).be("picker","trigger")),onClick:K},[I("span",{class:R([i(s).be("picker","color"),i(s).is("alpha",e.showAlpha)])},[I("span",{class:R(i(s).be("picker","color-inner")),style:Be({backgroundColor:A.value})},[Ye(Z(i(He),{class:R([i(s).be("picker","icon"),i(s).is("icon-arrow-down")])},{default:ae(()=>[Z(i(Qa))]),_:1},8,["class"]),[[Bt,e.modelValue||w.value]]),Ye(Z(i(He),{class:R([i(s).be("picker","empty"),i(s).is("icon-close")])},{default:ae(()=>[Z(i(la))]),_:1},8,["class"]),[[Bt,!e.modelValue&&!w.value]])],6)],2)],2)],16,gK)]),_:1},8,["visible","popper-class","popper-style","teleported","transition","persistent","append-to"]))}}),bK=yK;const wK=ut(bK);var SK=ve({name:"ElContainer",__name:"container",props:{direction:{type:String,required:!1}},setup(e){const t=e,n=bn(),o=ke("container"),a=C(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(l=>{const s=l.type.name;return s==="ElHeader"||s==="ElFooter"}):!1);return(l,s)=>(E(),z("section",{class:R([i(o).b(),i(o).is("vertical",a.value)])},[ue(l.$slots,"default")],2))}}),CK=SK,kK=ve({name:"ElAside",__name:"aside",props:{width:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ke("aside"),o=C(()=>t.width?n.cssVarBlock({width:t.width}):{});return(a,l)=>(E(),z("aside",{class:R(i(n).b()),style:Be(o.value)},[ue(a.$slots,"default")],6))}}),DE=kK,xK=ve({name:"ElFooter",__name:"footer",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ke("footer"),o=C(()=>t.height?n.cssVarBlock({height:t.height}):{});return(a,l)=>(E(),z("footer",{class:R(i(n).b()),style:Be(o.value)},[ue(a.$slots,"default")],6))}}),LE=xK,EK=ve({name:"ElHeader",__name:"header",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ke("header"),o=C(()=>t.height?n.cssVarBlock({height:t.height}):{});return(a,l)=>(E(),z("header",{class:R(i(n).b()),style:Be(o.value)},[ue(a.$slots,"default")],6))}}),VE=EK,$K=ve({name:"ElMain",__name:"main",setup(e){const t=ke("main");return(n,o)=>(E(),z("main",{class:R(i(t).b())},[ue(n.$slots,"default")],2))}}),BE=$K;const TK=ut(CK,{Aside:DE,Footer:LE,Header:VE,Main:BE}),_K=fn(DE),NK=fn(LE),IK=fn(VE),OK=fn(BE),MK=Te({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:oe([Number,Object]),default:0},valueStyle:{type:oe([String,Object,Array,Boolean]),default:void 0}}),PK={finish:()=>!0,[Et]:e=>We(e)},RK=Te({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:oe([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:oe([String,Object,Array,Boolean]),default:void 0}});var AK=ve({name:"ElStatistic",__name:"statistic",props:RK,setup(e,{expose:t}){const n=e,o=ke("statistic"),a=C(()=>{const{value:l,formatter:s,precision:r,decimalSeparator:u,groupSeparator:c}=n;if(je(s))return s(l);if(!We(l)||Number.isNaN(l))return l;let[d,f=""]=String(l).split(".");return f=f.padEnd(r,"0").slice(0,r>0?r:0),d=d.replace(/\B(?=(\d{3})+(?!\d))/g,c),[d,f].join(f?u:"")});return t({displayValue:a}),(l,s)=>(E(),z("div",{class:R(i(o).b())},[l.$slots.title||e.title?(E(),z("div",{key:0,class:R(i(o).e("head"))},[ue(l.$slots,"title",{},()=>[Oe(me(e.title),1)])],2)):se("v-if",!0),I("div",{class:R(i(o).e("content"))},[l.$slots.prefix||e.prefix?(E(),z("div",{key:0,class:R(i(o).e("prefix"))},[ue(l.$slots,"prefix",{},()=>[I("span",null,me(e.prefix),1)])],2)):se("v-if",!0),I("span",{class:R(i(o).e("number")),style:Be(e.valueStyle)},me(a.value),7),l.$slots.suffix||e.suffix?(E(),z("div",{key:1,class:R(i(o).e("suffix"))},[ue(l.$slots,"suffix",{},()=>[I("span",null,me(e.suffix),1)])],2)):se("v-if",!0)],2)],2))}}),DK=AK;const FE=ut(DK),LK=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],nw=e=>We(e)?new Date(e).getTime():e.valueOf(),ow=(e,t)=>{let n=e;return LK.reduce((o,[a,l])=>{const s=new RegExp(`${a}+(?![^\\[\\]]*\\])`,"g");if(s.test(o)){const r=Math.floor(n/l);return n-=r*l,o.replace(s,u=>String(r).padStart(u.length,"0"))}return o},t).replace(/\[([^\]]*)]/g,"$1")};var VK=ve({name:"ElCountdown",__name:"countdown",props:MK,emits:PK,setup(e,{expose:t,emit:n}){const o=e,a=n;let l;const s=F(0),r=C(()=>ow(s.value,o.format)),u=f=>ow(f,o.format),c=()=>{l&&(ba(l),l=void 0)},d=()=>{const f=nw(o.value),v=()=>{let h=f-Date.now();a(Et,h),h<=0?(h=0,c(),a("finish")):l=Po(v),s.value=h};l=Po(v)};return at(()=>{s.value=nw(o.value)-Date.now(),ge(()=>[o.value,o.format],()=>{c(),d()},{immediate:!0})}),Ft(()=>{c()}),t({displayValue:r}),(f,v)=>(E(),fe(i(FE),{value:s.value,title:e.title,prefix:e.prefix,suffix:e.suffix,"value-style":e.valueStyle,formatter:u},bo({_:2},[dt(f.$slots,(h,g)=>({name:g,fn:ae(()=>[ue(f.$slots,g)])}))]),1032,["value","title","prefix","suffix","value-style"]))}}),BK=VK;const FK=ut(BK),zK=Te({valueFormat:String,dateFormat:String,timeFormat:String,disabled:{type:Boolean,default:void 0},modelValue:{type:oe([Date,Array,String,Number]),default:""},defaultValue:{type:oe([Date,Array])},defaultTime:{type:oe([Date,Array])},isRange:Boolean,...Yg,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:oe(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}}),oy=Symbol("rootPickerContextKey"),HK=["date","dates","year","years","month","months","week","range"],ay=Te({cellClassName:{type:oe(Function)},disabledDate:{type:oe(Function)},date:{type:oe(Object),required:!0},minDate:{type:oe(Object)},maxDate:{type:oe(Object)},parsedValue:{type:oe([Object,Array])},rangeState:{type:oe(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),zE=Te({type:{type:oe(String),required:!0,values:aO},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean,editable:{type:Boolean,default:!0}}),ly=Te({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:oe(Array)},singlePanel:Boolean}),sy=e=>({type:String,values:HK,default:e}),KK=Te({...zE,parsedValue:{type:oe([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}}),Au=e=>{if(!xe(e))return!1;const[t,n]=e;return ot.isDayjs(t)&&ot.isDayjs(n)&&ot(t).isValid()&&ot(n).isValid()&&t.isSameOrBefore(n)},_p=(e,{lang:t,step:n=1,unit:o,unlinkPanels:a})=>{let l;if(xe(e)){let[s,r]=e.map(u=>ot(u).locale(t));return a||(r=s.add(n,o)),[s,r]}else e?l=ot(e):l=ot();return l=l.locale(t),[l,l.add(n,o)]},WK=(e,t,{columnIndexOffset:n,startDate:o,nextEndDate:a,now:l,unit:s,relativeDateGetter:r,setCellMetadata:u,setRowMetadata:c})=>{for(let d=0;d{const a=ot().locale(o).startOf("month").month(n).year(t).hour(e.hour()).minute(e.minute()).second(e.second());return ts(a.daysInMonth()).map(l=>a.add(l,"day").toDate())},ui=(e,t,n,o,a)=>{const l=ot().year(t).month(n).startOf("month").hour(e.hour()).minute(e.minute()).second(e.second()),s=wf(e,t,n,o).find(r=>!a?.(r));return s?ot(s).locale(o):l.locale(o)},Sf=(e,t,n)=>{const o=e.year();if(!n?.(e.toDate()))return e.locale(t);const a=e.month();if(!wf(e,o,a,t).every(n))return ui(e,o,a,t,n);for(let l=0;l<12;l++)if(!wf(e,o,l,t).every(n))return ui(e,o,l,t,n);return e},ci=(e,t,n)=>{if(xe(e))return e.map(o=>ci(o,t,n));if(ze(e)){let o=ot(e,t);if(o.isValid()||(o=ot(e)),!o.isValid())return o;const a=o.format(t);return ot(a,t,!0).isValid()?ot(a,t).locale(n):ot("")}return ot(e,t).locale(n)},jK=Te({...ay,showWeekNumber:Boolean,selectionMode:sy("date")}),UK=["changerange","pick","select"],Cf=(e="")=>["normal","today"].includes(e),YK=(e,t)=>{const{lang:n}=_t(),o=F(),a=F(),l=F(),s=F(),r=F([[],[],[],[],[],[]]);let u=!1;const c=e.date.$locale().weekStart||7,d=e.date.locale("en").localeData().weekdaysShort().map(B=>B.toLowerCase()),f=C(()=>c>3?7-c:-c),v=C(()=>{const B=e.date.startOf("month");return B.subtract(B.day()||7,"day")}),h=C(()=>d.concat(d).slice(c,c+7)),g=C(()=>Jd(i(S)).some(B=>B.isCurrent)),p=C(()=>{const B=e.date.startOf("month");return{startOfMonthDay:B.day()||7,dateCountOfMonth:B.daysInMonth(),dateCountOfLastMonth:B.subtract(1,"month").daysInMonth()}}),m=C(()=>e.selectionMode==="dates"?so(e.parsedValue):[]),y=(B,{count:L,rowIndex:K,columnIndex:X})=>{const{startOfMonthDay:J,dateCountOfMonth:ne,dateCountOfLastMonth:re}=i(p),Q=i(f);if(K>=0&&K<=1){const ce=J+Q<0?7+J+Q:J+Q;if(X+K*7>=ce)return B.text=L,!0;B.text=re-(ce-X%7)+1+K*7,B.type="prev-month"}else return L<=ne?B.text=L:(B.text=L-ne,B.type="next-month"),!0;return!1},b=(B,{columnIndex:L,rowIndex:K},X)=>{const{disabledDate:J,cellClassName:ne}=e,re=i(m),Q=y(B,{count:X,rowIndex:K,columnIndex:L}),ce=B.dayjs.toDate();return B.selected=re.find(we=>we.isSame(B.dayjs,"day")),B.isSelected=!!B.selected,B.isCurrent=x(B),B.disabled=J?.(ce),B.customClass=ne?.(ce),Q},w=B=>{if(e.selectionMode==="week"){const[L,K]=e.showWeekNumber?[1,7]:[0,6],X=M(B[L+1]);B[L].inRange=X,B[L].start=X,B[K].inRange=X,B[K].end=X}},S=C(()=>{const{minDate:B,maxDate:L,rangeState:K,showWeekNumber:X}=e,J=i(f),ne=i(r),re="day";let Q=1;if(WK({row:6,column:7},ne,{startDate:B,columnIndexOffset:X?1:0,nextEndDate:K.endDate||L||K.selecting&&B||null,now:ot().locale(i(n)).startOf(re),unit:re,relativeDateGetter:ce=>i(v).add(ce-J,re),setCellMetadata:(...ce)=>{b(...ce,Q)&&(Q+=1)},setRowMetadata:w}),X)for(let ce=0;ce<6;ce++)ne[ce][1].dayjs&&(ne[ce][0]={type:"week",text:ne[ce][1].dayjs.week()});return ne});ge(()=>e.date,async()=>{i(o)?.contains(document.activeElement)&&(await Re(),await k())});const k=async()=>i(a)?.focus(),x=B=>e.selectionMode==="date"&&Cf(B.type)&&$(B,e.parsedValue),$=(B,L)=>L?ot(L).locale(i(n)).isSame(e.date.date(Number(B.text)),"day"):!1,T=(B,L)=>{const K=i(p).startOfMonthDay,X=i(f),J=K+X<0?7+K+X:K+X,ne=B*7+(L-(e.showWeekNumber?1:0));return e.date.startOf("month").subtract(J,"day").add(ne,"day")},_=B=>{if(!e.rangeState.selecting)return;let L=B.target;if(L.tagName==="SPAN"&&(L=L.parentNode?.parentNode),L.tagName==="DIV"&&(L=L.parentNode),L.tagName!=="TD")return;const K=L.parentNode.rowIndex-1,X=L.cellIndex;i(S)[K][X].disabled||(K!==i(l)||X!==i(s))&&(l.value=K,s.value=X,t("changerange",{selecting:!0,endDate:T(K,X)}))},A=B=>!i(g)&&B?.text===1&&Cf(B.type)||B.isCurrent,D=B=>{u||i(g)||e.selectionMode!=="date"||O(B,!0)},N=B=>{B.target.closest("td")&&(u=!0)},W=B=>{B.target.closest("td")&&(u=!1)},V=B=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:B,maxDate:null}),t("select",!0)):(B>=e.minDate?t("pick",{minDate:e.minDate,maxDate:B}):t("pick",{minDate:B,maxDate:e.minDate}),t("select",!1))},H=B=>{const L=B.week(),K=`${B.year()}w${L}`;t("pick",{year:B.year(),week:L,value:K,date:B.startOf("week")})},P=(B,L)=>{t("pick",L?so(e.parsedValue).filter(K=>K?.valueOf()!==B.valueOf()):so(e.parsedValue).concat([B]))},O=(B,L=!1)=>{if(e.disabled)return;const K=B.target.closest("td");if(!K)return;const X=K.parentNode.rowIndex-1,J=K.cellIndex,ne=i(S)[X][J];if(ne.disabled||ne.type==="week")return;const re=T(X,J);switch(e.selectionMode){case"range":V(re);break;case"date":t("pick",re,L);break;case"week":H(re);break;case"dates":P(re,!!ne.selected);break}},M=B=>{if(e.selectionMode!=="week")return!1;let L=e.date.startOf("day");if(B.type==="prev-month"&&(L=L.subtract(1,"month")),B.type==="next-month"&&(L=L.add(1,"month")),L=L.date(Number.parseInt(B.text,10)),e.parsedValue&&!xe(e.parsedValue)){const K=(e.parsedValue.day()-c+7)%7-1;return e.parsedValue.subtract(K,"day").isSame(L,"day")}return!1};return{WEEKS:h,rows:S,tbodyRef:o,currentCellRef:a,focus:k,isCurrent:x,isWeekActive:M,isSelectedCell:A,handlePickDate:O,handleMouseUp:W,handleMouseDown:N,handleMouseMove:_,handleFocus:D}},qK=(e,{isCurrent:t,isWeekActive:n})=>{const o=ke("date-table"),{t:a}=_t(),l=C(()=>[o.b(),o.is("week-mode",e.selectionMode==="week"&&!e.disabled)]),s=C(()=>a("el.datepicker.dateTablePrompt")),r=c=>{const d=[];return Cf(c.type)&&!c.disabled?(d.push("available"),c.type==="today"&&d.push("today")):d.push(c.type),t(c)&&d.push("current"),c.inRange&&(Cf(c.type)||e.selectionMode==="week")&&(d.push("in-range"),c.start&&d.push("start-date"),c.end&&d.push("end-date")),(c.disabled||e.disabled)&&d.push("disabled"),c.selected&&d.push("selected"),c.customClass&&d.push(c.customClass),d.join(" ")},u=c=>[o.e("row"),{current:n(c)}];return{tableKls:l,tableLabel:s,weekHeaderClass:o.e("week-header"),getCellClasses:r,getRowKls:u,t:a}},GK=Te({cell:{type:oe(Object)}});var ry=ve({name:"ElDatePickerCell",props:GK,setup(e){const t=ke("date-table-cell"),{slots:n}=Fe(oy);return()=>{const{cell:o}=e;return ue(n,"default",{...o},()=>[Z("div",{class:t.b()},[Z("span",{class:t.e("text")},[o?.renderText??o?.text])])])}}});const XK=["aria-label"],ZK=["aria-label"],JK=["aria-current","aria-selected","tabindex","aria-disabled"];var QK=ve({__name:"basic-date-table",props:jK,emits:UK,setup(e,{expose:t,emit:n}){const o=e,{WEEKS:a,rows:l,tbodyRef:s,currentCellRef:r,focus:u,isCurrent:c,isWeekActive:d,isSelectedCell:f,handlePickDate:v,handleMouseUp:h,handleMouseDown:g,handleMouseMove:p,handleFocus:m}=YK(o,n),{tableLabel:y,tableKls:b,getCellClasses:w,getRowKls:S,weekHeaderClass:k,t:x}=qK(o,{isCurrent:c,isWeekActive:d});let $=!1;return Ft(()=>{$=!0}),t({focus:u}),(T,_)=>(E(),z("table",{"aria-label":i(y),class:R(i(b)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:_[1]||(_[1]=(...A)=>i(v)&&i(v)(...A)),onMousemove:_[2]||(_[2]=(...A)=>i(p)&&i(p)(...A)),onMousedown:_[3]||(_[3]=(...A)=>i(g)&&i(g)(...A)),onMouseup:_[4]||(_[4]=(...A)=>i(h)&&i(h)(...A))},[I("tbody",{ref_key:"tbodyRef",ref:s},[I("tr",null,[T.showWeekNumber?(E(),z("th",{key:0,scope:"col",class:R(i(k))},null,2)):se("v-if",!0),(E(!0),z(Me,null,dt(i(a),(A,D)=>(E(),z("th",{key:D,"aria-label":i(x)("el.datepicker.weeksFull."+A),scope:"col"},me(i(x)("el.datepicker.weeks."+A)),9,ZK))),128))]),(E(!0),z(Me,null,dt(i(l),(A,D)=>(E(),z("tr",{key:D,class:R(i(S)(T.showWeekNumber?A[2]:A[1]))},[(E(!0),z(Me,null,dt(A,(N,W)=>(E(),z("td",{key:`${D}.${W}`,ref_for:!0,ref:V=>!i($)&&i(f)(N)&&(r.value=V),class:R(i(w)(N)),"aria-current":N.isCurrent?"date":void 0,"aria-selected":N.isCurrent,tabindex:T.disabled?void 0:i(f)(N)?0:-1,"aria-disabled":T.disabled,onFocus:_[0]||(_[0]=(...V)=>i(m)&&i(m)(...V))},[Z(i(ry),{cell:N},null,8,["cell"])],42,JK))),128))],2))),128))],512)],42,XK))}}),em=QK;const e9=Te({...ay,selectionMode:sy("month")}),t9=["aria-label"],n9=["aria-selected","aria-label","tabindex","onKeydown"];var o9=ve({__name:"basic-month-table",props:e9,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("month-table"),{t:s,lang:r}=_t(),u=F(),c=F(),d=F(o.date.locale("en").localeData().monthsShort().map(S=>S.toLowerCase())),f=F([[],[],[]]),v=F(),h=F(),g=C(()=>{const S=f.value,k=ot().locale(r.value).startOf("month");for(let x=0;x<3;x++){const $=S[x];for(let T=0;T<4;T++){const _=$[T]||={row:x,column:T,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0};_.type="normal";const A=x*4+T,D=o.date.startOf("year").month(A),N=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;_.inRange=!!(o.minDate&&D.isSameOrAfter(o.minDate,"month")&&N&&D.isSameOrBefore(N,"month"))||!!(o.minDate&&D.isSameOrBefore(o.minDate,"month")&&N&&D.isSameOrAfter(N,"month")),o.minDate?.isSameOrAfter(N)?(_.start=!!(N&&D.isSame(N,"month")),_.end=o.minDate&&D.isSame(o.minDate,"month")):(_.start=!!(o.minDate&&D.isSame(o.minDate,"month")),_.end=!!(N&&D.isSame(N,"month"))),k.isSame(D)&&(_.type="today");const W=D.toDate();_.text=A,_.disabled=o.disabledDate?.(W)||!1,_.date=W,_.customClass=o.cellClassName?.(W),_.dayjs=D,_.timestamp=D.valueOf(),_.isSelected=y(_)}}return S}),p=()=>{c.value?.focus()},m=S=>{const k={},x=o.date.year(),$=new Date,T=S.text;return k.disabled=o.disabled||(o.disabledDate?wf(o.date,x,T,r.value).every(o.disabledDate):!1),k.current=so(o.parsedValue).some(_=>ot.isDayjs(_)&&_.year()===x&&_.month()===T),k.today=$.getFullYear()===x&&$.getMonth()===T,S.customClass&&(k[S.customClass]=!0),S.inRange&&(k["in-range"]=!0,S.start&&(k["start-date"]=!0),S.end&&(k["end-date"]=!0)),k},y=S=>{const k=o.date.year(),x=S.text;return so(o.date).some($=>$.year()===k&&$.month()===x)},b=S=>{if(!o.rangeState.selecting)return;let k=S.target;if(k.tagName==="SPAN"&&(k=k.parentNode?.parentNode),k.tagName==="DIV"&&(k=k.parentNode),k.tagName!=="TD")return;const x=k.parentNode.rowIndex,$=k.cellIndex;g.value[x][$].disabled||(x!==v.value||$!==h.value)&&(v.value=x,h.value=$,a("changerange",{selecting:!0,endDate:o.date.startOf("year").month(x*4+$)}))},w=S=>{if(o.disabled)return;const k=S.target?.closest("td");if(k?.tagName!=="TD"||Fa(k,"disabled"))return;const x=k.cellIndex,$=k.parentNode.rowIndex*4+x,T=o.date.startOf("year").month($);if(o.selectionMode==="months"){if(S.type==="keydown"){a("pick",so(o.parsedValue),!1);return}const _=ui(o.date,o.date.year(),$,r.value,o.disabledDate);a("pick",Fa(k,"current")?so(o.parsedValue).filter(A=>A?.year()!==_.year()||A?.month()!==_.month()):so(o.parsedValue).concat([ot(_)]))}else o.selectionMode==="range"?o.rangeState.selecting?(o.minDate&&T>=o.minDate?a("pick",{minDate:o.minDate,maxDate:T}):a("pick",{minDate:T,maxDate:o.minDate}),a("select",!1)):(a("pick",{minDate:T,maxDate:null}),a("select",!0)):a("pick",$)};return ge(()=>o.date,async()=>{u.value?.contains(document.activeElement)&&(await Re(),c.value?.focus())}),t({focus:p}),(S,k)=>(E(),z("table",{role:"grid","aria-label":i(s)("el.datepicker.monthTablePrompt"),class:R(i(l).b()),onClick:w,onMousemove:b},[I("tbody",{ref_key:"tbodyRef",ref:u},[(E(!0),z(Me,null,dt(g.value,(x,$)=>(E(),z("tr",{key:$},[(E(!0),z(Me,null,dt(x,(T,_)=>(E(),z("td",{key:_,ref_for:!0,ref:A=>T.isSelected&&(c.value=A),class:R(m(T)),"aria-selected":!!T.isSelected,"aria-label":i(s)(`el.datepicker.month${+T.text+1}`),tabindex:T.isSelected?0:-1,onKeydown:[rn(Xe(w,["prevent","stop"]),["space"]),rn(Xe(w,["prevent","stop"]),["enter"])]},[Z(i(ry),{cell:{...T,renderText:i(s)("el.datepicker.months."+d.value[T.text])}},null,8,["cell"])],42,n9))),128))]))),128))],512)],42,t9))}}),Du=o9;const a9=Te({...ay,selectionMode:sy("year")}),l9=["aria-label"],s9=["aria-selected","aria-label","tabindex","onKeydown"];var r9=ve({__name:"basic-year-table",props:a9,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const o=(k,x)=>{const $=ot(String(k)).locale(x).startOf("year");return ts($.endOf("year").dayOfYear()).map(T=>$.add(T,"day").toDate())},a=e,l=n,s=ke("year-table"),{t:r,lang:u}=_t(),c=F(),d=F(),f=C(()=>Math.floor(a.date.year()/10)*10),v=F([[],[],[]]),h=F(),g=F(),p=C(()=>{const k=v.value,x=ot().locale(u.value).startOf("year");for(let $=0;$<3;$++){const T=k[$];for(let _=0;_<4&&!($*4+_>=10);_++){let A=T[_];A||(A={row:$,column:_,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),A.type="normal";const D=$*4+_+f.value,N=ot().year(D),W=a.rangeState.endDate||a.maxDate||a.rangeState.selecting&&a.minDate||null;A.inRange=!!(a.minDate&&N.isSameOrAfter(a.minDate,"year")&&W&&N.isSameOrBefore(W,"year"))||!!(a.minDate&&N.isSameOrBefore(a.minDate,"year")&&W&&N.isSameOrAfter(W,"year")),a.minDate?.isSameOrAfter(W)?(A.start=!!(W&&N.isSame(W,"year")),A.end=!!(a.minDate&&N.isSame(a.minDate,"year"))):(A.start=!!(a.minDate&&N.isSame(a.minDate,"year")),A.end=!!(W&&N.isSame(W,"year"))),x.isSame(N)&&(A.type="today"),A.text=D;const V=N.toDate();A.disabled=a.disabledDate?.(V)||!1,A.date=V,A.customClass=a.cellClassName?.(V),A.dayjs=N,A.timestamp=N.valueOf(),A.isSelected=b(A),T[_]=A}}return k}),m=()=>{d.value?.focus()},y=k=>{const x={},$=ot().locale(u.value),T=k.text;return x.disabled=a.disabled||(a.disabledDate?o(T,u.value).every(a.disabledDate):!1),x.today=$.year()===T,x.current=so(a.parsedValue).some(_=>_.year()===T),k.customClass&&(x[k.customClass]=!0),k.inRange&&(x["in-range"]=!0,k.start&&(x["start-date"]=!0),k.end&&(x["end-date"]=!0)),x},b=k=>{const x=k.text;return so(a.date).some($=>$.year()===x)},w=k=>{if(a.disabled)return;const x=k.target?.closest("td");if(!x||!x.textContent||Fa(x,"disabled"))return;const $=x.cellIndex,T=x.parentNode.rowIndex*4+$+f.value,_=ot().year(T);if(a.selectionMode==="range")a.rangeState.selecting?(a.minDate&&_>=a.minDate?l("pick",{minDate:a.minDate,maxDate:_}):l("pick",{minDate:_,maxDate:a.minDate}),l("select",!1)):(l("pick",{minDate:_,maxDate:null}),l("select",!0));else if(a.selectionMode==="years"){if(k.type==="keydown"){l("pick",so(a.parsedValue),!1);return}const A=Sf(_.startOf("year"),u.value,a.disabledDate);l("pick",Fa(x,"current")?so(a.parsedValue).filter(D=>D?.year()!==T):so(a.parsedValue).concat([A]))}else l("pick",T)},S=k=>{if(!a.rangeState.selecting)return;const x=k.target?.closest("td");if(!x)return;const $=x.parentNode.rowIndex,T=x.cellIndex;p.value[$][T].disabled||($!==h.value||T!==g.value)&&(h.value=$,g.value=T,l("changerange",{selecting:!0,endDate:ot().year(f.value).add($*4+T,"year")}))};return ge(()=>a.date,async()=>{c.value?.contains(document.activeElement)&&(await Re(),d.value?.focus())}),t({focus:m}),(k,x)=>(E(),z("table",{role:"grid","aria-label":i(r)("el.datepicker.yearTablePrompt"),class:R(i(s).b()),onClick:w,onMousemove:S},[I("tbody",{ref_key:"tbodyRef",ref:c},[(E(!0),z(Me,null,dt(p.value,($,T)=>(E(),z("tr",{key:T},[(E(!0),z(Me,null,dt($,(_,A)=>(E(),z("td",{key:`${T}_${A}`,ref_for:!0,ref:D=>_.isSelected&&(d.value=D),class:R(["available",y(_)]),"aria-selected":_.isSelected,"aria-label":String(_.text),tabindex:_.isSelected?0:-1,onKeydown:[rn(Xe(w,["prevent","stop"]),["space"]),rn(Xe(w,["prevent","stop"]),["enter"])]},[Z(i(ry),{cell:_},null,8,["cell"])],42,s9))),128))]))),128))],512)],42,l9))}}),Lu=r9;const i9=["disabled","onClick"],u9=["aria-label","disabled"],c9=["aria-label","disabled"],d9=["tabindex","aria-disabled"],f9=["tabindex","aria-disabled"],p9=["aria-label","disabled"],v9=["aria-label","disabled"];var h9=ve({__name:"panel-date-pick",props:KK,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const n=(Ce,Ne,Je)=>!0,o=e,a=t,l=ke("picker-panel"),s=ke("date-picker"),r=Za(),u=bn(),{t:c,lang:d}=_t(),f=Fe(tl),{shortcuts:v,disabledDate:h,cellClassName:g,defaultTime:p}=f.props,m=wt(f.props,"defaultValue"),y=F(),b=F(ot().locale(d.value)),w=F(!1);let S=!1;const k=C(()=>ot(p).locale(d.value)),x=C(()=>b.value.month()),$=C(()=>b.value.year()),T=F([]),_=F(null),A=F(null),D=Ce=>T.value.length>0?n(Ce,T.value,o.format||"HH:mm:ss"):!0,N=Ce=>p&&!G.value&&!w.value&&!S?k.value.year(Ce.year()).month(Ce.month()).date(Ce.date()):we.value?Ce.millisecond(0):Ce.startOf("day"),W=(Ce,...Ne)=>{Ce?xe(Ce)?a("pick",Ce.map(N),...Ne):a("pick",N(Ce),...Ne):a("pick",Ce,...Ne),_.value=null,A.value=null,w.value=!1,S=!1},V=async(Ce,Ne)=>{if(L.value==="date"&&ot.isDayjs(Ce)){const Je=Pi(o.parsedValue);let _e=Je?Je.year(Ce.year()).month(Ce.month()).date(Ce.date()):Ce;D(_e),b.value=_e,W(_e,we.value||Ne)}else L.value==="week"?W(Ce.date):L.value==="dates"&&W(Ce,!0)},H=Ce=>{const Ne=Ce?"add":"subtract";b.value=b.value[Ne](1,"month"),qt("month")},P=Ce=>{const Ne=b.value,Je=Ce?"add":"subtract";b.value=O.value==="year"?Ne[Je](10,"year"):Ne[Je](1,"year"),qt("year")},O=F("date"),M=C(()=>{const Ce=c("el.datepicker.year");if(O.value==="year"){const Ne=Math.floor($.value/10)*10;return Ce?`${Ne} ${Ce} - ${Ne+9} ${Ce}`:`${Ne} - ${Ne+9}`}return`${$.value} ${Ce}`}),B=Ce=>{const Ne=je(Ce.value)?Ce.value():Ce.value;if(Ne){S=!0,W(ot(Ne).locale(d.value));return}Ce.onClick&&Ce.onClick({attrs:r,slots:u,emit:a})},L=C(()=>{const{type:Ce}=o;return["week","month","months","year","years","dates"].includes(Ce)?Ce:"date"}),K=C(()=>L.value==="dates"||L.value==="months"||L.value==="years"),X=C(()=>L.value==="date"?O.value:L.value),J=C(()=>!!v.length),ne=async(Ce,Ne)=>{L.value==="month"?(b.value=ui(b.value,b.value.year(),Ce,d.value,h),W(b.value,!1)):L.value==="months"?W(Ce,Ne??!0):(b.value=ui(b.value,b.value.year(),Ce,d.value,h),O.value="date",["month","year","date","week"].includes(L.value)&&(W(b.value,!0),await Re(),$t())),qt("month")},re=async(Ce,Ne)=>{L.value==="year"?(b.value=Sf(b.value.startOf("year").year(Ce),d.value,h),W(b.value,!1)):L.value==="years"?W(Ce,Ne??!0):(b.value=Sf(b.value.year(Ce),d.value,h),O.value="month",["month","year","date","week"].includes(L.value)&&(W(b.value,!0),await Re(),$t())),qt("year")},Q=pn(),ce=async Ce=>{Q.value||(O.value=Ce,await Re(),$t())},we=C(()=>o.type==="datetime"||o.type==="datetimerange"),Se=C(()=>{const Ce=we.value||L.value==="dates",Ne=L.value==="years",Je=L.value==="months",_e=O.value==="date",Ge=O.value==="year",Ve=O.value==="month";return Ce&&_e||Ne&&Ge||Je&&Ve}),le=C(()=>!K.value&&o.showNow||o.showConfirm),ie=C(()=>h?o.parsedValue?xe(o.parsedValue)?h(o.parsedValue[0].toDate()):h(o.parsedValue.toDate()):!0:!1),j=()=>{if(K.value)W(o.parsedValue);else{let Ce=Pi(o.parsedValue);if(!Ce){const Ne=ot(p).locale(d.value),Je=qe();Ce=Ne.year(Je.year()).month(Je.month()).date(Je.date())}b.value=Ce,W(Ce)}},ee=C(()=>h?h(ot().locale(d.value).toDate()):!1),Y=()=>{const Ce=ot().locale(d.value).toDate();w.value=!0,(!h||!h(Ce))&&D(Ce)&&(b.value=ot().locale(d.value),W(b.value))},q=C(()=>o.timeFormat||xx(o.format)||"HH:mm:ss"),U=C(()=>o.dateFormat||kx(o.format)||"YYYY-MM-DD"),G=C(()=>{if(A.value)return A.value;if(!(!o.parsedValue&&!m.value))return(Pi(o.parsedValue)||b.value).format(q.value)}),te=C(()=>{if(_.value)return _.value;if(!(!o.parsedValue&&!m.value))return(Pi(o.parsedValue)||b.value).format(U.value)}),he=F(!1),pe=()=>{he.value=!0},de=()=>{he.value=!1},be=Ce=>({hour:Ce.hour(),minute:Ce.minute(),second:Ce.second(),year:Ce.year(),month:Ce.month(),date:Ce.date()}),ye=(Ce,Ne,Je)=>{const{hour:_e,minute:Ge,second:Ve}=be(Ce),nt=Pi(o.parsedValue);b.value=nt?nt.hour(_e).minute(Ge).second(Ve):Ce,W(b.value,!0),Je||(he.value=Ne)},$e=Ce=>{const Ne=ot(Ce,q.value).locale(d.value);if(Ne.isValid()&&D(Ne)){const{year:Je,month:_e,date:Ge}=be(b.value);b.value=Ne.year(Je).month(_e).date(Ge),A.value=null,he.value=!1,W(b.value,!0)}},Pe=Ce=>{const Ne=ci(Ce,U.value,d.value);if(Ne.isValid()){if(h&&h(Ne.toDate()))return;const{hour:Je,minute:_e,second:Ge}=be(b.value);b.value=Ne.hour(Je).minute(_e).second(Ge),_.value=null,W(b.value,!0)}},et=Ce=>ot.isDayjs(Ce)&&Ce.isValid()&&(h?!h(Ce.toDate()):!0),tt=Ce=>ci(Ce,o.format,d.value),qe=()=>{const Ce=ot(m.value).locale(d.value);if(!m.value){const Ne=k.value;return ot().hour(Ne.hour()).minute(Ne.minute()).second(Ne.second()).locale(d.value)}return Ce},$t=()=>{["week","month","year","date"].includes(L.value)&&y.value?.focus()},At=()=>{$t(),L.value==="week"&&Rt(Ee.down)},Wt=Ce=>{const Ne=Zt(Ce);[Ee.up,Ee.down,Ee.left,Ee.right,Ee.home,Ee.end,Ee.pageUp,Ee.pageDown].includes(Ne)&&(Rt(Ne),Ce.stopPropagation(),Ce.preventDefault()),[Ee.enter,Ee.space,Ee.numpadEnter].includes(Ne)&&_.value===null&&A.value===null&&(Ce.preventDefault(),W(b.value,!1))},Rt=Ce=>{const{up:Ne,down:Je,left:_e,right:Ge,home:Ve,end:nt,pageUp:ht,pageDown:rt}=Ee,Ct={year:{[Ne]:-4,[Je]:4,[_e]:-1,[Ge]:1,offset:(vt,Qt)=>vt.setFullYear(vt.getFullYear()+Qt)},month:{[Ne]:-4,[Je]:4,[_e]:-1,[Ge]:1,offset:(vt,Qt)=>vt.setMonth(vt.getMonth()+Qt)},week:{[Ne]:-1,[Je]:1,[_e]:-1,[Ge]:1,offset:(vt,Qt)=>vt.setDate(vt.getDate()+Qt*7)},date:{[Ne]:-7,[Je]:7,[_e]:-1,[Ge]:1,[Ve]:vt=>-vt.getDay(),[nt]:vt=>-vt.getDay()+6,[ht]:vt=>-new Date(vt.getFullYear(),vt.getMonth(),0).getDate(),[rt]:vt=>new Date(vt.getFullYear(),vt.getMonth()+1,0).getDate(),offset:(vt,Qt)=>vt.setDate(vt.getDate()+Qt)}},Ot=b.value.toDate();for(;Math.abs(b.value.diff(Ot,"year",!0))<1;){const vt=Ct[X.value];if(!vt)return;if(vt.offset(Ot,je(vt[Ce])?vt[Ce](Ot):vt[Ce]??0),h&&h(Ot))break;const Qt=ot(Ot).locale(d.value);b.value=Qt,a("pick",Qt,!0);break}},qt=Ce=>{a("panel-change",b.value.toDate(),Ce,O.value)};return ge(()=>L.value,Ce=>{if(["month","year"].includes(Ce)){O.value=Ce;return}else if(Ce==="years"){O.value="year";return}else if(Ce==="months"){O.value="month";return}O.value="date"},{immediate:!0}),ge(()=>m.value,Ce=>{Ce&&(b.value=qe())},{immediate:!0}),ge(()=>o.parsedValue,Ce=>{if(Ce){if(K.value||xe(Ce))return;b.value=Ce}else b.value=qe()},{immediate:!0}),a("set-picker-option",["isValidValue",et]),a("set-picker-option",["parseUserInput",tt]),a("set-picker-option",["handleFocusPicker",At]),(Ce,Ne)=>(E(),z("div",{class:R([i(l).b(),i(s).b(),i(l).is("border",Ce.border),i(l).is("disabled",i(Q)),{"has-sidebar":Ce.$slots.sidebar||J.value,"has-time":we.value}])},[I("div",{class:R(i(l).e("body-wrapper"))},[ue(Ce.$slots,"sidebar",{class:R(i(l).e("sidebar"))}),J.value?(E(),z("div",{key:0,class:R(i(l).e("sidebar"))},[(E(!0),z(Me,null,dt(i(v),(Je,_e)=>(E(),z("button",{key:_e,type:"button",disabled:i(Q),class:R(i(l).e("shortcut")),onClick:Ge=>B(Je)},me(Je.text),11,i9))),128))],2)):se("v-if",!0),I("div",{class:R(i(l).e("body"))},[we.value?(E(),z("div",{key:0,class:R(i(s).e("time-header"))},[I("span",{class:R(i(s).e("editor-wrap"))},[Z(i(Gn),{placeholder:i(c)("el.datepicker.selectDate"),"model-value":te.value,size:"small","validate-event":!1,disabled:i(Q),readonly:!Ce.editable,onInput:Ne[0]||(Ne[0]=Je=>_.value=Je),onChange:Pe},null,8,["placeholder","model-value","disabled","readonly"])],2),Ye((E(),z("span",{class:R(i(s).e("editor-wrap"))},[Z(i(Gn),{placeholder:i(c)("el.datepicker.selectTime"),"model-value":G.value,size:"small","validate-event":!1,disabled:i(Q),readonly:!Ce.editable,onFocus:pe,onInput:Ne[1]||(Ne[1]=Je=>A.value=Je),onChange:$e},null,8,["placeholder","model-value","disabled","readonly"]),Z(i(rf),{visible:he.value,format:q.value,"parsed-value":b.value,onPick:ye},null,8,["visible","format","parsed-value"])],2)),[[i(ds),de]])],2)):se("v-if",!0),Ye(I("div",{class:R([i(s).e("header"),(O.value==="year"||O.value==="month")&&i(s).em("header","bordered")])},[I("span",{class:R(i(s).e("prev-btn"))},[I("button",{type:"button","aria-label":i(c)("el.datepicker.prevYear"),class:R(["d-arrow-left",i(l).e("icon-btn")]),disabled:i(Q),onClick:Ne[2]||(Ne[2]=Je=>P(!1))},[ue(Ce.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,u9),Ye(I("button",{type:"button","aria-label":i(c)("el.datepicker.prevMonth"),class:R([i(l).e("icon-btn"),"arrow-left"]),disabled:i(Q),onClick:Ne[3]||(Ne[3]=Je=>H(!1))},[ue(Ce.$slots,"prev-month",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(El))]),_:1})])],10,c9),[[Bt,O.value==="date"]])],2),I("span",{role:"button",class:R(i(s).e("header-label")),"aria-live":"polite",tabindex:Ce.disabled?void 0:0,"aria-disabled":Ce.disabled,onKeydown:Ne[4]||(Ne[4]=rn(Je=>ce("year"),["enter"])),onClick:Ne[5]||(Ne[5]=Je=>ce("year"))},me(M.value),43,d9),Ye(I("span",{role:"button","aria-live":"polite",tabindex:Ce.disabled?void 0:0,"aria-disabled":Ce.disabled,class:R([i(s).e("header-label"),{active:O.value==="month"}]),onKeydown:Ne[6]||(Ne[6]=rn(Je=>ce("month"),["enter"])),onClick:Ne[7]||(Ne[7]=Je=>ce("month"))},me(i(c)(`el.datepicker.month${x.value+1}`)),43,f9),[[Bt,O.value==="date"]]),I("span",{class:R(i(s).e("next-btn"))},[Ye(I("button",{type:"button","aria-label":i(c)("el.datepicker.nextMonth"),class:R([i(l).e("icon-btn"),"arrow-right"]),disabled:i(Q),onClick:Ne[8]||(Ne[8]=Je=>H(!0))},[ue(Ce.$slots,"next-month",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})])],10,p9),[[Bt,O.value==="date"]]),I("button",{type:"button","aria-label":i(c)("el.datepicker.nextYear"),class:R([i(l).e("icon-btn"),"d-arrow-right"]),disabled:i(Q),onClick:Ne[9]||(Ne[9]=Je=>P(!0))},[ue(Ce.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,v9)],2)],2),[[Bt,O.value!=="time"]]),I("div",{class:R(i(l).e("content")),onKeydown:Wt},[O.value==="date"?(E(),fe(em,{key:0,ref_key:"currentViewRef",ref:y,"selection-mode":L.value,date:b.value,"parsed-value":Ce.parsedValue,"disabled-date":i(h),disabled:i(Q),"cell-class-name":i(g),"show-week-number":Ce.showWeekNumber,onPick:V},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):se("v-if",!0),O.value==="year"?(E(),fe(Lu,{key:1,ref_key:"currentViewRef",ref:y,"selection-mode":L.value,date:b.value,"disabled-date":i(h),disabled:i(Q),"parsed-value":Ce.parsedValue,"cell-class-name":i(g),onPick:re},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):se("v-if",!0),O.value==="month"?(E(),fe(Du,{key:2,ref_key:"currentViewRef",ref:y,"selection-mode":L.value,date:b.value,"parsed-value":Ce.parsedValue,"disabled-date":i(h),disabled:i(Q),"cell-class-name":i(g),onPick:ne},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):se("v-if",!0)],34)],2)],2),Ce.showFooter&&Se.value&&le.value?(E(),z("div",{key:0,class:R(i(l).e("footer"))},[Ye(Z(i(zn),{text:"",size:"small",class:R(i(l).e("link-btn")),disabled:ee.value,onClick:Y},{default:ae(()=>[Oe(me(i(c)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[Bt,!K.value&&Ce.showNow]]),Ce.showConfirm?(E(),fe(i(zn),{key:0,plain:"",size:"small",class:R(i(l).e("link-btn")),disabled:ie.value,onClick:j},{default:ae(()=>[Oe(me(i(c)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):se("v-if",!0)],2)):se("v-if",!0)],2))}}),m9=h9;const g9=Te({...zE,...ly}),y9=e=>{const{emit:t}=ct(),n=Za(),o=bn();return l=>{const s=je(l.value)?l.value():l.value;if(s){t("pick",[ot(s[0]).locale(e.value),ot(s[1]).locale(e.value)]);return}l.onClick&&l.onClick({attrs:n,slots:o,emit:t})}},iy=(e,{defaultValue:t,defaultTime:n,leftDate:o,rightDate:a,step:l,unit:s,sortDates:r})=>{const{emit:u}=ct(),{pickerNs:c}=Fe(oy),d=ke("date-range-picker"),{t:f,lang:v}=_t(),h=y9(v),g=F(),p=F(),m=F({endDate:null,selecting:!1}),y=x=>{m.value=x},b=(x=!1)=>{const $=i(g),T=i(p);Au([$,T])&&u("pick",[$,T],x)},w=x=>{m.value.selecting=x,x||(m.value.endDate=null)},S=x=>{if(xe(x)&&x.length===2){const[$,T]=x;g.value=$,o.value=$,p.value=T,r(i(g),i(p))}else k()},k=()=>{let[x,$]=_p(i(t),{lang:i(v),step:l,unit:s,unlinkPanels:e.unlinkPanels});const T=A=>A.diff(A.startOf("d"),"ms"),_=i(n);if(_){let A=0,D=0;if(xe(_)){const[N,W]=_.map(ot);A=T(N),D=T(W)}else{const N=T(ot(_));A=N,D=N}x=x.startOf("d").add(A,"ms"),$=$.startOf("d").add(D,"ms")}g.value=void 0,p.value=void 0,o.value=x,a.value=$};return ge(t,x=>{x&&k()},{immediate:!0}),ge(()=>e.parsedValue,x=>{(!x?.length||!vn(x,[g.value,p.value]))&&S(x)},{immediate:!0}),ge(()=>e.visible,()=>{e.visible&&S(e.parsedValue)},{immediate:!0}),{minDate:g,maxDate:p,rangeState:m,lang:v,ppNs:c,drpNs:d,handleChangeRange:y,handleRangeConfirm:b,handleShortcutClick:h,onSelect:w,parseValue:S,t:f}},b9=(e,t,n,o)=>{const a=F("date"),l=F(),s=F("date"),r=F(),{disabledDate:u}=Fe(tl).props,{t:c,lang:d}=_t(),f=C(()=>n.value.year()),v=C(()=>n.value.month()),h=C(()=>o.value.year()),g=C(()=>o.value.month());function p(k,x){const $=c("el.datepicker.year");if(k.value==="year"){const T=Math.floor(x.value/10)*10;return $?`${T} ${$} - ${T+9} ${$}`:`${T} - ${T+9}`}return`${x.value} ${$}`}function m(k){k?.focus()}async function y(k,x){if(e.disabled)return;const $=k==="left"?a:s,T=k==="left"?l:r;$.value=x,await Re(),m(T.value)}async function b(k,x,$){if(e.disabled)return;const T=x==="left",_=T?n:o,A=T?o:n,D=T?a:s,N=T?l:r;k==="year"&&(_.value=Sf(_.value.year($),d.value,u)),k==="month"&&(_.value=ui(_.value,_.value.year(),$,d.value,u)),e.unlinkPanels||(A.value=x==="left"?_.value.add(1,"month"):_.value.subtract(1,"month")),D.value=k==="year"?"month":"date",await Re(),m(N.value),w(k)}function w(k){t("panel-change",[n.value.toDate(),o.value.toDate()],k)}function S(k,x,$){const T=$?"add":"subtract";return k==="year"?x[T](10,"year"):x[T](1,"year")}return{leftCurrentView:a,rightCurrentView:s,leftCurrentViewRef:l,rightCurrentViewRef:r,leftYear:f,rightYear:h,leftMonth:v,rightMonth:g,leftYearLabel:C(()=>p(a,f)),rightYearLabel:C(()=>p(s,h)),showLeftPicker:k=>y("left",k),showRightPicker:k=>y("right",k),handleLeftYearPick:k=>b("year","left",k),handleRightYearPick:k=>b("year","right",k),handleLeftMonthPick:k=>b("month","left",k),handleRightMonthPick:k=>b("month","right",k),handlePanelChange:w,adjustDateByView:S}},w9=["disabled","onClick"],S9=["aria-label","disabled"],C9=["aria-label","disabled"],k9=["disabled","aria-label"],x9=["disabled","aria-label"],E9=["tabindex","aria-disabled"],$9=["tabindex","aria-disabled"],T9=["disabled","aria-label"],_9=["disabled","aria-label"],N9=["aria-label","disabled"],I9=["disabled","aria-label"],O9=["tabindex","aria-disabled"],M9=["tabindex","aria-disabled"],Uc="month";var P9=ve({__name:"panel-date-range",props:g9,emits:["pick","set-picker-option","calendar-change","panel-change","clear"],setup(e,{emit:t}){const n=e,o=t,a=Fe(tl),{disabledDate:l,cellClassName:s,defaultTime:r,clearable:u}=a.props,c=wt(a.props,"format"),d=wt(a.props,"shortcuts"),f=wt(a.props,"defaultValue"),{lang:v}=_t(),h=F(ot().locale(v.value)),g=F(ot().locale(v.value).add(1,Uc)),{minDate:p,maxDate:m,rangeState:y,ppNs:b,drpNs:w,handleChangeRange:S,handleRangeConfirm:k,handleShortcutClick:x,onSelect:$,parseValue:T,t:_}=iy(n,{defaultValue:f,defaultTime:r,leftDate:h,rightDate:g,unit:Uc,sortDates:gn});ge(()=>n.visible,Ke=>{!Ke&&y.value.selecting&&(T(n.parsedValue),$(!1))});const A=F({min:null,max:null}),D=F({min:null,max:null}),{leftCurrentView:N,rightCurrentView:W,leftCurrentViewRef:V,rightCurrentViewRef:H,leftYear:P,rightYear:O,leftMonth:M,rightMonth:B,leftYearLabel:L,rightYearLabel:K,showLeftPicker:X,showRightPicker:J,handleLeftYearPick:ne,handleRightYearPick:re,handleLeftMonthPick:Q,handleRightMonthPick:ce,handlePanelChange:we,adjustDateByView:Se}=b9(n,o,h,g),le=C(()=>!!d.value.length),ie=C(()=>A.value.min!==null?A.value.min:p.value?p.value.format(U.value):""),j=C(()=>A.value.max!==null?A.value.max:m.value||p.value?(m.value||p.value).format(U.value):""),ee=C(()=>D.value.min!==null?D.value.min:p.value?p.value.format(q.value):""),Y=C(()=>D.value.max!==null?D.value.max:m.value||p.value?(m.value||p.value).format(q.value):""),q=C(()=>n.timeFormat||xx(c.value||"")||"HH:mm:ss"),U=C(()=>n.dateFormat||kx(c.value||"")||"YYYY-MM-DD"),G=Ke=>Au(Ke)&&(l?!l(Ke[0].toDate())&&!l(Ke[1].toDate()):!0),te=()=>{h.value=Se(N.value,h.value,!1),n.unlinkPanels||(g.value=h.value.add(1,"month")),we("year")},he=()=>{h.value=h.value.subtract(1,"month"),n.unlinkPanels||(g.value=h.value.add(1,"month")),we("month")},pe=()=>{n.unlinkPanels?g.value=Se(W.value,g.value,!0):(h.value=Se(W.value,h.value,!0),g.value=h.value.add(1,"month")),we("year")},de=()=>{n.unlinkPanels?g.value=g.value.add(1,"month"):(h.value=h.value.add(1,"month"),g.value=h.value.add(1,"month")),we("month")},be=()=>{h.value=Se(N.value,h.value,!0),we("year")},ye=()=>{h.value=h.value.add(1,"month"),we("month")},$e=()=>{g.value=Se(W.value,g.value,!1),we("year")},Pe=()=>{g.value=g.value.subtract(1,"month"),we("month")},et=C(()=>{const Ke=(M.value+1)%12,Qe=M.value+1>=12?1:0;return n.singlePanel||n.unlinkPanels&&new Date(P.value+Qe,Ke)n.singlePanel||n.unlinkPanels&&O.value*12+B.value-(P.value*12+M.value+1)>=12),qe=pn(),$t=C(()=>!(p.value&&m.value&&!y.value.selecting&&Au([p.value,m.value])&&!qe.value)),At=C(()=>n.type==="datetime"||n.type==="datetimerange"),Wt=(Ke,Qe)=>{if(Ke)return r?ot(r[Qe]||r).locale(v.value).year(Ke.year()).month(Ke.month()).date(Ke.date()):Ke},Rt=(Ke,Qe=!0)=>{const it=Ke.minDate,Ie=Ke.maxDate,Ze=Wt(it,0),Ue=Wt(Ie,1);m.value===Ue&&p.value===Ze||(o("calendar-change",[it.toDate(),Ie&&Ie.toDate()]),m.value=Ue,p.value=Ze,!At.value&&Qe&&(Qe=!Ze||!Ue),k(Qe))},qt=F(!1),Ce=F(!1),Ne=()=>{qt.value=!1},Je=()=>{Ce.value=!1},_e=(Ke,Qe)=>{if(!l||!l(Ke.toDate()))return Ke;const it=Ke.isBefore(Qe);let Ie=Ke;for(;it?Ie.isBefore(Qe):Ie.isAfter(Qe);)if(Ie=it?Ie.add(1,"day"):Ie.subtract(1,"day"),!l(Ie.toDate()))return Ie;return Ke},Ge=(Ke,Qe)=>{A.value[Qe]=Ke;const it=ot(Ke,U.value).locale(v.value);if(it.isValid()){if(l&&l(it.toDate()))return;if(Qe==="min"){if(h.value=it,p.value=(p.value||h.value).year(it.year()).month(it.month()).date(it.date()),!n.unlinkPanels&&!m.value){const Ie=_e(p.value.add(1,"month"),p.value);g.value=Ie,m.value=Ie}}else if(g.value=it,m.value=(m.value||g.value).year(it.year()).month(it.month()).date(it.date()),!n.unlinkPanels&&!p.value){const Ie=_e(m.value.subtract(1,"month"),m.value);h.value=Ie,p.value=Ie}gn(p.value,m.value),k(!0)}},Ve=(Ke,Qe)=>{if(A.value[Qe]=null,Qe==="min"){if(!n.unlinkPanels&&m.value&&p.value&&m.value.isBefore(p.value)){const it=_e(p.value.add(1,"month"),p.value);g.value=it,m.value=it}}else if(!n.unlinkPanels&&p.value&&m.value&&p.value.isAfter(m.value)){const it=_e(m.value.subtract(1,"month"),m.value);h.value=it,p.value=it}gn(p.value,m.value),k(!0)},nt=(Ke,Qe)=>{D.value[Qe]=Ke;const it=ot(Ke,q.value).locale(v.value);it.isValid()&&(Qe==="min"?(qt.value=!0,p.value=(p.value||h.value).hour(it.hour()).minute(it.minute()).second(it.second()),h.value=p.value):(Ce.value=!0,m.value=(m.value||g.value).hour(it.hour()).minute(it.minute()).second(it.second()),g.value=m.value))},ht=(Ke,Qe)=>{D.value[Qe]=null,Qe==="min"?(h.value=p.value,qt.value=!1,(!m.value||m.value.isBefore(p.value))&&(m.value=p.value)):(g.value=m.value,Ce.value=!1,m.value&&m.value.isBefore(p.value)&&(p.value=m.value)),k(!0)},rt=(Ke,Qe,it)=>{D.value.min||(Ke&&(p.value=(p.value||h.value).hour(Ke.hour()).minute(Ke.minute()).second(Ke.second())),it||(qt.value=Qe),(!m.value||m.value.isBefore(p.value))&&(m.value=p.value,g.value=Ke,Re(()=>{T(n.parsedValue)})),k(!0))},Ct=(Ke,Qe,it)=>{D.value.max||(Ke&&(m.value=(m.value||g.value).hour(Ke.hour()).minute(Ke.minute()).second(Ke.second())),it||(Ce.value=Qe),m.value&&m.value.isBefore(p.value)&&(p.value=m.value),k(!0))},Ot=()=>{vt(),o("clear")},vt=()=>{let Ke=null;a?.emptyValues&&(Ke=a.emptyValues.valueOnClear.value),h.value=_p(i(f),{lang:i(v),unit:"month",unlinkPanels:n.unlinkPanels})[0],g.value=h.value.add(1,"month"),m.value=void 0,p.value=void 0,k(!0),o("pick",Ke)},Qt=Ke=>ci(Ke,c.value||"",v.value);function gn(Ke,Qe){if(n.unlinkPanels&&Qe){const it=Ke?.year()||0,Ie=Ke?.month()||0,Ze=Qe.year(),Ue=Qe.month();g.value=it===Ze&&Ie===Ue?Qe.add(1,Uc):Qe}else g.value=h.value.add(1,Uc),Qe&&(g.value=g.value.hour(Qe.hour()).minute(Qe.minute()).second(Qe.second()))}return o("set-picker-option",["isValidValue",G]),o("set-picker-option",["parseUserInput",Qt]),o("set-picker-option",["handleClear",vt]),(Ke,Qe)=>(E(),z("div",{class:R([i(b).b(),i(w).b(),i(b).is("border",Ke.border),i(b).is("disabled",i(qe)),{"has-sidebar":Ke.$slots.sidebar||le.value,"has-time":At.value,"single-panel":Ke.singlePanel}])},[I("div",{class:R(i(b).e("body-wrapper"))},[ue(Ke.$slots,"sidebar",{class:R(i(b).e("sidebar"))}),le.value?(E(),z("div",{key:0,class:R(i(b).e("sidebar"))},[(E(!0),z(Me,null,dt(d.value,(it,Ie)=>(E(),z("button",{key:Ie,type:"button",disabled:i(qe),class:R(i(b).e("shortcut")),onClick:Ze=>i(x)(it)},me(it.text),11,w9))),128))],2)):se("v-if",!0),I("div",{class:R(i(b).e("body"))},[At.value?(E(),z("div",{key:0,class:R(i(w).e("time-header"))},[I("span",{class:R(i(w).e("editors-wrap"))},[I("span",{class:R(i(w).e("time-picker-wrap"))},[Z(i(Gn),{size:"small",disabled:i(y).selecting||i(qe),placeholder:i(_)("el.datepicker.startDate"),class:R(i(w).e("editor")),"model-value":ie.value,"validate-event":!1,readonly:!Ke.editable,onInput:Qe[0]||(Qe[0]=it=>Ge(it,"min")),onChange:Qe[1]||(Qe[1]=it=>Ve(it,"min"))},null,8,["disabled","placeholder","class","model-value","readonly"])],2),Ye((E(),z("span",{class:R(i(w).e("time-picker-wrap"))},[Z(i(Gn),{size:"small",class:R(i(w).e("editor")),disabled:i(y).selecting||i(qe),placeholder:i(_)("el.datepicker.startTime"),"model-value":ee.value,"validate-event":!1,readonly:!Ke.editable,onFocus:Qe[2]||(Qe[2]=it=>qt.value=!0),onInput:Qe[3]||(Qe[3]=it=>nt(it,"min")),onChange:Qe[4]||(Qe[4]=it=>ht(it,"min"))},null,8,["class","disabled","placeholder","model-value","readonly"]),Z(i(rf),{visible:qt.value,format:q.value,"datetime-role":"start","parsed-value":i(p)||h.value,onPick:rt},null,8,["visible","format","parsed-value"])],2)),[[i(ds),Ne]])],2),I("span",null,[Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})]),I("span",{class:R([i(w).e("editors-wrap"),"is-right"])},[I("span",{class:R(i(w).e("time-picker-wrap"))},[Z(i(Gn),{size:"small",class:R(i(w).e("editor")),disabled:i(y).selecting||i(qe),placeholder:i(_)("el.datepicker.endDate"),"model-value":j.value,readonly:!i(p)||!Ke.editable,"validate-event":!1,onInput:Qe[5]||(Qe[5]=it=>Ge(it,"max")),onChange:Qe[6]||(Qe[6]=it=>Ve(it,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),Ye((E(),z("span",{class:R(i(w).e("time-picker-wrap"))},[Z(i(Gn),{size:"small",class:R(i(w).e("editor")),disabled:i(y).selecting||i(qe),placeholder:i(_)("el.datepicker.endTime"),"model-value":Y.value,readonly:!i(p)||!Ke.editable,"validate-event":!1,onFocus:Qe[7]||(Qe[7]=it=>i(p)&&(Ce.value=!0)),onInput:Qe[8]||(Qe[8]=it=>nt(it,"max")),onChange:Qe[9]||(Qe[9]=it=>ht(it,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),Z(i(rf),{"datetime-role":"end",visible:Ce.value,format:q.value,"parsed-value":i(m)||g.value,onPick:Ct},null,8,["visible","format","parsed-value"])],2)),[[i(ds),Je]])],2)],2)):se("v-if",!0),I("div",{class:R([i(b).e("content"),i(w).e("content"),i(w).is("left",!Ke.singlePanel)])},[I("div",{class:R(i(w).e("header"))},[I("button",{type:"button",class:R([i(b).e("icon-btn"),"d-arrow-left"]),"aria-label":i(_)("el.datepicker.prevYear"),disabled:i(qe),onClick:te},[ue(Ke.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,S9),Ye(I("button",{type:"button",class:R([i(b).e("icon-btn"),"arrow-left"]),"aria-label":i(_)("el.datepicker.prevMonth"),disabled:i(qe),onClick:he},[ue(Ke.$slots,"prev-month",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(El))]),_:1})])],10,C9),[[Bt,i(N)==="date"]]),Ke.unlinkPanels||Ke.singlePanel?(E(),z("button",{key:0,type:"button",disabled:!tt.value||i(qe),class:R([[i(b).e("icon-btn"),i(b).is("disabled",!tt.value||i(qe))],"d-arrow-right"]),"aria-label":i(_)("el.datepicker.nextYear"),onClick:be},[ue(Ke.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,k9)):se("v-if",!0),Ke.unlinkPanels&&i(N)==="date"||Ke.singlePanel?(E(),z("button",{key:1,type:"button",disabled:!et.value||i(qe),class:R([[i(b).e("icon-btn"),i(b).is("disabled",!et.value||i(qe))],"arrow-right"]),"aria-label":i(_)("el.datepicker.nextMonth"),onClick:ye},[ue(Ke.$slots,"next-month",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})])],10,x9)):se("v-if",!0),I("div",null,[I("span",{role:"button",class:R(i(w).e("header-label")),"aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,onKeydown:Qe[10]||(Qe[10]=rn(it=>i(X)("year"),["enter"])),onClick:Qe[11]||(Qe[11]=it=>i(X)("year"))},me(i(L)),43,E9),Ye(I("span",{role:"button","aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,class:R([i(w).e("header-label"),{active:i(N)==="month"}]),onKeydown:Qe[12]||(Qe[12]=rn(it=>i(X)("month"),["enter"])),onClick:Qe[13]||(Qe[13]=it=>i(X)("month"))},me(i(_)(`el.datepicker.month${h.value.month()+1}`)),43,$9),[[Bt,i(N)==="date"]])])],2),i(N)==="date"?(E(),fe(em,{key:0,ref_key:"leftCurrentViewRef",ref:V,"selection-mode":"range",date:h.value,"min-date":i(p),"max-date":i(m),"range-state":i(y),"disabled-date":i(l),"cell-class-name":i(s),"show-week-number":Ke.showWeekNumber,disabled:i(qe),onChangerange:i(S),onPick:Rt,onSelect:i($)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):se("v-if",!0),i(N)==="year"?(E(),fe(Lu,{key:1,ref_key:"leftCurrentViewRef",ref:V,"selection-mode":"year",date:h.value,"disabled-date":i(l),"parsed-value":Ke.parsedValue,disabled:i(qe),onPick:i(ne)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):se("v-if",!0),i(N)==="month"?(E(),fe(Du,{key:2,ref_key:"leftCurrentViewRef",ref:V,"selection-mode":"month",date:h.value,"parsed-value":Ke.parsedValue,"disabled-date":i(l),disabled:i(qe),onPick:i(Q)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):se("v-if",!0)],2),Ke.singlePanel?se("v-if",!0):(E(),z("div",{key:1,class:R([[i(b).e("content"),i(w).e("content")],"is-right"])},[I("div",{class:R(i(w).e("header"))},[Ke.unlinkPanels?(E(),z("button",{key:0,type:"button",disabled:!tt.value||i(qe),class:R([[i(b).e("icon-btn"),i(b).is("disabled",!tt.value||i(qe))],"d-arrow-left"]),"aria-label":i(_)("el.datepicker.prevYear"),onClick:$e},[ue(Ke.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,T9)):se("v-if",!0),Ke.unlinkPanels&&i(W)==="date"?(E(),z("button",{key:1,type:"button",disabled:!et.value||i(qe),class:R([[i(b).e("icon-btn"),i(b).is("disabled",!et.value||i(qe))],"arrow-left"]),"aria-label":i(_)("el.datepicker.prevMonth"),onClick:Pe},[ue(Ke.$slots,"prev-month",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(El))]),_:1})])],10,_9)):se("v-if",!0),I("button",{type:"button","aria-label":i(_)("el.datepicker.nextYear"),class:R([i(b).e("icon-btn"),"d-arrow-right"]),disabled:i(qe),onClick:pe},[ue(Ke.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,N9),Ye(I("button",{type:"button",class:R([i(b).e("icon-btn"),"arrow-right"]),disabled:i(qe),"aria-label":i(_)("el.datepicker.nextMonth"),onClick:de},[ue(Ke.$slots,"next-month",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})])],10,I9),[[Bt,i(W)==="date"]]),I("div",null,[I("span",{role:"button",class:R(i(w).e("header-label")),"aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,onKeydown:Qe[14]||(Qe[14]=rn(it=>i(J)("year"),["enter"])),onClick:Qe[15]||(Qe[15]=it=>i(J)("year"))},me(i(K)),43,O9),Ye(I("span",{role:"button","aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,class:R([i(w).e("header-label"),{active:i(W)==="month"}]),onKeydown:Qe[16]||(Qe[16]=rn(it=>i(J)("month"),["enter"])),onClick:Qe[17]||(Qe[17]=it=>i(J)("month"))},me(i(_)(`el.datepicker.month${g.value.month()+1}`)),43,M9),[[Bt,i(W)==="date"]])])],2),i(W)==="date"?(E(),fe(em,{key:0,ref_key:"rightCurrentViewRef",ref:H,"selection-mode":"range",date:g.value,"min-date":i(p),"max-date":i(m),"range-state":i(y),"disabled-date":i(l),"cell-class-name":i(s),"show-week-number":Ke.showWeekNumber,disabled:i(qe),onChangerange:i(S),onPick:Rt,onSelect:i($)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):se("v-if",!0),i(W)==="year"?(E(),fe(Lu,{key:1,ref_key:"rightCurrentViewRef",ref:H,"selection-mode":"year",date:g.value,"disabled-date":i(l),"parsed-value":Ke.parsedValue,disabled:i(qe),onPick:i(re)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):se("v-if",!0),i(W)==="month"?(E(),fe(Du,{key:2,ref_key:"rightCurrentViewRef",ref:H,"selection-mode":"month",date:g.value,"parsed-value":Ke.parsedValue,"disabled-date":i(l),disabled:i(qe),onPick:i(ce)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):se("v-if",!0)],2))],2)],2),Ke.showFooter&&At.value&&(Ke.showConfirm||i(u))?(E(),z("div",{key:0,class:R(i(b).e("footer"))},[i(u)?(E(),fe(i(zn),{key:0,text:"",size:"small",class:R(i(b).e("link-btn")),onClick:Ot},{default:ae(()=>[Oe(me(i(_)("el.datepicker.clear")),1)]),_:1},8,["class"])):se("v-if",!0),Ke.showConfirm?(E(),fe(i(zn),{key:1,plain:"",size:"small",class:R(i(b).e("link-btn")),disabled:$t.value,onClick:Qe[18]||(Qe[18]=it=>i(k)(!1))},{default:ae(()=>[Oe(me(i(_)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):se("v-if",!0)],2)):se("v-if",!0)],2))}}),R9=P9;const A9=Te({...ly}),D9=["pick","set-picker-option","calendar-change"],L9=({unlinkPanels:e,leftDate:t,rightDate:n})=>{const{t:o}=_t();return{leftPrevYear:()=>{t.value=t.value.subtract(1,"year"),e.value||(n.value=n.value.subtract(1,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(1,"year")),n.value=n.value.add(1,"year")},leftNextYear:()=>{t.value=t.value.add(1,"year")},rightPrevYear:()=>{n.value=n.value.subtract(1,"year")},leftLabel:C(()=>`${t.value.year()} ${o("el.datepicker.year")}`),rightLabel:C(()=>`${n.value.year()} ${o("el.datepicker.year")}`),leftYear:C(()=>t.value.year()),rightYear:C(()=>n.value.year()===t.value.year()?t.value.year()+1:n.value.year())}},V9=["disabled","onClick"],B9=["disabled"],F9=["disabled"],z9=["disabled"],H9=["disabled"],Yc="year";var K9=ve({name:"DatePickerMonthRange",__name:"panel-month-range",props:A9,emits:D9,setup(e,{emit:t}){const n=e,o=t,{lang:a}=_t(),l=Fe(tl),{shortcuts:s,disabledDate:r,cellClassName:u}=l.props,c=wt(l.props,"format"),d=wt(l.props,"defaultValue"),f=F(ot().locale(a.value)),v=F(ot().locale(a.value).add(1,Yc)),{minDate:h,maxDate:g,rangeState:p,ppNs:m,drpNs:y,handleChangeRange:b,handleRangeConfirm:w,handleShortcutClick:S,onSelect:k,parseValue:x}=iy(n,{defaultValue:d,leftDate:f,rightDate:v,unit:Yc,sortDates:L}),$=C(()=>!!s.length),{leftPrevYear:T,rightNextYear:_,leftNextYear:A,rightPrevYear:D,leftLabel:N,rightLabel:W,leftYear:V,rightYear:H}=L9({unlinkPanels:wt(n,"unlinkPanels"),leftDate:f,rightDate:v}),P=C(()=>n.singlePanel||n.unlinkPanels&&H.value>V.value+1),O=(X,J=!0)=>{const ne=X.minDate,re=X.maxDate;g.value===re&&h.value===ne||(o("calendar-change",[ne.toDate(),re&&re.toDate()]),g.value=re,h.value=ne,J&&w())},M=()=>{let X=null;l?.emptyValues&&(X=l.emptyValues.valueOnClear.value),f.value=_p(i(d),{lang:i(a),unit:"year",unlinkPanels:n.unlinkPanels})[0],v.value=f.value.add(1,"year"),o("pick",X)},B=X=>ci(X,c.value,a.value);function L(X,J){n.unlinkPanels&&J?v.value=(X?.year()||0)===J.year()?J.add(1,Yc):J:v.value=f.value.add(1,Yc)}const K=pn();return ge(()=>n.visible,X=>{!X&&p.value.selecting&&(x(n.parsedValue),k(!1))}),o("set-picker-option",["isValidValue",Au]),o("set-picker-option",["parseUserInput",B]),o("set-picker-option",["handleClear",M]),(X,J)=>(E(),z("div",{class:R([i(m).b(),i(y).b(),i(m).is("border",X.border),i(m).is("disabled",i(K)),{"has-sidebar":!!X.$slots.sidebar||$.value,"single-panel":X.singlePanel}])},[I("div",{class:R(i(m).e("body-wrapper"))},[ue(X.$slots,"sidebar",{class:R(i(m).e("sidebar"))}),$.value?(E(),z("div",{key:0,class:R(i(m).e("sidebar"))},[(E(!0),z(Me,null,dt(i(s),(ne,re)=>(E(),z("button",{key:re,type:"button",class:R(i(m).e("shortcut")),disabled:i(K),onClick:Q=>i(S)(ne)},me(ne.text),11,V9))),128))],2)):se("v-if",!0),I("div",{class:R(i(m).e("body"))},[I("div",{class:R([i(m).e("content"),i(y).e("content"),i(y).is("left",!X.singlePanel)])},[I("div",{class:R(i(y).e("header"))},[I("button",{type:"button",class:R([i(m).e("icon-btn"),"d-arrow-left"]),disabled:i(K),onClick:J[0]||(J[0]=(...ne)=>i(T)&&i(T)(...ne))},[ue(X.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,B9),X.unlinkPanels||X.singlePanel?(E(),z("button",{key:0,type:"button",disabled:!P.value||i(K),class:R([[i(m).e("icon-btn"),i(m).is("disabled",!P.value||i(K))],"d-arrow-right"]),onClick:J[1]||(J[1]=(...ne)=>i(A)&&i(A)(...ne))},[ue(X.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,F9)):se("v-if",!0),I("div",null,me(i(N)),1)],2),Z(Du,{"selection-mode":"range",date:f.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(r),disabled:i(K),"cell-class-name":i(u),onChangerange:i(b),onPick:O,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),X.singlePanel?se("v-if",!0):(E(),z("div",{key:0,class:R([[i(m).e("content"),i(y).e("content")],"is-right"])},[I("div",{class:R(i(y).e("header"))},[X.unlinkPanels?(E(),z("button",{key:0,type:"button",disabled:!P.value||i(K),class:R([[i(m).e("icon-btn"),i(m).is("disabled",!P.value||i(K))],"d-arrow-left"]),onClick:J[2]||(J[2]=(...ne)=>i(D)&&i(D)(...ne))},[ue(X.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,z9)):se("v-if",!0),I("button",{type:"button",class:R([i(m).e("icon-btn"),"d-arrow-right"]),disabled:i(K),onClick:J[3]||(J[3]=(...ne)=>i(_)&&i(_)(...ne))},[ue(X.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,H9),I("div",null,me(i(W)),1)],2),Z(Du,{"selection-mode":"range",date:v.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(r),disabled:i(K),"cell-class-name":i(u),onChangerange:i(b),onPick:O,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2))],2)],2)],2))}}),W9=K9;const j9=Te({...ly}),U9=["pick","set-picker-option","calendar-change"],Y9=({unlinkPanels:e,leftDate:t,rightDate:n})=>({leftPrevYear:()=>{t.value=t.value.subtract(10,"year"),e.value||(n.value=n.value.subtract(10,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(10,"year")),n.value=n.value.add(10,"year")},leftNextYear:()=>{t.value=t.value.add(10,"year")},rightPrevYear:()=>{n.value=n.value.subtract(10,"year")},leftLabel:C(()=>{const r=Math.floor(t.value.year()/10)*10;return`${r}-${r+9}`}),rightLabel:C(()=>{const r=Math.floor(n.value.year()/10)*10;return`${r}-${r+9}`}),leftYear:C(()=>Math.floor(t.value.year()/10)*10+9),rightYear:C(()=>Math.floor(n.value.year()/10)*10)}),q9=["disabled","onClick"],G9=["disabled"],X9=["disabled"],Z9=["disabled"],J9=["disabled"],Er=10,Ri="year";var Q9=ve({name:"DatePickerYearRange",__name:"panel-year-range",props:j9,emits:U9,setup(e,{emit:t}){const n=e,o=t,{lang:a}=_t(),l=F(ot().locale(a.value)),s=F(ot().locale(a.value).add(Er,Ri)),r=Fe(tl),{shortcuts:u,disabledDate:c,cellClassName:d}=r.props,f=wt(r.props,"format"),v=wt(r.props,"defaultValue"),{minDate:h,maxDate:g,rangeState:p,ppNs:m,drpNs:y,handleChangeRange:b,handleRangeConfirm:w,handleShortcutClick:S,onSelect:k,parseValue:x}=iy(n,{defaultValue:v,leftDate:l,rightDate:s,step:Er,unit:Ri,sortDates:re}),{leftPrevYear:$,rightNextYear:T,leftNextYear:_,rightPrevYear:A,leftLabel:D,rightLabel:N,leftYear:W,rightYear:V}=Y9({unlinkPanels:wt(n,"unlinkPanels"),leftDate:l,rightDate:s}),H=pn(),P=C(()=>!!u.length),O=C(()=>[m.b(),y.b(),m.is("border",n.border),m.is("disabled",H.value),{"has-sidebar":!!bn().sidebar||P.value,"single-panel":n.singlePanel}]),M=C(()=>({content:[m.e("content"),y.e("content"),y.is("left",!n.singlePanel)],arrowLeftBtn:[m.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[m.e("icon-btn"),m.is("disabled",!L.value||H.value),"d-arrow-right"]})),B=C(()=>({content:[m.e("content"),y.e("content"),"is-right"],arrowLeftBtn:[m.e("icon-btn"),m.is("disabled",!L.value||H.value),"d-arrow-left"],arrowRightBtn:[m.e("icon-btn"),"d-arrow-right"]})),L=C(()=>n.singlePanel||n.unlinkPanels&&V.value>W.value+1),K=(Q,ce=!0)=>{const we=Q.minDate,Se=Q.maxDate;g.value===Se&&h.value===we||(o("calendar-change",[we.toDate(),Se&&Se.toDate()]),g.value=Se,h.value=we,ce&&w())},X=Q=>ci(Q,f.value,a.value),J=Q=>Au(Q)&&(c?!c(Q[0].toDate())&&!c(Q[1].toDate()):!0),ne=()=>{let Q=null;r?.emptyValues&&(Q=r.emptyValues.valueOnClear.value);const ce=_p(i(v),{lang:i(a),step:Er,unit:Ri,unlinkPanels:n.unlinkPanels});l.value=ce[0],s.value=ce[1],o("pick",Q)};function re(Q,ce){if(n.unlinkPanels&&ce){const we=Q?.year()||0,Se=ce.year();s.value=we+Er>Se?ce.add(Er,Ri):ce}else s.value=l.value.add(Er,Ri)}return ge(()=>n.visible,Q=>{!Q&&p.value.selecting&&(x(n.parsedValue),k(!1))}),o("set-picker-option",["isValidValue",J]),o("set-picker-option",["parseUserInput",X]),o("set-picker-option",["handleClear",ne]),(Q,ce)=>(E(),z("div",{class:R(O.value)},[I("div",{class:R(i(m).e("body-wrapper"))},[ue(Q.$slots,"sidebar",{class:R(i(m).e("sidebar"))}),P.value?(E(),z("div",{key:0,class:R(i(m).e("sidebar"))},[(E(!0),z(Me,null,dt(i(u),(we,Se)=>(E(),z("button",{key:Se,type:"button",class:R(i(m).e("shortcut")),disabled:i(H),onClick:le=>i(S)(we)},me(we.text),11,q9))),128))],2)):se("v-if",!0),I("div",{class:R(i(m).e("body"))},[I("div",{class:R(M.value.content)},[I("div",{class:R(i(y).e("header"))},[I("button",{type:"button",class:R(M.value.arrowLeftBtn),disabled:i(H),onClick:ce[0]||(ce[0]=(...we)=>i($)&&i($)(...we))},[ue(Q.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,G9),Q.unlinkPanels||Q.singlePanel?(E(),z("button",{key:0,type:"button",disabled:!L.value||i(H),class:R(M.value.arrowRightBtn),onClick:ce[1]||(ce[1]=(...we)=>i(_)&&i(_)(...we))},[ue(Q.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,X9)):se("v-if",!0),I("div",null,me(i(D)),1)],2),Z(Lu,{"selection-mode":"range",date:l.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(c),disabled:i(H),"cell-class-name":i(d),onChangerange:i(b),onPick:K,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),Q.singlePanel?se("v-if",!0):(E(),z("div",{key:0,class:R(B.value.content)},[I("div",{class:R(i(y).e("header"))},[Q.unlinkPanels?(E(),z("button",{key:0,type:"button",disabled:!L.value||i(H),class:R(B.value.arrowLeftBtn),onClick:ce[2]||(ce[2]=(...we)=>i(A)&&i(A)(...we))},[ue(Q.$slots,"prev-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(is))]),_:1})])],10,Z9)):se("v-if",!0),I("button",{type:"button",class:R(B.value.arrowRightBtn),disabled:i(H),onClick:ce[3]||(ce[3]=(...we)=>i(T)&&i(T)(...we))},[ue(Q.$slots,"next-year",{},()=>[Z(i(He),null,{default:ae(()=>[Z(i(us))]),_:1})])],10,J9),I("div",null,me(i(N)),1)],2),Z(Lu,{"selection-mode":"range",date:s.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(c),disabled:i(H),"cell-class-name":i(d),onChangerange:i(b),onPick:K,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2))],2)],2)],2))}}),e7=Q9;const t7=function(e){switch(e){case"daterange":case"datetimerange":return R9;case"monthrange":return W9;case"yearrange":return e7;default:return m9}};var wd={exports:{}},n7=wd.exports,aw;function o7(){return aw||(aw=1,(function(e,t){(function(n,o){e.exports=o()})(n7,(function(){return function(n,o){var a=o.prototype,l=a.format;a.format=function(s){var r=this,u=this.$locale();if(!this.isValid())return l.bind(this)(s);var c=this.$utils(),d=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(f){switch(f){case"Q":return Math.ceil((r.$M+1)/3);case"Do":return u.ordinal(r.$D);case"gggg":return r.weekYear();case"GGGG":return r.isoWeekYear();case"wo":return u.ordinal(r.week(),"W");case"w":case"ww":return c.s(r.week(),f==="w"?1:2,"0");case"W":case"WW":return c.s(r.isoWeek(),f==="W"?1:2,"0");case"k":case"kk":return c.s(String(r.$H===0?24:r.$H),f==="k"?1:2,"0");case"X":return Math.floor(r.$d.getTime()/1e3);case"x":return r.$d.getTime();case"z":return"["+r.offsetName()+"]";case"zzz":return"["+r.offsetName("long")+"]";default:return f}}));return l.bind(this)(d)}}}))})(wd)),wd.exports}var a7=o7();const l7=Al(a7);var Sd={exports:{}},s7=Sd.exports,lw;function r7(){return lw||(lw=1,(function(e,t){(function(n,o){e.exports=o()})(s7,(function(){var n="week",o="year";return function(a,l,s){var r=l.prototype;r.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var d=s(this).startOf(o).add(1,o).date(c),f=s(this).endOf(n);if(d.isBefore(f))return 1}var v=s(this).startOf(o).date(c).startOf(n).subtract(1,"millisecond"),h=this.diff(v,n,!0);return h<0?s(this).startOf("week").week():Math.ceil(h)},r.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}}))})(Sd)),Sd.exports}var i7=r7();const u7=Al(i7);var Cd={exports:{}},c7=Cd.exports,sw;function d7(){return sw||(sw=1,(function(e,t){(function(n,o){e.exports=o()})(c7,(function(){return function(n,o){o.prototype.weekYear=function(){var a=this.month(),l=this.week(),s=this.year();return l===1&&a===11?s+1:a===0&&l>=52?s-1:s}}}))})(Cd)),Cd.exports}var f7=d7();const p7=Al(f7);var kd={exports:{}},v7=kd.exports,rw;function h7(){return rw||(rw=1,(function(e,t){(function(n,o){e.exports=o()})(v7,(function(){return function(n,o,a){o.prototype.dayOfYear=function(l){var s=Math.round((a(this).startOf("day")-a(this).startOf("year"))/864e5)+1;return l==null?s:this.add(l-s,"day")}}}))})(kd)),kd.exports}var m7=h7();const g7=Al(m7);var xd={exports:{}},y7=xd.exports,iw;function b7(){return iw||(iw=1,(function(e,t){(function(n,o){e.exports=o()})(y7,(function(){return function(n,o){o.prototype.isSameOrAfter=function(a,l){return this.isSame(a,l)||this.isAfter(a,l)}}}))})(xd)),xd.exports}var w7=b7();const S7=Al(w7);var Ed={exports:{}},C7=Ed.exports,uw;function k7(){return uw||(uw=1,(function(e,t){(function(n,o){e.exports=o()})(C7,(function(){return function(n,o){o.prototype.isSameOrBefore=function(a,l){return this.isSame(a,l)||this.isBefore(a,l)}}}))})(Ed)),Ed.exports}var x7=k7();const E7=Al(x7);function $7(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}ot.extend(Kx);ot.extend(l7);ot.extend(Gg);ot.extend(u7);ot.extend(p7);ot.extend(g7);ot.extend(S7);ot.extend(E7);var T7=ve({name:"ElDatePickerPanel",install:null,inheritAttrs:!1,props:zK,emits:[lt,"calendar-change","panel-change","visible-change","clear"],setup(e,{slots:t,emit:n,attrs:o}){const a=ke("picker-panel");It(Fe("EP_PICKER_BASE",void 0))&&xt(tl,{props:Kt({...An(e)})}),xt(oy,{slots:t,pickerNs:a});const{parsedValue:l,onCalendarChange:s,onPanelChange:r,onSetPickerOption:u,onPick:c}=Fe(Cx,()=>Tx(e,n),!0);return()=>Z(t7(e.type),pt(hr(o,"onPick"),e,{parsedValue:l.value,"onSet-picker-option":u,"onCalendar-change":s,"onPanel-change":r,onClear:()=>n("clear"),onPick:c}),$7(t)?t:{default:()=>[t]})}});const HE=ut(T7),_7=Te({...qg,type:{type:oe(String),default:"date"}});function N7(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}var I7=ve({name:"ElDatePicker",install:null,props:_7,emits:[lt],setup(e,{expose:t,emit:n,slots:o}){xt(Ug,Kt(wt(e,"popperOptions")));const a=F();t({focus:()=>{a.value?.focus()},blur:()=>{a.value?.blur()},handleOpen:()=>{a.value?.handleOpen()},handleClose:()=>{a.value?.handleClose()}});const l=s=>{n(lt,s)};return()=>Z(_x,pt(e,{format:e.format??(uF[e.type]||"YYYY-MM-DD"),type:e.type,ref:a,"onUpdate:modelValue":l}),{default:s=>Z(HE,pt({disabled:e.disabled,editable:e.editable,border:!1},s),N7(o)?o:{default:()=>[o]}),"range-separator":o["range-separator"]})}});const O7=ut(I7),M7=Te({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Rn,title:{type:String,default:""},extra:{type:String,default:""},labelWidth:{type:[String,Number]}}),KE="ElDescriptionsItem",P7=Te({label:{type:String,default:""},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},labelWidth:{type:[String,Number]},align:{type:String,values:zb,default:"left"},labelAlign:{type:String,values:zb},className:{type:String,default:""},labelClassName:{type:String,default:""}}),WE=ve({name:KE,props:P7}),uy=Symbol("elDescriptions"),R7=Te({row:{type:oe(Array),default:()=>[]}});var Ai=ve({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Fe(uy,{})}},render(){const e=TL(this.cell),t=(this.cell?.dirs||[]).map(p=>{const{dir:m,arg:y,modifiers:b,value:w}=p;return[m,w,y,b]}),{border:n,direction:o}=this.descriptions,a=o==="vertical",l=()=>this.cell?.children?.label?.()||e.label,s=()=>this.cell?.children?.default?.(),r=e.span,u=e.rowspan,c=e.align?`is-${e.align}`:"",d=e.labelAlign?`is-${e.labelAlign}`:c,f=e.className,v=e.labelClassName,h={width:mn(this.type==="label"?e.labelWidth??this.descriptions.labelWidth??e.width:e.width),minWidth:mn(e.minWidth)},g=ke("descriptions");switch(this.type){case"label":return Ye(Le(this.tag,{style:h,class:[g.e("cell"),g.e("label"),g.is("bordered-label",n),g.is("vertical-label",a),d,v],colSpan:a?r:1,rowspan:a?1:u},l()),t);case"content":return Ye(Le(this.tag,{style:h,class:[g.e("cell"),g.e("content"),g.is("bordered-content",n),g.is("vertical-content",a),c,f],colSpan:a?r:r*2-1,rowspan:a?u*2-1:u},s()),t);default:{const p=l(),m={},y=mn(e.labelWidth??this.descriptions.labelWidth);return y&&(m.width=y,m.display="inline-block"),Ye(Le("td",{style:h,class:[g.e("cell"),c],colSpan:r,rowspan:u},[yn(p)?void 0:Le("span",{style:m,class:[g.e("label"),v]},p),Le("span",{class:[g.e("content"),f]},s())]),t)}}}});const A7={key:1};var D7=ve({name:"ElDescriptionsRow",__name:"descriptions-row",props:R7,setup(e){const t=Fe(uy,{});return(n,o)=>i(t).direction==="vertical"?(E(),z(Me,{key:0},[I("tr",null,[(E(!0),z(Me,null,dt(e.row,(a,l)=>(E(),fe(i(Ai),{key:`tr1-${l}`,cell:a,tag:"th",type:"label"},null,8,["cell"]))),128))]),I("tr",null,[(E(!0),z(Me,null,dt(e.row,(a,l)=>(E(),fe(i(Ai),{key:`tr2-${l}`,cell:a,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(E(),z("tr",A7,[(E(!0),z(Me,null,dt(e.row,(a,l)=>(E(),z(Me,{key:`tr3-${l}`},[i(t).border?(E(),z(Me,{key:0},[Z(i(Ai),{cell:a,tag:"td",type:"label"},null,8,["cell"]),Z(i(Ai),{cell:a,tag:"td",type:"content"},null,8,["cell"])],64)):(E(),fe(i(Ai),{key:1,cell:a,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}}),L7=D7,V7=ve({name:"ElDescriptions",__name:"description",props:M7,setup(e){const t=e,n=ke("descriptions"),o=In(),a=bn();xt(uy,t);const l=C(()=>[n.b(),n.m(o.value)]),s=(u,c,d,f=!1)=>(u.props||(u.props={}),c>d&&(u.props.span=d),f&&(u.props.span=c),u),r=()=>{if(!a.default)return[];const u=Fo(a.default()).filter(g=>g?.type?.name===KE),c=[];let d=[],f=t.column,v=0;const h=[];return u.forEach((g,p)=>{const m=g.props?.span||1,y=g.props?.rowspan||1,b=c.length;if(h[b]||=0,y>1)for(let w=1;w0&&(f-=h[b],h[b]=0),pf?f:m),p===u.length-1){const w=t.column-v%t.column;d.push(s(g,w,f,!0)),c.push(d);return}m(E(),z("div",{class:R(l.value)},[e.title||e.extra||u.$slots.title||u.$slots.extra?(E(),z("div",{key:0,class:R(i(n).e("header"))},[I("div",{class:R(i(n).e("title"))},[ue(u.$slots,"title",{},()=>[Oe(me(e.title),1)])],2),I("div",{class:R(i(n).e("extra"))},[ue(u.$slots,"extra",{},()=>[Oe(me(e.extra),1)])],2)],2)):se("v-if",!0),I("div",{class:R(i(n).e("body"))},[I("table",{class:R([i(n).e("table"),i(n).is("bordered",e.border)])},[I("tbody",null,[(E(!0),z(Me,null,dt(r(),(d,f)=>(E(),fe(L7,{key:f,row:d},null,8,["row"]))),128))])],2)],2)],2))}}),B7=V7;const F7=ut(B7,{DescriptionsItem:WE}),z7=fn(WE),jE=Te({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:Xt},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},fullscreen:Boolean,headerClass:{type:oe([String,Array,Object,Boolean]),default:void 0},bodyClass:{type:oe([String,Array,Object,Boolean]),default:void 0},footerClass:{type:oe([String,Array,Object,Boolean]),default:void 0},showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),H7={close:()=>!0},UE=Te({...jE,appendToBody:Boolean,appendTo:{type:oe([String,Object]),default:"body"},beforeClose:{type:oe(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalPenetrable:Boolean,openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:{type:oe([String,Array,Object,Boolean]),default:void 0},width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"},transition:{type:oe([String,Object]),default:void 0}}),YE={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[lt]:e=>Gt(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},K7=Te({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:oe([String,Array,Object,Boolean]),default:void 0},zIndex:{type:oe([String,Number])}}),W7={click:e=>e instanceof MouseEvent},j7="overlay";var U7=ve({name:"ElOverlay",props:K7,emits:W7,setup(e,{slots:t,emit:n}){const o=ke(j7),a=u=>{n("click",u)},{onClick:l,onMousedown:s,onMouseup:r}=Ng(e.customMaskEvent?void 0:a);return()=>e.mask?Z("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:l,onMousedown:s,onMouseup:r},[ue(t,"default")],14,["onClick","onMouseup","onMousedown"]):Le("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[ue(t,"default")])}});const cy=U7,qE=Symbol("dialogInjectionKey"),cw="dialog-fade",Y7="ElDialog",GE=(e,t)=>{const n=ct().emit,{nextZIndex:o}=dc();let a="";const l=Jn(),s=Jn(),r=F(!1),u=F(!1),c=F(!1),d=F(e.zIndex??o()),f=F(!1);let v,h;const g=Rl(),p=C(()=>g.value?.namespace??"el"),m=C(()=>g.value?.dialog),y=C(()=>{const X={},J=`--${p.value}-dialog`;if(!e.fullscreen){e.top&&(X[`${J}-margin-top`]=e.top);const ne=mn(e.width);ne&&(X[`${J}-width`]=ne)}return X}),b=C(()=>(e.draggable??m.value?.draggable??!1)&&!e.fullscreen),w=C(()=>e.alignCenter??m.value?.alignCenter??!1),S=C(()=>e.overflow??m.value?.overflow??!1),k=C(()=>e.modalPenetrable&&!e.modal&&!e.fullscreen),x=C(()=>w.value?{display:"flex"}:{}),$=C(()=>{const X=e.transition??m.value?.transition??"dialog-fade",J={name:X,onAfterEnter:T,onBeforeLeave:A,onAfterLeave:_};if(st(X)){const ne={...X},re=(Q,ce)=>we=>{xe(Q)?Q.forEach(Se=>{je(Se)&&Se(we)}):je(Q)&&Q(we),ce()};return ne.onAfterEnter=re(ne.onAfterEnter,T),ne.onBeforeLeave=re(ne.onBeforeLeave,A),ne.onAfterLeave=re(ne.onAfterLeave,_),ne.name||(ne.name=cw,Yt(Y7,`transition.name is missing when using object syntax, fallback to '${cw}'`)),ne}return J});function T(){n("opened")}function _(){n("closed"),n(lt,!1),e.destroyOnClose&&(c.value=!1),f.value=!1}function A(){f.value=!0,n("close")}function D(){h?.(),v?.(),e.openDelay&&e.openDelay>0?{stop:v}=ti(()=>H(),e.openDelay):H()}function N(){v?.(),h?.(),e.closeDelay&&e.closeDelay>0?{stop:h}=ti(()=>P(),e.closeDelay):P()}function W(){function X(J){J||(u.value=!0,r.value=!1)}e.beforeClose?e.beforeClose(X):N()}function V(){e.closeOnClickModal&&W()}function H(){Lt&&(r.value=!0)}function P(){r.value=!1}function O(){n("openAutoFocus")}function M(){n("closeAutoFocus")}function B(X){X.detail?.focusReason==="pointer"&&X.preventDefault()}e.lockScroll&&pp(r);function L(){e.closeOnPressEscape&&W()}function K(){!r.value||!k.value||e.zIndex!==void 0||(d.value=o())}return ge(()=>e.zIndex,()=>{d.value=e.zIndex??o()}),ge(()=>e.modelValue,X=>{X?(u.value=!1,f.value=!1,D(),c.value=!0,d.value=e.zIndex??o(),Re(()=>{n("open"),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):r.value&&N()}),ge(()=>e.fullscreen,X=>{t.value&&(X?(a=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=a)}),at(()=>{e.modelValue&&(r.value=!0,c.value=!0,D())}),{afterEnter:T,afterLeave:_,beforeLeave:A,handleClose:W,onModalClick:V,close:N,doClose:P,onOpenAutoFocus:O,onCloseAutoFocus:M,onCloseRequested:L,onFocusoutPrevented:B,bringToFront:K,titleId:l,bodyId:s,closed:u,style:y,overlayDialogStyle:x,rendered:c,visible:r,zIndex:d,transitionConfig:$,_draggable:b,_alignCenter:w,_overflow:S,closing:f,penetrable:k}},dy=(...e)=>t=>{e.forEach(n=>{n.value=t})},q7=["aria-level"],G7=["aria-label"],X7=["id"];var Z7=ve({name:"ElDialogContent",__name:"dialog-content",props:jE,emits:H7,setup(e,{expose:t}){const{t:n}=_t(),{Close:o}=X2,a=e,{dialogRef:l,headerRef:s,bodyId:r,ns:u,style:c}=Fe(qE),{focusTrapRef:d}=Fe(rx),f=dy(d,l),v=C(()=>!!a.draggable),{resetPosition:h,updatePosition:g,isDragging:p}=s2(l,s,v,C(()=>!!a.overflow)),m=C(()=>[u.b(),u.is("fullscreen",a.fullscreen),u.is("draggable",v.value),u.is("dragging",p.value),u.is("align-center",!!a.alignCenter),{[u.m("center")]:a.center}]);return t({resetPosition:h,updatePosition:g}),(y,b)=>(E(),z("div",{ref:i(f),class:R(m.value),style:Be(i(c)),tabindex:"-1"},[I("header",{ref_key:"headerRef",ref:s,class:R([i(u).e("header"),e.headerClass,{"show-close":e.showClose}])},[ue(y.$slots,"header",{},()=>[I("span",{role:"heading","aria-level":e.ariaLevel,class:R(i(u).e("title"))},me(e.title),11,q7)]),e.showClose?(E(),z("button",{key:0,"aria-label":i(n)("el.dialog.close"),class:R(i(u).e("headerbtn")),type:"button",onClick:b[0]||(b[0]=w=>y.$emit("close"))},[Z(i(He),{class:R(i(u).e("close"))},{default:ae(()=>[(E(),fe(ft(e.closeIcon||i(o))))]),_:1},8,["class"])],10,G7)):se("v-if",!0)],2),I("div",{id:i(r),class:R([i(u).e("body"),e.bodyClass])},[ue(y.$slots,"default")],10,X7),y.$slots.footer?(E(),z("footer",{key:0,class:R([i(u).e("footer"),e.footerClass])},[ue(y.$slots,"footer")],2)):se("v-if",!0)],6))}}),J7=Z7;const Q7=["aria-label","aria-labelledby","aria-describedby"];var eW=ve({name:"ElDialog",inheritAttrs:!1,__name:"dialog",props:UE,emits:YE,setup(e,{expose:t}){const n=e,o=bn();Ba({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},C(()=>!!o.title));const a=ke("dialog"),l=F(),s=F(),r=F(),{visible:u,titleId:c,bodyId:d,style:f,overlayDialogStyle:v,rendered:h,transitionConfig:g,zIndex:p,_draggable:m,_alignCenter:y,_overflow:b,penetrable:w,handleClose:S,onModalClick:k,onOpenAutoFocus:x,onCloseAutoFocus:$,onCloseRequested:T,onFocusoutPrevented:_,bringToFront:A,closing:D}=GE(n,l);xt(qE,{dialogRef:l,headerRef:s,bodyId:d,ns:a,rendered:h,style:f});const N=Ng(k);return t({visible:u,dialogContentRef:r,resetPosition:()=>{r.value?.resetPosition()},handleClose:S}),(V,H)=>(E(),fe(cr,{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},[Z(Zn,pt(i(g),{persisted:""}),{default:ae(()=>[Ye(Z(i(cy),{"custom-mask-event":"",mask:e.modal,"overlay-class":[e.modalClass??"",`${i(a).namespace.value}-modal-dialog`,i(a).is("penetrable",i(w))],"z-index":i(p)},{default:ae(()=>[I("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(c),"aria-describedby":i(d),class:R([`${i(a).namespace.value}-overlay-dialog`,i(a).is("closing",i(D))]),style:Be(i(v)),onClick:H[0]||(H[0]=(...P)=>i(N).onClick&&i(N).onClick(...P)),onMousedown:H[1]||(H[1]=(...P)=>i(N).onMousedown&&i(N).onMousedown(...P)),onMouseup:H[2]||(H[2]=(...P)=>i(N).onMouseup&&i(N).onMouseup(...P))},[Z(i(xi),{loop:"",trapped:i(u),"focus-start-el":"container",onFocusAfterTrapped:i(x),onFocusAfterReleased:i($),onFocusoutPrevented:i(_),onReleaseRequested:i(T)},{default:ae(()=>[i(h)?(E(),fe(J7,pt({key:0,ref_key:"dialogContentRef",ref:r},V.$attrs,{center:e.center,"align-center":i(y),"close-icon":e.closeIcon,draggable:i(m),overflow:i(b),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:i(S),onMousedown:i(A)}),bo({header:ae(()=>[V.$slots.title?ue(V.$slots,"title",{key:1}):ue(V.$slots,"header",{key:0,close:i(S),titleId:i(c),titleClass:i(a).e("title")})]),default:ae(()=>[ue(V.$slots,"default")]),_:2},[V.$slots.footer?{name:"footer",fn:ae(()=>[ue(V.$slots,"footer")]),key:"0"}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose","onMousedown"])):se("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,Q7)]),_:3},8,["mask","overlay-class","z-index"]),[[Bt,i(u)]])]),_:3},16)],8,["to","disabled"]))}}),tW=eW;const nW=ut(tW),oW=Te({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:oe(String),default:"solid"}});var aW=ve({name:"ElDivider",__name:"divider",props:oW,setup(e){const t=e,n=ke("divider"),o=C(()=>n.cssVar({"border-style":t.borderStyle}));return(a,l)=>(E(),z("div",{class:R([i(n).b(),i(n).m(e.direction)]),style:Be(o.value),role:"separator"},[a.$slots.default&&e.direction!=="vertical"?(E(),z("div",{key:0,class:R([i(n).e("text"),i(n).is(e.contentPosition)])},[ue(a.$slots,"default")],2)):se("v-if",!0)],6))}}),lW=aW;const XE=ut(lW),sW=Te({...UE,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),rW={...YE,"resize-start":(e,t)=>e instanceof MouseEvent&&typeof t=="number",resize:(e,t)=>e instanceof MouseEvent&&typeof t=="number","resize-end":(e,t)=>e instanceof MouseEvent&&typeof t=="number"};function iW(e,t,n){const{width:o,height:a}=hg(),l=C(()=>["ltr","rtl"].includes(e.direction)),s=C(()=>["ltr","ttb"].includes(e.direction)?1:-1),r=C(()=>l.value?o.value:a.value),u=C(()=>cp(c.value+s.value*d.value,4,r.value)),c=F(0),d=F(0),f=F(!1),v=F(!1);let h=[],g=[];const p=()=>{const S=t.value?.closest('[aria-modal="true"]');return S?l.value?S.offsetWidth:S.offsetHeight:100};ge(()=>[e.size,e.resizable],()=>{v.value=!1,c.value=0,d.value=0,b()});const m=S=>{e.resizable&&(v.value||(c.value=p(),v.value=!0),h=[S.pageX,S.pageY],f.value=!0,n("resize-start",S,c.value),g.push(jt(window,"mouseup",b),jt(window,"mousemove",y)))},y=S=>{const{pageX:k,pageY:x}=S,$=k-h[0],T=x-h[1];d.value=l.value?$:T,n("resize",S,u.value)},b=S=>{f.value&&(h=[],c.value=u.value,d.value=0,f.value=!1,g.forEach(k=>k?.()),g=[],S&&n("resize-end",S,c.value))},w=jt(t,"mousedown",m);return Ft(()=>{w(),b()}),{size:C(()=>v.value?`${u.value}px`:mn(e.size)),isResizing:f,isHorizontal:l}}const uW=["aria-label","aria-labelledby","aria-describedby"],cW=["id","aria-level"],dW=["aria-label"],fW=["id"];var pW=ve({name:"ElDrawer",inheritAttrs:!1,__name:"drawer",props:sW,emits:rW,setup(e,{expose:t,emit:n}){const o=e,a=n,l=bn();Ba({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},C(()=>!!l.title));const s=F(),r=F(),u=F(),c=ke("drawer"),{t:d}=_t(),{afterEnter:f,afterLeave:v,beforeLeave:h,visible:g,rendered:p,titleId:m,bodyId:y,zIndex:b,onModalClick:w,onOpenAutoFocus:S,onCloseAutoFocus:k,onFocusoutPrevented:x,onCloseRequested:$,handleClose:T}=GE(o,s),{isHorizontal:_,size:A,isResizing:D}=iW(o,u,a),N=C(()=>o.modalPenetrable&&!o.modal);return t({handleClose:T}),(W,V)=>(E(),fe(cr,{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},[Z(Zn,{name:i(c).b("fade"),onAfterEnter:i(f),onAfterLeave:i(v),onBeforeLeave:i(h),persisted:""},{default:ae(()=>[Ye(Z(i(cy),{mask:e.modal,"overlay-class":[i(c).is("drawer"),e.modalClass??"",`${i(c).namespace.value}-modal-drawer`,i(c).is("penetrable",N.value)],"z-index":i(b),onClick:i(w)},{default:ae(()=>[Z(i(xi),{loop:"",trapped:i(g),"focus-trap-el":s.value,"focus-start-el":r.value,onFocusAfterTrapped:i(S),onFocusAfterReleased:i(k),onFocusoutPrevented:i(x),onReleaseRequested:i($)},{default:ae(()=>[I("div",pt({ref_key:"drawerRef",ref:s,"aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(m),"aria-describedby":i(y)},W.$attrs,{class:[i(c).b(),e.direction,i(g)&&"open",i(c).is("dragging",i(D))],style:{[i(_)?"width":"height"]:i(A)},role:"dialog",onClick:V[1]||(V[1]=Xe(()=>{},["stop"]))}),[I("span",{ref_key:"focusStartRef",ref:r,class:R(i(c).e("sr-focus")),tabindex:"-1"},null,2),e.withHeader?(E(),z("header",{key:0,class:R([i(c).e("header"),e.headerClass])},[W.$slots.title?ue(W.$slots,"title",{key:1},()=>[se(" DEPRECATED SLOT ")]):ue(W.$slots,"header",{key:0,close:i(T),titleId:i(m),titleClass:i(c).e("title")},()=>[I("span",{id:i(m),role:"heading","aria-level":e.headerAriaLevel,class:R(i(c).e("title"))},me(e.title),11,cW)]),e.showClose?(E(),z("button",{key:2,"aria-label":i(d)("el.drawer.close"),class:R(i(c).e("close-btn")),type:"button",onClick:V[0]||(V[0]=(...H)=>i(T)&&i(T)(...H))},[Z(i(He),{class:R(i(c).e("close"))},{default:ae(()=>[Z(i(la))]),_:1},8,["class"])],10,dW)):se("v-if",!0)],2)):se("v-if",!0),i(p)?(E(),z("div",{key:1,id:i(y),class:R([i(c).e("body"),e.bodyClass])},[ue(W.$slots,"default")],10,fW)):se("v-if",!0),W.$slots.footer?(E(),z("div",{key:2,class:R([i(c).e("footer"),e.footerClass])},[ue(W.$slots,"footer")],2)):se("v-if",!0),e.resizable?(E(),z("div",{key:3,ref_key:"draggerRef",ref:u,style:Be({zIndex:i(b)}),class:R(i(c).e("dragger"))},null,6)):se("v-if",!0)],16,uW)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[Bt,i(g)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["to","disabled"]))}}),vW=pW;const hW=ut(vW),tm=Te({trigger:{...Ks.trigger,type:oe([String,Array])},triggerKeys:{type:oe(Array),default:()=>[Ee.enter,Ee.numpadEnter,Ee.space,Ee.down]},virtualTriggering:Ks.virtualTriggering,virtualRef:Ks.virtualRef,effect:{...ln.effect,default:"light"},type:{type:oe(String)},placement:{type:oe(String),default:"bottom"},popperOptions:{type:oe(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:oe([Number,String]),default:0},maxHeight:{type:oe([Number,String]),default:""},popperClass:ln.popperClass,popperStyle:ln.popperStyle,disabled:Boolean,role:{type:String,values:Z2,default:"menu"},buttonProps:{type:oe(Object)},teleported:ln.teleported,appendTo:ln.appendTo,persistent:{type:Boolean,default:!0}}),ZE=Te({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Xt}}),mW=Te({onKeydown:{type:oe(Function)}}),Np=Symbol("elDropdown"),JE="elDropdown";var gW=ve({inheritAttrs:!1});function yW(e,t,n,o,a,l){return ue(e.$slots,"default")}var bW=Dn(gW,[["render",yW]]),wW=ve({name:"ElCollectionItem",inheritAttrs:!1});function SW(e,t,n,o,a,l){return ue(e.$slots,"default")}var CW=Dn(wW,[["render",SW]]);const QE="data-el-collection-item",kW=e=>{const t=`El${e}Collection`,n=`${t}Item`,o=Symbol(t),a=Symbol(n);return{COLLECTION_INJECTION_KEY:o,COLLECTION_ITEM_INJECTION_KEY:a,ElCollection:Object.assign({},bW,{name:t,setup(){const l=F(),s=new Map;xt(o,{itemMap:s,getItems:(()=>{const u=i(l);if(!u)return[];const c=Array.from(u.querySelectorAll(`[${QE}]`));return[...s.values()].sort((d,f)=>c.indexOf(d.ref)-c.indexOf(f.ref))}),collectionRef:l})}}),ElCollectionItem:Object.assign({},CW,{name:n,setup(l,{attrs:s}){const r=F(),u=Fe(o,void 0);xt(a,{collectionItemRef:r}),at(()=>{const c=i(r);c&&u.itemMap.set(c,{ref:c,...s})}),Ft(()=>{const c=i(r);u.itemMap.delete(c)})}})}},xW=Te({style:{type:oe([String,Array,Object,Boolean]),default:void 0},currentTabId:{type:oe(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:oe(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:EW,ElCollectionItem:$W,COLLECTION_INJECTION_KEY:e$,COLLECTION_ITEM_INJECTION_KEY:TW}=kW("RovingFocusGroup"),fy=Symbol("elRovingFocusGroup"),t$=Symbol("elRovingFocusGroupItem"),_W={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},NW=(e,t)=>e,IW=(e,t,n)=>{const o=NW(Zt(e));return _W[o]},OW=(e,t)=>e.map((n,o)=>e[(o+t)%e.length]),dw=e=>{const{activeElement:t}=document;for(const n of e)if(n===t||(n.focus(),t!==document.activeElement))return},fw="currentTabIdChange",pw="rovingFocusGroup.entryFocus",MW={bubbles:!1,cancelable:!0};var PW=ve({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:xW,emits:[fw,"entryFocus"],setup(e,{emit:t}){const n=F((e.currentTabId||e.defaultCurrentTabId)??null),o=F(!1),a=F(!1),l=F(),{getItems:s}=Fe(e$,void 0),r=C(()=>[{outline:"none"},e.style]),u=p=>{t(fw,p)},c=()=>{o.value=!0},d=Vn(p=>{e.onMousedown?.(p)},()=>{a.value=!0}),f=Vn(p=>{e.onFocus?.(p)},p=>{const m=!i(a),{target:y,currentTarget:b}=p;if(y===b&&m&&!i(o)){const w=new Event(pw,MW);if(b?.dispatchEvent(w),!w.defaultPrevented){const S=s().filter(k=>k.focusable);dw([S.find(k=>k.active),S.find(k=>k.id===i(n)),...S].filter(Boolean).map(k=>k.ref))}}a.value=!1}),v=Vn(p=>{e.onBlur?.(p)},()=>{o.value=!1}),h=(...p)=>{t("entryFocus",...p)},g=p=>{const m=IW(p);if(m){p.preventDefault();let y=s().filter(b=>b.focusable).map(b=>b.ref);switch(m){case"last":y.reverse();break;case"prev":case"next":{m==="prev"&&y.reverse();const b=y.indexOf(p.currentTarget);y=e.loop?OW(y,b+1):y.slice(b+1);break}}Re(()=>{dw(y)})}};xt(fy,{currentTabbedId:Xs(n),loop:wt(e,"loop"),tabIndex:C(()=>i(o)?-1:0),rovingFocusGroupRef:l,rovingFocusGroupRootStyle:r,orientation:wt(e,"orientation"),dir:wt(e,"dir"),onItemFocus:u,onItemShiftTab:c,onBlur:v,onFocus:f,onMousedown:d,onKeydown:g}),ge(()=>e.currentTabId,p=>{n.value=p??null}),jt(l,pw,h)}});function RW(e,t,n,o,a,l){return ue(e.$slots,"default")}var AW=Dn(PW,[["render",RW]]),DW=ve({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:EW,ElRovingFocusGroupImpl:AW}});function LW(e,t,n,o,a,l){const s=yt("el-roving-focus-group-impl"),r=yt("el-focus-group-collection");return E(),fe(r,null,{default:ae(()=>[Z(s,ml(yl(e.$attrs)),{default:ae(()=>[ue(e.$slots,"default")]),_:3},16)]),_:3})}var VW=Dn(DW,[["render",LW]]),BW=ve({components:{ElRovingFocusCollectionItem:$W},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,onItemFocus:o,onItemShiftTab:a,onKeydown:l}=Fe(fy,void 0),s=Jn(),r=F(),u=Vn(v=>{t("mousedown",v)},v=>{e.focusable?o(i(s)):v.preventDefault()}),c=Vn(v=>{t("focus",v)},()=>{o(i(s))}),d=Vn(v=>{t("keydown",v)},v=>{const{shiftKey:h,target:g,currentTarget:p}=v;if(Zt(v)===Ee.tab&&h){a();return}g===p&&l(v)}),f=C(()=>n.value===i(s));return xt(t$,{rovingFocusGroupItemRef:r,tabIndex:C(()=>i(f)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:s,handleKeydown:d,handleFocus:c,handleMousedown:u}}});function FW(e,t,n,o,a,l){const s=yt("el-roving-focus-collection-item");return E(),fe(s,{id:e.id,focusable:e.focusable,active:e.active},{default:ae(()=>[ue(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var zW=Dn(BW,[["render",FW]]),HW=VW;const{ButtonGroup:KW}=zn;var WW=ve({name:"ElDropdown",components:{ElButton:zn,ElButtonGroup:KW,ElScrollbar:wa,ElTooltip:Kn,ElRovingFocusGroup:HW,ElOnlyChild:tx,ElIcon:He,ArrowDown:Qa},props:tm,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=ct(),o=ke("dropdown"),{t:a}=_t(),l=F(),s=F(),r=F(),u=F(),c=F(null),d=F(null),f=F(!1),v=C(()=>({maxHeight:mn(e.maxHeight)})),h=C(()=>[o.m(S.value)]),g=C(()=>Bn(e.trigger)),p=Jn().value,m=C(()=>e.id||p);function y(){r.value?.onClose(void 0,0)}function b(){r.value?.onClose()}function w(){r.value?.onOpen()}const S=In();function k(...W){t("command",...W)}function x(){}function $(){const W=i(u);g.value.includes("hover")&&W?.focus({preventScroll:!0}),d.value=null}function T(W){d.value=W}function _(){t("visible-change",!0)}function A(W){f.value=W?.type==="keydown",u.value?.focus()}function D(){t("visible-change",!1)}return xt(Np,{contentRef:u,role:C(()=>e.role),triggerId:m,isUsingKeyboard:f,onItemEnter:x,onItemLeave:$,handleClose:b}),xt(JE,{instance:n,dropdownSize:S,handleClick:y,commandHandler:k,trigger:wt(e,"trigger"),hideOnClick:wt(e,"hideOnClick")}),{t:a,ns:o,scrollbar:c,wrapStyle:v,dropdownTriggerKls:h,dropdownSize:S,triggerId:m,currentTabId:d,handleCurrentTabIdChange:T,handlerMainButtonClick:W=>{t("click",W)},handleClose:b,handleOpen:w,handleBeforeShowTooltip:_,handleShowTooltip:A,handleBeforeHideTooltip:D,popperRef:r,contentRef:u,triggeringElementRef:l,referenceElementRef:s}}});function jW(e,t,n,o,a,l){const s=yt("el-roving-focus-group"),r=yt("el-scrollbar"),u=yt("el-only-child"),c=yt("el-tooltip"),d=yt("el-button"),f=yt("arrow-down"),v=yt("el-icon"),h=yt("el-button-group");return E(),z("div",{class:R([e.ns.b(),e.ns.is("disabled",e.disabled)])},[Z(c,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"popper-style":e.popperStyle,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":e.trigger==="hover"?e.showTimeout:0,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"virtual-ref":e.virtualRef??e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,"append-to":e.appendTo,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},bo({content:ae(()=>[Z(r,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:ae(()=>[Z(s,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange},{default:ae(()=>[ue(e.$slots,"dropdown")]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:ae(()=>[Z(u,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:ae(()=>[ue(e.$slots,"default")]),_:3},8,["id","tabindex"])]),key:"0"}]),1032,["role","effect","popper-options","placement","popper-class","popper-style","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","append-to","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(E(),fe(h,{key:0},{default:ae(()=>[Z(d,pt({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:ae(()=>[ue(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),Z(d,pt({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:ae(()=>[Z(v,{class:R(e.ns.e("icon"))},{default:ae(()=>[Z(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):se("v-if",!0)],2)}var UW=Dn(WW,[["render",jW]]),YW=ve({name:"DropdownItemImpl",components:{ElIcon:He},props:ZE,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=ke("dropdown"),{role:o}=Fe(Np,void 0),{collectionItemRef:a}=Fe(TW,void 0),{rovingFocusGroupItemRef:l,tabIndex:s,handleFocus:r,handleKeydown:u,handleMousedown:c}=Fe(t$,void 0),d=dy(a,l),f=C(()=>o.value==="menu"?"menuitem":o.value==="navigation"?"link":"button"),v=Vn(h=>{const g=Zt(h);if([Ee.enter,Ee.numpadEnter,Ee.space].includes(g))return h.preventDefault(),h.stopImmediatePropagation(),t("clickimpl",h),!0},u);return{ns:n,itemRef:d,dataset:{[QE]:""},role:f,tabIndex:s,handleFocus:r,handleKeydown:v,handleMousedown:c}}});const qW=["aria-disabled","tabindex","role"];function GW(e,t,n,o,a,l){const s=yt("el-icon");return E(),z(Me,null,[e.divided?(E(),z("li",{key:0,role:"separator",class:R(e.ns.bem("menu","item","divided"))},null,2)):se("v-if",!0),I("li",pt({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=r=>e.$emit("clickimpl",r)),onFocus:t[1]||(t[1]=(...r)=>e.handleFocus&&e.handleFocus(...r)),onKeydown:t[2]||(t[2]=Xe((...r)=>e.handleKeydown&&e.handleKeydown(...r),["self"])),onMousedown:t[3]||(t[3]=(...r)=>e.handleMousedown&&e.handleMousedown(...r)),onPointermove:t[4]||(t[4]=r=>e.$emit("pointermove",r)),onPointerleave:t[5]||(t[5]=r=>e.$emit("pointerleave",r))}),[e.icon||e.$slots.icon?(E(),fe(s,{key:0},{default:ae(()=>[ue(e.$slots,"icon",{},()=>[(E(),fe(ft(e.icon)))])]),_:3})):se("v-if",!0),ue(e.$slots,"default")],16,qW)],64)}var XW=Dn(YW,[["render",GW]]);const n$=()=>{const e=Fe(JE,{});return{elDropdown:e,_elDropdownSize:C(()=>e?.dropdownSize)}};var ZW=ve({name:"ElDropdownItem",components:{ElRovingFocusItem:zW,ElDropdownItemImpl:XW},inheritAttrs:!1,props:ZE,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:o}=n$(),a=ct(),{onItemEnter:l,onItemLeave:s}=Fe(Np,void 0),r=Vn(c=>(t("pointermove",c),c.defaultPrevented),x0(c=>{if(e.disabled){s(c);return}const d=c.currentTarget;d===document.activeElement||d.contains(document.activeElement)||(l(c),c.defaultPrevented||d?.focus({preventScroll:!0}))})),u=Vn(c=>(t("pointerleave",c),c.defaultPrevented),x0(s));return{handleClick:Vn(c=>{if(!e.disabled)return t("click",c),c.type!=="keydown"&&c.defaultPrevented},c=>{if(e.disabled){c.stopImmediatePropagation();return}o?.hideOnClick?.value&&o.handleClick?.(),o.commandHandler?.(e.command,a,c)}),handlePointerMove:r,handlePointerLeave:u,propsAndAttrs:C(()=>({...e,...n}))}}});function JW(e,t,n,o,a,l){const s=yt("el-dropdown-item-impl"),r=yt("el-roving-focus-item");return E(),fe(r,{focusable:!e.disabled},{default:ae(()=>[Z(s,pt(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),bo({default:ae(()=>[ue(e.$slots,"default")]),_:2},[e.$slots.icon?{name:"icon",fn:ae(()=>[ue(e.$slots,"icon")]),key:"0"}:void 0]),1040,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])}var o$=Dn(ZW,[["render",JW]]),QW=ve({name:"ElDropdownMenu",props:mW,setup(e){const t=ke("dropdown"),{_elDropdownSize:n}=n$(),o=n.value,{contentRef:a,role:l,triggerId:s,isUsingKeyboard:r,handleClose:u}=Fe(Np,void 0),{rovingFocusGroupRef:c,rovingFocusGroupRootStyle:d,onBlur:f,onFocus:v,onKeydown:h,onMousedown:g}=Fe(fy,void 0),{collectionRef:p}=Fe(e$,void 0),m=C(()=>[t.b("menu"),t.bm("menu",o?.value)]),y=dy(a,c,p),b=Vn(S=>{e.onKeydown?.(S)},S=>{const{currentTarget:k,target:x}=S,$=Zt(S);if(k.contains(x),Ee.tab===$)return u();h(S)});function w(S){r.value&&v(S)}return{size:o,rovingFocusGroupRootStyle:d,dropdownKls:m,role:l,triggerId:s,dropdownListWrapperRef:y,handleKeydown:b,onBlur:f,handleFocus:w,onMousedown:g}}});const ej=["role","aria-labelledby"];function tj(e,t,n,o,a,l){return E(),z("ul",{ref:e.dropdownListWrapperRef,class:R(e.dropdownKls),style:Be(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onFocusin:t[0]||(t[0]=(...s)=>e.handleFocus&&e.handleFocus(...s)),onFocusout:t[1]||(t[1]=(...s)=>e.onBlur&&e.onBlur(...s)),onKeydown:t[2]||(t[2]=Xe((...s)=>e.handleKeydown&&e.handleKeydown(...s),["self"])),onMousedown:t[3]||(t[3]=Xe((...s)=>e.onMousedown&&e.onMousedown(...s),["self"]))},[ue(e.$slots,"default")],46,ej)}var a$=Dn(QW,[["render",tj]]);const nj=ut(UW,{DropdownItem:o$,DropdownMenu:a$}),oj=fn(o$),aj=fn(a$),lj=Te({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),sj={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},rj=["id"],ij=["stop-color"],uj=["stop-color"],cj=["id"],dj=["stop-color"],fj=["stop-color"],pj=["id"],vj={stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},hj={transform:"translate(-1268.000000, -535.000000)"},mj={transform:"translate(1268.000000, 535.000000)"},gj=["fill"],yj=["fill"],bj={transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},wj=["fill"],Sj=["fill"],Cj=["fill"],kj=["fill"],xj=["fill"],Ej={transform:"translate(53.000000, 45.000000)"},$j=["fill","xlink:href"],Tj=["fill","mask"],_j=["fill"];var Nj=ve({name:"ImgEmpty",__name:"img-empty",setup(e){const t=ke("empty"),n=Jn();return(o,a)=>(E(),z("svg",sj,[I("defs",null,[I("linearGradient",{id:`linearGradient-1-${i(n)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[I("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,ij),I("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,uj)],8,rj),I("linearGradient",{id:`linearGradient-2-${i(n)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[I("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,dj),I("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,fj)],8,cj),I("rect",{id:`path-3-${i(n)}`,x:"0",y:"0",width:"17",height:"36"},null,8,pj)]),I("g",vj,[I("g",hj,[I("g",mj,[I("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${i(t).cssVarBlockName("fill-color-3")})`},null,8,gj),I("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,yj),I("g",bj,[I("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,wj),I("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,Sj),I("rect",{fill:`url(#linearGradient-1-${i(n)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,Cj),I("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,kj)]),I("rect",{fill:`url(#linearGradient-2-${i(n)})`,x:"13",y:"45",width:"40",height:"36"},null,8,xj),I("g",Ej,[I("use",{fill:`var(${i(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${i(n)}`},null,8,$j),I("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${i(n)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,Tj)]),I("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,_j)])])])]))}}),Ij=Nj;const Oj=["src"],Mj={key:1};var Pj=ve({name:"ElEmpty",__name:"empty",props:lj,setup(e){const t=e,{t:n}=_t(),o=ke("empty"),a=C(()=>t.description||n("el.table.emptyText")),l=C(()=>({width:mn(t.imageSize)}));return(s,r)=>(E(),z("div",{class:R(i(o).b())},[I("div",{class:R(i(o).e("image")),style:Be(l.value)},[e.image?(E(),z("img",{key:0,src:e.image,ondragstart:"return false"},null,8,Oj)):ue(s.$slots,"image",{key:1},()=>[Z(Ij)])],6),I("div",{class:R(i(o).e("description"))},[s.$slots.description?ue(s.$slots,"description",{key:0}):(E(),z("p",Mj,me(a.value),1))],2),s.$slots.default?(E(),z("div",{key:0,class:R(i(o).e("bottom"))},[ue(s.$slots,"default")],2)):se("v-if",!0)],2))}}),Rj=Pj;const l$=ut(Rj),Aj=Te({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:oe([String,Object])},previewSrcList:{type:oe(Array),default:()=>hn([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:oe(String)}}),Dj={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>We(e),close:()=>!0,show:()=>!0},Lj=Te({urlList:{type:oe(Array),default:()=>hn([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:oe(String)}}),Vj={close:()=>!0,error:e=>e instanceof Event,switch:e=>We(e),rotate:e=>We(e)},Bj=["src","crossorigin"];var Fj=ve({name:"ElImageViewer",__name:"image-viewer",props:Lj,emits:Vj,setup(e,{expose:t,emit:n}){const o={CONTAIN:{name:"contain",icon:yo(iV)},ORIGINAL:{name:"original",icon:yo(_V)}},a=e,l=n;let s;const{t:r}=_t(),u=ke("image-viewer"),{nextZIndex:c}=dc(),d=F(),f=F(),v=Hf(),h=C(()=>{const{scale:Se,minScale:le,maxScale:ie}=a;return cp(Se,le,ie)}),g=F(!0),p=F(!1),m=F(!1),y=F(a.initialIndex),b=kt(o.CONTAIN),w=F({scale:h.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),S=F(a.zIndex??c());pp(m,{ns:u});const k=C(()=>{const{urlList:Se}=a;return Se.length<=1}),x=C(()=>y.value===0),$=C(()=>y.value===a.urlList.length-1),T=C(()=>a.urlList[y.value]),_=C(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!a.infinite&&x.value)]),A=C(()=>[u.e("btn"),u.e("next"),u.is("disabled",!a.infinite&&$.value)]),D=C(()=>{const{scale:Se,deg:le,offsetX:ie,offsetY:j,enableTransition:ee}=w.value;let Y=ie/Se,q=j/Se;const U=le*Math.PI/180,G=Math.cos(U),te=Math.sin(U);Y=Y*G+q*te,q=q*G-ie/Se*te;const he={transform:`scale(${Se}) rotate(${le}deg) translate(${Y}px, ${q}px)`,transition:ee?"transform .3s":""};return b.value.name===o.CONTAIN.name&&(he.maxWidth=he.maxHeight="100%"),he}),N=C(()=>`${y.value+1} / ${a.urlList.length}`);function W(){H(),s?.(),m.value=!1,l("close")}function V(){const Se=Xl(ie=>{switch(Zt(ie)){case Ee.esc:a.closeOnPressEscape&&W();break;case Ee.space:K();break;case Ee.left:J();break;case Ee.up:re("zoomIn");break;case Ee.right:ne();break;case Ee.down:re("zoomOut");break}}),le=Xl(ie=>{re((ie.deltaY||ie.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:a.zoomRate,enableTransition:!1})});v.run(()=>{jt(document,"keydown",Se),jt(d,"wheel",le)})}function H(){v.stop()}function P(){g.value=!1}function O(Se){p.value=!0,g.value=!1,l("error",Se),Se.target.alt=r("el.image.error")}function M(Se){if(g.value||Se.button!==0||!d.value)return;w.value.enableTransition=!1;const{offsetX:le,offsetY:ie}=w.value,j=Se.pageX,ee=Se.pageY,Y=Xl(G=>{w.value={...w.value,offsetX:le+G.pageX-j,offsetY:ie+G.pageY-ee}}),q=jt(document,"mousemove",Y),U=jt(document,"mouseup",()=>{q(),U()});Se.preventDefault()}function B(Se){if(g.value||!d.value||Se.touches.length!==1)return;w.value.enableTransition=!1;const{offsetX:le,offsetY:ie}=w.value,{pageX:j,pageY:ee}=Se.touches[0],Y=Xl(G=>{const te=G.touches[0];w.value={...w.value,offsetX:le+te.pageX-j,offsetY:ie+te.pageY-ee}}),q=jt(document,"touchmove",Y),U=jt(document,"touchend",()=>{q(),U()});Se.preventDefault()}function L(){w.value={scale:h.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function K(){if(g.value||p.value)return;const Se=ku(o),le=Object.values(o),ie=b.value.name;b.value=o[Se[(le.findIndex(j=>j.name===ie)+1)%Se.length]],L()}function X(Se){p.value=!1;const le=a.urlList.length;y.value=(Se+le)%le}function J(){x.value&&!a.infinite||X(y.value-1)}function ne(){$.value&&!a.infinite||X(y.value+1)}function re(Se,le={}){if(g.value||p.value)return;const{minScale:ie,maxScale:j}=a,{zoomRate:ee,rotateDeg:Y,enableTransition:q}={zoomRate:a.zoomRate,rotateDeg:90,enableTransition:!0,...le};switch(Se){case"zoomOut":w.value.scale>ie&&(w.value.scale=Number.parseFloat((w.value.scale/ee).toFixed(3)));break;case"zoomIn":w.value.scale0)return Se.preventDefault(),!1}}return ge(()=>h.value,Se=>{w.value.scale=Se}),ge(T,()=>{Re(()=>{f.value?.complete||(g.value=!0)})}),ge(y,Se=>{L(),l("switch",Se)}),at(()=>{m.value=!0,V(),s=jt("wheel",we,{passive:!1})}),t({setActiveItem:X}),(Se,le)=>(E(),fe(cr,{to:"body",disabled:!e.teleported},[Z(Zn,{name:"viewer-fade",appear:""},{default:ae(()=>[I("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:R(i(u).e("wrapper")),style:Be({zIndex:S.value})},[Z(i(xi),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:Q,onReleaseRequested:ce},{default:ae(()=>[I("div",{class:R(i(u).e("mask")),onClick:le[0]||(le[0]=Xe(ie=>e.hideOnClickModal&&W(),["self"]))},null,2),se(" CLOSE "),I("span",{class:R([i(u).e("btn"),i(u).e("close")]),onClick:W},[Z(i(He),null,{default:ae(()=>[Z(i(la))]),_:1})],2),se(" ARROW "),k.value?se("v-if",!0):(E(),z(Me,{key:0},[I("span",{class:R(_.value),onClick:J},[Z(i(He),null,{default:ae(()=>[Z(i(El))]),_:1})],2),I("span",{class:R(A.value),onClick:ne},[Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})],2)],64)),Se.$slots.progress||e.showProgress?(E(),z("div",{key:1,class:R([i(u).e("btn"),i(u).e("progress")])},[ue(Se.$slots,"progress",{activeIndex:y.value,total:e.urlList.length},()=>[Oe(me(N.value),1)])],2)):se("v-if",!0),se(" ACTIONS "),I("div",{class:R([i(u).e("btn"),i(u).e("actions")])},[I("div",{class:R(i(u).e("actions__inner"))},[ue(Se.$slots,"toolbar",{actions:re,prev:J,next:ne,reset:K,activeIndex:y.value,setActiveItem:X},()=>[Z(i(He),{onClick:le[1]||(le[1]=ie=>re("zoomOut"))},{default:ae(()=>[Z(i(WV))]),_:1}),Z(i(He),{onClick:le[2]||(le[2]=ie=>re("zoomIn"))},{default:ae(()=>[Z(i(G2))]),_:1}),I("i",{class:R(i(u).e("actions__divider"))},null,2),Z(i(He),{onClick:K},{default:ae(()=>[(E(),fe(ft(b.value.icon)))]),_:1}),I("i",{class:R(i(u).e("actions__divider"))},null,2),Z(i(He),{onClick:le[3]||(le[3]=ie=>re("anticlockwise"))},{default:ae(()=>[Z(i(xV))]),_:1}),Z(i(He),{onClick:le[4]||(le[4]=ie=>re("clockwise"))},{default:ae(()=>[Z(i($V))]),_:1})])],2)],2),se(" CANVAS "),I("div",{class:R(i(u).e("canvas"))},[p.value&&Se.$slots["viewer-error"]?ue(Se.$slots,"viewer-error",{key:0,activeIndex:y.value,src:T.value}):(E(),z("img",{ref_key:"imgRef",ref:f,key:T.value,src:T.value,style:Be(D.value),class:R(i(u).e("img")),crossorigin:e.crossorigin,onLoad:P,onError:O,onMousedown:M,onTouchstart:B},null,46,Bj))],2),ue(Se.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})],8,["disabled"]))}}),zj=Fj;const s$=ut(zj),Hj=["src","loading","crossorigin"],Kj={key:0};var Wj=ve({name:"ElImage",inheritAttrs:!1,__name:"image",props:Aj,emits:Dj,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=_t(),s=ke("image"),r=Za(),u=C(()=>Qr(Object.entries(r).filter(([O])=>/^(data-|on[A-Z])/i.test(O)||["id","style"].includes(O)))),c=up({excludeListeners:!0,excludeKeys:C(()=>Object.keys(u.value))}),d=F(),f=F(!1),v=F(!0),h=F(!1),g=F(),p=F(),m=Lt&&"loading"in HTMLImageElement.prototype;let y;const b=C(()=>[s.e("inner"),S.value&&s.e("preview"),v.value&&s.is("loading")]),w=C(()=>{const{fit:O}=o;return Lt&&O?{objectFit:O}:{}}),S=C(()=>{const{previewSrcList:O}=o;return xe(O)&&O.length>0}),k=C(()=>{const{previewSrcList:O,initialIndex:M}=o;let B=M;return M>O.length-1&&(B=0),B}),x=C(()=>o.loading==="eager"?!1:!m&&o.loading==="lazy"||o.lazy),$=()=>{Lt&&(v.value=!0,f.value=!1,d.value=o.src)};function T(O){v.value=!1,f.value=!1,a("load",O)}function _(O){v.value=!1,f.value=!0,a("error",O)}function A(O){O&&($(),W())}const D=Qk(A,200,!0);async function N(){if(!Lt)return;await Re();const{scrollContainer:O}=o;if(_o(O))p.value=O;else if(ze(O)&&O!=="")p.value=document.querySelector(O)??void 0;else if(g.value){const B=bg(g.value);p.value=lc(B)?void 0:B}const{stop:M}=aA(g,([B])=>{D(B.isIntersecting)},{root:p});y=M}function W(){!Lt||!D||(y?.(),p.value=void 0,y=void 0)}function V(){S.value&&(h.value=!0,a("show"))}function H(){h.value=!1,a("close")}function P(O){a("switch",O)}return ge(()=>o.src,()=>{x.value?(v.value=!0,f.value=!1,W(),N()):$()}),at(()=>{x.value?N():$()}),t({showPreview:V}),(O,M)=>(E(),z("div",pt({ref_key:"container",ref:g},u.value,{class:[i(s).b(),O.$attrs.class]}),[f.value?ue(O.$slots,"error",{key:0},()=>[I("div",{class:R(i(s).e("error"))},me(i(l)("el.image.error")),3)]):(E(),z(Me,{key:1},[d.value!==void 0?(E(),z("img",pt({key:0},i(c),{src:d.value,loading:e.loading,style:w.value,class:b.value,crossorigin:e.crossorigin,onClick:V,onLoad:T,onError:_}),null,16,Hj)):se("v-if",!0),v.value?(E(),z("div",{key:1,class:R(i(s).e("wrapper"))},[ue(O.$slots,"placeholder",{},()=>[I("div",{class:R(i(s).e("placeholder"))},null,2)])],2)):se("v-if",!0)],64)),S.value?(E(),z(Me,{key:2},[h.value?(E(),fe(i(s$),{key:0,"z-index":e.zIndex,"initial-index":k.value,infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:H,onSwitch:P},bo({toolbar:ae(B=>[ue(O.$slots,"toolbar",ml(yl(B)))]),default:ae(()=>[O.$slots.viewer?(E(),z("div",Kj,[ue(O.$slots,"viewer")])):se("v-if",!0)]),_:2},[O.$slots.progress?{name:"progress",fn:ae(B=>[ue(O.$slots,"progress",ml(yl(B)))]),key:"0"}:void 0,O.$slots["viewer-error"]?{name:"viewer-error",fn:ae(B=>[ue(O.$slots,"viewer-error",ml(yl(B)))]),key:"1"}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):se("v-if",!0)],64)):se("v-if",!0)],16))}}),jj=Wj;const Uj=ut(jj),Yj=Te({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:{type:Boolean,default:void 0},size:Rn,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:oe([String,Number,null]),validator:e=>e===null||We(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...co(["ariaLabel"]),inputmode:{type:oe(String),default:void 0},align:{type:oe(String),default:"center"},disabledScientific:Boolean,formatter:{type:Function},parser:{type:Function},tabindex:{type:[String,Number],default:0}}),qj={[Et]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Nn]:e=>We(e)||yn(e),[lt]:e=>We(e)||yn(e)},Gj=["aria-label"],Xj=["aria-label"];var Zj=ve({name:"ElInputNumber",__name:"input-number",props:Yj,emits:qj,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=_t(),s=ke("input-number"),r=F(),u=Kt({currentValue:o.modelValue,userInput:null}),{formItem:c}=Wn(),d=C(()=>We(o.modelValue)&&o.modelValue<=o.min),f=C(()=>We(o.modelValue)&&o.modelValue>=o.max),v=C(()=>{const O=b(o.step);return It(o.precision)?Math.max(b(o.modelValue),O):(O>o.precision&&Yt("InputNumber","precision should not be less than the decimal places of step"),o.precision)}),h=C(()=>o.controls&&o.controlsPosition==="right"),g=In(),p=pn(),m=C(()=>{if(u.userInput!==null)return u.userInput;let O=u.currentValue;if(yn(O))return"";if(We(O)){if(Number.isNaN(O))return"";It(o.precision)||(O=O.toFixed(o.precision))}return O}),y=(O,M)=>{if(It(M)&&(M=v.value),M===0)return Math.round(O);let B=String(O);const L=B.indexOf(".");if(L===-1||!B.replace(".","").split("")[L+M])return O;const K=B.length;return B.charAt(K-1)==="5"&&(B=`${B.slice(0,Math.max(0,K-1))}6`),Number.parseFloat(Number(B).toFixed(M))},b=O=>{if(yn(O))return 0;const M=O.toString(),B=M.indexOf(".");let L=0;return B!==-1&&(L=M.length-B-1),L},w=(O,M=1)=>We(O)?O>=Number.MAX_SAFE_INTEGER&&M===1?(Yt("InputNumber","The value has reached the maximum safe integer limit."),O):O<=Number.MIN_SAFE_INTEGER&&M===-1?(Yt("InputNumber","The value has reached the minimum safe integer limit."),O):y(O+o.step*M):u.currentValue,S=O=>{const M=Zt(O),B=c2(O);if(o.disabledScientific&&["e","E"].includes(B)){O.preventDefault();return}switch(M){case Ee.up:O.preventDefault(),k();break;case Ee.down:O.preventDefault(),x();break}},k=()=>{o.readonly||p.value||f.value||(T(w(Number(m.value)||0)),a(Nn,u.currentValue),H())},x=()=>{o.readonly||p.value||d.value||(T(w(Number(m.value)||0,-1)),a(Nn,u.currentValue),H())},$=(O,M)=>{const{max:B,min:L,step:K,precision:X,stepStrictly:J,valueOnClear:ne}=o;BB||reB?B:L,M&&a("update:modelValue",re)),re},T=(O,M=!0)=>{const B=u.currentValue,L=$(O);if(!M){a(lt,L);return}u.userInput=null,!(B===L&&O)&&(a(lt,L),B!==L&&a(Et,L,B),o.validateEvent&&c?.validate?.("change").catch(mt),u.currentValue=L)},_=O=>{u.userInput=O;let M=O===""?null:Number.parseFloat(O);Number.isNaN(M)&&(M=null),a(Nn,M),T(M,!1)},A=O=>{const M=O!==""?Number.parseFloat(O):"";(We(M)&&!Number.isNaN(M)||o.formatter&&Number.isNaN(M)||M==="")&&T(M),H(),u.userInput=null},D=()=>{r.value?.focus?.()},N=()=>{r.value?.blur?.()},W=O=>{a("focus",O)},V=O=>{u.userInput=null,u.currentValue===null&&r.value?.input&&(r.value.input.value=o.formatter?.("")??""),a("blur",O),o.validateEvent&&c?.validate?.("blur").catch(mt)},H=()=>{u.currentValue!==o.modelValue&&(u.currentValue=o.modelValue)},P=O=>{document.activeElement===O.target&&O.preventDefault()};return ge(()=>o.modelValue,(O,M)=>{const B=$(O,!0);u.userInput===null&&B!==M&&(u.currentValue=B)},{immediate:!0}),ge(()=>o.precision,()=>{u.currentValue=$(o.modelValue)}),at(()=>{const{min:O,max:M,modelValue:B}=o,L=r.value?.input;if(L.setAttribute("role","spinbutton"),Number.isFinite(M)?L.setAttribute("aria-valuemax",String(M)):L.removeAttribute("aria-valuemax"),Number.isFinite(O)?L.setAttribute("aria-valuemin",String(O)):L.removeAttribute("aria-valuemin"),L.setAttribute("aria-valuenow",u.currentValue||u.currentValue===0?String(u.currentValue):""),L.setAttribute("aria-disabled",String(p.value)),!We(B)&&B!=null){let K=Number(B);Number.isNaN(K)&&(K=null),a(lt,K)}L.addEventListener("wheel",P,{passive:!1})}),Sa(()=>{r.value?.input?.setAttribute("aria-valuenow",`${u.currentValue??""}`)}),t({focus:D,blur:N}),(O,M)=>(E(),z("div",{class:R([i(s).b(),i(s).m(i(g)),i(s).is("disabled",i(p)),i(s).is("without-controls",!e.controls),i(s).is("controls-right",h.value),i(s).is(e.align,!!e.align)]),onDragstart:M[0]||(M[0]=Xe(()=>{},["prevent"]))},[e.controls?Ye((E(),z("span",{key:0,role:"button","aria-label":i(l)("el.inputNumber.decrease"),class:R([i(s).e("decrease"),i(s).is("disabled",d.value)]),onKeydown:rn(x,["enter"])},[ue(O.$slots,"decrease-icon",{},()=>[Z(i(He),null,{default:ae(()=>[h.value?(E(),fe(i(Qa),{key:0})):(E(),fe(i(vV),{key:1}))]),_:1})])],42,Gj)),[[i(sf),x]]):se("v-if",!0),e.controls?Ye((E(),z("span",{key:1,role:"button","aria-label":i(l)("el.inputNumber.increase"),class:R([i(s).e("increase"),i(s).is("disabled",f.value)]),onKeydown:rn(k,["enter"])},[ue(O.$slots,"increase-icon",{},()=>[Z(i(He),null,{default:ae(()=>[h.value?(E(),fe(i(Sp),{key:0})):(E(),fe(i(Y2),{key:1}))]),_:1})])],42,Xj)),[[i(sf),k]]):se("v-if",!0),Z(i(Gn),{id:e.id,ref_key:"input",ref:r,type:e.formatter?"text":"number",step:e.step,"model-value":m.value,placeholder:e.placeholder,readonly:e.readonly,disabled:i(p),size:i(g),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,formatter:e.formatter,parser:e.parser,tabindex:e.tabindex,onKeydown:S,onBlur:V,onFocus:W,onInput:_,onChange:A},bo({_:2},[O.$slots.prefix?{name:"prefix",fn:ae(()=>[ue(O.$slots,"prefix")]),key:"0"}:void 0,O.$slots.suffix?{name:"suffix",fn:ae(()=>[ue(O.$slots,"suffix")]),key:"1"}:void 0]),1032,["id","type","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode","formatter","parser","tabindex"])],34))}}),Jj=Zj;const r$=ut(Jj),Qj=Te({modelValue:{type:oe(Array)},max:Number,tagType:{...$l.type,default:"info"},tagEffect:$l.effect,effect:{type:oe(String),default:"light"},trigger:{type:oe(String),default:Ee.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:""},size:Rn,clearable:Boolean,clearIcon:{type:Xt,default:el},disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},readonly:Boolean,autofocus:Boolean,id:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},placeholder:String,autocomplete:{type:oe(String),default:"off"},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),eU={[lt]:e=>xe(e)||It(e),[Et]:e=>xe(e)||It(e),[Nn]:e=>ze(e),"add-tag":e=>ze(e)||xe(e),"remove-tag":(e,t)=>ze(e)&&We(t),"drag-tag":(e,t,n)=>We(e)&&We(t)&&ze(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function tU({wrapperRef:e,handleDragged:t,afterDragged:n}){const o=ke("input-tag"),a=kt(),l=F(!1);let s,r,u,c;function d(g){return`.${o.e("inner")} .${o.namespace.value}-tag:nth-child(${g+1})`}function f(g,p){s=p,r=e.value.querySelector(d(p)),r&&(r.style.opacity="0.5"),g.dataTransfer.effectAllowed="move"}function v(g,p){if(u=p,g.preventDefault(),g.dataTransfer.dropEffect="move",It(s)||s===p){l.value=!1;return}const m=e.value.querySelector(d(p)).getBoundingClientRect(),y=s+1!==p,b=s-1!==p,w=g.clientX-m.left,S=y?b?.5:1:-1,k=b?y?.5:0:1;w<=m.width*S?c="before":w>m.width*k?c="after":c=void 0;const x=e.value.querySelector(`.${o.e("inner")}`),$=x.getBoundingClientRect(),T=Number.parseFloat(fl(x,"gap"))/2,_=m.top-$.top;let A=-9999;if(c==="before")A=Math.max(m.left-$.left-T,Math.floor(-T/2));else if(c==="after"){const D=m.right-$.left;A=D+($.width===D?Math.floor(T/2):T)}l2(a.value,{top:`${_}px`,left:`${A}px`}),l.value=!!c}function h(g){g.preventDefault(),r&&(r.style.opacity=""),c&&!It(s)&&!It(u)&&s!==u&&t(s,u,c),l.value=!1,s=void 0,r=null,u=void 0,c=void 0,n?.()}return{dropIndicatorRef:a,showDropIndicator:l,handleDragStart:f,handleDragOver:v,handleDragEnd:h}}function nU(){const e=F(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function oU({props:e,emit:t,formItem:n}){const o=pn(),a=In(),l=kt(),s=F(),r=F(),u=C(()=>["small"].includes(a.value)?"small":"default"),c=C(()=>e.modelValue?.length?void 0:e.placeholder),d=C(()=>!(e.readonly||o.value)),f=C(()=>It(e.max)?!1:(e.modelValue?.length??0)>=e.max),v=C(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),h=C(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),g=P=>{const O=[...e.modelValue??[],...Bn(P)];t(lt,O),t(Et,O),t("add-tag",P),s.value=void 0},p=P=>{const O=P.split(e.delimiter),M=O.length>1?O.map(B=>B.trim()).filter(Boolean):[];if(e.max){const B=e.max-(e.modelValue?.length??0);M.splice(B)}return M.length===1?M[0]:M},m=P=>{const O=P.clipboardData?.getData("text");if(e.readonly||f.value||!e.delimiter||!O)return;const{selectionStart:M=0,selectionEnd:B=0,value:L}=P.target,K=L.slice(0,M)+O+L.slice(B),X=p(K);X.length&&(g(X),t(Nn,K),P.preventDefault())},y=P=>{if(f.value){s.value=void 0;return}if(!N.value){if(e.delimiter&&s.value){const O=p(s.value);O.length&&g(O)}t(Nn,P.target.value)}},b=P=>{if(!N.value)switch(Zt(P)){case e.trigger:P.preventDefault(),P.stopPropagation(),S();break;case Ee.numpadEnter:e.trigger===Ee.enter&&(P.preventDefault(),P.stopPropagation(),S());break;case Ee.backspace:!s.value&&e.modelValue?.length&&(P.preventDefault(),P.stopPropagation(),k(e.modelValue.length-1));break}},w=P=>{N.value||!o2()||Zt(P)===Ee.space&&e.trigger===Ee.space&&(P.preventDefault(),P.stopPropagation(),S())},S=()=>{const P=s.value?.trim();!P||f.value||g(P)},k=P=>{const O=(e.modelValue??[]).slice(),[M]=O.splice(P,1);t(lt,O),t(Et,O),t("remove-tag",M,P)},x=()=>{s.value=void 0,t(lt,void 0),t(Et,void 0),t("clear")},$=(P,O,M)=>{const B=(e.modelValue??[]).slice(),[L]=B.splice(P,1),K=O>P&&M==="before"?-1:O{l.value?.focus()},_=()=>{l.value?.blur()},{wrapperRef:A,isFocused:D}=Pl(l,{disabled:o,beforeBlur(P){return r.value?.isFocusInsideContent(P)},afterBlur(){e.saveOnBlur?S():s.value=void 0,e.validateEvent&&n?.validate?.("blur").catch(mt)}}),{isComposing:N,handleCompositionStart:W,handleCompositionUpdate:V,handleCompositionEnd:H}=vc({afterComposition:y});return ge(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(Et).catch(mt)}),{inputRef:l,wrapperRef:A,tagTooltipRef:r,isFocused:D,isComposing:N,inputValue:s,size:a,tagSize:u,placeholder:c,closable:d,disabled:o,inputLimit:f,showTagList:v,collapseTagList:h,handleDragged:$,handlePaste:m,handleInput:y,handleKeydown:b,handleKeyup:w,handleAddTag:S,handleRemoveTag:k,handleClear:x,handleCompositionStart:W,handleCompositionUpdate:V,handleCompositionEnd:H,focus:T,blur:_}}function aU({props:e,isFocused:t,hovering:n,disabled:o,inputValue:a,size:l,validateState:s,validateIcon:r,needStatusIcon:u}){const c=Za(),d=bn(),f=ke("input-tag"),v=ke("input"),h=F(),g=F(),p=C(()=>[f.b(),f.is("focused",t.value),f.is("hovering",n.value),f.is("disabled",o.value),f.m(l.value),f.e("wrapper"),c.class]),m=C(()=>[c.style]),y=C(()=>[f.e("inner"),f.is("draggable",e.draggable),f.is("left-space",!e.modelValue?.length&&!d.prefix),f.is("right-space",!e.modelValue?.length&&!w.value)]),b=C(()=>e.clearable&&!o.value&&!e.readonly&&(e.modelValue?.length||a.value)&&(t.value||n.value)),w=C(()=>d.suffix||b.value||s.value&&r.value&&u.value),S=Kt({innerWidth:0,collapseItemWidth:0}),k=()=>{if(!g.value)return 0;const _=window.getComputedStyle(g.value);return Number.parseFloat(_.gap||"6px")},x=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(g.value).width)},$=()=>{S.collapseItemWidth=h.value.getBoundingClientRect().width},T=C(()=>{if(!e.collapseTags)return{};const _=k(),A=_+11,D=h.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-_-A:S.innerWidth-A;return{maxWidth:`${Math.max(D,0)}px`}});return cn(g,x),cn(h,$),{ns:f,nsInput:v,containerKls:p,containerStyle:m,innerKls:y,showClear:b,showSuffix:w,tagStyle:T,collapseItemRef:h,innerRef:g}}const lU=["id","minlength","maxlength","disabled","readonly","autocomplete","tabindex","placeholder","autofocus","ariaLabel"],sU=["textContent"];var rU=ve({name:"ElInputTag",inheritAttrs:!1,__name:"input-tag",props:Qj,emits:eU,setup(e,{expose:t,emit:n}){const o=e,a=n,l=up(),s=bn(),{form:r,formItem:u}=Wn(),{inputId:c}=Ro(o,{formItemContext:u}),d=C(()=>r?.statusIcon??!1),f=C(()=>u?.validateState||""),v=C(()=>f.value&&kp[f.value]),{inputRef:h,wrapperRef:g,tagTooltipRef:p,isFocused:m,inputValue:y,size:b,tagSize:w,placeholder:S,closable:k,disabled:x,showTagList:$,collapseTagList:T,handleDragged:_,handlePaste:A,handleInput:D,handleKeydown:N,handleKeyup:W,handleRemoveTag:V,handleClear:H,handleCompositionStart:P,handleCompositionUpdate:O,handleCompositionEnd:M,focus:B,blur:L}=oU({props:o,emit:a,formItem:u}),{hovering:K,handleMouseEnter:X,handleMouseLeave:J}=nU(),{calculatorRef:ne,inputStyle:re}=mg(),{dropIndicatorRef:Q,showDropIndicator:ce,handleDragStart:we,handleDragOver:Se,handleDragEnd:le}=tU({wrapperRef:g,handleDragged:_,afterDragged:B}),{ns:ie,nsInput:j,containerKls:ee,containerStyle:Y,innerKls:q,showClear:U,showSuffix:G,tagStyle:te,collapseItemRef:he,innerRef:pe}=aU({props:o,hovering:K,isFocused:m,inputValue:y,disabled:x,size:b,validateState:f,validateIcon:v,needStatusIcon:d});return t({focus:B,blur:L}),(de,be)=>(E(),z("div",{ref_key:"wrapperRef",ref:g,class:R(i(ee)),style:Be(i(Y)),onMouseenter:be[9]||(be[9]=(...ye)=>i(X)&&i(X)(...ye)),onMouseleave:be[10]||(be[10]=(...ye)=>i(J)&&i(J)(...ye))},[i(s).prefix?(E(),z("div",{key:0,class:R(i(ie).e("prefix"))},[ue(de.$slots,"prefix")],2)):se("v-if",!0),I("div",{ref_key:"innerRef",ref:pe,class:R(i(q))},[(E(!0),z(Me,null,dt(i($),(ye,$e)=>(E(),fe(i(wl),{key:$e,size:i(w),closable:i(k),type:e.tagType,effect:e.tagEffect,draggable:i(k)&&e.draggable,style:Be(i(te)),"disable-transitions":"",onClose:Pe=>i(V)($e),onDragstart:Pe=>i(we)(Pe,$e),onDragover:Pe=>i(Se)(Pe,$e),onDragend:i(le),onDrop:be[0]||(be[0]=Xe(()=>{},["stop"]))},{default:ae(()=>[ue(de.$slots,"tag",{value:ye,index:$e},()=>[Oe(me(ye),1)])]),_:2},1032,["size","closable","type","effect","draggable","style","onClose","onDragstart","onDragover","onDragend"]))),128)),e.collapseTags&&e.modelValue&&e.modelValue.length>e.maxCollapseTags?(E(),fe(i(Kn),{key:0,ref_key:"tagTooltipRef",ref:p,disabled:!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom"},{default:ae(()=>[I("div",{ref_key:"collapseItemRef",ref:he,class:R(i(ie).e("collapse-tag"))},[Z(i(wl),{closable:!1,size:i(w),type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:ae(()=>[Oe(" + "+me(e.modelValue.length-e.maxCollapseTags),1)]),_:1},8,["size","type","effect"])],2)]),content:ae(()=>[I("div",{class:R(i(ie).e("input-tag-list"))},[(E(!0),z(Me,null,dt(i(T),(ye,$e)=>(E(),fe(i(wl),{key:$e,size:i(w),closable:i(k),type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:Pe=>i(V)($e+e.maxCollapseTags)},{default:ae(()=>[ue(de.$slots,"tag",{value:ye,index:$e+e.maxCollapseTags},()=>[Oe(me(ye),1)])]),_:2},1032,["size","closable","type","effect","onClose"]))),128))],2)]),_:3},8,["disabled","effect"])):se("v-if",!0),I("div",{class:R(i(ie).e("input-wrapper"))},[Ye(I("input",pt({id:i(c),ref_key:"inputRef",ref:h,"onUpdate:modelValue":be[1]||(be[1]=ye=>gt(y)?y.value=ye:null)},i(l),{type:"text",minlength:e.minlength,maxlength:e.maxlength,disabled:i(x),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,placeholder:i(S),autofocus:e.autofocus,ariaLabel:e.ariaLabel,class:i(ie).e("input"),style:i(re),onCompositionstart:be[2]||(be[2]=(...ye)=>i(P)&&i(P)(...ye)),onCompositionupdate:be[3]||(be[3]=(...ye)=>i(O)&&i(O)(...ye)),onCompositionend:be[4]||(be[4]=(...ye)=>i(M)&&i(M)(...ye)),onPaste:be[5]||(be[5]=(...ye)=>i(A)&&i(A)(...ye)),onInput:be[6]||(be[6]=(...ye)=>i(D)&&i(D)(...ye)),onKeydown:be[7]||(be[7]=(...ye)=>i(N)&&i(N)(...ye)),onKeyup:be[8]||(be[8]=(...ye)=>i(W)&&i(W)(...ye))}),null,16,lU),[[sn,i(y)]]),I("span",{ref_key:"calculatorRef",ref:ne,"aria-hidden":"true",class:R(i(ie).e("input-calculator")),textContent:me(i(y))},null,10,sU)],2),Ye(I("div",{ref_key:"dropIndicatorRef",ref:Q,class:R(i(ie).e("drop-indicator"))},null,2),[[Bt,i(ce)]])],2),i(G)?(E(),z("div",{key:1,class:R(i(ie).e("suffix"))},[ue(de.$slots,"suffix"),i(U)?(E(),fe(i(He),{key:0,class:R([i(ie).e("icon"),i(ie).e("clear")]),onMousedown:Xe(i(mt),["prevent"]),onClick:i(H)},{default:ae(()=>[(E(),fe(ft(e.clearIcon)))]),_:1},8,["class","onMousedown","onClick"])):se("v-if",!0),f.value&&v.value&&d.value?(E(),fe(i(He),{key:1,class:R([i(j).e("icon"),i(j).e("validateIcon"),i(j).is("loading",f.value==="validating")])},{default:ae(()=>[(E(),fe(ft(v.value)))]),_:1},8,["class"])):se("v-if",!0)],2)):se("v-if",!0)],38))}}),iU=rU;const uU=ut(iU),cU={[lt]:e=>ze(e),[Et]:e=>ze(e),finish:e=>ze(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},dU=["id","aria-label","aria-labelledby"],fU=["value","type","disabled","readonly","inputmode","aria-label","onClick","onKeydown","onInput"];var pU=ve({name:"ElInputOtp",__name:"input-otp",props:{modelValue:{type:[String,Number],required:!1},length:{type:Number,required:!1,default:6},validator:{type:Function,required:!1,default:()=>!0},inputmode:{type:null,required:!1},type:{type:String,required:!1,default:"outlined"},size:{type:null,required:!1},mask:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1,default:void 0},readonly:{type:Boolean,required:!1},id:{type:String,required:!1},validateEvent:{type:Boolean,required:!1,default:!0},separator:{type:[String,Object,Function],required:!1},ariaLabel:{type:String,required:!1}},emits:cU,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const D=String(o.modelValue??"");return Array.from({length:o.length},(N,W)=>D.charAt(W))}),s=C(()=>{const{separator:D}=o,N=je(D)?D:()=>D;return Array.from({length:o.length-1},(W,V)=>N(V))}),r=F(l.value),u=F(!1),c=F([]),d=ke("input-otp"),{t:f}=_t(),{formItem:v}=Wn(),{inputId:h,isLabeledByFormItem:g}=Ro(o,{formItemContext:v}),p=In(),m=pn();let y=o.modelValue;const b=D=>{const N=r.value.findIndex((W,V)=>!W&&V<=D);return N===-1?D:N},w=D=>{c.value?.includes(D.relatedTarget)||(u.value=!0,a("focus",D))},S=D=>{c.value?.includes(D.relatedTarget)||(u.value=!1,a("blur",D),o.validateEvent&&v?.validate?.("blur").catch(mt))},k=(D=!0)=>{const N=r.value.join("").slice(0,o.length);N!==o.modelValue&&(a(lt,N),D&&N.length===o.length&&a("finish",N))},x=(D,N)=>{const W=Zt(D);let V=!0;switch(W){case Ee.backspace:if(o.readonly)break;r.value[N]="",_(N-1),k();break;case Ee.delete:if(o.readonly)break;r.value[N]="",_(N),k();break;case Ee.up:case Ee.left:_(N-1);break;case Ee.down:case Ee.right:_(N+1);break;default:V=!1}V&&D.preventDefault()},$=(D,N)=>{const W=D.target,V=b(N);let H=V+1,P=W.value;if(P.length>1){const O=T(P,V);W.value=r.value[N]??"",O.forEach((M,B)=>r.value[V+B]=M),_(V+O.length),k();return}o.validator(P,V)||(W.value=r.value[N]??"",P=W.value,H=V),r.value[V]=P,V!==N&&(W.value=r.value[N]??""),_(H),k()},T=(D,N=0)=>{const W=`${D??""}`.split(""),V=[];for(const H of W){if(V.length+N>=o.length)break;o.validator(H,V.length+N)&&V.push(H)}return V},_=(D=0)=>{const N=cp(D,0,o.length-1),W=c.value?.[N];document.activeElement!==W&&W?.focus(),Po(()=>{!o.readonly&&document.activeElement===W&&W?.select()})},A=()=>{c.value?.find(D=>document.activeElement===D)?.blur()};return ge(()=>o.modelValue,()=>{r.value=l.value,o.validateEvent&&v?.validate?.("change").catch(mt)}),ge(()=>o.length,()=>{r.value=l.value,k(!1)}),ge(u,D=>{if(D){y=o.modelValue;return}y!==o.modelValue&&a(Et,o.modelValue)}),t({inputRefs:c,focus:_,blur:A}),(D,N)=>(E(),z("div",{id:i(h),class:R([i(d).b(),i(d).m(i(p)),i(d).m(e.type),i(d).is("disabled",i(m))]),role:"group","aria-label":i(g)?void 0:e.ariaLabel||i(f)("el.inputOTP.groupLabel"),"aria-labelledby":i(g)?i(v)?.labelId:void 0},[(E(!0),z(Me,null,dt(e.length,(W,V)=>(E(),z(Me,{key:V},[I("label",{class:R(i(d).e("input-field"))},[I("input",{ref_for:!0,ref_key:"inputRefs",ref:c,value:r.value[V],class:R(i(d).e("input")),type:e.mask?"password":"text",disabled:i(m),readonly:e.readonly,inputmode:e.inputmode,autocomplete:"one-time-code","aria-label":i(f)("el.inputOTP.defaultLabel",{index:V+1}),onFocus:w,onBlur:S,onClick:H=>_(V),onKeydown:H=>x(H,V),onInput:H=>$(H,V)},null,42,fU)],2),(D.$slots.separator||s.value[V])&&V[(E(),fe(ft(()=>s.value[V])))]):se("v-if",!0)],64))),128))],10,dU))}}),vU=pU;const hU=ut(vU),mU=Te({type:{type:String,values:["primary","success","warning","info","danger","default"],default:void 0},underline:{type:[Boolean,String],values:[!0,!1,"always","never","hover"],default:void 0},disabled:Boolean,href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:Xt}}),gU={click:e=>e instanceof MouseEvent},yU=["href","target"];var bU=ve({name:"ElLink",__name:"link",props:mU,emits:gU,setup(e,{emit:t}){const n=e,o=t,a=Rl("link");Ba({scope:"el-link",from:"The underline option (boolean)",replacement:"'always' | 'hover' | 'never'",version:"3.0.0",ref:"https://element-plus.org/en-US/component/link.html#underline"},C(()=>Gt(n.underline)));const l=ke("link"),s=C(()=>[l.b(),l.m(n.type??a.value?.type??"default"),l.is("disabled",n.disabled),l.is("underline",r.value==="always"),l.is("hover-underline",r.value==="hover"&&!n.disabled)]),r=C(()=>Gt(n.underline)?n.underline?"hover":"never":n.underline??a.value?.underline??"hover");function u(c){n.disabled||o("click",c)}return(c,d)=>(E(),z("a",{class:R(s.value),href:e.disabled||!e.href?void 0:e.href,target:e.disabled||!e.href?void 0:e.target,onClick:u},[e.icon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1})):se("v-if",!0),c.$slots.default?(E(),z("span",{key:1,class:R(i(l).e("inner"))},[ue(c.$slots,"default")],2)):se("v-if",!0),c.$slots.icon?ue(c.$slots,"icon",{key:2}):se("v-if",!0)],10,yU))}}),wU=bU;const SU=ut(wU),py="rootMenu",kf="subMenu:";function i$(e,t){const n=C(()=>{let o=e.parent;const a=[t.value];for(;o.type.name!=="ElMenu";)o.props.index&&a.unshift(o.props.index),o=o.parent;return a});return{parentMenu:C(()=>{let o=e.parent;for(;o&&!["ElMenu","ElSubMenu"].includes(o.type.name);)o=o.parent;return o}),indexPath:n}}function CU(e){return C(()=>{const t=e.backgroundColor;return t?new kn(t).shade(20).toString():""})}const u$=(e,t)=>{const n=ke("menu");return C(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":CU(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},kU=Te({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:{type:oe([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Xt},expandOpenIcon:{type:Xt},collapseCloseIcon:{type:Xt},collapseOpenIcon:{type:Xt}}),_v="ElSubMenu";var vy=ve({name:_v,props:kU,setup(e,{slots:t,expose:n}){const o=ct(),{indexPath:a,parentMenu:l}=i$(o,C(()=>e.index)),s=ke("menu"),r=ke("sub-menu"),u=Fe(py);u||dn(_v,"can not inject root menu");const c=Fe(`${kf}${l.value.uid}`);c||dn(_v,"can not inject sub menu");const d=F({}),f=F({});let v;const h=F(!1),g=F(),p=F(),m=C(()=>c.level===0),y=C(()=>T.value==="horizontal"&&m.value?"bottom-start":"right-start"),b=C(()=>T.value==="horizontal"&&m.value||T.value==="vertical"&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?x.value?e.expandOpenIcon:e.expandCloseIcon:Qa:e.collapseCloseIcon&&e.collapseOpenIcon?x.value?e.collapseOpenIcon:e.collapseCloseIcon:io),w=C(()=>{const X=e.teleported;return It(X)?m.value:X}),S=C(()=>u.props.collapse?`${s.namespace.value}-zoom-in-left`:`${s.namespace.value}-zoom-in-top`),k=C(()=>T.value==="horizontal"&&m.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),x=C(()=>u.openedMenus.includes(e.index)),$=C(()=>[...Object.values(d.value),...Object.values(f.value)].some(({active:X})=>X)),T=C(()=>u.props.mode),_=C(()=>u.props.persistent),A=Kt({index:e.index,indexPath:a,active:$}),D=u$(u.props,c.level+1),N=C(()=>e.popperOffset??u.props.popperOffset),W=C(()=>e.popperClass??u.props.popperClass),V=C(()=>e.popperStyle??u.props.popperStyle),H=C(()=>e.showTimeout??u.props.showTimeout),P=C(()=>e.hideTimeout??u.props.hideTimeout),O=()=>p.value?.popperRef?.popperInstanceRef?.destroy(),M=X=>{X||O()},B=()=>{u.props.menuTrigger==="hover"&&u.props.mode==="horizontal"||u.props.collapse&&u.props.mode==="vertical"||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:a.value,active:$.value})},L=(X,J=H.value)=>{if(X.type!=="focus"){if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"||e.disabled){c.mouseInChild.value=!0;return}c.mouseInChild.value=!0,v?.(),{stop:v}=ti(()=>{u.openMenu(e.index,a.value)},J),w.value&&l.value.vnode.el?.dispatchEvent(new MouseEvent("mouseenter")),X.type==="mouseenter"&&X.target&&Re(()=>{ic(X.target,{preventScroll:!0})})}},K=(X=!1)=>{if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"){c.mouseInChild.value=!1;return}v?.(),c.mouseInChild.value=!1,{stop:v}=ti(()=>!h.value&&u.closeMenu(e.index,a.value),P.value),w.value&&X&&c.handleMouseleave?.(!0)};ge(()=>u.props.collapse,X=>M(!!X));{const X=ne=>{f.value[ne.index]=ne},J=ne=>{delete f.value[ne.index]};xt(`${kf}${o.uid}`,{addSubMenu:X,removeSubMenu:J,handleMouseleave:K,mouseInChild:h,level:c.level+1})}return n({opened:x}),at(()=>{u.addSubMenu(A),c.addSubMenu(A)}),Ft(()=>{c.removeSubMenu(A),u.removeSubMenu(A)}),()=>{const X=[t.title?.(),Le(He,{class:r.e("icon-arrow"),style:{transform:x.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ze(b.value)?Le(o.appContext.components[b.value]):Le(b.value)})],J=u.isMenuPopup?Le(Kn,{ref:p,visible:x.value,effect:"light",pure:!0,offset:N.value,showArrow:!1,persistent:_.value,popperClass:W.value,popperStyle:V.value,placement:y.value,teleported:w.value,fallbackPlacements:k.value,transition:S.value,gpuAcceleration:!1},{content:()=>Le("div",{class:[s.m(T.value),s.m("popup-container"),W.value],onMouseenter:ne=>L(ne,100),onMouseleave:()=>K(!0),onFocus:ne=>L(ne,100)},[Le("ul",{class:[s.b(),s.m("popup"),s.m(`popup-${y.value}`)],style:D.value},[t.default?.()])]),default:()=>Le("div",{class:r.e("title"),onClick:B},X)}):Le(Me,{},[Le("div",{class:r.e("title"),ref:g,onClick:B},X),Le(Tp,{},{default:()=>Ye(Le("ul",{role:"menu",class:[s.b(),s.m("inline")],style:D.value},[t.default?.()]),[[Bt,x.value]])})]);return Le("li",{class:[r.b(),r.is("active",$.value),r.is("opened",x.value),r.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:x.value,onMouseenter:L,onMouseleave:()=>K(),onFocus:L},[J])}}}),xU=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){const e=this.parent.domNode;this.subMenuItems.forEach(t=>{t.addEventListener("keydown",n=>{const o=Zt(n);let a=!1;switch(o){case Ee.down:this.gotoSubIndex(this.subIndex+1),a=!0;break;case Ee.up:this.gotoSubIndex(this.subIndex-1),a=!0;break;case Ee.tab:cd(e,"mouseleave");break;case Ee.enter:case Ee.numpadEnter:case Ee.space:a=!0,n.currentTarget.click();break}return a&&(n.preventDefault(),n.stopPropagation()),!1})})}},EU=class{constructor(e,t){this.domNode=e,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute("tabindex","0");const t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new xU(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",e=>{const t=Zt(e);let n=!1;switch(t){case Ee.down:cd(e.currentTarget,"mouseenter"),this.submenu?.gotoSubIndex(0),n=!0;break;case Ee.up:cd(e.currentTarget,"mouseenter"),this.submenu?.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break;case Ee.tab:cd(e.currentTarget,"mouseleave");break;case Ee.enter:case Ee.numpadEnter:case Ee.space:n=!0,e.currentTarget.click();break}n&&e.preventDefault()})}},$U=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){const t=this.domNode.childNodes;Array.from(t).forEach(n=>{n.nodeType===1&&new EU(n,e)})}},TU=ve({name:"ElMenuCollapseTransition",__name:"menu-collapse-transition",setup(e){const t=ke("menu"),n={onBeforeEnter:o=>o.style.opacity="0.2",onEnter(o,a){Jo(o,`${t.namespace.value}-opacity-transition`),o.style.opacity="1",a()},onAfterEnter(o){ro(o,`${t.namespace.value}-opacity-transition`),o.style.opacity=""},onBeforeLeave(o){o.dataset||(o.dataset={}),Fa(o,t.m("collapse"))?(ro(o,t.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),Jo(o,t.m("collapse"))):(Jo(o,t.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),ro(o,t.m("collapse"))),o.style.width=`${o.scrollWidth}px`,o.style.overflow="hidden"},onLeave(o){Jo(o,"horizontal-collapse-transition"),o.style.width=`${o.dataset.scrollWidth}px`}};return(o,a)=>(E(),fe(Zn,pt({mode:"out-in"},n),{default:ae(()=>[ue(o.$slots,"default")]),_:3},16))}}),_U=TU;const NU=Te({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:oe(Array),default:()=>hn([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Xt,default:()=>gV},popperEffect:{type:oe(String),default:"dark"},popperClass:{type:oe([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Nv=e=>xe(e)&&e.every(t=>ze(t)),IU={close:(e,t)=>ze(e)&&Nv(t),open:(e,t)=>ze(e)&&Nv(t),select:(e,t,n,o)=>ze(e)&&Nv(t)&&st(n)&&(It(o)||o instanceof Promise)},vw=64;var OU=ve({name:"ElMenu",props:NU,emits:IU,setup(e,{emit:t,slots:n,expose:o}){const a=ct(),l=a.appContext.config.globalProperties.$router,s=F(),r=F(),u=ke("menu"),c=ke("sub-menu");let d=vw;const f=F(-1),v=F(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),h=F(e.defaultActive),g=F({}),p=F({}),m=C(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),y=()=>{const O=h.value&&g.value[h.value];!O||e.mode==="horizontal"||e.collapse||O.indexPath.forEach(M=>{const B=p.value[M];B&&b(M,B.indexPath)})},b=(O,M)=>{v.value.includes(O)||(e.uniqueOpened&&(v.value=v.value.filter(B=>M.includes(B))),v.value.push(O),t("open",O,M))},w=O=>{const M=v.value.indexOf(O);M!==-1&&v.value.splice(M,1)},S=(O,M)=>{w(O),t("close",O,M)},k=({index:O,indexPath:M})=>{v.value.includes(O)?S(O,M):b(O,M)},x=O=>{(e.mode==="horizontal"||e.collapse)&&(v.value=[]);const{index:M,indexPath:B}=O;if(!(yn(M)||yn(B)))if(e.router&&l){const L=O.route||M,K=l.push(L).then(X=>(X||(h.value=M),X));t("select",M,B,{index:M,indexPath:B,route:L},K)}else h.value=M,t("select",M,B,{index:M,indexPath:B})},$=O=>{const M=g.value;h.value=(M[O]||h.value&&M[h.value]||M[e.defaultActive])?.index??O},T=O=>{const M=getComputedStyle(O),B=Number.parseInt(M.marginLeft,10),L=Number.parseInt(M.marginRight,10);return O.offsetWidth+B+L||0},_=()=>{if(!s.value)return-1;const O=Array.from(s.value.childNodes).filter(ne=>ne.nodeName!=="#comment"&&(ne.nodeName!=="#text"||ne.nodeValue)),M=getComputedStyle(s.value),B=Number.parseInt(M.paddingLeft,10),L=Number.parseInt(M.paddingRight,10),K=s.value.clientWidth-B-L;let X=0,J=0;return O.forEach((ne,re)=>{X+=T(ne),X<=K-d&&(J=re+1)}),J===O.length?-1:J},A=O=>p.value[O].indexPath,D=(O,M=33.34)=>{let B;return()=>{B&&clearTimeout(B),B=setTimeout(()=>{O()},M)}};let N=!0;const W=()=>{const O=Pn(r);if(O&&(d=T(O)||vw),f.value===_())return;const M=()=>{f.value=-1,Re(()=>{f.value=_()})};N?M():D(M)(),N=!1};ge(()=>e.defaultActive,O=>{g.value[O]||(h.value=""),$(O)}),ge(()=>e.collapse,O=>{O&&(v.value=[])}),ge(g.value,y);let V;uo(()=>{e.mode==="horizontal"&&e.ellipsis?V=cn(s,W).stop:V?.()});const H=F(!1);{const O=K=>{p.value[K.index]=K},M=K=>{delete p.value[K.index]};xt(py,Kt({props:e,openedMenus:v,items:g,subMenus:p,activeIndex:h,isMenuPopup:m,addMenuItem:K=>{g.value[K.index]=K},removeMenuItem:K=>{delete g.value[K.index]},addSubMenu:O,removeSubMenu:M,openMenu:b,closeMenu:S,handleMenuItemClick:x,handleSubMenuClick:k})),xt(`${kf}${a.uid}`,{addSubMenu:O,removeSubMenu:M,mouseInChild:H,level:0})}at(()=>{e.mode==="horizontal"&&new $U(a.vnode.el,u.namespace.value)}),o({open:M=>{const{indexPath:B}=p.value[M];B.forEach(L=>b(L,B))},close:w,updateActiveIndex:$,handleResize:W});const P=u$(e,0);return()=>{let O=n.default?.()??[];const M=[];if(e.mode==="horizontal"&&s.value){const K=Fo(O).filter(ne=>ne?.shapeFlag!==8),X=f.value===-1?K:K.slice(0,f.value),J=f.value===-1?[]:K.slice(f.value);J?.length&&e.ellipsis&&(O=X,M.push(Le(vy,{ref:r,index:"sub-menu-more",class:c.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>Le(He,{class:c.e("icon-more")},{default:()=>Le(e.ellipsisIcon)}),default:()=>J})))}const B=e.closeOnClickOutside?[[ds,()=>{v.value.length&&(H.value||(v.value.forEach(K=>t("close",K,A(K))),v.value=[]))}]]:[],L=Ye(Le("ul",{key:String(e.collapse),role:"menubar",ref:s,style:P.value,class:{[u.b()]:!0,[u.m(e.mode)]:!0,[u.m("collapse")]:e.collapse}},[...O,...M]),B);return e.collapseTransition&&e.mode==="vertical"?Le(_U,()=>L):L}}});const MU=Te({index:{type:String,required:!0},route:{type:oe([String,Object])},disabled:Boolean}),PU={click:e=>ze(e.index)&&xe(e.indexPath)},RU={title:String},Iv="ElMenuItem";var AU=ve({name:Iv,__name:"menu-item",props:MU,emits:PU,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ct(),s=Fe(py),r=ke("menu"),u=ke("menu-item");s||dn(Iv,"can not inject root menu");const{parentMenu:c,indexPath:d}=i$(l,wt(o,"index")),f=Fe(`${kf}${c.value.uid}`);f||dn(Iv,"can not inject sub menu");const v=C(()=>o.index===s.activeIndex),h=Kt({index:o.index,indexPath:d,active:v}),g=()=>{o.disabled||(s.handleMenuItemClick({index:o.index,indexPath:d.value,route:o.route}),a("click",h))};return at(()=>{f.addSubMenu(h),s.addMenuItem(h)}),Ft(()=>{f.removeSubMenu(h),s.removeMenuItem(h)}),t({parentMenu:c,rootMenu:s,active:v,nsMenu:r,nsMenuItem:u,handleClick:g}),(p,m)=>(E(),z("li",{class:R([i(u).b(),i(u).is("active",v.value),i(u).is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:g},[i(c).type.name==="ElMenu"&&i(s).props.collapse&&p.$slots.title?(E(),fe(i(Kn),{key:0,effect:i(s).props.popperEffect,placement:"right","fallback-placements":["left"],"popper-class":i(s).props.popperClass,"popper-style":i(s).props.popperStyle,persistent:i(s).props.persistent,"focus-on-target":""},{content:ae(()=>[ue(p.$slots,"title")]),default:ae(()=>[I("div",{class:R(i(r).be("tooltip","trigger"))},[ue(p.$slots,"default")],2)]),_:3},8,["effect","popper-class","popper-style","persistent"])):(E(),z(Me,{key:1},[ue(p.$slots,"default"),ue(p.$slots,"title")],64))],2))}}),c$=AU,DU=ve({name:"ElMenuItemGroup",__name:"menu-item-group",props:RU,setup(e){const t=ke("menu-item-group");return(n,o)=>(E(),z("li",{class:R(i(t).b())},[I("div",{class:R(i(t).e("title"))},[n.$slots.title?ue(n.$slots,"title",{key:1}):(E(),z(Me,{key:0},[Oe(me(e.title),1)],64))],2),I("ul",null,[ue(n.$slots,"default")])],2))}}),d$=DU;const LU=ut(OU,{MenuItem:c$,MenuItemGroup:d$,SubMenu:vy}),VU=fn(c$),BU=fn(d$),FU=fn(vy),zU=Te({icon:{type:Xt,default:()=>zL},title:String,content:{type:String,default:""}}),HU={back:()=>!0},KU=["aria-label"];var WU=ve({name:"ElPageHeader",__name:"page-header",props:zU,emits:HU,setup(e,{emit:t}){const n=t,{t:o}=_t(),a=ke("page-header");function l(){n("back")}return(s,r)=>(E(),z("div",{class:R([i(a).b(),i(a).is("contentful",!!s.$slots.default),{[i(a).m("has-breadcrumb")]:!!s.$slots.breadcrumb,[i(a).m("has-extra")]:!!s.$slots.extra}])},[s.$slots.breadcrumb?(E(),z("div",{key:0,class:R(i(a).e("breadcrumb"))},[ue(s.$slots,"breadcrumb")],2)):se("v-if",!0),I("div",{class:R(i(a).e("header"))},[I("div",{class:R(i(a).e("left"))},[I("div",{class:R(i(a).e("back")),role:"button",tabindex:"0",onClick:l},[e.icon||s.$slots.icon?(E(),z("div",{key:0,"aria-label":e.title||i(o)("el.pageHeader.title"),class:R(i(a).e("icon"))},[ue(s.$slots,"icon",{},()=>[e.icon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1})):se("v-if",!0)])],10,KU)):se("v-if",!0),I("div",{class:R(i(a).e("title"))},[ue(s.$slots,"title",{},()=>[Oe(me(e.title||i(o)("el.pageHeader.title")),1)])],2)],2),Z(i(XE),{direction:"vertical"}),I("div",{class:R(i(a).e("content"))},[ue(s.$slots,"content",{},()=>[Oe(me(e.content),1)])],2)],2),s.$slots.extra?(E(),z("div",{key:0,class:R(i(a).e("extra"))},[ue(s.$slots,"extra")],2)):se("v-if",!0)],2),s.$slots.default?(E(),z("div",{key:1,class:R(i(a).e("main"))},[ue(s.$slots,"default")],2)):se("v-if",!0)],2))}}),jU=WU;const UU=ut(jU),f$=Symbol("elPaginationKey"),YU=Te({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Xt}}),qU={click:e=>e instanceof MouseEvent},GU=["disabled","aria-label","aria-disabled"],XU={key:0};var ZU=ve({name:"ElPaginationPrev",__name:"prev",props:YU,emits:qU,setup(e){const t=e,{t:n}=_t(),o=C(()=>t.disabled||t.currentPage<=1);return(a,l)=>(E(),z("button",{type:"button",class:"btn-prev",disabled:o.value,"aria-label":a.prevText||i(n)("el.pagination.prev"),"aria-disabled":o.value,onClick:l[0]||(l[0]=s=>a.$emit("click",s))},[a.prevText?(E(),z("span",XU,me(a.prevText),1)):(E(),fe(i(He),{key:1},{default:ae(()=>[(E(),fe(ft(a.prevIcon)))]),_:1}))],8,GU))}}),JU=ZU;const QU=Te({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Xt}}),eY=["disabled","aria-label","aria-disabled"],tY={key:0};var nY=ve({name:"ElPaginationNext",__name:"next",props:QU,emits:["click"],setup(e){const t=e,{t:n}=_t(),o=C(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(a,l)=>(E(),z("button",{type:"button",class:"btn-next",disabled:o.value,"aria-label":a.nextText||i(n)("el.pagination.next"),"aria-disabled":o.value,onClick:l[0]||(l[0]=s=>a.$emit("click",s))},[a.nextText?(E(),z("span",tY,me(a.nextText),1)):(E(),fe(i(He),{key:1},{default:ae(()=>[(E(),fe(ft(a.nextIcon)))]),_:1}))],8,eY))}}),oY=nY;const hy=()=>Fe(f$,{}),aY=Te({pageSize:{type:Number,required:!0},pageSizes:{type:oe(Array),default:()=>hn([10,20,30,40,50,100])},popperClass:{type:oe([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},disabled:Boolean,teleported:Boolean,size:{type:String,values:Ca},appendSizeTo:String});var lY=ve({name:"ElPaginationSizes",__name:"sizes",props:aY,emits:["page-size-change"],setup(e,{emit:t}){const n=e,o=t,{t:a}=_t(),l=ke("pagination"),s=hy(),r=F(n.pageSize);ge(()=>n.pageSizes,(d,f)=>{vn(d,f)||xe(d)&&o("page-size-change",d.includes(n.pageSize)?n.pageSize:n.pageSizes[0])}),ge(()=>n.pageSize,d=>{r.value=d});const u=C(()=>n.pageSizes);function c(d){d!==r.value&&(r.value=d,s.handleSizeChange?.(Number(d)))}return(d,f)=>(E(),z("span",{class:R(i(l).e("sizes"))},[Z(i(fs),{"model-value":r.value,disabled:d.disabled,"popper-class":d.popperClass,"popper-style":d.popperStyle,size:d.size,teleported:d.teleported,"validate-event":!1,"append-to":d.appendSizeTo,onChange:c},{default:ae(()=>[(E(!0),z(Me,null,dt(u.value,v=>(E(),fe(i(cf),{key:v,value:v,label:v+i(a)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","popper-style","size","teleported","append-to"])],2))}}),sY=lY;const rY=Te({size:{type:String,values:Ca}}),iY=["disabled"];var uY=ve({name:"ElPaginationJumper",__name:"jumper",props:rY,setup(e){const{t}=_t(),n=ke("pagination"),{pageCount:o,disabled:a,currentPage:l,changeEvent:s}=hy(),r=F(),u=C(()=>r.value??l?.value);function c(f){r.value=f?+f:""}function d(f){f=Math.trunc(+f),s?.(f),r.value=void 0}return(f,v)=>(E(),z("span",{class:R(i(n).e("jump")),disabled:i(a)},[I("span",{class:R([i(n).e("goto")])},me(i(t)("el.pagination.goto")),3),Z(i(Gn),{size:f.size,class:R([i(n).e("editor"),i(n).is("in-pagination")]),min:1,max:i(o),disabled:i(a),"model-value":u.value,"validate-event":!1,"aria-label":i(t)("el.pagination.page"),type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value","aria-label"]),I("span",{class:R([i(n).e("classifier")])},me(i(t)("el.pagination.pageClassifier")),3)],10,iY))}}),cY=uY;const dY=Te({total:{type:Number,default:1e3}}),fY=["disabled"];var pY=ve({name:"ElPaginationTotal",__name:"total",props:dY,setup(e){const{t}=_t(),n=ke("pagination"),{disabled:o}=hy();return(a,l)=>(E(),z("span",{class:R(i(n).e("total")),disabled:i(o)},me(i(t)("el.pagination.total",{total:a.total})),11,fY))}}),vY=pY;const hY=Te({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),mY=["aria-current","aria-label","tabindex"],gY=["tabindex","aria-label"],yY=["aria-current","aria-label","tabindex"],bY=["tabindex","aria-label"],wY=["aria-current","aria-label","tabindex"];var SY=ve({name:"ElPaginationPager",__name:"pager",props:hY,emits:[Et],setup(e,{emit:t}){const n=e,o=t,a=ke("pager"),l=ke("icon"),{t:s}=_t(),r=F(!1),u=F(!1),c=F(!1),d=F(!1),f=F(!1),v=F(!1),h=C(()=>{const k=n.pagerCount,x=(k-1)/2,$=Number(n.currentPage),T=Number(n.pageCount);let _=!1,A=!1;T>k&&($>k-x&&(_=!0),$["more","btn-quickprev",l.b(),a.is("disabled",n.disabled)]),p=C(()=>["more","btn-quicknext",l.b(),a.is("disabled",n.disabled)]),m=C(()=>n.disabled?-1:0);ge(()=>[n.pageCount,n.pagerCount,n.currentPage],([k,x,$])=>{const T=(x-1)/2;let _=!1,A=!1;k>x&&(_=$>x-T,A=$T&&($=T)),$!==_&&o(Et,$)}return(k,x)=>(E(),z("ul",{class:R(i(a).b()),onClick:S,onKeyup:rn(w,["enter"])},[k.pageCount>0?(E(),z("li",{key:0,class:R([[i(a).is("active",k.currentPage===1),i(a).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===1,"aria-label":i(s)("el.pagination.currentPage",{pager:1}),tabindex:m.value}," 1 ",10,mY)):se("v-if",!0),r.value?(E(),z("li",{key:1,class:R(g.value),tabindex:m.value,"aria-label":i(s)("el.pagination.prevPages",{pager:k.pagerCount-2}),onMouseenter:x[0]||(x[0]=$=>y(!0)),onMouseleave:x[1]||(x[1]=$=>c.value=!1),onFocus:x[2]||(x[2]=$=>b(!0)),onBlur:x[3]||(x[3]=$=>f.value=!1)},[(c.value||f.value)&&!k.disabled?(E(),fe(i(is),{key:0})):(E(),fe(i(U0),{key:1}))],42,gY)):se("v-if",!0),(E(!0),z(Me,null,dt(h.value,$=>(E(),z("li",{key:$,class:R([[i(a).is("active",k.currentPage===$),i(a).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===$,"aria-label":i(s)("el.pagination.currentPage",{pager:$}),tabindex:m.value},me($),11,yY))),128)),u.value?(E(),z("li",{key:2,class:R(p.value),tabindex:m.value,"aria-label":i(s)("el.pagination.nextPages",{pager:k.pagerCount-2}),onMouseenter:x[4]||(x[4]=$=>y()),onMouseleave:x[5]||(x[5]=$=>d.value=!1),onFocus:x[6]||(x[6]=$=>b()),onBlur:x[7]||(x[7]=$=>v.value=!1)},[(d.value||v.value)&&!k.disabled?(E(),fe(i(us),{key:0})):(E(),fe(i(U0),{key:1}))],42,bY)):se("v-if",!0),k.pageCount>1?(E(),z("li",{key:3,class:R([[i(a).is("active",k.currentPage===k.pageCount),i(a).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===k.pageCount,"aria-label":i(s)("el.pagination.currentPage",{pager:k.pageCount}),tabindex:m.value},me(k.pageCount),11,wY)):se("v-if",!0)],34))}}),CY=SY;const fo=e=>typeof e!="number",kY=Te({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>We(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:oe(Array),default:()=>hn([10,20,30,40,50,100])},popperClass:{type:oe([String,Array,Object,Boolean]),default:""},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},prevText:{type:String,default:""},prevIcon:{type:Xt,default:()=>El},nextText:{type:String,default:""},nextIcon:{type:Xt,default:()=>io},teleported:{type:Boolean,default:!0},small:Boolean,size:Rn,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),xY={"update:current-page":e=>We(e),"update:page-size":e=>We(e),"size-change":e=>We(e),change:(e,t)=>We(e)&&We(t),"current-change":e=>We(e),"prev-click":e=>We(e),"next-click":e=>We(e)},hw="ElPagination";var EY=ve({name:hw,props:kY,emits:xY,setup(e,{emit:t,slots:n}){const{t:o}=_t(),a=ke("pagination"),l=ct().vnode.props||{},s=z2(),r=C(()=>e.small?"small":e.size??s.value);Ba({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},C(()=>!!e.small));const u="onUpdate:currentPage"in l||"onUpdate:current-page"in l||"onCurrentChange"in l,c="onUpdate:pageSize"in l||"onUpdate:page-size"in l||"onSizeChange"in l,d=C(()=>{if(fo(e.total)&&fo(e.pageCount)||!fo(e.currentPage)&&!u)return!1;if(e.layout.includes("sizes")){if(fo(e.pageCount)){if(!fo(e.total)&&!fo(e.pageSize)&&!c)return!1}else if(!c)return!1}return!0}),f=F(fo(e.defaultPageSize)?10:e.defaultPageSize),v=F(fo(e.defaultCurrentPage)?1:e.defaultCurrentPage),h=C({get(){return fo(e.pageSize)?f.value:e.pageSize},set(k){fo(e.pageSize)&&(f.value=k),c&&(t("update:page-size",k),t("size-change",k))}}),g=C(()=>{let k=0;return fo(e.pageCount)?fo(e.total)||(k=Math.max(1,Math.ceil(e.total/h.value))):k=e.pageCount,k}),p=C({get(){return fo(e.currentPage)?v.value:e.currentPage},set(k){let x=k;k<1?x=1:k>g.value&&(x=g.value),fo(e.currentPage)&&(v.value=x),u&&(t("update:current-page",x),t("current-change",x))}});ge(g,k=>{p.value>k&&(p.value=k)}),ge([p,h],k=>{t(Et,...k)},{flush:"post"});function m(k){p.value=k}function y(k){h.value=k;const x=g.value;p.value>x&&(p.value=x)}function b(){e.disabled||(p.value-=1,t("prev-click",p.value))}function w(){e.disabled||(p.value+=1,t("next-click",p.value))}function S(k,x){k&&(k.props||(k.props={}),k.props.class=[k.props.class,x].join(" "))}return xt(f$,{pageCount:g,disabled:C(()=>e.disabled),currentPage:p,changeEvent:m,handleSizeChange:y}),()=>{if(!d.value)return Yt(hw,o("el.pagination.deprecationWarning")),null;if(!e.layout||e.hideOnSinglePage&&g.value<=1)return null;const k=[],x=[],$=Le("div",{class:a.e("rightwrapper")},x),T={prev:Le(JU,{disabled:e.disabled,currentPage:p.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:b}),jumper:Le(cY,{size:r.value}),pager:Le(CY,{currentPage:p.value,pageCount:g.value,pagerCount:e.pagerCount,onChange:m,disabled:e.disabled}),next:Le(oY,{disabled:e.disabled,currentPage:p.value,pageCount:g.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:w}),sizes:Le(sY,{pageSize:h.value,pageSizes:e.pageSizes,popperClass:e.popperClass,popperStyle:e.popperStyle,disabled:e.disabled,teleported:e.teleported,size:r.value,appendSizeTo:e.appendSizeTo}),slot:n?.default?.()??null,total:Le(vY,{total:fo(e.total)?0:e.total})},_=e.layout.split(",").map(D=>D.trim());let A=!1;return _.forEach(D=>{if(D==="->"){A=!0;return}A?x.push(T[D]):k.push(T[D])}),S(k[0],a.is("first")),S(k[k.length-1],a.is("last")),A&&x.length>0&&(S(x[0],a.is("first")),S(x[x.length-1],a.is("last")),k.push($)),Le("div",{class:[a.b(),a.is("background",e.background),a.m(r.value)]},k)}}});const $Y=ut(EY),TY=Te({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:Th,default:"primary"},cancelButtonType:{type:String,values:Th,default:"text"},icon:{type:Xt,default:()=>CV},iconColor:{type:String,default:"#f90"},hideIcon:Boolean,hideAfter:{type:Number,default:200},effect:{...ln.effect,default:"light"},teleported:ln.teleported,persistent:ln.persistent,width:{type:[String,Number],default:150},virtualTriggering:Ks.virtualTriggering,virtualRef:Ks.virtualRef}),_Y={confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent};var NY=ve({name:"ElPopconfirm",__name:"popconfirm",props:TY,emits:_Y,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=_t(),s=ke("popconfirm"),r=F(),u=F(),c=C(()=>i(r)?.popperRef),d=()=>{u.value?.focus?.()},f=()=>{r.value?.onClose?.()},v=C(()=>({width:mn(o.width)})),h=y=>{a("confirm",y),f()},g=y=>{a("cancel",y),f()},p=C(()=>o.confirmButtonText||l("el.popconfirm.confirmButtonText")),m=C(()=>o.cancelButtonText||l("el.popconfirm.cancelButtonText"));return t({popperRef:c,hide:f}),(y,b)=>(E(),fe(i(Kn),pt({ref_key:"tooltipRef",ref:r,trigger:"click",effect:e.effect},y.$attrs,{"virtual-triggering":e.virtualTriggering,"virtual-ref":e.virtualRef,"popper-class":`${i(s).namespace.value}-popover`,"popper-style":v.value,teleported:e.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":e.hideAfter,persistent:e.persistent,loop:"",onShow:d}),{content:ae(()=>[I("div",{ref_key:"rootRef",ref:u,tabindex:"-1",class:R(i(s).b())},[I("div",{class:R(i(s).e("main"))},[!e.hideIcon&&e.icon?(E(),fe(i(He),{key:0,class:R(i(s).e("icon")),style:Be({color:e.iconColor})},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1},8,["class","style"])):se("v-if",!0),Oe(" "+me(e.title),1)],2),I("div",{class:R(i(s).e("action"))},[ue(y.$slots,"actions",{confirm:h,cancel:g},()=>[Z(i(zn),{size:"small",type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",onClick:g},{default:ae(()=>[Oe(me(m.value),1)]),_:1},8,["type","text"]),Z(i(zn),{size:"small",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",onClick:h},{default:ae(()=>[Oe(me(p.value),1)]),_:1},8,["type","text"])])],2)],2)]),default:ae(()=>[y.$slots.reference?ue(y.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["effect","virtual-triggering","virtual-ref","popper-class","popper-style","teleported","hide-after","persistent"]))}}),IY=NY;const OY=ut(IY),MY=Te({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:oe(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:oe([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:oe(Function),default:e=>`${e}%`}}),PY=["aria-valuenow"],RY={viewBox:"0 0 100 100"},AY=["d","stroke","stroke-linecap","stroke-width"],DY=["d","stroke","opacity","stroke-linecap","stroke-width"],LY={key:0};var VY=ve({name:"ElProgress",__name:"progress",props:MY,setup(e){const t={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},n=e,o=ke("progress"),a=C(()=>{const w={width:`${n.percentage}%`,animationDuration:`${n.duration}s`},S=b(n.percentage);return S.includes("gradient")?w.background=S:w.backgroundColor=S,w}),l=C(()=>(n.strokeWidth/n.width*100).toFixed(1)),s=C(()=>["circle","dashboard"].includes(n.type)?Number.parseInt(`${50-Number.parseFloat(l.value)/2}`,10):0),r=C(()=>{const w=s.value,S=n.type==="dashboard";return` + M 50 50 + m 0 ${S?"":"-"}${w} + a ${w} ${w} 0 1 1 0 ${S?"-":""}${w*2} + a ${w} ${w} 0 1 1 0 ${S?"":"-"}${w*2} + `}),u=C(()=>2*Math.PI*s.value),c=C(()=>n.type==="dashboard"?.75:1),d=C(()=>`${-1*u.value*(1-c.value)/2}px`),f=C(()=>({strokeDasharray:`${u.value*c.value}px, ${u.value}px`,strokeDashoffset:d.value})),v=C(()=>({strokeDasharray:`${u.value*c.value*(n.percentage/100)}px, ${u.value}px`,strokeDashoffset:d.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),h=C(()=>{let w;return n.color?w=b(n.percentage):w=t[n.status]||t.default,w}),g=C(()=>n.status==="warning"?Cp:n.type==="line"?n.status==="success"?Dg:el:n.status==="success"?ii:la),p=C(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),m=C(()=>n.format(n.percentage));function y(w){const S=100/w.length;return w.map((k,x)=>ze(k)?{color:k,percentage:(x+1)*S}:k).sort((k,x)=>k.percentage-x.percentage)}const b=w=>{const{color:S}=n;if(je(S))return S(w);if(ze(S))return S;{const k=y(S);for(const x of k)if(x.percentage>w)return x.color;return k[k.length-1]?.color}};return(w,S)=>(E(),z("div",{class:R([i(o).b(),i(o).m(e.type),i(o).is(e.status),{[i(o).m("without-text")]:!e.showText,[i(o).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(E(),z("div",{key:0,class:R(i(o).b("bar"))},[I("div",{class:R(i(o).be("bar","outer")),style:Be({height:`${e.strokeWidth}px`})},[I("div",{class:R([i(o).be("bar","inner"),{[i(o).bem("bar","inner","indeterminate")]:e.indeterminate},{[i(o).bem("bar","inner","striped")]:e.striped},{[i(o).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:Be(a.value)},[(e.showText||w.$slots.default)&&e.textInside?(E(),z("div",{key:0,class:R(i(o).be("bar","innerText"))},[ue(w.$slots,"default",{percentage:e.percentage},()=>[I("span",null,me(m.value),1)])],2)):se("v-if",!0)],6)],6)],2)):(E(),z("div",{key:1,class:R(i(o).b("circle")),style:Be({height:`${e.width}px`,width:`${e.width}px`})},[(E(),z("svg",RY,[I("path",{class:R(i(o).be("circle","track")),d:r.value,stroke:`var(${i(o).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":l.value,fill:"none",style:Be(f.value)},null,14,AY),I("path",{class:R(i(o).be("circle","path")),d:r.value,stroke:h.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":l.value,style:Be(v.value)},null,14,DY)]))],6)),(e.showText||w.$slots.default)&&!e.textInside?(E(),z("div",{key:2,class:R(i(o).e("text")),style:Be({fontSize:`${p.value}px`})},[ue(w.$slots,"default",{percentage:e.percentage},()=>[e.status?(E(),fe(i(He),{key:1},{default:ae(()=>[(E(),fe(ft(g.value)))]),_:1})):(E(),z("span",LY,me(m.value),1))])],6)):se("v-if",!0)],10,PY))}}),BY=VY;const my=ut(BY),FY=Te({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:oe([Array,Object]),default:()=>hn(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:oe([Array,Object]),default:()=>[Dc,Dc,Dc]},voidIcon:{type:Xt,default:()=>LV},disabledVoidIcon:{type:Xt,default:()=>Dc},disabled:{type:Boolean,default:void 0},allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:oe(Array),default:()=>hn(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:Rn,clearable:Boolean,...co(["ariaLabel"])}),zY={[Et]:e=>We(e),[lt]:e=>We(e)},HY=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax","tabindex","aria-disabled"],KY=["onMousemove","onClick"];var WY=ve({name:"ElRate",__name:"rate",props:FY,emits:zY,setup(e,{expose:t,emit:n}){function o(M,B){const L=X=>st(X),K=B[Object.keys(B).map(X=>+X).filter(X=>{const J=B[X];return L(J)&&J.excluded?MX-J)[0]];return L(K)&&K.value||K}const a=e,l=n,s=Fe(Xa,void 0),r=In(),u=ke("rate"),{inputId:c,isLabeledByFormItem:d}=Ro(a,{formItemContext:s}),f=F(To(a.modelValue,0,a.max)),v=F(-1),h=F(!0),g=F([]),p=C(()=>g.value.map(M=>M.$el.clientWidth)),m=C(()=>[u.b(),u.m(r.value)]),y=pn(),b=C(()=>u.cssVarBlock({"void-color":a.voidColor,"disabled-void-color":a.disabledVoidColor,"fill-color":x.value})),w=C(()=>{let M="";return a.showScore?M=a.scoreTemplate.replace(/\{\s*value\s*\}/,y.value?`${a.modelValue}`:`${f.value}`):a.showText&&(M=a.texts[Math.ceil(f.value)-1]),M}),S=C(()=>a.modelValue*100-Math.floor(a.modelValue)*100),k=C(()=>xe(a.colors)?{[a.lowThreshold]:a.colors[0],[a.highThreshold]:{value:a.colors[1],excluded:!0},[a.max]:a.colors[2]}:a.colors),x=C(()=>{const M=o(f.value,k.value);return st(M)?"":M}),$=C(()=>{let M="";return y.value?M=`${S.value}%`:a.allowHalf&&(M="50%"),{color:x.value,width:M}}),T=C(()=>{let M=xe(a.icons)?[...a.icons]:{...a.icons};return M=yo(M),xe(M)?{[a.lowThreshold]:M[0],[a.highThreshold]:{value:M[1],excluded:!0},[a.max]:M[2]}:M}),_=C(()=>o(a.modelValue,T.value)),A=C(()=>y.value?ze(a.disabledVoidIcon)?a.disabledVoidIcon:yo(a.disabledVoidIcon):ze(a.voidIcon)?a.voidIcon:yo(a.voidIcon)),D=C(()=>o(f.value,T.value));function N(M){const B=y.value&&S.value>0&&M-1a.modelValue,L=a.allowHalf&&h.value&&M-.5<=f.value&&M>f.value;return B||L}function W(M){a.clearable&&M===a.modelValue&&(M=0),l(lt,M),a.modelValue!==M&&l(Et,M)}function V(M){y.value||(a.allowHalf&&h.value?W(f.value):W(M))}function H(M){if(y.value)return;const B=Zt(M),L=a.allowHalf?.5:1;let K=f.value;switch(B){case Ee.up:case Ee.right:K+=L;break;case Ee.left:case Ee.down:K-=L;break}if(K=To(K,0,a.max),K!==f.value)return M.stopPropagation(),M.preventDefault(),l(lt,K),l(Et,K),K}function P(M,B){y.value||(a.allowHalf&&B?(h.value=B.offsetX*2<=p.value[M-1],f.value=h.value?M-.5:M):f.value=M,v.value=M)}function O(){y.value||(a.allowHalf&&(h.value=a.modelValue!==Math.floor(a.modelValue)),f.value=To(a.modelValue,0,a.max),v.value=-1)}return ge(()=>a.modelValue,M=>{f.value=To(M,0,a.max),h.value=a.modelValue!==Math.floor(a.modelValue)}),a.modelValue||l(lt,0),t({setCurrentValue:P,resetCurrentValue:O}),(M,B)=>(E(),z("div",{id:i(c),class:R([m.value,i(u).is("disabled",i(y))]),role:"slider","aria-label":i(d)?void 0:e.ariaLabel||"rating","aria-labelledby":i(d)?i(s)?.labelId:void 0,"aria-valuenow":f.value,"aria-valuetext":w.value||void 0,"aria-valuemin":"0","aria-valuemax":e.max,style:Be(b.value),tabindex:i(y)?void 0:0,"aria-disabled":i(y),onKeydown:H},[(E(!0),z(Me,null,dt(e.max,(L,K)=>(E(),z("span",{key:K,class:R(i(u).e("item")),onMousemove:X=>P(L,X),onMouseleave:O,onClick:X=>V(L)},[Z(i(He),{ref_for:!0,ref_key:"iconRefs",ref:g,class:R([i(u).e("icon"),{hover:v.value===L},i(u).is("active",L<=f.value),i(u).is("focus-visible",L===Math.ceil(f.value||1))])},{default:ae(()=>[Ye((E(),fe(ft(D.value),null,null,512)),[[Bt,!N(L)&&L<=f.value]]),Ye((E(),fe(ft(A.value),null,null,512)),[[Bt,!N(L)&&L>f.value]]),Ye((E(),fe(ft(A.value),{class:R([i(u).em("decimal","box")])},null,8,["class"])),[[Bt,N(L)]]),Ye(Z(i(He),{style:Be($.value),class:R([i(u).e("icon"),i(u).e("decimal")])},{default:ae(()=>[(E(),fe(ft(_.value)))]),_:1},8,["style","class"]),[[Bt,N(L)]])]),_:2},1032,["class"])],42,KY))),128)),e.showText||e.showScore?(E(),z("span",{key:0,class:R(i(u).e("text")),style:Be({color:e.textColor})},me(w.value),7)):se("v-if",!0)],46,HY))}}),jY=WY;const UY=ut(jY),Ts={primary:"icon-primary",success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},mw={[Ts.primary]:_u,[Ts.success]:GL,[Ts.warning]:Cp,[Ts.error]:Lg,[Ts.info]:_u},YY=Te({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["primary","success","warning","info","error"],default:"info"}});var qY=ve({name:"ElResult",__name:"result",props:YY,setup(e){const t=e,n=ke("result"),o=C(()=>{const a=t.icon,l=a&&Ts[a]?Ts[a]:"icon-info";return{class:l,component:mw[l]||mw["icon-info"]}});return(a,l)=>(E(),z("div",{class:R(i(n).b())},[I("div",{class:R(i(n).e("icon"))},[ue(a.$slots,"icon",{},()=>[o.value.component?(E(),fe(ft(o.value.component),{key:0,class:R(o.value.class)},null,8,["class"])):se("v-if",!0)])],2),e.title||a.$slots.title?(E(),z("div",{key:0,class:R(i(n).e("title"))},[ue(a.$slots,"title",{},()=>[I("p",null,me(e.title),1)])],2)):se("v-if",!0),e.subTitle||a.$slots["sub-title"]?(E(),z("div",{key:1,class:R(i(n).e("subtitle"))},[ue(a.$slots,"sub-title",{},()=>[I("p",null,me(e.subTitle),1)])],2)):se("v-if",!0),a.$slots.extra?(E(),z("div",{key:2,class:R(i(n).e("extra"))},[ue(a.$slots,"extra")],2)):se("v-if",!0)],2))}}),GY=qY;const XY=ut(GY),gy=Symbol("ElSelectV2Injection"),ZY=Te({allowCreate:Boolean,autocomplete:{type:oe(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Xt,default:el},effect:{type:oe(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:oe(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:{type:Boolean,default:void 0},estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:{type:oe(Function)},height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:oe([Array,String,Number,Boolean,Object]),default:void 0},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:{type:oe(Function)},reserveKeyword:{type:Boolean,default:!0},options:{type:oe(Array),required:!0},placeholder:{type:String},teleported:ln.teleported,persistent:{type:Boolean,default:!0},popperClass:ln.popperClass,popperStyle:ln.popperStyle,popperOptions:{type:oe(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},size:Rn,props:{type:oe(Object),default:()=>uf},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},placement:{type:oe(String),values:Ja,default:"bottom-start"},fallbackPlacements:{type:oe(Array),default:["bottom-start","top-start","right","left"]},tagType:{...$l.type,default:"info"},tagEffect:{...$l.effect,default:"light"},tabindex:{type:[String,Number],default:0},appendTo:ln.appendTo,fitInputWidth:{type:[Boolean,Number],default:!0,validator(e){return Gt(e)||We(e)}},suffixIcon:{type:Xt,default:Qa},...mr,...co(["ariaLabel"])}),JY=Te({data:Array,disabled:Boolean,hovering:Boolean,item:{type:oe(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),QY={[lt]:e=>!0,[Et]:e=>!0,"end-reached":Iu["end-reached"],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},eq={hover:e=>We(e),select:(e,t)=>!0};var tq=ve({props:{item:{type:Object,required:!0},style:{type:Object},height:Number},setup(){return{ns:ke("select")}}});function nq(e,t,n,o,a,l){return E(),z("div",{class:R(e.ns.be("group","title")),style:Be({...e.style,lineHeight:`${e.height}px`})},me(e.item.label),7)}var oq=Dn(tq,[["render",nq]]);function aq(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}var lq=ve({props:JY,emits:eq,setup(e,{emit:t}){const n=Fe(gy),o=ke("select"),a=ei?null:"mousemove",{hoverItem:l,selectOptionClick:s}=aq(e,{emit:t}),{getLabel:r}=yc(n.props),u=n.contentId;return{ns:o,contentId:u,mouseMoveEventName:a,hoverItem:l,handleMousedown:d=>{let f=d.target;const v=d.currentTarget;for(;f&&f!==v;){if(er(f))return;f=f.parentElement}d.preventDefault()},selectOptionClick:s,getLabel:r}}});const sq=["id","aria-selected","aria-disabled"];function rq(e,t,n,o,a,l){return E(),z("li",pt({id:`${e.contentId}-${e.index}`,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled||void 0,style:e.style,class:[e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]},{[Ds(e.mouseMoveEventName)]:t[0]||(t[0]=(...s)=>e.hoverItem&&e.hoverItem(...s))},{onMousedown:t[1]||(t[1]=(...s)=>e.handleMousedown&&e.handleMousedown(...s)),onClick:t[2]||(t[2]=Xe((...s)=>e.selectOptionClick&&e.selectOptionClick(...s),["stop"]))}),[ue(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[I("span",null,me(e.getLabel(e.item)),1)])],16,sq)}var iq=Dn(lq,[["render",rq]]),uq=ve({name:"ElSelectDropdown",props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number,id:String,ariaLabel:String},emits:{"end-reached":Iu["end-reached"]},setup(e,{slots:t,expose:n,emit:o}){const a=Fe(gy),l=ke("select"),{getLabel:s,getValue:r,getDisabled:u}=yc(a.props),c=F([]),d=F(),f=C(()=>e.data.length);ge(()=>f.value,()=>{a.tooltipRef.value?.updatePopper?.()});const v=C(()=>It(a.props.estimatedOptionHeight)),h=C(()=>v.value?{itemSize:a.props.itemHeight}:{estimatedSize:a.props.estimatedOptionHeight,itemSize:N=>c.value[N]}),g=(N=[],W)=>{const{props:{valueKey:V}}=a;return st(W)?N&&N.some(H=>nn(En(H,V))===En(W,V)):N.includes(W)},p=(N,W)=>{if(st(W)){const{valueKey:V}=a.props;return En(N,V)===En(W,V)}else return N===W},m=(N,W)=>a.props.multiple?g(N,r(W)):p(N,r(W)),y=(N,W)=>{const{disabled:V,multiple:H,multipleLimit:P}=a.props;return V||!W&&(H?P>0&&N.length>=P:!1)},b=N=>e.hoveringIndex===N;n({listRef:d,isSized:v,isItemDisabled:y,isItemHovering:b,isItemSelected:m,scrollToItem:N=>{const W=d.value;W&&W.scrollToItem(N)},resetScrollTop:()=>{const N=d.value;N&&N.resetScrollTop()}});const k=N=>{const{index:W,data:V,style:H}=N,P=i(v),{itemSize:O,estimatedSize:M}=i(h),{modelValue:B}=a.props,{onSelect:L,onHover:K}=a,X=V[W];if(X.type==="Group")return Z(oq,{item:X,style:H,height:P?O:M},null);const J=m(B,X),ne=y(B,J),re=b(W);return Z(iq,pt(N,{selected:J,disabled:u(X)||ne,created:!!X.created,hovering:re,item:X,onSelect:L,onHover:K}),{default:Q=>t.default?.(Q)||Z("span",null,[s(X)])})},{onKeyboardNavigate:x,onKeyboardSelect:$}=a,T=()=>{x("forward")},_=()=>{x("backward")},A=N=>{const W=Zt(N),{tab:V,esc:H,down:P,up:O,enter:M,numpadEnter:B}=Ee;switch([H,P,O,M,B].includes(W)&&(N.preventDefault(),N.stopPropagation()),W){case V:case H:break;case P:T();break;case O:_();break;case M:case B:$();break}},D=N=>{o("end-reached",N)};return()=>{const{data:N,width:W}=e,{height:V,multiple:H,scrollbarAlwaysOn:P}=a.props,O=ei?!0:P,M=i(v)?bc:gz;return Z("div",{class:[l.b("dropdown"),l.is("multiple",H)],style:{width:`${W}px`}},[t.header?.(),t.loading?.()||t.empty?.()||Z(M,pt({ref:d},i(h),{className:l.be("dropdown","list"),scrollbarAlwaysOn:O,data:N,height:V,width:W,total:N.length,innerElement:"ul",innerProps:{id:e.id,role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},onEndReached:D,onKeydown:A}),{default:B=>Z(k,B,null)}),t.footer?.()])}}});function cq(e,t){const{aliasProps:n,getLabel:o,getValue:a}=yc(e),l=F(0),s=F(),r=C(()=>e.allowCreate&&e.filterable);ge(()=>e.options,h=>{const g=new Set(h.map(p=>o(p)));t.createdOptions=t.createdOptions.filter(p=>!g.has(o(p)))});function u(h){const g=p=>o(p)===h;return e.options&&e.options.some(g)||t.createdOptions.some(g)}function c(h){r.value&&(e.multiple&&h.created?l.value++:s.value=h)}function d(h){if(r.value)if(h&&h.length>0){if(u(h)){t.createdOptions=t.createdOptions.filter(p=>o(p)!==t.previousQuery);return}const g={[n.value.value]:h,[n.value.label]:h,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=l.value?t.createdOptions[l.value]=g:t.createdOptions.push(g)}else if(e.multiple)t.createdOptions.length=l.value;else{const g=s.value;t.createdOptions.length=0,g&&g.created&&t.createdOptions.push(g)}}function f(h){if(!r.value||!h||!h.created||h.created&&e.reserveKeyword&&t.inputValue===o(h))return;const g=t.createdOptions.findIndex(p=>a(p)===a(h));~g&&(t.createdOptions.splice(g,1),l.value--)}function v(){r.value&&(t.createdOptions.length=0,l.value=0)}return{createNewOption:d,removeNewOption:f,selectNewOption:c,clearAllNewOption:v}}const dq=(e,t)=>{const{t:n}=_t(),o=bn(),a=ke("select"),l=ke("input"),{form:s,formItem:r}=Wn(),{inputId:u}=Ro(e,{formItemContext:r}),{aliasProps:c,getLabel:d,getValue:f,getDisabled:v,getOptions:h}=yc(e),{valueOnClear:g,isEmptyValue:p}=hc(e),m=Kt({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),y=F(-1),b=F(!1),w=F(),S=F(),k=F(),x=F(),$=F(),T=F(),_=F(),A=F(),D=F(),N=F(),{isComposing:W,handleCompositionStart:V,handleCompositionEnd:H,handleCompositionUpdate:P}=vc({afterComposition:De=>an(De)}),O=pn(),{wrapperRef:M,isFocused:B,handleBlur:L}=Pl($,{disabled:O,afterFocus(){e.automaticDropdown&&!ne.value&&(ne.value=!0,m.menuVisibleOnFocus=!0)},beforeBlur(De){return k.value?.isFocusInsideContent(De)||x.value?.isFocusInsideContent(De)},afterBlur(){ne.value=!1,m.menuVisibleOnFocus=!1,e.validateEvent&&r?.validate?.("blur").catch(mt)}}),K=C(()=>te("")),X=C(()=>e.loading?!1:e.options.length>0||m.createdOptions.length>0),J=F([]),ne=F(!1),re=C(()=>s?.statusIcon??!1),Q=C(()=>{const De=J.value.length*e.itemHeight;return De>e.height?e.height:De}),ce=C(()=>e.multiple?xe(e.modelValue)&&e.modelValue.length>0:!p(e.modelValue)),we=C(()=>e.clearable&&!O.value&&ce.value&&(B.value||m.inputHovering)),Se=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),le=C(()=>Se.value&&a.is("reverse",ne.value)),ie=C(()=>r?.validateState||""),j=C(()=>{if(ie.value)return kp[ie.value]}),ee=C(()=>e.remote?e.debounce:0),Y=C(()=>e.remote&&!m.inputValue&&!X.value),q=C(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&m.inputValue&&X.value&&J.value.length===0?e.noMatchText||n("el.select.noMatch"):X.value?null:e.noDataText||n("el.select.noData")),U=C(()=>e.filterable&&je(e.filterMethod)),G=C(()=>e.filterable&&e.remote&&je(e.remoteMethod)),te=De=>{const Dt=new RegExp(gg(De),"i"),Pt=Mt=>U.value||G.value?!0:De?Dt.test(d(Mt)||""):!0;return e.loading?[]:[...m.createdOptions,...e.options].reduce((Mt,qn)=>{const Ao=h(qn);if(xe(Ao)){const $c=Ao.filter(Pt);$c.length>0&&Mt.push({label:d(qn),type:"Group"},...$c)}else(e.remote||Pt(qn))&&Mt.push(qn);return Mt},[])},he=()=>{J.value=te(m.inputValue)},pe=C(()=>{const De=new Map;return K.value.forEach((Dt,Pt)=>{De.set(Qe(f(Dt)),{option:Dt,index:Pt})}),De}),de=C(()=>{const De=new Map;return J.value.forEach((Dt,Pt)=>{De.set(Qe(f(Dt)),{option:Dt,index:Pt})}),De}),be=C(()=>J.value.every(De=>v(De))),ye=In(),$e=C(()=>ye.value==="small"?"small":"default"),Pe=()=>{if(We(e.fitInputWidth)){y.value=e.fitInputWidth;return}const De=w.value?.offsetWidth||200;!e.fitInputWidth&&X.value?Re(()=>{y.value=Math.max(De,et())}):y.value=De},et=()=>{const De=document.createElement("canvas").getContext("2d"),Dt=a.be("dropdown","item"),Pt=(A.value?.listRef?.innerRef||document).querySelector(`.${Dt}`);if(Pt===null||De===null)return 0;const Mt=getComputedStyle(Pt),qn=Number.parseFloat(Mt.paddingLeft)+Number.parseFloat(Mt.paddingRight);return De.font=`bold ${Mt.font.replace(new RegExp(`\\b${Mt.fontWeight}\\b`),"")}`,J.value.reduce((Ao,$c)=>{const N_=De.measureText(d($c));return Math.max(N_.width,Ao)},0)+qn},tt=()=>{if(!S.value)return 0;const De=window.getComputedStyle(S.value);return Number.parseFloat(De.gap||"6px")},qe=C(()=>{const De=tt(),Dt=e.filterable?De+11:0;return{maxWidth:`${N.value&&e.maxCollapseTags===1?m.selectionWidth-m.collapseItemWidth-De-Dt:m.selectionWidth-Dt}px`}}),$t=C(()=>({maxWidth:`${m.selectionWidth}px`})),At=C(()=>xe(e.modelValue)?e.modelValue.length===0&&!m.inputValue:e.filterable?!m.inputValue:!0),Wt=C(()=>{const De=e.placeholder??n("el.select.placeholder");return e.multiple||!ce.value?De:m.selectedLabel}),Rt=C(()=>k.value?.popperRef?.contentRef),qt=C(()=>{if(e.multiple){const De=e.modelValue.length;if(De>0&&de.value.has(e.modelValue[De-1])){const{index:Dt}=de.value.get(e.modelValue[De-1]);return Dt}}else if(!p(e.modelValue)&&de.value.has(e.modelValue)){const{index:De}=de.value.get(e.modelValue);return De}return-1}),Ce=C({get(){return ne.value&&(e.loading||!Y.value||e.remote&&!!o.empty)&&(!b.value||!mo(m.previousQuery)||X.value)},set(De){ne.value=De}}),Ne=C(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(0,e.maxCollapseTags):m.cachedOptions:[]),Je=C(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:_e,removeNewOption:Ge,selectNewOption:Ve,clearAllNewOption:nt}=cq(e,m),ht=De=>{O.value||e.filterable&&ne.value&&De&&!_.value?.contains(De.target)||(m.menuVisibleOnFocus?m.menuVisibleOnFocus=!1:ne.value=!ne.value)},rt=()=>{m.inputValue.length>0&&!ne.value&&(ne.value=!0),_e(m.inputValue),Re(()=>{Ot(m.inputValue)})},Ct=sc(()=>{rt(),b.value=!1},ee),Ot=De=>{m.previousQuery===De||W.value||(m.previousQuery=De,e.filterable&&je(e.filterMethod)?e.filterMethod(De):e.filterable&&e.remote&&je(e.remoteMethod)&&e.remoteMethod(De),e.defaultFirstOption&&(e.filterable||e.remote)&&J.value.length?Re(vt):Re(Ut))},vt=()=>{const De=J.value.filter(Mt=>!Mt.disabled&&Mt.type!=="Group"),Dt=De.find(Mt=>Mt.created),Pt=De[0];m.hoveringIndex=Ke(J.value,Dt||Pt)},Qt=De=>{vn(e.modelValue,De)||t(Et,De)},gn=De=>{t(lt,De),Qt(De),m.previousValue=e.multiple?String(De):De,Re(()=>{if(e.multiple&&xe(e.modelValue)){const Dt=m.cachedOptions.slice(),Pt=e.modelValue.map(Mt=>eb(Mt,Dt));vn(m.cachedOptions,Pt)||(m.cachedOptions=Pt)}else Ec(!0)})},Ke=(De=[],Dt)=>{if(!st(Dt))return De.indexOf(Dt);const Pt=e.valueKey;let Mt=-1;return De.some((qn,Ao)=>En(qn,Pt)===En(Dt,Pt)?(Mt=Ao,!0):!1),Mt},Qe=De=>st(De)?En(De,e.valueKey):De,it=()=>{Pe()},Ie=De=>{t("end-reached",De)},Ze=()=>{m.selectionWidth=Number.parseFloat(window.getComputedStyle(S.value).width)},Ue=()=>{m.collapseItemWidth=N.value.getBoundingClientRect().width},Vt=()=>{k.value?.updatePopper?.()},Jt=()=>{x.value?.updatePopper?.()},wn=De=>{const Dt=f(De);if(e.multiple){let Pt=e.modelValue.slice();const Mt=Ke(Pt,Dt);Mt>-1?(Pt=[...Pt.slice(0,Mt),...Pt.slice(Mt+1)],m.cachedOptions.splice(Mt,1),Ge(De)):(e.multipleLimit<=0||Pt.length{let Pt=e.modelValue.slice();const Mt=Ke(Pt,f(Dt));Mt>-1&&!O.value&&(Pt=[...e.modelValue.slice(0,Mt),...e.modelValue.slice(Mt+1)],m.cachedOptions.splice(Mt,1),gn(Pt),t("remove-tag",f(Dt)),Ge(Dt)),De.stopPropagation(),Co()},Co=()=>{$.value?.focus()},Ta=()=>{if(ne.value){ne.value=!1,Re(()=>$.value?.blur());return}$.value?.blur()},Ll=()=>{m.inputValue.length>0?m.inputValue="":ne.value=!1},yr=De=>Kk(De,Dt=>!m.cachedOptions.some(Pt=>f(Pt)===Dt&&v(Pt))),ol=De=>{const Dt=Zt(De);if(e.multiple&&Dt!==Ee.delete&&m.inputValue.length===0){De.preventDefault();const Pt=e.modelValue.slice(),Mt=yr(Pt);if(Mt<0)return;const qn=Pt[Mt];Pt.splice(Mt,1);const Ao=m.cachedOptions[Mt];m.cachedOptions.splice(Mt,1),Ge(Ao),gn(Pt),t("remove-tag",qn)}},Kp=()=>{let De;xe(e.modelValue)?De=[]:De=g.value,m.selectedLabel="",ne.value=!1,gn(De),t("clear"),nt(),Co()},br=(De,Dt=void 0)=>{const Pt=J.value;if(!["forward","backward"].includes(De)||O.value||Pt.length<=0||be.value||W.value)return;if(!ne.value)return ht();It(Dt)&&(Dt=m.hoveringIndex);let Mt=-1;De==="forward"?(Mt=Dt+1,Mt>=Pt.length&&(Mt=0)):De==="backward"&&(Mt=Dt-1,(Mt<0||Mt>=Pt.length)&&(Mt=Pt.length-1));const qn=Pt[Mt];if(v(qn)||qn.type==="Group")return br(De,Mt);m.hoveringIndex=Mt,Vl(Mt)},Ae=()=>{if(ne.value)~m.hoveringIndex&&J.value[m.hoveringIndex]&&wn(J.value[m.hoveringIndex]);else return ht()},St=De=>{m.hoveringIndex=De??-1},Ut=()=>{if(!e.multiple)m.hoveringIndex=J.value.findIndex(De=>Qe(f(De))===Qe(e.modelValue));else{const De=e.modelValue.length;if(De>0){const Dt=e.modelValue[De-1];m.hoveringIndex=J.value.findIndex(Pt=>Qe(Dt)===Qe(f(Pt)))}else m.hoveringIndex=-1}},an=De=>{if(m.inputValue=De.target.value,e.remote)b.value=!0,Ct();else return rt()},Mn=De=>{ne.value=!1,B.value&&L(new FocusEvent("blur",De))},ko=()=>(m.isBeforeHide=!1,Re(()=>{~qt.value&&Vl(qt.value)})),Vl=De=>{A.value.scrollToItem(De)},eb=(De,Dt)=>{const Pt=Qe(De);if(pe.value.has(Pt)){const{option:Mt}=pe.value.get(Pt);return Mt}if(Dt&&Dt.length){const Mt=Dt.find(qn=>Qe(f(qn))===Pt);if(Mt)return Mt}return{[c.value.value]:De,[c.value.label]:De}},__=De=>pe.value.get(f(De))?.index??-1,Ec=(De=!1)=>{if(e.multiple)if(e.modelValue.length>0){const Dt=m.cachedOptions.slice();m.cachedOptions.length=0,m.previousValue=e.modelValue.toString();for(const Pt of e.modelValue){const Mt=eb(Pt,Dt);m.cachedOptions.push(Mt)}}else m.cachedOptions=[],m.previousValue=void 0;else if(ce.value){m.previousValue=e.modelValue;const Dt=J.value,Pt=Dt.findIndex(Mt=>Qe(f(Mt))===Qe(e.modelValue));~Pt?m.selectedLabel=d(Dt[Pt]):(!m.selectedLabel||De)&&(m.selectedLabel=Qe(e.modelValue))}else m.selectedLabel="",m.previousValue=void 0;nt(),Pe()};ge(()=>e.fitInputWidth,()=>{Pe()}),ge(ne,De=>{De?(e.persistent||Pe(),Ot("")):(m.inputValue="",m.previousQuery=null,m.isBeforeHide=!0,m.menuVisibleOnFocus=!1,_e(""))}),ge(()=>e.modelValue,(De,Dt)=>{(!De||xe(De)&&De.length===0||e.multiple&&!vn(De.toString(),m.previousValue)||!e.multiple&&Qe(De)!==Qe(m.previousValue))&&Ec(!0),!vn(De,Dt)&&e.validateEvent&&r?.validate?.("change").catch(mt)},{deep:!0}),ge(()=>e.options,()=>{const De=$.value;(!De||De&&document.activeElement!==De)&&Ec()},{deep:!0,flush:"post"}),ge(()=>J.value,()=>(Pe(),A.value&&Re(A.value.resetScrollTop))),uo(()=>{m.isBeforeHide||he()}),uo(()=>{const{valueKey:De,options:Dt}=e,Pt=new Map;for(const Mt of Dt){const qn=f(Mt);let Ao=qn;if(st(Ao)&&(Ao=En(qn,De)),Pt.get(Ao)){Yt("ElSelectV2","The option values you provided seem to be duplicated, which may cause some problems, please check.");break}else Pt.set(Ao,!0)}}),at(()=>{Ec()}),cn(w,it),cn(S,Ze),cn(M,Vt),cn(D,Jt),cn(N,Ue);let Wp;return ge(()=>Ce.value,De=>{De?Wp=cn(A,Vt).stop:(Wp?.(),Wp=void 0),t("visible-change",De)}),{inputId:u,collapseTagSize:$e,currentPlaceholder:Wt,expanded:ne,emptyText:q,popupHeight:Q,debounce:ee,allOptions:K,allOptionsValueMap:pe,filteredOptions:J,iconComponent:Se,iconReverse:le,tagStyle:qe,collapseTagStyle:$t,popperSize:y,dropdownMenuVisible:Ce,hasModelValue:ce,shouldShowPlaceholder:At,selectDisabled:O,selectSize:ye,needStatusIcon:re,showClearBtn:we,states:m,isFocused:B,nsSelect:a,nsInput:l,inputRef:$,menuRef:A,tagMenuRef:D,tooltipRef:k,tagTooltipRef:x,selectRef:w,wrapperRef:M,selectionRef:S,prefixRef:T,suffixRef:_,collapseItemRef:N,popperRef:Rt,validateState:ie,validateIcon:j,showTagList:Ne,collapseTagList:Je,debouncedOnInputChange:Ct,deleteTag:Qn,getLabel:d,getValue:f,getDisabled:v,getValueKey:Qe,getIndex:__,handleClear:Kp,handleClickOutside:Mn,handleDel:ol,handleEsc:Ll,focus:Co,blur:Ta,handleMenuEnter:ko,handleResize:it,resetSelectionWidth:Ze,updateTooltip:Vt,updateTagTooltip:Jt,updateOptions:he,toggleMenu:ht,scrollTo:Vl,onInput:an,onKeyboardNavigate:br,onKeyboardSelect:Ae,onEndReached:Ie,onSelect:wn,onHover:St,handleCompositionStart:V,handleCompositionEnd:H,handleCompositionUpdate:P}};var fq=ve({name:"ElSelectV2",components:{ElSelectMenu:uq,ElTag:wl,ElTooltip:Kn,ElIcon:He},directives:{ClickOutside:ds},props:ZY,emits:QY,setup(e,{emit:t}){const n=C(()=>{const{modelValue:u,multiple:c}=e,d=c?[]:void 0;return xe(u)?c?u:d:c?d:u}),o=dq(Kt({...An(e),modelValue:n}),t),{calculatorRef:a,inputStyle:l}=mg(),s=Jn();xt(gy,{props:Kt({...An(e),height:o.popupHeight,modelValue:n}),expanded:o.expanded,tooltipRef:o.tooltipRef,contentId:s,onSelect:o.onSelect,onHover:o.onHover,onKeyboardNavigate:o.onKeyboardNavigate,onKeyboardSelect:o.onKeyboardSelect});const r=C(()=>e.multiple?o.states.cachedOptions.map(u=>o.getLabel(u)):o.states.selectedLabel);return{...o,modelValue:n,selectedLabel:r,calculatorRef:a,inputStyle:l,contentId:s,BORDER_HORIZONTAL_WIDTH:2}}});const pq=["id","value","autocomplete","tabindex","aria-expanded","aria-label","disabled","aria-controls","aria-activedescendant","readonly","name"],vq=["textContent"],hq={key:1};function mq(e,t,n,o,a,l){const s=yt("el-tag"),r=yt("el-tooltip"),u=yt("el-icon"),c=yt("el-select-menu"),d=jm("click-outside");return Ye((E(),z("div",{ref:"selectRef",class:R([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||(t[15]=f=>e.states.inputHovering=!0),onMouseleave:t[16]||(t[16]=f=>e.states.inputHovering=!1)},[Z(r,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[14]||(t[14]=f=>e.states.isBeforeHide=!1)},{default:ae(()=>[I("div",{ref:"wrapperRef",class:R([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[11]||(t[11]=Xe((...f)=>e.toggleMenu&&e.toggleMenu(...f),["prevent"]))},[e.$slots.prefix?(E(),z("div",{key:0,ref:"prefixRef",class:R(e.nsSelect.e("prefix"))},[ue(e.$slots,"prefix")],2)):se("v-if",!0),I("div",{ref:"selectionRef",class:R([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?ue(e.$slots,"tag",{key:0,data:e.states.cachedOptions,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),z(Me,null,dt(e.showTagList,f=>(E(),z("div",{key:e.getValueKey(e.getValue(f)),class:R(e.nsSelect.e("selected-item"))},[Z(s,{closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Be(e.tagStyle),onClose:v=>e.deleteTag(v,f)},{default:ae(()=>[I("span",{class:R(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[Oe(me(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.cachedOptions.length>e.maxCollapseTags?(E(),fe(r,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:ae(()=>[I("div",{ref:"collapseItemRef",class:R(e.nsSelect.e("selected-item"))},[Z(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,style:Be(e.collapseTagStyle),"disable-transitions":""},{default:ae(()=>[I("span",{class:R(e.nsSelect.e("tags-text"))}," + "+me(e.states.cachedOptions.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:ae(()=>[I("div",{ref:"tagMenuRef",class:R(e.nsSelect.e("selection"))},[(E(!0),z(Me,null,dt(e.collapseTagList,f=>(E(),z("div",{key:e.getValueKey(e.getValue(f)),class:R(e.nsSelect.e("selected-item"))},[Z(s,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:v=>e.deleteTag(v,f)},{default:ae(()=>[I("span",{class:R(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[Oe(me(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):se("v-if",!0)]):se("v-if",!0),I("div",{class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||e.multiple&&!e.states.inputValue&&!e.isFocused)])},[I("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,style:Be(e.inputStyle),autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-autocomplete":"none","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:R([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox","aria-controls":e.contentId,"aria-activedescendant":e.states.hoveringIndex>=0?`${e.contentId}-${e.states.hoveringIndex}`:"",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onInput:t[0]||(t[0]=(...f)=>e.onInput&&e.onInput(...f)),onChange:t[1]||(t[1]=Xe(()=>{},["stop"])),onCompositionstart:t[2]||(t[2]=(...f)=>e.handleCompositionStart&&e.handleCompositionStart(...f)),onCompositionupdate:t[3]||(t[3]=(...f)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...f)),onCompositionend:t[4]||(t[4]=(...f)=>e.handleCompositionEnd&&e.handleCompositionEnd(...f)),onKeydown:[t[5]||(t[5]=rn(Xe(f=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[6]||(t[6]=rn(Xe(f=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[7]||(t[7]=rn(Xe((...f)=>e.onKeyboardSelect&&e.onKeyboardSelect(...f),["stop","prevent"]),["enter"])),t[8]||(t[8]=rn(Xe((...f)=>e.handleEsc&&e.handleEsc(...f),["stop","prevent"]),["esc"])),t[9]||(t[9]=rn(Xe((...f)=>e.handleDel&&e.handleDel(...f),["stop"]),["delete"]))],onClick:t[10]||(t[10]=Xe((...f)=>e.toggleMenu&&e.toggleMenu(...f),["stop"]))},null,46,pq),e.filterable?(E(),z("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:R(e.nsSelect.e("input-calculator")),textContent:me(e.states.inputValue)},null,10,vq)):se("v-if",!0)],2),e.shouldShowPlaceholder?(E(),z("div",{key:1,class:R([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?ue(e.$slots,"label",{key:0,index:e.allOptionsValueMap.get(e.modelValue)?.index??-1,label:e.currentPlaceholder,value:e.modelValue},()=>[I("span",null,me(e.currentPlaceholder),1)]):(E(),z("span",hq,me(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),I("div",{ref:"suffixRef",class:R(e.nsSelect.e("suffix"))},[e.iconComponent?Ye((E(),fe(u,{key:0,class:R([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:ae(()=>[(E(),fe(ft(e.iconComponent)))]),_:1},8,["class"])),[[Bt,!e.showClearBtn]]):se("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),fe(u,{key:1,class:R([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.nsSelect.e("clear")]),onClick:Xe(e.handleClear,["prevent","stop"])},{default:ae(()=>[(E(),fe(ft(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),fe(u,{key:2,class:R([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:ae(()=>[(E(),fe(ft(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]),content:ae(()=>[Z(c,{id:e.contentId,ref:"menuRef",data:e.filteredOptions,width:e.popperSize-e.BORDER_HORIZONTAL_WIDTH,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn,"aria-label":e.ariaLabel,onEndReached:e.onEndReached},bo({default:ae(f=>[ue(e.$slots,"default",ml(yl(f)))]),_:2},[e.$slots.header?{name:"header",fn:ae(()=>[I("div",{class:R(e.nsSelect.be("dropdown","header")),onClick:t[12]||(t[12]=Xe(()=>{},["stop"]))},[ue(e.$slots,"header")],2)]),key:"0"}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:ae(()=>[I("div",{class:R(e.nsSelect.be("dropdown","loading"))},[ue(e.$slots,"loading")],2)]),key:"1"}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:ae(()=>[I("div",{class:R(e.nsSelect.be("dropdown","empty"))},[ue(e.$slots,"empty",{},()=>[I("span",null,me(e.emptyText),1)])],2)]),key:"2"}:void 0,e.$slots.footer?{name:"footer",fn:ae(()=>[I("div",{class:R(e.nsSelect.be("dropdown","footer")),onClick:t[13]||(t[13]=Xe(()=>{},["stop"]))},[ue(e.$slots,"footer")],2)]),key:"3"}:void 0]),1032,["id","data","width","hovering-index","scrollbar-always-on","aria-label","onEndReached"])]),_:3},8,["visible","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","placement","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],34)),[[d,e.handleClickOutside,e.popperRef]])}var gq=Dn(fq,[["render",mq]]);const yq=ut(gq),bq=Te({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:oe([Number,Object])}}),wq=Te({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}});var Sq=ve({name:"ElSkeletonItem",__name:"skeleton-item",props:wq,setup(e){const t=ke("skeleton");return(n,o)=>(E(),z("div",{class:R([i(t).e("item"),i(t).e(e.variant)])},[e.variant==="image"?(E(),fe(i(bV),{key:0})):se("v-if",!0)],2))}}),xf=Sq,Cq=ve({name:"ElSkeleton",__name:"skeleton",props:bq,setup(e,{expose:t}){const n=e,o=ke("skeleton"),a=ED(wt(n,"loading"),n.throttle);return t({uiLoading:a}),(l,s)=>i(a)?(E(),z("div",pt({key:0,class:[i(o).b(),i(o).is("animated",e.animated)]},l.$attrs),[(E(!0),z(Me,null,dt(e.count,r=>(E(),z(Me,{key:r},[i(a)?ue(l.$slots,"template",{key:r},()=>[Z(xf,{class:R(i(o).is("first")),variant:"p"},null,8,["class"]),(E(!0),z(Me,null,dt(e.rows,u=>(E(),fe(xf,{key:u,class:R([i(o).e("paragraph"),i(o).is("last",u===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):se("v-if",!0)],64))),128))],16)):ue(l.$slots,"default",ml(pt({key:1},l.$attrs)))}}),kq=Cq;const xq=ut(kq,{SkeletonItem:xf}),Eq=fn(xf),p$=Symbol("sliderContextKey"),$q=Te({modelValue:{type:oe([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:oe([Number,String]),default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:Rn,inputSize:Rn,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:oe(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:oe(Function),default:void 0},tooltipClass:{type:oe([String,Array,Object,Boolean]),default:void 0},placement:{type:String,values:Ja,default:"top"},marks:{type:oe(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...co(["ariaLabel"])}),Ov=e=>We(e)||xe(e)&&e.every(We),Tq={[lt]:Ov,[Nn]:Ov,[Et]:Ov},_q=(e,t,n)=>{const o=F();return at(async()=>{e.range?(xe(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!We(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),jt(window,"resize",n),await Re(),n()}),{sliderWrapper:o}},Nq=e=>{const t=C(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((n,o)=>n-o).filter(n=>n<=e.max&&n>=e.min).map(n=>({point:n,position:(n-e.min)*100/(e.max-e.min),mark:e.marks[n]})):[]);return uo(()=>{if(e.step==="mark"&&!e.marks&&Yt("ElSlider","marks prop must be provided when step is mark"),e.marks){const n=Object.keys(e.marks),o=t.value.map(l=>l.point),a=n.filter(l=>{const s=Number.parseFloat(l);return Number.isNaN(s)||!o.includes(s)});a.length>0&&Yt("ElSlider",`Some marks keys are invalid (not a number or out of [min, max]): [${a.map(l=>`'${l}'`).join(", ")}] and will be ignored.`)}}),t},Iq=(e,t,n)=>{const{formItem:o}=Wn(),a=kt(),l=F(),s=F(),r={firstButton:l,secondButton:s},u=pn(),c=C(()=>Math.min(t.firstValue,t.secondValue)),d=C(()=>Math.max(t.firstValue,t.secondValue)),f=C(()=>e.range?`${100*(d.value-c.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),v=C(()=>e.range?`${100*(c.value-e.min)/(e.max-e.min)}%`:"0%"),h=C(()=>e.vertical?{height:e.height}:{}),g=C(()=>e.vertical?{height:f.value,bottom:v.value}:{width:f.value,left:v.value}),p=()=>{a.value&&(t.sliderSize=a.value.getBoundingClientRect()[e.vertical?"height":"width"])},m=D=>{const N=e.min+D*(e.max-e.min)/100;if(!e.range)return l;let W;return Math.abs(c.value-N)t.secondValue?"firstButton":"secondButton",r[W]},y=D=>{const N=m(D);return N.value.setPosition(D),N},b=D=>{t.firstValue=D??e.min,S(e.range?[c.value,d.value]:D??e.min)},w=D=>{t.secondValue=D,e.range&&S([c.value,d.value])},S=D=>{n(lt,D),n(Nn,D)},k=async()=>{await Re(),n(Et,e.range?[c.value,d.value]:e.modelValue)},x=D=>{if(u.value||t.dragging)return;p();let N=0;if(e.vertical){const W=D.touches?.item(0)?.clientY??D.clientY;N=(a.value.getBoundingClientRect().bottom-W)/t.sliderSize*100}else N=((D.touches?.item(0)?.clientX??D.clientX)-a.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(N<0||N>100))return y(N)};return{elFormItem:o,slider:a,firstButton:l,secondButton:s,sliderDisabled:u,minValue:c,maxValue:d,runwayStyle:h,barStyle:g,resetSize:p,setPosition:y,emitChange:k,onSliderWrapperPrevent:D=>{(r.firstButton.value?.dragging||r.secondButton.value?.dragging)&&D.preventDefault()},onSliderClick:D=>{x(D)&&k()},onSliderDown:async D=>{const N=x(D);N&&(await Re(),N.value.onButtonDown(D))},onSliderMarkerDown:D=>{u.value||t.dragging||y(D)&&k()},setFirstValue:b,setSecondValue:w}},Oq=(e,t,n,o)=>({stops:C(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step==="mark"||e.step===0)return e.step===0&&Yt("ElSlider","step should not be 0."),[];const s=Math.ceil((e.max-e.min)/e.step),r=100*e.step/(e.max-e.min),u=Array.from({length:s-1}).map((c,d)=>(d+1)*r);return e.range?u.filter(c=>c<100*(n.value-e.min)/(e.max-e.min)||c>100*(o.value-e.min)/(e.max-e.min)):u.filter(c=>c>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:s=>e.vertical?{bottom:`${s}%`}:{left:`${s}%`}}),Mq=(e,t,n,o,a,l)=>{const s=c=>{a(lt,c),a(Nn,c)},r=()=>e.range?![n.value,o.value].every((c,d)=>c===t.oldValue[d]):e.modelValue!==t.oldValue,u=()=>{e.min>e.max&&dn("Slider","min should not be greater than max.");const c=e.modelValue;e.range&&xe(c)?c[1]e.max?s([e.max,e.max]):c[0]e.max?s([c[0],e.max]):(t.firstValue=c[0],t.secondValue=c[1],r()&&(e.validateEvent&&l?.validate?.("change").catch(mt),t.oldValue=c.slice())):!e.range&&We(c)&&!Number.isNaN(c)&&(ce.max?s(e.max):(t.firstValue=c,r()&&(e.validateEvent&&l?.validate?.("change").catch(mt),t.oldValue=c)))};u(),ge(()=>t.dragging,c=>{c||u()}),ge(()=>e.modelValue,(c,d)=>{t.dragging||xe(c)&&xe(d)&&c.every((f,v)=>f===d[v])&&t.firstValue===c[0]&&t.secondValue===c[1]||u()},{deep:!0}),ge(()=>[e.min,e.max],()=>{u()})},Pq=(e,t,n)=>{const o=F(),a=F(!1),l=C(()=>t.value instanceof Function);return{tooltip:o,tooltipVisible:a,formatValue:C(()=>l.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:ja(()=>{n.value&&(a.value=!0)},50),hideTooltip:ja(()=>{n.value&&(a.value=!1)},50)}},Rq=(e,t,n)=>{const{disabled:o,min:a,max:l,step:s,showTooltip:r,persistent:u,precision:c,sliderSize:d,formatTooltip:f,emitChange:v,resetSize:h,updateDragging:g,markList:p}=Fe(p$),{tooltip:m,tooltipVisible:y,formatValue:b,displayTooltip:w,hideTooltip:S}=Pq(e,f,r),k=F(),x=C(()=>`${(e.modelValue-a.value)/(l.value-a.value)*100}%`),$=C(()=>e.vertical?{bottom:x.value}:{left:x.value}),T=C(()=>s.value==="mark"&&p.value.length>0),_=()=>{t.hovering=!0,w()},A=()=>{t.hovering=!1,t.dragging||S()},D=Q=>{o.value||(Q.preventDefault(),X(Q),window.addEventListener("mousemove",J),window.addEventListener("touchmove",J),window.addEventListener("mouseup",ne),window.addEventListener("touchend",ne),window.addEventListener("contextmenu",ne),k.value.focus())},N=Q=>{o.value||(t.newPosition=Number.parseFloat(x.value)+Q/(l.value-a.value)*100,re(t.newPosition),v())},W=Q=>{if(o.value||!p.value.length)return;const ce=e.modelValue,we=Number.EPSILON,Se=Math.abs(Q);let le;if(Q>0){const ie=p.value.findIndex(j=>j.point>ce+we);if(ie!==-1){const j=Math.min(ie+Se-1,p.value.length-1);le=p.value[j].point}}else{let ie=-1;for(let j=p.value.length-1;j>=0;j--)if(p.value[j].point{T.value?W(-1):We(s.value)&&N(-s.value)},H=()=>{T.value?W(1):We(s.value)&&N(s.value)},P=()=>{T.value?W(-4):We(s.value)&&N(-s.value*4)},O=()=>{T.value?W(4):We(s.value)&&N(s.value*4)},M=()=>{o.value||(re(0),v())},B=()=>{o.value||(re(100),v())},L=Q=>{const ce=Zt(Q);let we=!0;switch(ce){case Ee.left:case Ee.down:V();break;case Ee.right:case Ee.up:H();break;case Ee.home:M();break;case Ee.end:B();break;case Ee.pageDown:P();break;case Ee.pageUp:O();break;default:we=!1;break}we&&Q.preventDefault()},K=Q=>{let ce,we;return Q.type.startsWith("touch")?(we=Q.touches[0].clientY,ce=Q.touches[0].clientX):(we=Q.clientY,ce=Q.clientX),{clientX:ce,clientY:we}},X=Q=>{t.dragging=!0,t.isClick=!0;const{clientX:ce,clientY:we}=K(Q);e.vertical?t.startY=we:t.startX=ce,t.startPosition=Number.parseFloat(x.value),t.newPosition=t.startPosition},J=Q=>{if(t.dragging){t.isClick=!1,w(),h();let ce;const{clientX:we,clientY:Se}=K(Q);e.vertical?(t.currentY=Se,ce=(t.startY-t.currentY)/d.value*100):(t.currentX=we,ce=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+ce,re(t.newPosition)}},ne=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||S(),t.isClick||re(t.newPosition),v()},0),window.removeEventListener("mousemove",J),window.removeEventListener("touchmove",J),window.removeEventListener("mouseup",ne),window.removeEventListener("touchend",ne),window.removeEventListener("contextmenu",ne))},re=async Q=>{if(Q===null||Number.isNaN(+Q))return;Q=To(Q,0,100);let ce;if(s.value==="mark")p.value.length===0?ce=Q<=50?a.value:l.value:ce=p.value.reduce((we,Se)=>Math.abs(Se.position-Q)t.dragging,Q=>{g(Q)}),jt(k,"touchstart",D,{passive:!1}),{disabled:o,button:k,tooltip:m,tooltipVisible:y,showTooltip:r,persistent:u,wrapperStyle:$,formatValue:b,handleMouseEnter:_,handleMouseLeave:A,onButtonDown:D,onKeyDown:L,setPosition:re}},Aq=Te({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:{type:oe([String,Array,Object,Boolean]),default:void 0},placement:{type:String,values:Ja,default:"top"}}),Dq={[lt]:e=>We(e)},Lq=["tabindex"];var Vq=ve({name:"ElSliderButton",__name:"button",props:Aq,emits:Dq,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("slider"),s=Kt({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:o.modelValue}),r=C(()=>f.value?v.value:!1),{disabled:u,button:c,tooltip:d,showTooltip:f,persistent:v,tooltipVisible:h,wrapperStyle:g,formatValue:p,handleMouseEnter:m,handleMouseLeave:y,onButtonDown:b,onKeyDown:w,setPosition:S}=Rq(o,s,a),{hovering:k,dragging:x}=An(s);return t({onButtonDown:b,onKeyDown:w,setPosition:S,hovering:k,dragging:x}),($,T)=>(E(),z("div",{ref_key:"button",ref:c,class:R([i(l).e("button-wrapper"),{hover:i(k),dragging:i(x)}]),style:Be(i(g)),tabindex:i(u)?void 0:0,onMouseenter:T[0]||(T[0]=(..._)=>i(m)&&i(m)(..._)),onMouseleave:T[1]||(T[1]=(..._)=>i(y)&&i(y)(..._)),onMousedown:T[2]||(T[2]=(..._)=>i(b)&&i(b)(..._)),onFocus:T[3]||(T[3]=(..._)=>i(m)&&i(m)(..._)),onBlur:T[4]||(T[4]=(..._)=>i(y)&&i(y)(..._)),onKeydown:T[5]||(T[5]=(..._)=>i(w)&&i(w)(..._))},[Z(i(Kn),{ref_key:"tooltip",ref:d,visible:i(h),placement:$.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":$.tooltipClass,disabled:!i(f),persistent:r.value},{content:ae(()=>[I("span",null,me(i(p)),1)]),default:ae(()=>[I("div",{class:R([i(l).e("button"),{hover:i(k),dragging:i(x)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled","persistent"])],46,Lq))}}),gw=Vq;const Bq=Te({mark:{type:oe([String,Object]),default:void 0}});var Fq=ve({name:"ElSliderMarker",props:Bq,setup(e){const t=ke("slider"),n=C(()=>ze(e.mark)?e.mark:e.mark.label),o=C(()=>ze(e.mark)?void 0:e.mark.style);return()=>Le("div",{class:t.e("marks-text"),style:o.value},n.value)}});const zq=["id","role","aria-label","aria-labelledby"],Hq={key:1};var Kq=ve({name:"ElSlider",__name:"slider",props:$q,emits:Tq,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("slider"),{t:s}=_t(),r=Kt({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:u,slider:c,firstButton:d,secondButton:f,sliderDisabled:v,minValue:h,maxValue:g,runwayStyle:p,barStyle:m,resetSize:y,emitChange:b,onSliderWrapperPrevent:w,onSliderClick:S,onSliderDown:k,onSliderMarkerDown:x,setFirstValue:$,setSecondValue:T}=Iq(o,r,a),{stops:_,getStopStyle:A}=Oq(o,r,h,g),{inputId:D,isLabeledByFormItem:N}=Ro(o,{formItemContext:u}),W=In(),V=C(()=>o.inputSize||W.value),H=C(()=>o.showInput&&!o.range&&o.step!=="mark"),P=C(()=>o.ariaLabel||s("el.slider.defaultLabel",{min:o.min,max:o.max})),O=C(()=>o.range?o.rangeStartLabel||s("el.slider.defaultRangeStartLabel"):P.value),M=C(()=>o.formatValueText?o.formatValueText(Q.value):`${Q.value}`),B=C(()=>o.rangeEndLabel||s("el.slider.defaultRangeEndLabel")),L=C(()=>o.formatValueText?o.formatValueText(ce.value):`${ce.value}`),K=C(()=>[l.b(),l.m(W.value),l.is("vertical",o.vertical),{[l.m("with-input")]:H.value}]),X=Nq(o);Mq(o,r,h,g,a,u);const J=C(()=>We(o.step)?o.step:1),ne=C(()=>{const le=We(o.step)?o.step:1,ie=[o.min,o.max,le].map(j=>{const ee=`${j}`.split(".")[1];return ee?ee.length:0});return Math.max.apply(null,ie)}),{sliderWrapper:re}=_q(o,r,y),{firstValue:Q,secondValue:ce,sliderSize:we}=An(r),Se=le=>{r.dragging=le};return jt(re,"touchstart",w,{passive:!1}),jt(re,"touchmove",w,{passive:!1}),xt(p$,{...An(o),sliderSize:we,disabled:v,precision:ne,markList:X,emitChange:b,resetSize:y,updateDragging:Se}),t({onSliderClick:S}),(le,ie)=>(E(),z("div",{id:le.range?i(D):void 0,ref_key:"sliderWrapper",ref:re,class:R(K.value),role:le.range?"group":void 0,"aria-label":le.range&&!i(N)?P.value:void 0,"aria-labelledby":le.range&&i(N)?i(u)?.labelId:void 0},[I("div",{ref_key:"slider",ref:c,class:R([i(l).e("runway"),{"show-input":H.value},i(l).is("disabled",i(v))]),style:Be(i(p)),onMousedown:ie[0]||(ie[0]=(...j)=>i(k)&&i(k)(...j)),onTouchstartPassive:ie[1]||(ie[1]=(...j)=>i(k)&&i(k)(...j))},[I("div",{class:R(i(l).e("bar")),style:Be(i(m))},null,6),Z(gw,{id:le.range?void 0:i(D),ref_key:"firstButton",ref:d,"model-value":i(Q),vertical:le.vertical,"tooltip-class":le.tooltipClass,placement:le.placement,role:"slider","aria-label":le.range||!i(N)?O.value:void 0,"aria-labelledby":!le.range&&i(N)?i(u)?.labelId:void 0,"aria-valuemin":le.min,"aria-valuemax":le.range?i(ce):le.max,"aria-valuenow":i(Q),"aria-valuetext":M.value,"aria-orientation":le.vertical?"vertical":"horizontal","aria-disabled":i(v),"onUpdate:modelValue":i($)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),le.range?(E(),fe(gw,{key:0,ref_key:"secondButton",ref:f,"model-value":i(ce),vertical:le.vertical,"tooltip-class":le.tooltipClass,placement:le.placement,role:"slider","aria-label":B.value,"aria-valuemin":i(Q),"aria-valuemax":le.max,"aria-valuenow":i(ce),"aria-valuetext":L.value,"aria-orientation":le.vertical?"vertical":"horizontal","aria-disabled":i(v),"onUpdate:modelValue":i(T)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):se("v-if",!0),le.showStops?(E(),z("div",Hq,[(E(!0),z(Me,null,dt(i(_),(j,ee)=>(E(),z("div",{key:ee,class:R(i(l).e("stop")),style:Be(i(A)(j))},null,6))),128))])):se("v-if",!0),i(X).length>0?(E(),z(Me,{key:2},[I("div",null,[(E(!0),z(Me,null,dt(i(X),(j,ee)=>(E(),z("div",{key:ee,style:Be(i(A)(j.position)),class:R([i(l).e("stop"),i(l).e("marks-stop")])},null,6))),128))]),I("div",{class:R(i(l).e("marks"))},[(E(!0),z(Me,null,dt(i(X),(j,ee)=>(E(),fe(i(Fq),{key:ee,mark:j.mark,style:Be(i(A)(j.position)),onMousedown:Xe(Y=>i(x)(j.position),["stop"])},null,8,["mark","style","onMousedown"]))),128))],2)],64)):se("v-if",!0)],38),H.value?(E(),fe(i(r$),{key:0,ref:"input","model-value":i(Q),class:R(i(l).e("input")),step:J.value,disabled:i(v),controls:le.showInputControls,min:le.min,max:le.max,precision:ne.value,size:V.value,"onUpdate:modelValue":i($),onChange:i(b)},null,8,["model-value","class","step","disabled","controls","min","max","precision","size","onUpdate:modelValue","onChange"])):se("v-if",!0)],10,zq))}}),Wq=Kq;const jq=ut(Wq),Uq=Te({prefixCls:{type:String}}),yw=ve({name:"ElSpaceItem",props:Uq,setup(e,{slots:t}){const n=ke("space"),o=C(()=>`${e.prefixCls||n.b()}__item`);return()=>Le("div",{class:o.value},ue(t,"default"))}}),bw={small:8,default:12,large:16};function Yq(e){const t=ke("space"),n=C(()=>[t.b(),t.m(e.direction),e.class]),o=F(0),a=F(0),l=C(()=>[e.wrap||e.fill?{flexWrap:"wrap"}:{},{alignItems:e.alignment},{rowGap:`${a.value}px`,columnGap:`${o.value}px`},e.style]),s=C(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return uo(()=>{const{size:r="small",wrap:u,direction:c,fill:d}=e;if(xe(r)){const[f=0,v=0]=r;o.value=f,a.value=v}else{let f;We(r)?f=r:f=bw[r||"small"]||bw.small,(u||d)&&c==="horizontal"?o.value=a.value=f:c==="horizontal"?(o.value=f,a.value=0):(a.value=f,o.value=0)}}),{classes:n,containerStyle:l,itemStyle:s}}const qq=Te({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:oe([String,Object,Array,Boolean]),default:""},style:{type:oe([String,Array,Object,Boolean]),default:""},alignment:{type:oe(String),default:"center"},prefixCls:{type:String},spacer:{type:oe([Object,String,Number,Array]),default:null,validator:e=>tn(e)||We(e)||ze(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:Ca,validator:e=>We(e)||xe(e)&&e.length===2&&e.every(We)}}),Gq=ve({name:"ElSpace",props:qq,setup(e,{slots:t}){const{classes:n,containerStyle:o,itemStyle:a}=Yq(e);function l(s,r="",u=[]){const{prefixCls:c}=e;return s.forEach((d,f)=>{wh(d)?xe(d.children)&&d.children.forEach((v,h)=>{wh(v)&&xe(v.children)?l(v.children,`${r+h}-`,u):tn(v)&&v?.type===_n?u.push(v):u.push(Z(yw,{style:a.value,prefixCls:c,key:`nested-${r+h}`},{default:()=>[v]},12,["style","prefixCls"]))}):$L(d)&&u.push(Z(yw,{style:a.value,prefixCls:c,key:`LoopKey${r+f}`},{default:()=>[d]},12,["style","prefixCls"]))}),u}return()=>{const{spacer:s,direction:r}=e,u=ue(t,"default",{key:0},()=>[]);if((u.children??[]).length===0)return null;if(xe(u.children)){let c=l(u.children);if(s){const d=c.length-1;c=c.reduce((f,v,h)=>{const g=[...f,v];return h!==d&&g.push(Z("span",{style:[a.value,r==="vertical"?"width: 100%":null],key:h},[tn(s)?ya(s):Oe(s,1)],4)),g},[])}return Z("div",{class:n.value,style:o.value},c,6)}return u.children}}}),Xq=ut(Gq),Zq=Te({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),Jq={[Et]:(e,t)=>[e,t].every(We)},v$="ElSteps",Qq=Te({title:{type:String,default:""},icon:{type:Xt},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}});var eG=ve({name:"ElSteps",__name:"steps",props:Zq,emits:Jq,setup(e,{emit:t}){const n=e,o=t,a=ke("steps"),{children:l,addChild:s,removeChild:r,ChildrenSorter:u}=wp(ct(),"ElStep");return ge(l,()=>{l.value.forEach((c,d)=>{c.setIndex(d)})}),xt(v$,{props:n,steps:l,addStep:s,removeStep:r}),ge(()=>n.active,(c,d)=>{o(Et,c,d)}),(c,d)=>(E(),z("div",{class:R([i(a).b(),i(a).m(e.simple?"simple":e.direction)])},[ue(c.$slots,"default"),Z(i(u))],2))}}),tG=eG,nG=ve({name:"ElStep",__name:"item",props:Qq,setup(e){const t=e,n=ke("step"),o=F(-1),a=F({}),l=F(""),s=Fe(v$),r=ct();let u=0,c=0;at(()=>{ge([()=>s.props.active,()=>s.props.processStatus,()=>s.props.finishStatus],([T],[_])=>{c=_||0,u=T-c,x(T)},{immediate:!0})});const d=C(()=>t.status||l.value),f=C(()=>{const T=s.steps.value[o.value-1];return T?T.internalStatus.value:"wait"}),v=C(()=>s.props.alignCenter),h=C(()=>s.props.direction==="vertical"),g=C(()=>s.props.simple),p=C(()=>s.steps.value.length),m=C(()=>s.steps.value[p.value-1]?.uid===r.uid),y=C(()=>g.value?"":s.props.space),b=C(()=>[n.b(),n.is(g.value?"simple":s.props.direction),n.is("flex",m.value&&!y.value&&!v.value),n.is("center",v.value&&!h.value&&!g.value)]),w=C(()=>{const T={flexBasis:We(y.value)?`${y.value}px`:y.value?y.value:`${100/(p.value-(v.value?0:1))}%`};return h.value||m.value&&(T.maxWidth=`${100/p.value}%`),T}),S=T=>{o.value=T},k=T=>{const _=T==="wait",A={transitionDelay:`${Math.abs(u)===1?0:u>0?(o.value+1-c)*150:-(o.value+1-s.props.active)*150}ms`},D=T===s.props.processStatus||_?0:100;A.borderWidth=D&&!g.value?"1px":0,A[s.props.direction==="vertical"?"height":"width"]=`${D}%`,a.value=A},x=T=>{T>o.value?l.value=s.props.finishStatus:T===o.value&&f.value!=="error"?l.value=s.props.processStatus:l.value="wait";const _=s.steps.value[o.value-1];_&&_.calcProgress(l.value)},$={uid:r.uid,getVnode:()=>r.vnode,currentStatus:d,internalStatus:l,setIndex:S,calcProgress:k};return s.addStep($),Ft(()=>{s.removeStep($)}),(T,_)=>(E(),z("div",{style:Be(w.value),class:R(b.value)},[se(" icon & line "),I("div",{class:R([i(n).e("head"),i(n).is(d.value)])},[g.value?se("v-if",!0):(E(),z("div",{key:0,class:R(i(n).e("line"))},[I("i",{class:R(i(n).e("line-inner")),style:Be(a.value)},null,6)],2)),I("div",{class:R([i(n).e("icon"),i(n).is(e.icon||T.$slots.icon?"icon":"text")])},[ue(T.$slots,"icon",{},()=>[e.icon?(E(),fe(i(He),{key:0,class:R(i(n).e("icon-inner"))},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1},8,["class"])):d.value==="success"?(E(),fe(i(He),{key:1,class:R([i(n).e("icon-inner"),i(n).is("status")])},{default:ae(()=>[Z(i(ii))]),_:1},8,["class"])):d.value==="error"?(E(),fe(i(He),{key:2,class:R([i(n).e("icon-inner"),i(n).is("status")])},{default:ae(()=>[Z(i(la))]),_:1},8,["class"])):g.value?se("v-if",!0):(E(),z("div",{key:3,class:R(i(n).e("icon-inner"))},me(o.value+1),3))])],2)],2),se(" title & description "),I("div",{class:R(i(n).e("main"))},[I("div",{class:R([i(n).e("title"),i(n).is(d.value)])},[ue(T.$slots,"title",{},()=>[Oe(me(e.title),1)])],2),g.value?(E(),z("div",{key:0,class:R(i(n).e("arrow"))},null,2)):(E(),z("div",{key:1,class:R([i(n).e("description"),i(n).is(d.value)])},[ue(T.$slots,"description",{},()=>[Oe(me(e.description),1)])],2))],2)],6))}}),h$=nG;const oG=ut(tG,{Step:h$}),aG=fn(h$),m$=e=>["",...Ca].includes(e),lG=Te({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:m$},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:Xt},activeActionIcon:{type:Xt},activeIcon:{type:Xt},inactiveIcon:{type:Xt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:oe(Function)},id:String,tabindex:{type:[String,Number]},...co(["ariaLabel"])}),sG={[lt]:e=>Gt(e)||ze(e)||We(e),[Et]:e=>Gt(e)||ze(e)||We(e),[Nn]:e=>Gt(e)||ze(e)||We(e)},rG=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],iG=["aria-hidden"],uG={key:1},cG={key:1},dG=["aria-hidden"],qc="ElSwitch";var fG=ve({name:qc,__name:"switch",props:lG,emits:sG,setup(e,{expose:t,emit:n}){const o=e,a=n,{formItem:l}=Wn(),s=In(),r=ke("switch"),{inputId:u}=Ro(o,{formItemContext:l}),c=pn(C(()=>{if(o.loading)return!0})),d=F(o.modelValue!==!1),f=kt(),v=C(()=>[r.b(),r.m(s.value),r.is("disabled",c.value),r.is("checked",y.value)]),h=C(()=>[r.e("label"),r.em("label","left"),r.is("active",!y.value)]),g=C(()=>[r.e("label"),r.em("label","right"),r.is("active",y.value)]),p=C(()=>({width:mn(o.width)}));ge(()=>o.modelValue,()=>{d.value=!0});const m=C(()=>d.value?o.modelValue:!1),y=C(()=>m.value===o.activeValue);[o.activeValue,o.inactiveValue].includes(m.value)||(Yt(qc,"model-value must be active-value or inactive-value"),a(lt,o.inactiveValue),a(Et,o.inactiveValue),a(Nn,o.inactiveValue)),ge(y,k=>{f.value.checked=k,o.validateEvent&&l?.validate?.("change").catch(mt)});const b=()=>{const k=y.value?o.inactiveValue:o.activeValue;a(lt,k),a(Et,k),a(Nn,k),Re(()=>{f.value.checked=y.value})},w=()=>{if(c.value)return;const{beforeChange:k}=o;if(!k){b();return}const x=k();[os(x),Gt(x)].includes(!0)||dn(qc,"beforeChange must return type `Promise` or `boolean`"),os(x)?x.then($=>{$&&b()}).catch($=>{Yt(qc,`some error occurred: ${$}`)}):x&&b()},S=()=>{f.value?.focus?.()};return at(()=>{f.value.checked=y.value}),t({focus:S,checked:y}),(k,x)=>(E(),z("div",{class:R(v.value),onClick:Xe(w,["prevent"])},[I("input",{id:i(u),ref_key:"input",ref:f,class:R(i(r).e("input")),type:"checkbox",role:"switch","aria-checked":y.value,"aria-disabled":i(c),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:i(c),tabindex:e.tabindex,onChange:b,onKeydown:rn(w,["enter"])},null,42,rG),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||k.$slots.inactive)?(E(),z("span",{key:0,class:R(h.value)},[ue(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.inactiveIcon)))]),_:1})):se("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),z("span",{key:1,"aria-hidden":y.value},me(e.inactiveText),9,iG)):se("v-if",!0)])],2)):se("v-if",!0),I("span",{class:R(i(r).e("core")),style:Be(p.value)},[e.inlinePrompt?(E(),z("div",{key:0,class:R(i(r).e("inner"))},[y.value?(E(),z("div",{key:1,class:R(i(r).e("inner-wrapper"))},[ue(k.$slots,"active",{},()=>[e.activeIcon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.activeIcon)))]),_:1})):se("v-if",!0),!e.activeIcon&&e.activeText?(E(),z("span",cG,me(e.activeText),1)):se("v-if",!0)])],2)):(E(),z("div",{key:0,class:R(i(r).e("inner-wrapper"))},[ue(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.inactiveIcon)))]),_:1})):se("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),z("span",uG,me(e.inactiveText),1)):se("v-if",!0)])],2))],2)):se("v-if",!0),I("div",{class:R(i(r).e("action"))},[e.loading?(E(),fe(i(He),{key:0,class:R(i(r).is("loading"))},{default:ae(()=>[Z(i(sa))]),_:1},8,["class"])):y.value?ue(k.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.activeActionIcon)))]),_:1})):se("v-if",!0)]):y.value?se("v-if",!0):ue(k.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.inactiveActionIcon)))]),_:1})):se("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||k.$slots.active)?(E(),z("span",{key:1,class:R(g.value)},[ue(k.$slots,"active",{},()=>[e.activeIcon?(E(),fe(i(He),{key:0},{default:ae(()=>[(E(),fe(ft(e.activeIcon)))]),_:1})):se("v-if",!0),!e.activeIcon&&e.activeText?(E(),z("span",{key:1,"aria-hidden":!y.value},me(e.activeText),9,dG)):se("v-if",!0)])],2)):se("v-if",!0)],2))}}),pG=fG;const vG=ut(pG),hG={data:{type:Array,default:()=>[]},size:Rn,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array,Boolean],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};let mG=1,gG=1;const yG=e=>`${e}-table_${mG++}`,bG=e=>`${e}_column_${gG++}`,Mv=function(e){return e.target?.closest("td")},wG=function(e,t,n,o,a){if(!t&&!o&&(!a||xe(a)&&!a.length))return e;ze(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const l=o?null:function(r,u){return a?Wk(Bn(a),c=>ze(c)?En(r,c):c(r,u,e)):(t!=="$key"&&st(r)&&"$value"in r&&(r=r.$value),[st(r)?t?En(r,t):null:r])},s=function(r,u){if(o)return o(r.value,u.value);for(let c=0,d=r.key?.length??0;cu.key?.[c])return 1}return 0};return e.map((r,u)=>({value:r,index:u,key:l?l(r,u):null})).sort((r,u)=>{let c=s(r,u);return c||(c=r.index-u.index),c*+n}).map(r=>r.value)},g$=function(e,t){let n=null;return e.columns.forEach(o=>{o.id===t&&(n=o)}),n},SG=function(e,t){let n=null;for(let o=0;o{if(!e)throw new Error("Row is required when get row identity");if(ze(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let o=e;for(const a of n)o=o[a];return`${o}`}else if(je(t))return t.call(null,e);return""},Kr=function(e,t,n=!1,o="children"){const a=e||[],l={};return a.forEach((s,r)=>{if(l[Tn(s,t)]={row:s,index:r},n){const u=s[o];xe(u)&&Object.assign(l,Kr(u,t,!0,o))}}),l};function CG(e,t){const n={};let o;for(o in e)n[o]=e[o];for(o in t)if(zt(t,o)){const a=t[o];It(a)||(n[o]=a)}return n}function yy(e){return e===""||It(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function y$(e){return e===""||It(e)||(e=yy(e),Number.isNaN(e)&&(e=80)),e}function kG(e){return We(e)?e:ze(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function xG(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...o)=>t(n(...o)))}function Pr(e,t,n,o,a,l,s){let r=l??0,u=!1;const d=(()=>{if(!s)return e.indexOf(t);const p=Tn(t,s);return e.findIndex(m=>Tn(m,s)===p)})(),f=d!==-1,v=a?.call(null,t,r),h=p=>{p==="add"?e.push(t):e.splice(d,1),u=!0},g=p=>{let m=0;const y=o?.children&&p[o.children];return y&&xe(y)&&(m+=y.length,y.forEach(b=>{m+=g(b)})),m};return(!a||v)&&(Gt(n)?n&&!f?h("add"):!n&&f&&h("remove"):h(f?"remove":"add")),!o?.checkStrictly&&o?.children&&xe(t[o.children])&&t[o.children].forEach(p=>{const m=Pr(e,p,n??!f,o,a,r+1,s);r+=g(p)+1,m&&(u=m)}),u}function EG(e,t,n="children",o="hasChildren",a=!1){const l=r=>!(xe(r)&&r.length);function s(r,u,c){t(r,u,c),u.forEach(d=>{if(d[o]&&a){t(d,null,c+1);return}const f=d[n];l(f)||s(d,f,c+1)})}e.forEach(r=>{if(r[o]&&a){t(r,null,0);return}const u=r[n];l(u)||s(r,u,0)})}const $G=(e,t,n,o)=>{const a=je(o?.tooltipFormatter)?o.tooltipFormatter({row:n,column:o,cellValue:es(n,o.property).value}):void 0;return tn(a)?{slotContent:a,content:null,strategy:"fixed",...e}:{slotContent:null,content:a??t,strategy:"fixed",...e}};let Eo=null;function TG(e,t,n,o,a,l){const s=$G(e,t,n,o),r={...s,slotContent:void 0};if(Eo?.trigger===a){const h=Eo.vm?.component;Uk(h?.props,r),h&&s.slotContent&&(h.slots.content=()=>[s.slotContent]);return}Eo?.();const u=l?.refs.tableWrapper,c=u?.dataset.prefix,d=Z(Kn,{virtualTriggering:!0,virtualRef:a,appendTo:u,placement:"top",transition:"none",offset:0,hideAfter:0,...r},s.slotContent?{content:()=>s.slotContent}:void 0);d.appContext={...l.appContext,...l};const f=document.createElement("div");ss(d,f),d.component.exposed.onOpen();const v=u?.querySelector(`.${c}-scrollbar__wrap`);Eo=()=>{d.component?.exposed?.onClose&&d.component.exposed.onClose(),ss(null,f);const h=Eo;v?.removeEventListener("scroll",h),h.trigger=void 0,h.vm=void 0,Eo=null},Eo.trigger=a??void 0,Eo.vm=d,v?.addEventListener("scroll",Eo)}function b$(e){return e.children?Wk(e.children,b$):[e]}function Sw(e,t){return e+t.colSpan}const w$=(e,t,n,o)=>{let a=0,l=e;const s=n.states.columns.value;if(o){const u=b$(o[e]);a=s.slice(0,s.indexOf(u[0])).reduce(Sw,0),l=a+u.reduce(Sw,0)-1}else a=e;let r;switch(t){case"left":l=s.length-n.states.rightFixedLeafColumnsLength.value&&(r="right");break;default:l=s.length-n.states.rightFixedLeafColumnsLength.value&&(r="right")}return r?{direction:r,start:a,after:l}:{}},by=(e,t,n,o,a,l=0)=>{const s=[],{direction:r,start:u,after:c}=w$(t,n,o,a);if(r){const d=r==="left";s.push(`${e}-fixed-column--${r}`),d&&c+l===o.states.fixedLeafColumnsLength.value-1?s.push("is-last-column"):!d&&u-l===o.states.columns.value.length-o.states.rightFixedLeafColumnsLength.value&&s.push("is-first-column")}return s};function Cw(e,t){return e+(ip(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const wy=(e,t,n,o)=>{const{direction:a,start:l=0,after:s=0}=w$(e,t,n,o);if(!a)return;const r={},u=a==="left",c=n.states.columns.value;return u?r.left=c.slice(0,l).reduce(Cw,0):r.right=c.slice(s+1).reverse().reduce(Cw,0),r},di=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function S$(e){return e.some(t=>tn(t)?!(t.type===_n||t.type===Me&&!S$(t.children)):!0)?e:null}function _G(e){const t=ct(),n=F(!1),o=F([]),a=(c,d)=>{const f=t.store.states.rowExpandable.value;return f?.(c,d)??!0};return{updateExpandRows:()=>{const c=e.data.value||[],d=e.rowKey.value;if(n.value)o.value=t.store.states.rowExpandable.value?c.filter(a):c.slice();else if(d){const f=Kr(o.value,d);o.value=c.filter((v,h)=>!!f[Tn(v,d)]&&a(v,h))}else o.value=[]},toggleRowExpansion:(c,d)=>{const f=(e.data.value||[]).indexOf(c);f>-1&&!a(c,f)||Pr(o.value,c,d,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",c,o.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const d=e.data.value||[],f=e.rowKey.value,v=Kr(d,f);o.value=c.reduce((h,g)=>{const p=v[g];return p&&a(p.row,p.index)&&h.push(p.row),h},[])},isRowExpanded:c=>{const d=e.rowKey.value;return d?!!Kr(o.value,d)[Tn(c,d)]:o.value.includes(c)},states:{expandRows:o,defaultExpandAll:n}}}function NG(e){const t=ct(),n=F(null),o=F(null),a=c=>{t.store.assertRowKey(),n.value=c,s(c)},l=()=>{n.value=null},s=c=>{const{data:d,rowKey:f}=e,v=o.value;let h=null;f.value&&(h=(i(d)||[]).find(g=>Tn(g,f.value)===c)??null),o.value=h??null,t.emit("current-change",o.value,v)};return{setCurrentRowKey:a,restoreCurrentRowKey:l,setCurrentRowByKey:s,updateCurrentRow:c=>{const d=o.value;if(c&&c!==d){o.value=c,t.emit("current-change",o.value,d);return}!c&&d&&(o.value=null,t.emit("current-change",null,d))},updateCurrentRowData:()=>{const c=e.rowKey.value,d=e.data.value||[],f=o.value;f&&!d.includes(f)?c?s(Tn(f,c)):(o.value=null,t.emit("current-change",null,f)):n.value&&(s(n.value),l())},states:{_currentRowKey:n,currentRow:o}}}function IG(e){const t=F([]),n=F({}),o=F(16),a=F(!1),l=F({}),s=F("hasChildren"),r=F("children"),u=F(!1),c=ct(),d=C(()=>e.rowKey.value?v(e.data.value||[]):{}),f=C(()=>{const S=e.rowKey.value,k=Object.keys(l.value),x={};return k.length&&k.forEach($=>{if(l.value[$].length){const T={children:[]};l.value[$].forEach(_=>{const A=Tn(_,S);T.children.push(A),_[s.value]&&!x[A]&&(x[A]={children:[]})}),x[$]=T}}),x}),v=S=>{const k=e.rowKey.value,x={};return EG(S,($,T,_)=>{const A=Tn($,k);xe(T)?x[A]={children:T.map(D=>Tn(D,k)),level:_}:a.value&&(x[A]={children:[],lazy:!0,level:_})},r.value,s.value,a.value),x},h=(S=!1,k)=>{k||=c.store?.states.defaultExpandAll.value;const x=d.value,$=f.value,T=Object.keys(x),_={};if(T.length){const A=i(n),D=[],N=(V,H)=>{if(S)return t.value?k||t.value.includes(H):!!(k||V?.expanded);{const P=k||t.value&&t.value.includes(H);return!!(V?.expanded||P)}};T.forEach(V=>{const H=A[V],P={...x[V]};if(P.expanded=N(H,V),P.lazy){const{loaded:O=!1,loading:M=!1}=H||{};P.loaded=!!O,P.loading=!!M,D.push(V)}_[V]=P});const W=Object.keys($);a.value&&W.length&&D.length&&W.forEach(V=>{const H=A[V],P=$[V].children;if(D.includes(V)){if(_[V].children?.length!==0)throw new Error("[ElTable]children must be an empty array.");_[V].children=P}else{const{loaded:O=!1,loading:M=!1}=H||{};_[V]={lazy:!0,loaded:!!O,loading:!!M,expanded:N(H,V),children:P,level:void 0}}})}n.value=_,c.store?.updateTableScrollY()};ge(()=>t.value,()=>{h(!0)},{deep:!0}),ge(()=>d.value,()=>{h()}),ge(()=>f.value,()=>{h()});const g=S=>{t.value=S,h()},p=S=>a.value&&S&&"loaded"in S&&!S.loaded,m=(S,k)=>{c.store.assertRowKey();const x=e.rowKey.value,$=Tn(S,x),T=$&&n.value[$];if($&&T&&"expanded"in T){const _=T.expanded;k=It(k)?!T.expanded:k,n.value[$].expanded=k,_!==k&&c.emit("expand-change",S,k),k&&p(T)&&b(S,$,T),c.store.updateTableScrollY()}},y=S=>{c.store.assertRowKey();const k=e.rowKey.value,x=Tn(S,k),$=n.value[x];p($)?b(S,x,$):m(S,void 0)},b=(S,k,x)=>{const{load:$}=c.props;$&&!n.value[k].loaded&&(n.value[k].loading=!0,$(S,x,T=>{if(!xe(T))throw new TypeError("[ElTable] data must be an array");n.value[k].loading=!1,n.value[k].loaded=!0,n.value[k].expanded=!0,T.length&&(l.value={...l.value,[k]:T}),c.emit("expand-change",S,!0)}))};return{loadData:b,loadOrToggle:y,toggleTreeExpansion:m,updateTreeExpandKeys:g,updateTreeData:h,updateKeyChildren:(S,k)=>{const{lazy:x,rowKey:$}=c.props;if(x){if(!$)throw new Error("[Table] rowKey is required in updateKeyChild");l.value[S]&&(l.value={...l.value,[S]:k})}},normalize:v,states:{expandRowKeys:t,treeData:n,indent:o,lazy:a,lazyTreeNodeMap:l,lazyColumnIdentifier:s,childrenColumnName:r,checkStrictly:u}}}const OG=(e,t)=>{const n=t.sortingColumn;return!n||ze(n.sortable)?e:wG(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},$d=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,$d(n.children)):t.push(n)}),t};function MG(){const e=ct(),{size:t}=An(e.proxy?.$props),n=F(null),o=F([]),a=F([]),l=F(!1),s=F([]),r=F([]),u=F([]),c=F([]),d=F([]),f=F([]),v=F([]),h=F([]),g=[],p=F(0),m=F(0),y=F(0),b=F(!1),w=F([]),S=F({}),k=F(!1),x=F(!1),$=F(null),T=F(null),_=F({}),A=F(null),D=F(null),N=F(null),W=F(null),V=F(null);let H=[];const P=C(()=>n.value?Kr(w.value,n.value):void 0),O=Ve=>{const{childrenColumnName:nt,lazyTreeNodeMap:ht}=e.store.states,rt=Ve[nt.value]??[];if(!n.value)return rt;const Ct=Tn(Ve,n.value);return[...ht.value?.[Ct]??[],...rt]};ge(o,()=>{e.state&&(K(!1),e.props.tableLayout==="auto"&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});const M=()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},B=Ve=>{Ve.children?.forEach(nt=>{nt.fixed=Ve.fixed,B(nt)})},L=()=>{s.value.forEach(vt=>{B(vt)}),c.value=s.value.filter(vt=>[!0,"left"].includes(vt.fixed));const Ve=s.value.find(vt=>vt.type==="selection");let nt;Ve&&Ve.fixed!=="right"&&!c.value.includes(Ve)&&s.value.indexOf(Ve)===0&&c.value.length&&(c.value.unshift(Ve),nt=!0),d.value=s.value.filter(vt=>vt.fixed==="right");const ht=s.value.filter(vt=>(nt?vt.type!=="selection":!0)&&!vt.fixed);r.value=Array.from(c.value).concat(ht).concat(d.value);const rt=$d(ht),Ct=$d(c.value),Ot=$d(d.value);p.value=rt.length,m.value=Ct.length,y.value=Ot.length,u.value=Array.from(Ct).concat(rt).concat(Ot),l.value=c.value.length>0||d.value.length>0},K=(Ve,nt=!1)=>{Ve&&L(),nt?e.state.doLayout():e.state.debouncedUpdateLayout()},X=Ve=>P.value?!!P.value[Tn(Ve,n.value)]:w.value.includes(Ve),J=C(()=>{const Ve=new Map;if(!n.value||!$.value)return Ve;let nt=0;const ht=rt=>{xe(rt)&&rt.forEach(Ct=>{const Ot=Tn(Ct,n.value);Ve.set(Ot,nt),nt+=1;const vt=O(Ct);vt.length&&ht(vt)})};return ht(o.value||[]),Ve}),ne=(Ve={})=>{const{emitChange:nt=!0}=Ve;if(Rt.checkStrictly.value||!n.value){S.value={},H=[];return}const ht=n.value,rt=Ve.rowIndexMap??J.value,Ct=$.value,Ot=new WeakMap,vt=Ue=>{const Vt=Ot.get(Ue);if(Vt)return Vt;const Jt=Tn(Ue,ht);return Ot.set(Ue,Jt),Jt},Qt={},gn=[],Ke=new Set(w.value.map(Ue=>vt(Ue))),Qe=[];let it=!1;const Ie=(Ue,Vt,Jt)=>{const wn=Ke.has(Vt);Jt&&!wn?(Qe.push(Ue),Ke.add(Vt),it=!0):!Jt&&wn&&(Ke.delete(Vt),it=!0)},Ze=Ue=>{let Vt=0,Jt=0;return xe(Ue)?(Ue.forEach(wn=>{const Qn=vt(wn),Co=O(wn);let Ta=0,Ll=0;if(Co.length){const ol=Ze(Co);Ta=ol.selectedCount,Ll=ol.selectableCount}const yr=Ct?Ct.call(null,wn,rt.get(Qn)??0):!0;if(yr&&Ll>0){const ol=Ta===Ll;!ol&&Ta!==0&&(Qt[Qn]=!0,gn.push(wn)),Ie(wn,Qn,ol)}yr&&(Jt+=1,Ke.has(Qn)&&(Vt+=1)),Vt+=Ta,Jt+=Ll}),{selectedCount:Vt,selectableCount:Jt}):{selectedCount:Vt,selectableCount:Jt}};if(Ze(o.value||[]),it){const Ue=w.value.filter(Vt=>Ke.has(vt(Vt)));Qe.forEach(Vt=>{Ke.has(vt(Vt))&&Ue.push(Vt)}),w.value=Ue}S.value=Qt,H=gn,it&&nt&&e.emit("selection-change",w.value?w.value.slice():[])},re=()=>{b.value=!1;const Ve=w.value;w.value=[],S.value={},H=[],Ve.length&&e.emit("selection-change",[])},Q=()=>{let Ve;if(n.value){Ve=[];const nt=e?.store?.states?.childrenColumnName.value,ht=Kr(o.value,n.value,!0,nt),{lazyTreeNodeMap:rt}=e.store.states;rt.value&&Object.entries(rt.value).forEach(([Ct,Ot])=>{ht[Ct]&&Ot.forEach(vt=>{const Qt=Tn(vt,n.value);ht[Qt]||(ht[Qt]={row:vt,index:-1})})});for(const Ct in P.value)zt(P.value,Ct)&&!ht[Ct]&&Ve.push(P.value[Ct].row)}else Ve=w.value.filter(nt=>!o.value.includes(nt));if(Ve.length){const nt=w.value.filter(ht=>!Ve.includes(ht));w.value=nt,ne({emitChange:!1}),e.emit("selection-change",[...nt])}},ce=()=>(w.value||[]).slice(),we=()=>H.slice(),Se=(Ve,nt,ht)=>{if(!n.value||Rt.checkStrictly.value||!Rt.lazy.value)return;const{lazyTreeNodeMap:rt,childrenColumnName:Ct}=e.store.states,Ot=Tn(Ve,n.value),vt=rt.value?.[Ot]??[],Qt=Ve[Ct.value]??[],gn={children:Ct.value,checkStrictly:!1};for(const Ke of vt){const Qe=ht.get(Tn(Ke,n.value))??0;Pr(w.value,Ke,nt,gn,$.value,Qe,n.value),Se(Ke,nt,ht)}for(const Ke of Qt)Se(Ke,nt,ht)},le=(Ve,nt,ht=!0,rt=!1)=>{const Ct={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(Pr(w.value,Ve,nt,Ct,rt?void 0:$.value,o.value.indexOf(Ve),n.value)){Rt.lazy.value&&!Rt.checkStrictly.value?(Se(Ve,nt??X(Ve),J.value),ne({emitChange:!1,rowIndexMap:J.value})):ne({emitChange:!1});const Ot=(w.value||[]).slice();ht&&e.emit("select",Ot,Ve),e.emit("selection-change",Ot)}},ie=()=>{const Ve=x.value?!b.value:!(b.value||w.value.length);b.value=Ve;let nt=!1,ht=0;const rt=e?.store?.states?.rowKey.value,{childrenColumnName:Ct}=e.store.states,Ot={children:Ct.value,checkStrictly:!1};o.value.forEach((Qt,gn)=>{const Ke=gn+ht;Pr(w.value,Qt,Ve,Ot,$.value,Ke,rt)&&(nt=!0),ht+=Y(Tn(Qt,rt))});const vt=J.value;if(Rt.lazy.value&&!Rt.checkStrictly.value&&rt)for(const Qt of Object.values(Rt.lazyTreeNodeMap.value))for(const gn of Qt){const Ke=vt.get(Tn(gn,rt))??0;Pr(w.value,gn,Ve,Ot,$.value,Ke,rt)&&(nt=!0),Se(gn,Ve,vt)}ne({emitChange:!1,rowIndexMap:vt}),nt&&e.emit("selection-change",w.value?[...w.value]:[]),e.emit("select-all",(w.value||[]).slice())},j=()=>{if(o.value?.length===0){b.value=!1;return}let Ve=0,nt=0;const ht=Ct=>{for(const Ot of Ct){const vt=$.value&&$.value.call(null,Ot,Ve);if(X(Ot))nt++;else if(!$.value||vt)return!1;Ve++;const Qt=O(Ot);if(Qt.length&&!ht(Qt))return!1}return!0},rt=ht(o.value||[]);b.value=nt===0?!1:rt},ee=Ve=>{if(!n.value)return!1;const nt=Tn(Ve,n.value);return!!S.value[nt]},Y=Ve=>{if(!e||!e.store)return 0;const{treeData:nt}=e.store.states;let ht=0;const rt=nt.value[Ve]?.children;return rt&&(ht+=rt.length,rt.forEach(Ct=>{ht+=Y(Ct)})),ht},q=(Ve,nt)=>{const ht={};return Bn(Ve).forEach(rt=>{_.value[rt.id]=nt,ht[rt.columnKey||rt.id]=nt}),ht},U=(Ve,nt,ht)=>{D.value&&D.value!==Ve&&(D.value.order=null),D.value=Ve,N.value=nt,W.value=ht},G=()=>{let Ve=i(a);Object.keys(_.value).forEach(nt=>{const ht=_.value[nt];if(!ht||ht.length===0)return;const rt=g$({columns:u.value},nt);rt&&rt.filterMethod&&(Ve=Ve.filter(Ct=>ht.some(Ot=>rt.filterMethod.call(null,Ot,Ct,rt))))}),A.value=Ve},te=()=>{o.value=OG(A.value??[],{sortingColumn:D.value,sortProp:N.value,sortOrder:W.value})},he=(Ve=void 0)=>{Ve?.filter||G(),te()},pe=Ve=>{const{tableHeaderRef:nt}=e.refs;if(!nt)return;const ht=Object.assign({},nt.filterPanels),rt=Object.keys(ht);if(rt.length)if(ze(Ve)&&(Ve=[Ve]),xe(Ve)){const Ct=Ve.map(Ot=>SG({columns:u.value},Ot));rt.forEach(Ot=>{const vt=Ct.find(Qt=>Qt.id===Ot);vt&&(vt.filteredValue=[])}),e.store.commit("filterChange",{column:Ct,values:[],silent:!0,multi:!0})}else rt.forEach(Ct=>{const Ot=u.value.find(vt=>vt.id===Ct);Ot&&(Ot.filteredValue=[])}),_.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},de=()=>{D.value&&(U(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:be,toggleRowExpansion:ye,updateExpandRows:$e,states:Pe,isRowExpanded:et}=_G({data:o,rowKey:n}),{updateTreeExpandKeys:tt,toggleTreeExpansion:qe,updateTreeData:$t,updateKeyChildren:At,loadOrToggle:Wt,states:Rt}=IG({data:o,rowKey:n}),{updateCurrentRowData:qt,updateCurrentRow:Ce,setCurrentRowKey:Ne,states:Je}=NG({data:o,rowKey:n}),_e=Ve=>{be(Ve),tt(Ve)},Ge=(Ve,nt)=>{u.value.some(({type:ht})=>ht==="expand")?ye(Ve,nt):qe(Ve,nt)};return ge(()=>Rt.checkStrictly.value,Ve=>{Ve?(S.value={},H=[]):ne({emitChange:!1}),j()}),ge(()=>Rt.lazyTreeNodeMap.value,()=>{if(!Rt.lazy.value||Rt.checkStrictly.value||!n.value)return;const Ve=J.value,nt=w.value.length;for(const rt of Object.keys(Rt.lazyTreeNodeMap.value))P.value?.[rt]&&Se(P.value[rt].row,!0,Ve);const ht=w.value.length!==nt;ne({emitChange:!ht,rowIndexMap:Ve}),j(),ht&&e.emit("selection-change",[...w.value])}),{assertRowKey:M,updateColumns:L,scheduleLayout:K,isSelected:X,clearSelection:re,cleanSelection:Q,getSelectionRows:ce,getHalfSelectionRows:we,toggleRowSelection:le,_toggleAllSelection:ie,toggleAllSelection:null,updateAllSelected:j,updateSelectionByChildren:ne,getRowIndeterminate:ee,updateFilters:q,updateCurrentRow:Ce,updateSort:U,execFilter:G,execSort:te,execQuery:he,clearFilter:pe,clearSort:de,toggleRowExpansion:ye,setExpandRowKeysAdapter:_e,setCurrentRowKey:Ne,toggleRowExpansionAdapter:Ge,isRowExpanded:et,updateExpandRows:$e,updateCurrentRowData:qt,loadOrToggle:Wt,updateTreeData:$t,updateKeyChildren:At,states:{tableSize:t,rowKey:n,data:o,_data:a,isComplex:l,_columns:s,originColumns:r,columns:u,fixedColumns:c,rightFixedColumns:d,leafColumns:f,fixedLeafColumns:v,rightFixedLeafColumns:h,updateOrderFns:g,leafColumnsLength:p,fixedLeafColumnsLength:m,rightFixedLeafColumnsLength:y,isAllSelected:b,selection:w,selectionIndeterminate:S,reserveSelection:k,selectOnIndeterminate:x,selectable:$,rowExpandable:T,filters:_,filteredData:A,sortingColumn:D,sortProp:N,sortOrder:W,hoverRow:V,...Pe,...Rt,...Je}}}function nm(e,t){return e.map(n=>n.id===t.id?t:(n.children?.length&&(n.children=nm(n.children,t)),n))}function om(e){e.forEach(t=>{t.no=t.getColumnIndex?.(),t.children?.length&&om(t.children)}),e.sort((t,n)=>t.no-n.no)}function PG(){const e=ct(),t=MG(),n=ke("table"),{t:o}=_t();return{ns:n,t:o,...t,mutations:{setData(r,u){const c=i(r._data)!==u;r.data.value=u,r._data.value=u,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),i(r.reserveSelection)?e.store.assertRowKey():c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateSelectionByChildren({emitChange:!1}),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(r,u,c,d){const f=i(r._columns);let v=[];c?(c&&!c.children&&(c.children=[]),c.children?.push(u),v=nm(f,c)):(f.push(u),v=f),om(v),r._columns.value=v,r.updateOrderFns.push(d),u.type==="selection"&&(r.selectable.value=u.selectable,r.reserveSelection.value=u.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(r,u){u.getColumnIndex?.()!==u.no&&(om(r._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(r,u,c,d){const f=i(r._columns)||[];if(c)c.children?.splice(c.children.findIndex(h=>h.id===u.id),1),Re(()=>{c.children?.length===0&&delete c.children}),r._columns.value=nm(f,c);else{const h=f.indexOf(u);h>-1&&(f.splice(h,1),r._columns.value=f)}const v=r.updateOrderFns.indexOf(d);v>-1&&r.updateOrderFns.splice(v,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(r,u){const{prop:c,order:d,init:f}=u;if(c){const v=i(r.columns).find(h=>h.property===c);v&&(v.order=d,e.store.updateSort(v,c,d),e.store.commit("changeSortCondition",{init:f}))}},changeSortCondition(r,u){const{sortingColumn:c,sortProp:d,sortOrder:f}=r,v=i(c),h=i(d),g=i(f);ip(g)&&(r.sortingColumn.value=null,r.sortProp.value=null),e.store.execQuery({filter:!0}),(!u||!(u.silent||u.init))&&e.emit("sort-change",{column:v,prop:h,order:g}),e.store.updateTableScrollY()},filterChange(r,u){const{column:c,values:d,silent:f}=u,v=e.store.updateFilters(c,d);e.store.execQuery(),f||e.emit("filter-change",v),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(r,u){e.store.toggleRowSelection(u),e.store.updateAllSelected()},setHoverRow(r,u){r.hoverRow.value=u},setCurrentRow(r,u){e.store.updateCurrentRow(u)}},commit:function(r,...u){const c=e.store.mutations;if(c[r])c[r].apply(e,[e.store.states,...u]);else throw new Error(`Action not found: ${r}`)},updateTableScrollY:function(){Re(()=>e.layout.updateScrollY.apply(e.layout))}}}const Sy={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function RG(e,t){if(!e)throw new Error("Table is required.");const n=PG();return n.toggleAllSelection=ja(n._toggleAllSelection,10),Object.keys(Sy).forEach(o=>{C$(k$(t,o),o,n)}),AG(n,t),n}function AG(e,t){Object.keys(Sy).forEach(n=>{ge(()=>k$(t,n),o=>{C$(o,n,e)})})}function C$(e,t,n){let o=e,a=Sy[t];st(a)&&(o=o||a.default,a=a.key),n.states[a].value=o}function k$(e,t){if(t.includes(".")){const n=t.split(".");let o=e;return n.forEach(a=>{o=o[a]}),o}else return e[t]}var DG=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.heightMap={},this.height=F(null),this.scrollX=F(!1),this.scrollY=F(!1),this.bodyWidth=F(null),this.fixedWidth=F(null),this.rightFixedWidth=F(null),this.gutterWidth=0;for(const t in e)zt(e,t)&&(gt(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(ip(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let n=!0;const o=this.scrollY.value;return n=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=n,o!==n}return!1}setHeight(e,t="height"){if(!Lt)return;const n=this.table.vnode.el;if(e=kG(e),this.height.value=Number(e),this.heightMap[t]=e,!n&&(e||e===0)){Re(()=>{this.heightMap[t]===e&&this.setHeight(e,t)});return}n&&We(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&ze(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!Lt)return;const e=this.fit,t=this.table.vnode.el?.clientWidth;let n=0;const o=this.getFlattenColumns(),a=o.filter(r=>!We(r.width));if(o.forEach(r=>{We(r.width)&&r.realWidth&&(r.realWidth=null)}),a.length>0&&e){if(o.forEach(r=>{n+=Number(r.width||r.minWidth||80)}),n<=t){this.scrollX.value=!1;const r=t-n;if(a.length===1)a[0].realWidth=Number(a[0].minWidth||80)+r;else{const u=r/a.reduce((d,f)=>d+Number(f.minWidth||80),0);let c=0;a.forEach((d,f)=>{if(f===0)return;const v=Math.floor(Number(d.minWidth||80)*u);c+=v,d.realWidth=Number(d.minWidth||80)+v}),a[0].realWidth=Number(a[0].minWidth||80)+r-c}}else this.scrollX.value=!0,a.forEach(r=>{r.realWidth=Number(r.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else o.forEach(r=>{!r.width&&!r.minWidth?r.realWidth=80:r.realWidth=Number(r.width||r.minWidth),n+=r.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const l=this.store.states.fixedColumns.value;if(l.length>0){let r=0;l.forEach(u=>{r+=Number(u.realWidth||u.width)}),this.fixedWidth.value=r}const s=this.store.states.rightFixedColumns.value;if(s.length>0){let r=0;s.forEach(u=>{r+=Number(u.realWidth||u.width)}),this.rightFixedWidth.value=r}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case"columns":t.state?.onColumnsChange(this);break;case"scrollable":t.state?.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}};const Ea=Symbol("ElTable"),x$=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,x$(n.children))):t.push(n)}),t},E$=e=>{let t=1;const n=(a,l)=>{if(l&&(a.level=l.level+1,t{n(r,a),s+=r.colSpan}),a.colSpan=s}else a.colSpan=1};e.forEach(a=>{a.level=1,n(a,void 0)});const o=[];for(let a=0;a{a.children?(a.rowSpan=1,a.children.forEach(l=>l.isSubColumn=!0)):a.rowSpan=t-a.level+1,o[a.level-1].push(a)}),o};function LG(e){const t=Fe(Ea),n=C(()=>E$(e.store.states.originColumns.value));return{isGroup:C(()=>{const l=n.value.length>1;return l&&t&&(t.state.isGroup.value=!0),l}),toggleAllSelection:l=>{l.stopPropagation(),t?.store.commit("toggleAllSelection")},columnRows:n}}var VG=ve({name:"ElTableFilterPanel",components:{ElCheckbox:ha,ElCheckboxGroup:ty,ElScrollbar:wa,ElTooltip:Kn,ElIcon:He,ArrowDown:Qa,ArrowUp:Sp},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:ln.appendTo},setup(e){const t=ct(),{t:n}=_t(),o=ke("table-filter"),a=t?.parent;e.column&&!a.filterPanels.value[e.column.id]&&(a.filterPanels.value[e.column.id]=t);const l=F(null),s=F(null),r=F(0),u=C(()=>e.column&&e.column.filters),c=C(()=>e.column&&e.column.filterClassName?`${o.b()} ${e.column.filterClassName}`:o.b()),d=C({get:()=>(e.column?.filteredValue||[])[0],set:$=>{if(e.column){const T=[...e.column.filteredValue??[]];Bo($)?T.splice(0,1):T.splice(0,1,$),e.upDataColumn?.("filteredValue",T)}}}),f=C({get(){return e.column?e.column.filteredValue||[]:[]},set($){e.column&&e.upDataColumn?.("filteredValue",$)}}),v=C(()=>e.column?e.column.filterMultiple:!0),h=$=>$.value===d.value,g=()=>{l.value?.onClose()},p=()=>{b(f.value),g()},m=()=>{f.value=[],b(f.value),g()},y=($,T)=>{d.value=$,r.value=T,Bo($)?b([]):b(f.value),g()},b=$=>{e.store?.commit("filterChange",{column:e.column,values:$}),e.store?.updateAllSelected()},w=()=>{s.value?.focus(),!v.value&&k(),e.column&&e.upDataColumn?.("filterOpened",!0)},S=()=>{e.column&&e.upDataColumn?.("filterOpened",!1)},k=()=>{if(Bo(d)){r.value=0;return}const $=(u.value||[]).findIndex(T=>T.value===d.value);r.value=$>=0?$+1:0};return{multiple:v,filterClassName:c,filteredValue:f,filterValue:d,filters:u,handleConfirm:p,handleReset:m,handleSelect:y,isPropAbsent:Bo,isActive:h,t:n,ns:o,tooltipRef:l,rootRef:s,checkedIndex:r,handleShowTooltip:w,handleHideTooltip:S,handleKeydown:$=>{const T=Zt($),_=(u.value?u.value.length:0)+1;let A=r.value,D=!0;switch(T){case Ee.down:case Ee.right:A=(A+1)%_;break;case Ee.up:case Ee.left:A=(A-1+_)%_;break;case Ee.tab:g(),D=!1;break;case Ee.enter:case Ee.space:if(A===0)y(null,0);else{const N=(u.value||[])[A-1];N.value&&y(N.value,A)}break;default:D=!1;break}D&&$.preventDefault(),r.value=A,s.value?.querySelector(`.${o.e("list-item")}:nth-child(${A+1})`)?.focus()}}}});const BG=["disabled"],FG=["tabindex","aria-checked"],zG=["tabindex","aria-checked","onClick"],HG=["aria-label"];function KG(e,t,n,o,a,l){const s=yt("el-checkbox"),r=yt("el-checkbox-group"),u=yt("el-scrollbar"),c=yt("arrow-up"),d=yt("arrow-down"),f=yt("el-icon"),v=yt("el-tooltip");return E(),fe(v,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:ae(()=>[e.multiple?(E(),z("div",{key:0,ref:"rootRef",tabindex:"-1",class:R(e.ns.e("multiple"))},[I("div",{class:R(e.ns.e("content"))},[Z(u,{"wrap-class":e.ns.e("wrap")},{default:ae(()=>[Z(r,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=h=>e.filteredValue=h),class:R(e.ns.e("checkbox-group"))},{default:ae(()=>[(E(!0),z(Me,null,dt(e.filters,h=>(E(),fe(s,{key:h.value,value:h.value},{default:ae(()=>[Oe(me(h.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),I("div",{class:R(e.ns.e("bottom"))},[I("button",{class:R(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...h)=>e.handleConfirm&&e.handleConfirm(...h))},me(e.t("el.table.confirmFilter")),11,BG),I("button",{type:"button",onClick:t[2]||(t[2]=(...h)=>e.handleReset&&e.handleReset(...h))},me(e.t("el.table.resetFilter")),1)],2)],2)):(E(),z("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:R(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...h)=>e.handleKeydown&&e.handleKeydown(...h))},[I("li",{role:"radio",class:R([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=h=>e.handleSelect(null,0))},me(e.t("el.table.clearFilter")),11,FG),(E(!0),z(Me,null,dt(e.filters,(h,g)=>(E(),z("li",{key:h.value,role:"radio",class:R([e.ns.e("list-item"),e.ns.is("active",e.isActive(h))]),tabindex:e.checkedIndex===g+1?0:-1,"aria-checked":e.isActive(h),onClick:p=>e.handleSelect(h.value,g+1)},me(h.text),11,zG))),128))],34))]),default:ae(()=>[I("button",{type:"button",class:R(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:e.column?.label||""})},[Z(f,null,{default:ae(()=>[ue(e.$slots,"filter-icon",{},()=>[e.column?.filterOpened?(E(),fe(c,{key:0})):(E(),fe(d,{key:1}))])]),_:3})],10,HG)]),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var WG=Dn(VG,[["render",KG]]);function Cy(e){const t=ct();Qu(()=>{n.value.addObserver(t)}),at(()=>{o(n.value),a(n.value)}),Sa(()=>{o(n.value),a(n.value)}),dr(()=>{n.value.removeObserver(t)});const n=C(()=>{const l=e.layout;if(!l)throw new Error("Can not find table layout.");return l}),o=l=>{const s=e.vnode.el?.querySelectorAll("colgroup > col")||[];if(!s.length)return;const r=l.getFlattenColumns(),u={};r.forEach(c=>{u[c.id]=c});for(let c=0,d=s.length;c{const s=e.vnode.el?.querySelectorAll("colgroup > col[name=gutter]")||[];for(let u=0,c=s.length;u{p.stopPropagation()},l=(p,m)=>{!m.filters&&m.sortable?g(p,m,!1):m.filterable&&!m.sortable&&a(p),o?.emit("header-click",m,p)},s=(p,m)=>{o?.emit("header-contextmenu",m,p)},r=F(null),u=F(!1),c=F(),d=(p,m)=>{if(Lt&&!(m.children&&m.children.length>0)&&r.value&&e.border&&r.value.id===m.id){u.value=!0;const y=o;t("set-drag-visible",!0);const b=y?.vnode.el?.getBoundingClientRect().left,w=n?.vnode?.el?.querySelector(`th.${m.id}`),S=w.getBoundingClientRect(),k=S.left-b+30;Jo(w,"noclick"),c.value={startMouseLeft:p.clientX,startLeft:S.right-b,startColumnLeft:S.left-b,tableLeft:b};const x=y?.refs.resizeProxy;x.style.left=`${c.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const $=_=>{const A=_.clientX-c.value.startMouseLeft,D=c.value.startLeft+A;x.style.left=`${Math.max(k,D)}px`},T=()=>{if(u.value){const{startColumnLeft:_,startLeft:A}=c.value;m.width=m.realWidth=Number.parseInt(x.style.left,10)-_,y?.emit("header-dragend",m.width,A-_,m,p),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",u.value=!1,r.value=null,c.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",$),document.removeEventListener("mouseup",T),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ro(w,"noclick")},0)};document.addEventListener("mousemove",$),document.addEventListener("mouseup",T)}},f=(p,m)=>{if(!e.border||m.children&&m.children.length>0)return;const y=p.target,b=_o(y)?y.closest("th"):null;if(!b)return;const w=Fa(b,"is-sortable");if(w){const _=u.value?"col-resize":"";b.style.cursor=_;const A=b.querySelector(".caret-wrapper");A&&(A.style.cursor=_)}if(!m.resizable||u.value){r.value=null;return}const S=b.getBoundingClientRect(),k=b.parentNode?.lastElementChild===b,x=e.allowDragLastColumn||!k,$=S.width>12&&S.right-p.clientX<8&&x,T=$?"col-resize":"";document.body.style.cursor=T,r.value=$?m:null,w&&(b.style.cursor=T)},v=()=>{!Lt||u.value||(document.body.style.cursor="")},h=({order:p,sortOrders:m})=>{if(p==="")return m[0];const y=m.indexOf(p||null);return m[y>m.length-2?0:y+1]},g=(p,m,y)=>{p.stopPropagation();const b=m.order===y?null:y||h(m),w=p.target?.closest("th");if(w&&Fa(w,"noclick")){ro(w,"noclick");return}if(!m.sortable)return;const S=p.currentTarget;if(["ascending","descending"].some(_=>Fa(S,_)&&!m.sortOrders.includes(_)))return;const k=e.store.states;let x=k.sortProp.value,$;const T=k.sortingColumn.value;(T!==m||T===m&&ip(T.order))&&(T&&(T.order=null),k.sortingColumn.value=m,x=m.property??null),b?$=m.order=b:$=m.order=null,k.sortProp.value=x,k.sortOrder.value=$,o?.store.commit("changeSortCondition")};return{handleHeaderClick:l,handleHeaderContextMenu:s,handleMouseDown:d,handleMouseMove:f,handleMouseOut:v,handleSortClick:g,handleFilterClick:a}}function UG(e){const t=Fe(Ea),n=ke("table");return{getHeaderRowStyle:r=>{const u=t?.props.headerRowStyle;return je(u)?u.call(null,{rowIndex:r}):u},getHeaderRowClass:r=>{const u=[],c=t?.props.headerRowClassName;return ze(c)?u.push(c):je(c)&&u.push(c.call(null,{rowIndex:r})),u.join(" ")},getHeaderCellStyle:(r,u,c,d)=>{let f=t?.props.headerCellStyle??{};je(f)&&(f=f.call(null,{rowIndex:r,columnIndex:u,row:c,column:d}));const v=wy(u,d.fixed,e.store,c);return di(v,"left"),di(v,"right"),Object.assign({},f,v)},getHeaderCellClass:(r,u,c,d)=>{const f=by(n.b(),u,d.fixed,e.store,c),v=[d.id,d.order,d.headerAlign,d.className,d.labelClassName,...f];d.children||v.push("is-leaf"),d.sortable&&v.push("is-sortable");const h=t?.props.headerCellClassName;return ze(h)?v.push(h):je(h)&&v.push(h.call(null,{rowIndex:r,columnIndex:u,row:c,column:d})),v.push(n.e("cell")),v.filter(g=>!!g).join(" ")}}}var kw=ve({name:"ElTableHeader",components:{ElCheckbox:ha},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=ct(),o=Fe(Ea),a=ke("table"),l=F({}),{onColumnsChange:s,onScrollableChange:r}=Cy(o),u=o?.props.tableLayout==="auto",c=Kt(new Map),d=F();let f;const v=()=>{f&&(clearTimeout(f),f=void 0),f=setTimeout(()=>{f=void 0;const N=d.value;N&&c.size>0&&(c.forEach((W,V)=>{const H=N.querySelector(`.${V.replace(/\s/g,".")}`);H&&(W.width=H.getBoundingClientRect().width||W.width)}),c.clear())})};ge(c,v),Ft(()=>{f&&(clearTimeout(f),f=void 0)}),at(async()=>{await Re(),await Re();const{prop:N,order:W}=e.defaultSort;o?.store.commit("sort",{prop:N,order:W,init:!0}),v()});const{handleHeaderClick:h,handleHeaderContextMenu:g,handleMouseDown:p,handleMouseMove:m,handleMouseOut:y,handleSortClick:b,handleFilterClick:w}=jG(e,t),{getHeaderRowStyle:S,getHeaderRowClass:k,getHeaderCellStyle:x,getHeaderCellClass:$}=UG(e),{isGroup:T,toggleAllSelection:_,columnRows:A}=LG(e),{t:D}=_t();return n.state={onColumnsChange:s,onScrollableChange:r},n.filterPanels=l,{ns:a,t:D,filterPanels:l,onColumnsChange:s,onScrollableChange:r,columnRows:A,getHeaderRowClass:k,getHeaderRowStyle:S,getHeaderCellClass:$,getHeaderCellStyle:x,handleHeaderClick:h,handleHeaderContextMenu:g,handleMouseDown:p,handleMouseMove:m,handleMouseOut:y,handleSortClick:b,handleFilterClick:w,isGroup:T,toggleAllSelection:_,saveIndexSelection:c,isTableLayoutAuto:u,theadRef:d,updateFixedColumnStyle:v}},render(){const{ns:e,t,isGroup:n,columnRows:o,getHeaderCellStyle:a,getHeaderCellClass:l,getHeaderRowClass:s,getHeaderRowStyle:r,handleHeaderClick:u,handleHeaderContextMenu:c,handleMouseDown:d,handleMouseMove:f,handleSortClick:v,handleMouseOut:h,store:g,$parent:p,saveIndexSelection:m,isTableLayoutAuto:y}=this;let b=1;return Le("thead",{ref:"theadRef",class:e.is("group",n)},o.map((w,S)=>Le("tr",{class:s(S),key:S,style:r(S)},w.map((k,x)=>{k.rowSpan>b&&(b=k.rowSpan);const $=l(S,x,w,k);return y&&k.fixed&&m.set($,k),Le("th",{class:$,colspan:k.colSpan,key:`${k.id}-thead`,rowspan:k.rowSpan,scope:k.colSpan>1?"colgroup":"col",ariaSort:k.sortable?k.order:void 0,style:a(S,x,w,k),onClick:T=>{T.currentTarget?.classList.contains("noclick")||u(T,k)},onContextmenu:T=>c(T,k),onMousedown:T=>d(T,k),onMousemove:T=>f(T,k),onMouseout:h},[Le("div",{class:["cell",k.filteredValue&&k.filteredValue.length>0?"highlight":""]},[k.renderHeader?k.renderHeader({column:k,$index:x,store:g,_self:p}):k.label,k.sortable&&Le("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:k.label||""}),onClick:T=>v(T,k)},[Le("i",{onClick:T=>v(T,k,"ascending"),class:"sort-caret ascending"}),Le("i",{onClick:T=>v(T,k,"descending"),class:"sort-caret descending"})]),k.filterable&&Le(WG,{store:g,placement:k.filterPlacement||"bottom-start",appendTo:p?.appendFilterPanelTo,column:k,upDataColumn:(T,_)=>{k[T]=_}},{"filter-icon":()=>k.renderFilterIcon?k.renderFilterIcon({filterOpened:k.filterOpened}):null})])])}))))}});function YG(e){const t=Fe(Ea),n=F(""),o=F(Le("div")),a=(g,p,m)=>{const y=t,b=Mv(g);let w=null;const S=y?.vnode.el?.dataset.prefix;b&&(w=ww({columns:e.store?.states.columns.value??[]},b,S),w&&y?.emit(`cell-${m}`,p,w,b,g)),y?.emit(`row-${m}`,p,w,g)},l=(g,p)=>{a(g,p,"dblclick")},s=(g,p)=>{e.store?.commit("setCurrentRow",p),a(g,p,"click")},r=(g,p)=>{a(g,p,"contextmenu")},u=ja(g=>{e.store?.commit("setHoverRow",g)},30),c=ja(()=>{e.store?.commit("setHoverRow",null)},30),d=g=>{const p=window.getComputedStyle(g,null);return{left:Number.parseInt(p.paddingLeft,10)||0,right:Number.parseInt(p.paddingRight,10)||0,top:Number.parseInt(p.paddingTop,10)||0,bottom:Number.parseInt(p.paddingBottom,10)||0}},f=(g,p,m)=>{let y=p?.target?.parentNode;for(;g>1&&(y=y?.nextSibling,!(!y||y.nodeName!=="TR"));)m(y,"hover-row hover-fixed-row"),g--};return{handleDoubleClick:l,handleClick:s,handleContextMenu:r,handleMouseEnter:u,handleMouseLeave:c,handleCellMouseEnter:(g,p,m)=>{if(!t)return;const y=t,b=Mv(g),w=y?.vnode.el?.dataset.prefix;let S=null;if(b){if(S=ww({columns:e.store?.states.columns.value??[]},b,w),!S)return;b.rowSpan>1&&f(b.rowSpan,g,Jo);const O=y.hoverState={cell:b,column:S,row:p};y?.emit("cell-mouse-enter",O.row,O.column,O.cell,g)}if(!m){Eo?.trigger===b&&Eo?.();return}const k=g.target.querySelector(".cell");if(!(Fa(k,`${w}-tooltip`)&&k.childNodes.length&&k.textContent?.trim()))return;const x=document.createRange();x.setStart(k,0),x.setEnd(k,k.childNodes.length);const{width:$,height:T}=x.getBoundingClientRect(),{width:_,height:A}=k.getBoundingClientRect(),{top:D,left:N,right:W,bottom:V}=d(k),H=N+W,P=D+V;Ha($+H,_)||Ha(T+P,A)||Ha(k.scrollWidth,_)?TG(m,(b?.innerText||b?.textContent)??"",p,S,b,y):Eo?.trigger===b&&Eo?.()},handleCellMouseLeave:g=>{const p=Mv(g);if(!p)return;p.rowSpan>1&&f(p.rowSpan,g,ro);const m=t?.hoverState;t?.emit("cell-mouse-leave",m?.row,m?.column,m?.cell,g)},tooltipContent:n,tooltipTrigger:o}}function qG(e){const t=Fe(Ea),n=ke("table");return{getRowStyle:(c,d)=>{const f=t?.props.rowStyle;return je(f)?f.call(null,{row:c,rowIndex:d}):f||null},getRowClass:(c,d,f)=>{const v=[n.e("row")];t?.props.highlightCurrentRow&&c===e.store?.states.currentRow.value&&v.push("current-row"),e.stripe&&f%2===1&&v.push(n.em("row","striped"));const h=t?.props.rowClassName;return ze(h)?v.push(h):je(h)&&v.push(h.call(null,{row:c,rowIndex:d})),v},getCellStyle:(c,d,f,v)=>{const h=t?.props.cellStyle;let g=h??{};je(h)&&(g=h.call(null,{rowIndex:c,columnIndex:d,row:f,column:v}));const p=wy(d,e?.fixed,e.store);return di(p,"left"),di(p,"right"),Object.assign({},g,p)},getCellClass:(c,d,f,v,h)=>{const g=by(n.b(),d,e?.fixed,e.store,void 0,h),p=[v.id,v.align,v.className,...g],m=t?.props.cellClassName;return ze(m)?p.push(m):je(m)&&p.push(m.call(null,{rowIndex:c,columnIndex:d,row:f,column:v})),p.push(n.e("cell")),p.filter(y=>!!y).join(" ")},getSpan:(c,d,f,v)=>{let h=1,g=1;const p=t?.props.spanMethod;if(je(p)){const m=p({row:c,column:d,rowIndex:f,columnIndex:v});xe(m)?(h=m[0],g=m[1]):st(m)&&(h=m.rowspan,g=m.colspan)}return{rowspan:h,colspan:g}},getColspanRealWidth:(c,d,f)=>{if(d<1)return c[f].realWidth;const v=c.map(({realWidth:h,width:g})=>h||g).slice(f,f+d);return Number(v.reduce((h,g)=>Number(h)+Number(g),-1))}}}const GG=["colspan","rowspan"];var XG=ve({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(E(),z("td",{colspan:e.colspan,rowspan:e.rowspan},[ue(t.$slots,"default")],8,GG))}}),ZG=XG;function JG(e){const t=Fe(Ea),n=ke("table"),{handleDoubleClick:o,handleClick:a,handleContextMenu:l,handleMouseEnter:s,handleMouseLeave:r,handleCellMouseEnter:u,handleCellMouseLeave:c,tooltipContent:d,tooltipTrigger:f}=YG(e),{getRowStyle:v,getRowClass:h,getCellStyle:g,getCellClass:p,getSpan:m,getColspanRealWidth:y}=qG(e);let b=-1;const w=C(()=>e.store?.states.columns.value.findIndex(({type:T})=>T==="default")),S=(T,_)=>{const A=t?.props?.rowKey;return A?Tn(T,A):_},k=(T,_,A,D=!1)=>{const{tooltipEffect:N,tooltipOptions:W,store:V}=e,{indent:H,columns:P}=V.states,O=[];let M=!0;return A&&(O.push(n.em("row",`level-${A.level}`)),M=!!A.display),_===0&&(b=-1),e.stripe&&M&&b++,O.push(...h(T,_,b)),Le("tr",{style:[M?null:{display:"none"},v(T,_)],class:O,key:S(T,_),onDblclick:B=>o(B,T),onClick:B=>a(B,T),onContextmenu:B=>l(B,T),onMouseenter:()=>s(_),onMouseleave:r},P.value.map((B,L)=>{const{rowspan:K,colspan:X}=m(T,B,_,L);if(!K||!X)return null;const J=Object.assign({},B);J.realWidth=y(P.value,X,L);const ne={store:V,_self:e.context||t,column:J,row:T,$index:_,cellIndex:L,expanded:D};L===w.value&&A&&(ne.treeNode={indent:A.level&&A.level*H.value,level:A.level},Gt(A.expanded)&&(ne.treeNode.expanded=A.expanded,"loading"in A&&(ne.treeNode.loading=A.loading),"noLazyChildren"in A&&(ne.treeNode.noLazyChildren=A.noLazyChildren)));const re=`${S(T,_)},${L}`,Q=J.columnKey||J.rawColumnKey||"",ce=B.showOverflowTooltip&&Uk({effect:N},W,B.showOverflowTooltip);return Le(ZG,{style:g(_,L,T,B),class:p(_,L,T,B,X-1),key:`${Q}${re}`,rowspan:K,colspan:X,onMouseenter:we=>u(we,T,ce),onMouseleave:c},{default:()=>x(L,B,ne)})}))},x=(T,_,A)=>_.renderCell(A);return{wrappedRowRender:(T,_)=>{const A=e.store,{isRowExpanded:D,assertRowKey:N}=A,{treeData:W,lazyTreeNodeMap:V,childrenColumnName:H,rowKey:P}=A.states,O=A.states.columns.value;if(O.some(({type:M})=>M==="expand")){const M=D(T),B=k(T,_,void 0,M),L=t?.renderExpanded;if(!L)return console.error("[Element Error]renderExpanded is required."),B;const K=[[B]];return(t.props.preserveExpandedContent||M)&&K[0].push(Le("tr",{key:`expanded-row__${B.key}`,style:{display:M?"":"none"}},[Le("td",{colspan:O.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[L({row:T,$index:_,store:A,expanded:M})])])),K}else if(Object.keys(W.value).length){N();const M=Tn(T,P.value);let B=W.value[M],L=null;B&&(L={expanded:B.expanded,level:B.level,display:!0,noLazyChildren:void 0,loading:void 0},Gt(B.lazy)&&(L&&Gt(B.loaded)&&B.loaded&&(L.noLazyChildren=!(B.children&&B.children.length)),L.loading=B.loading));const K=[k(T,_,L??void 0)];if(B){let X=0;const J=(ne,re)=>{ne&&ne.length&&re&&ne.forEach(Q=>{const ce={display:re.display&&re.expanded,level:re.level+1,expanded:!1,noLazyChildren:!1,loading:!1},we=Tn(Q,P.value);if(Bo(we))throw new Error("For nested data item, row-key is required.");B={...W.value[we]},B&&(ce.expanded=B.expanded,B.level=B.level||ce.level,B.display=!!(B.expanded&&ce.display),Gt(B.lazy)&&(Gt(B.loaded)&&B.loaded&&(ce.noLazyChildren=!(B.children&&B.children.length)),ce.loading=B.loading)),X++,K.push(k(Q,_+X,ce)),B&&J(V.value[we]||Q[H.value],B)})};B.display=!0,J(V.value[M]||T[H.value],B)}return K}else return k(T,_,void 0)},tooltipContent:d,tooltipTrigger:f}}const QG={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var eX=ve({name:"ElTableBody",props:QG,setup(e){const t=ct(),n=Fe(Ea),o=ke("table"),{wrappedRowRender:a,tooltipContent:l,tooltipTrigger:s}=JG(e),{onColumnsChange:r,onScrollableChange:u}=Cy(n),c=[];return ge(e.store?.states.hoverRow,(d,f)=>{const v=t?.vnode.el,h=Array.from(v?.children||[]).filter(m=>m?.classList.contains(`${o.e("row")}`));let g=d;const p=h[g]?.childNodes;if(p?.length){let m=0;Array.from(p).reduce((y,b,w)=>(p[w]?.colSpan>1&&(m=p[w]?.colSpan),b.nodeName!=="TD"&&m===0&&y.push(w),m>0&&m--,y),[]).forEach(y=>{for(g=d;g>0;){const b=h[g-1]?.childNodes;if(b[y]&&b[y].nodeName==="TD"&&b[y].rowSpan>1){Jo(b[y],"hover-cell"),c.push(b[y]);break}g--}})}else c.forEach(m=>ro(m,"hover-cell")),c.length=0;!e.store?.states.isComplex.value||!Lt||Po(()=>{const m=h[f],y=h[d];m&&!m.classList.contains("hover-fixed-row")&&ro(m,"hover-row"),y&&Jo(y,"hover-row")})}),dr(()=>{Eo?.()}),{ns:o,onColumnsChange:r,onScrollableChange:u,wrappedRowRender:a,tooltipContent:l,tooltipTrigger:s}},render(){const{wrappedRowRender:e,store:t}=this;return Le("tbody",{tabIndex:-1},[(t?.states.data.value||[]).reduce((n,o)=>n.concat(e(o,n.length)),[])])}});function tX(){const e=Fe(Ea)?.store;return{leftFixedLeafCount:C(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:C(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:C(()=>e?.states.columns.value.length??0),leftFixedCount:C(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:C(()=>e?.states.rightFixedColumns.value.length??0),columns:C(()=>e?.states.columns.value??[])}}function nX(e){const{columns:t}=tX(),n=ke("table");return{getCellClasses:(l,s)=>{const r=l[s],u=[n.e("cell"),r.id,r.align,r.labelClassName,...by(n.b(),s,r.fixed,e.store)];return r.className&&u.push(r.className),r.children||u.push(n.is("leaf")),u},getCellStyles:(l,s)=>{const r=wy(s,l.fixed,e.store);return di(r,"left"),di(r,"right"),r},columns:t}}var xw=ve({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=Fe(Ea),n=ke("table"),{getCellClasses:o,getCellStyles:a,columns:l}=nX(e),{onScrollableChange:s,onColumnsChange:r}=Cy(t);return{ns:n,onScrollableChange:s,onColumnsChange:r,getCellClasses:o,getCellStyles:a,columns:l}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:o,sumText:a}=this,l=this.store.states.data.value;let s=[];return o?s=o({columns:e,data:l}):e.forEach((r,u)=>{if(u===0){s[u]=a;return}const c=l.map(h=>Number(h[r.property])),d=[];let f=!0;c.forEach(h=>{if(!Number.isNaN(+h)){f=!1;const g=`${h}`.split(".")[1];d.push(g?g.length:0)}});const v=Math.max.apply(null,d);f?s[u]="":s[u]=c.reduce((h,g)=>{const p=Number(g);return Number.isNaN(+p)?h:Number.parseFloat((h+g).toFixed(Math.min(v,20)))},0)}),Le(Le("tfoot",[Le("tr",{},[...e.map((r,u)=>Le("td",{key:u,colspan:r.colSpan,rowspan:r.rowSpan,class:n(e,u),style:t(r,u)},[Le("div",{class:["cell",r.labelClassName]},[s[u]])]))])]))}});function oX(e){return{setCurrentRow:v=>{e.commit("setCurrentRow",v)},getSelectionRows:()=>e.getSelectionRows(),getHalfSelectionRows:()=>e.getHalfSelectionRows(),toggleRowSelection:(v,h,g=!0)=>{e.toggleRowSelection(v,h,!1,g),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:v=>{e.clearFilter(v)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(v,h)=>{e.toggleRowExpansionAdapter(v,h)},clearSort:()=>{e.clearSort()},sort:(v,h)=>{e.commit("sort",{prop:v,order:h})},updateKeyChildren:(v,h)=>{e.updateKeyChildren(v,h)}}}function aX(e,t,n,o){const a=F(!1),l=F(null),s=F(!1),r=H=>{s.value=H},u=F({width:null,height:null,headerHeight:null}),c=F(!1),d={display:"inline-block",verticalAlign:"middle"},f=F(),v=F(0),h=F(0),g=F(0),p=F(0),m=F(0);ge(()=>e.height,H=>{t.setHeight(H??null)},{immediate:!0}),ge(()=>e.maxHeight,H=>{t.setMaxHeight(H??null)},{immediate:!0}),ge(()=>[e.currentRowKey,n.states.rowKey],([H,P])=>{!i(P)||!i(H)||n.setCurrentRowKey(`${H}`)},{immediate:!0}),ge(()=>e.data,H=>{o.store.commit("setData",H)},{immediate:!0,deep:!0}),uo(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const y=()=>{o.store.commit("setHoverRow",null),o.hoverState&&(o.hoverState=null)},b=(H,P)=>{const{pixelX:O,pixelY:M}=P;Math.abs(O)>=Math.abs(M)&&(o.refs.bodyWrapper.scrollLeft+=P.pixelX/5)},w=C(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),S=C(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),k=()=>{w.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(_)};at(async()=>{await Re(),n.updateColumns(),A(),requestAnimationFrame(k);const H=o.vnode.el,P=o.refs.headerWrapper;e.flexible&&H&&H.parentElement&&(H.parentElement.style.minWidth="0"),u.value={width:f.value=H.offsetWidth,height:H.offsetHeight,headerHeight:e.showHeader&&P?P.offsetHeight:null},n.states.columns.value.forEach(O=>{O.filteredValue&&O.filteredValue.length&&o.store.commit("filterChange",{column:O,values:O.filteredValue,silent:!0})}),o.$ready=!0});const x=(H,P)=>{if(!H)return;const O=Array.from(H.classList).filter(M=>!M.startsWith("is-scrolling-"));O.push(t.scrollX.value?P:"is-scrolling-none"),H.className=O.join(" ")},$=H=>{const{tableWrapper:P}=o.refs;x(P,H)},T=H=>{const{tableWrapper:P}=o.refs;return!!(P&&P.classList.contains(H))},_=function(){if(!o.refs.scrollBarRef)return;if(!t.scrollX.value){const K="is-scrolling-none";T(K)||$(K);return}const H=o.refs.scrollBarRef.wrapRef;if(!H)return;const{scrollLeft:P,offsetWidth:O,scrollWidth:M}=H,{headerWrapper:B,footerWrapper:L}=o.refs;B&&(B.scrollLeft=P),L&&(L.scrollLeft=P),P>=M-O-1?$("is-scrolling-right"):$(P===0?"is-scrolling-left":"is-scrolling-middle")},A=()=>{o.refs.scrollBarRef&&(o.refs.scrollBarRef.wrapRef&&jt(o.refs.scrollBarRef.wrapRef,"scroll",_,{passive:!0}),e.fit?cn(o.vnode.el,D):jt(window,"resize",D),cn(o.refs.tableInnerWrapper,()=>{D(),o.refs?.scrollBarRef?.update()}))},D=()=>{const H=o.vnode.el;if(!o.$ready||!H)return;let P=!1;const{width:O,height:M,headerHeight:B}=u.value,L=f.value=H.offsetWidth;O!==L&&(P=!0);const K=H.offsetHeight;(e.height||w.value)&&M!==K&&(P=!0);const X=e.tableLayout==="fixed"?o.refs.headerWrapper:o.refs.tableHeaderRef?.$el;e.showHeader&&X?.offsetHeight!==B&&(P=!0),v.value=o.refs.tableWrapper?.scrollHeight||0,g.value=X?.scrollHeight||0,p.value=o.refs.footerWrapper?.offsetHeight||0,m.value=o.refs.appendWrapper?.offsetHeight||0,h.value=v.value-g.value-p.value-m.value,P&&(u.value={width:L,height:K,headerHeight:e.showHeader&&X?.offsetHeight||0},k())},N=In(),W=C(()=>{const{bodyWidth:H,scrollY:P,gutterWidth:O}=t;return H.value?`${H.value-(P.value?O:0)}px`:""}),V=C(()=>e.maxHeight?"fixed":e.tableLayout);return{isHidden:a,renderExpanded:l,setDragVisible:r,isGroup:c,handleMouseLeave:y,handleHeaderFooterMousewheel:b,tableSize:N,emptyBlockStyle:C(()=>{if(e.data&&e.data.length)return;let H="100%";e.height&&h.value&&(H=`${h.value}px`);const P=f.value;return{width:P?`${P}px`:"",height:H}}),resizeProxyVisible:s,bodyWidth:W,resizeState:u,doLayout:k,tableBodyStyles:S,tableLayout:V,scrollbarViewStyle:d,scrollbarStyle:C(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${g.value+p.value}px)`}:{maxHeight:`${+e.maxHeight-g.value-p.value}px`}:{})}}function lX(e){let t;const n=()=>{const o=e.vnode.el.querySelector(".hidden-columns"),a={childList:!0,subtree:!0},l=e.store.states.updateOrderFns;t=new MutationObserver(()=>{l.forEach(s=>s())}),t.observe(o,a)};at(()=>{n()}),dr(()=>{t?.disconnect()})}function Td(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:a})=>It(a))&&(n=[]);const o=a=>{const l={key:`${e.tableLayout}_${a.id}`,style:{},name:void 0};return t?l.style={width:`${a.width}px`}:l.name=a.id,l};return Le("colgroup",{},n.map(a=>Le("col",o(a))))}Td.props=["columns","tableLayout"];const sX=()=>{const e=F(),t=(l,s)=>{const r=e.value;r&&r.scrollTo(l,s)},n=(l,s)=>{const r=e.value;r&&We(s)&&["Top","Left"].includes(l)&&r[`setScroll${l}`](s)};return{scrollBarRef:e,scrollTo:t,setScrollTop:l=>n("Top",l),setScrollLeft:l=>n("Left",l)}},rX=["data-prefix"],iX={ref:"hiddenColumns",class:"hidden-columns"};var uX=ve({name:"ElTable",__name:"table",props:hG,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-dblclick","cell-contextmenu","cell-click","row-dblclick","row-click","row-contextmenu","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e,{expose:t}){const n=e,{t:o}=_t(),a=ke("table"),l=Rl("table"),s=ct();xt(Ea,s);const r=RG(s,n);s.store=r;const u=new DG({store:s.store,table:s,fit:n.fit,showHeader:n.showHeader});s.layout=u;const c=C(()=>(r.states.data.value||[]).length===0),{setCurrentRow:d,getSelectionRows:f,getHalfSelectionRows:v,toggleRowSelection:h,clearSelection:g,clearFilter:p,toggleAllSelection:m,toggleRowExpansion:y,clearSort:b,sort:w,updateKeyChildren:S}=oX(r),{isHidden:k,renderExpanded:x,setDragVisible:$,isGroup:T,handleMouseLeave:_,handleHeaderFooterMousewheel:A,tableSize:D,emptyBlockStyle:N,resizeProxyVisible:W,bodyWidth:V,resizeState:H,doLayout:P,tableBodyStyles:O,tableLayout:M,scrollbarViewStyle:B,scrollbarStyle:L}=aX(n,u,r,s),{scrollBarRef:K,scrollTo:X,setScrollLeft:J,setScrollTop:ne}=sX(),re=ja(P,50),Q=yG(a.namespace.value),ce=s;s.tableId=Q,s.state={isGroup:T,resizeState:H,doLayout:P,debouncedUpdateLayout:re};const we=C(()=>n.sumText??o("el.table.sumText")),Se=C(()=>n.emptyText??o("el.table.emptyText")),le=C(()=>n.tooltipEffect??l.value?.tooltipEffect),ie=C(()=>n.tooltipOptions??l.value?.tooltipOptions),j=C(()=>E$(r.states.originColumns.value)[0]);return lX(s),Ft(()=>{re.cancel()}),t({ns:a,layout:u,store:r,columns:j,handleHeaderFooterMousewheel:A,handleMouseLeave:_,tableId:Q,tableSize:D,isHidden:k,isEmpty:c,renderExpanded:x,resizeProxyVisible:W,resizeState:H,isGroup:T,bodyWidth:V,tableBodyStyles:O,emptyBlockStyle:N,debouncedUpdateLayout:re,setCurrentRow:d,getSelectionRows:f,getHalfSelectionRows:v,toggleRowSelection:h,clearSelection:g,clearFilter:p,toggleAllSelection:m,toggleRowExpansion:y,clearSort:b,doLayout:P,sort:w,updateKeyChildren:S,t:o,setDragVisible:$,context:ce,computedSumText:we,computedEmptyText:Se,computedTooltipEffect:le,computedTooltipOptions:ie,tableLayout:M,scrollbarViewStyle:B,scrollbarStyle:L,scrollBarRef:K,scrollTo:X,setScrollLeft:J,setScrollTop:ne,allowDragLastColumn:n.allowDragLastColumn}),(ee,Y)=>(E(),z("div",{ref:"tableWrapper",class:R([{[i(a).m("fit")]:e.fit,[i(a).m("striped")]:e.stripe,[i(a).m("border")]:e.border||i(T),[i(a).m("hidden")]:i(k),[i(a).m("group")]:i(T),[i(a).m("fluid-height")]:e.maxHeight,[i(a).m("scrollable-x")]:i(u).scrollX.value,[i(a).m("scrollable-y")]:i(u).scrollY.value,[i(a).m("enable-row-hover")]:!i(r).states.isComplex.value,[i(a).m("enable-row-transition")]:(i(r).states.data.value||[]).length!==0&&(i(r).states.data.value||[]).length<100,"has-footer":e.showSummary},i(a).m(i(D)),e.className,i(a).b(),i(a).m(`layout-${i(M)}`)]),style:Be(e.style),"data-prefix":i(a).namespace.value,onMouseleave:Y[1]||(Y[1]=(...q)=>i(_)&&i(_)(...q))},[I("div",{ref:"tableInnerWrapper",class:R(i(a).e("inner-wrapper"))},[I("div",iX,[ue(ee.$slots,"default")],512),e.showHeader&&i(M)==="fixed"?Ye((E(),z("div",{key:0,ref:"headerWrapper",class:R(i(a).e("header-wrapper"))},[I("table",{ref:"tableHeader",class:R(i(a).e("header")),style:Be(i(O)),border:"0",cellpadding:"0",cellspacing:"0"},[Z(i(Td),{columns:i(r).states.columns.value,"table-layout":i(M)},null,8,["columns","table-layout"]),Z(i(kw),{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:i(r),"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:i($)},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[i(M1),i(A)]]):se("v-if",!0),I("div",{ref:"bodyWrapper",class:R(i(a).e("body-wrapper"))},[Z(i(wa),{ref_key:"scrollBarRef",ref:K,"view-style":i(B),"wrap-style":i(L),always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:Y[0]||(Y[0]=q=>ee.$emit("scroll",q))},{default:ae(()=>[I("table",{ref:"tableBody",class:R(i(a).e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Be({width:i(V),tableLayout:i(M)})},[Z(i(Td),{columns:i(r).states.columns.value,"table-layout":i(M)},null,8,["columns","table-layout"]),e.showHeader&&i(M)==="auto"?(E(),fe(i(kw),{key:0,ref:"tableHeaderRef",class:R(i(a).e("body-header")),border:e.border,"default-sort":e.defaultSort,store:i(r),"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:i($)},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):se("v-if",!0),Z(i(eX),{context:i(ce),highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":le.value,"tooltip-options":ie.value,"row-style":e.rowStyle,store:i(r),stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&i(M)==="auto"?(E(),fe(i(xw),{key:1,class:R(i(a).e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:i(r),"sum-text":we.value,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):se("v-if",!0)],6),c.value?(E(),z("div",{key:0,ref:"emptyBlock",style:Be(i(N)),class:R(i(a).e("empty-block"))},[I("span",{class:R(i(a).e("empty-text"))},[ue(ee.$slots,"empty",{},()=>[Oe(me(Se.value),1)])],2)],6)):se("v-if",!0),ee.$slots.append?(E(),z("div",{key:1,ref:"appendWrapper",class:R(i(a).e("append-wrapper"))},[ue(ee.$slots,"append")],2)):se("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&i(M)==="fixed"?Ye((E(),z("div",{key:1,ref:"footerWrapper",class:R(i(a).e("footer-wrapper"))},[I("table",{class:R(i(a).e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Be(i(O))},[Z(i(Td),{columns:i(r).states.columns.value,"table-layout":i(M)},null,8,["columns","table-layout"]),Z(i(xw),{border:e.border,"default-sort":e.defaultSort,store:i(r),"sum-text":we.value,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[Bt,!c.value],[i(M1),i(A)]]):se("v-if",!0),e.border||i(T)?(E(),z("div",{key:2,class:R(i(a).e("border-left-patch"))},null,2)):se("v-if",!0)],2),Ye(I("div",{ref:"resizeProxy",class:R(i(a).e("column-resize-proxy"))},null,2),[[Bt,i(W)]])],46,rX))}}),cX=uX;const dX={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}},fX={selection:"table-column--selection",expand:"table__expand-column"},pX={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},vX=e=>fX[e]||"",hX={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return Le(ha,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:o}){return Le(ha,{disabled:t.selectable?!t.selectable.call(null,e,o):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:a=>a.stopPropagation(),modelValue:n.isSelected(e),indeterminate:n.getRowIndeterminate(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const o=e.index;return We(o)?n=t+o:je(o)&&(n=o(t)),Le("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:o,$index:a}){const{ns:l}=n,s=[l.e("expand-icon")];!e.renderExpand&&o&&s.push(l.em("expand-icon","expanded"));const r=function(c){c.stopPropagation(),n.toggleRowExpansion(t)},u=n.states.rowExpandable.value?.(t,a)??!0;return u||s.push(l.is("disabled")),Le("button",{type:"button",disabled:!u,"aria-label":n.t(o?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":o,class:s,onClick:r},{default:()=>e.renderExpand?[e.renderExpand({expanded:o,expandable:u})]:[Le(He,null,{default:()=>[Le(io)]})]})},sortable:!1,resizable:!1}};function mX({row:e,column:t,$index:n}){const o=t.property,a=o&&es(e,o).value;return t&&t.formatter?t.formatter(e,t,a,n):a?.toString?.()||""}function gX({row:e,treeNode:t,store:n},o=!1){const{ns:a}=n;if(!t)return o?[Le("span",{class:a.e("placeholder")})]:null;const l=[],s=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&l.push(Le("span",{class:a.e("indent"),style:{"padding-left":`${t.indent}px`}})),Gt(t.expanded)&&!t.noLazyChildren){const r=[a.e("expand-icon"),t.expanded?a.em("expand-icon","expanded"):""];let u=io;t.loading&&(u=sa),l.push(Le("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:r,onClick:s},{default:()=>[Le(He,{class:a.is("loading",t.loading)},{default:()=>[Le(u)]})]}))}else l.push(Le("span",{class:a.e("placeholder")}));return l}function Ew(e,t){return e.reduce((n,o)=>(n[o]=o,n),t)}function yX(e,t){const n=ct();return{registerComplexWatchers:()=>{const l=["fixed"],s={realWidth:"width",realMinWidth:"minWidth"},r=Ew(l,s);Object.keys(r).forEach(u=>{const c=s[u];zt(t,c)&&ge(()=>t[c],d=>{let f=d;c==="width"&&u==="realWidth"&&(f=yy(d)),c==="minWidth"&&u==="realMinWidth"&&(f=y$(d)),n.columnConfig.value[c]=f,n.columnConfig.value[u]=f;const v=c==="fixed";e.value.store.scheduleLayout(v)})})},registerNormalWatchers:()=>{const l=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],s=["showOverflowTooltip"],r={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},u=Ew(l,r);Object.keys(u).forEach(d=>{const f=r[d];zt(t,f)&&ge(()=>t[f],v=>{n.columnConfig.value[d]=v,(d==="filters"||d==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),s.forEach(d=>{zt(e.value.props,d)&&ge(()=>e.value.props[d],f=>{n.columnConfig.value.type!=="selection"&&It(t[d])&&(n.columnConfig.value[d]=f)})});const c=Rl("table");c.value&&zt(c.value,"showOverflowTooltip")&&ge(()=>c.value?.showOverflowTooltip,d=>{n.columnConfig.value.type!=="selection"&&(!It(t.showOverflowTooltip)||!It(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=d))})}}}function bX(e,t,n){const o=ct(),a=F(""),l=F(!1),s=F(),r=F(),u=ke("table");uo(()=>{s.value=e.align?`is-${e.align}`:null,s.value}),uo(()=>{r.value=e.headerAlign?`is-${e.headerAlign}`:s.value,r.value});const c=C(()=>{let S=o.vnode.vParent||o.parent;for(;S&&!S.tableId&&!S.columnId;)S=S.vnode.vParent||S.parent;return S}),d=C(()=>{const{store:S}=o.parent;if(!S)return!1;const{treeData:k}=S.states,x=k.value;return x&&Object.keys(x).length>0}),f=F(yy(e.width)),v=F(y$(e.minWidth)),h=S=>(f.value&&(S.width=f.value),v.value&&(S.minWidth=v.value),!f.value&&v.value&&(S.width=void 0),S.minWidth||(S.minWidth=80),S.realWidth=Number(It(S.width)?S.minWidth:S.width),S),g=S=>{const k=S.type,x=hX[k]||{};Object.keys(x).forEach(T=>{const _=x[T];T!=="className"&&!It(_)&&(S[T]=_)});const $=vX(k);if($){const T=`${i(u.namespace)}-${$}`;S.className=S.className?`${S.className} ${T}`:T}return S},p=S=>{xe(S)?S.forEach(x=>k(x)):k(S);function k(x){x?.type?.name==="ElTableColumn"&&(x.vParent=o)}};return{columnId:a,realAlign:s,isSubColumn:l,realHeaderAlign:r,columnOrTableParent:c,setColumnWidth:h,setColumnForcedProps:g,setColumnRenders:S=>{e.renderHeader?Yt("TableColumn","Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):S.type!=="selection"&&(S.renderHeader=x=>{if(o.columnConfig.value.label,t.header){const $=t.header(x);if(S$($))return Le(Me,$)}return Oe(S.label)}),t["filter-icon"]&&(S.renderFilterIcon=x=>ue(t,"filter-icon",x)),t.expand&&(S.renderExpand=x=>ue(t,"expand",x));let k=S.renderCell;return S.type==="expand"?(S.renderCell=x=>Le("div",{class:"cell"},[k(x)]),n.value.renderExpanded=x=>t.default?t.default(x):t.default):(k=k||mX,S.renderCell=x=>{let $=null;if(t.default){const N=t.default(x);$=N.some(W=>W.type!==_n)?N:k(x)}else $=k(x);const{columns:T}=n.value.store.states,_=T.value.findIndex(N=>N.type==="default"),A=gX(x,d.value&&x.cellIndex===_),D={class:"cell",style:{}};return S.showOverflowTooltip&&(D.class=`${D.class} ${i(u.namespace)}-tooltip`,D.style={width:`${(x.column.realWidth||Number(x.column.width))-1}px`}),p($),Le("div",D,[A,$])}),S},getPropsData:(...S)=>S.reduce((k,x)=>(xe(x)&&x.forEach($=>{k[$]=e[$]}),k),{}),getColumnElIndex:(S,k)=>Array.prototype.indexOf.call(S,k),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",o.columnConfig.value)}}}var wX=ve({name:"ElTableColumn",__name:"index",props:dX,setup(e){const t=e,n=bn(),o=ct(),a=Rl("table"),l=F({}),s=C(()=>{let x=o.parent;for(;x&&!x.tableId;)x=x.parent;return x}),{registerNormalWatchers:r,registerComplexWatchers:u}=yX(s,t),{columnId:c,isSubColumn:d,realHeaderAlign:f,columnOrTableParent:v,setColumnWidth:h,setColumnForcedProps:g,setColumnRenders:p,getPropsData:m,getColumnElIndex:y,realAlign:b,updateColumnOrder:w}=bX(t,n,s),S=v.value;c.value=bG("tableId"in S?S.tableId:S.columnId),Qu(()=>{d.value=s.value!==S;const x=t.type||"default",$=t.sortable===""?!0:t.sortable,T=x==="selection"?!1:It(t.showOverflowTooltip)?S.props.showOverflowTooltip??a.value?.showOverflowTooltip:t.showOverflowTooltip,_=It(t.tooltipFormatter)?S.props.tooltipFormatter??a.value?.tooltipFormatter:t.tooltipFormatter,A={...pX[x],id:c.value,type:x,property:t.prop||t.property,align:b,headerAlign:f,showOverflowTooltip:T,tooltipFormatter:_,filterable:t.filters||t.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:$,index:t.index,rawColumnKey:o.vnode.key};let D=m(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);D=CG(A,D),D=xG(p,h,g)(D),l.value=D,r(),u()}),at(()=>{const x=v.value,$=d.value?x.vnode.el?.children:x.refs.hiddenColumns?.children,T=()=>y($||[],o.vnode.el);l.value.getColumnIndex=T,T()>-1&&s.value.store.commit("insertColumn",l.value,d.value?"columnConfig"in x&&x.columnConfig.value:null,w)}),Ft(()=>{const x=l.value.getColumnIndex;(x?x():-1)>-1&&s.value.store.commit("removeColumn",l.value,d.value?"columnConfig"in S&&S.columnConfig.value:null,w)}),o.columnId=c.value,o.columnConfig=l;const k=()=>{try{const x=n.default?.({row:{},column:{},$index:-1}),$=[];if(xe(x))for(const T of x)T.type?.name==="ElTableColumn"||T.shapeFlag&2?$.push(T):T.type===Me&&xe(T.children)&&T.children.forEach(_=>{_?.patchFlag!==1024&&!ze(_?.children)&&$.push(_)});return Le("div",$)}catch{return Le("div",[])}};return(x,$)=>(E(),fe(k))}}),SX=wX,CX=SX,$$=CX;const kX=ut(cX,{TableColumn:$$}),xX=fn($$),am={asc:"desc",desc:"asc"},Vu=Symbol("placeholder"),T$=String,wc={type:oe(Array),required:!0},ky={type:oe(Array)},_$={...ky,required:!0},EX=String,$w={type:oe(Array),default:()=>hn([])},_s={type:Number,required:!0},N$={type:oe([String,Number,Symbol]),default:"id"},Tw={type:oe(Object)},Rs=Te({class:String,columns:wc,columnsStyles:{type:oe(Object),required:!0},depth:Number,expandColumnKey:EX,estimatedRowHeight:{...Ws.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:oe(Function)},onRowHover:{type:oe(Function)},onRowHeightChange:{type:oe(Function)},rowData:{type:oe(Object),required:!0},rowEventHandlers:{type:oe(Object)},rowIndex:{type:Number,required:!0},rowKey:N$,style:{type:oe(Object)}}),Pv={type:Number,required:!0},xy=Te({class:String,columns:wc,fixedHeaderData:{type:oe(Array)},headerData:{type:oe(Array),required:!0},headerHeight:{type:oe([Number,Array]),default:50},rowWidth:Pv,rowHeight:{type:Number,default:50},height:Pv,width:Pv}),_d=Te({columns:wc,data:_$,fixedData:ky,estimatedRowHeight:Rs.estimatedRowHeight,width:_s,height:_s,headerWidth:_s,headerHeight:xy.headerHeight,bodyWidth:_s,rowHeight:_s,cache:Xx.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:Ws.scrollbarAlwaysOn,scrollbarStartGap:Ws.scrollbarStartGap,scrollbarEndGap:Ws.scrollbarEndGap,class:T$,style:Tw,containerStyle:Tw,getRowHeight:{type:oe(Function),required:!0},rowKey:Rs.rowKey,onRowsRendered:{type:oe(Function)},onScroll:{type:oe(Function)}}),$X=Te({cache:_d.cache,estimatedRowHeight:Rs.estimatedRowHeight,rowKey:N$,headerClass:{type:oe([String,Function])},headerProps:{type:oe([Object,Function])},headerCellProps:{type:oe([Object,Function])},headerHeight:xy.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:oe([String,Function])},rowProps:{type:oe([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:oe([Object,Function])},columns:wc,data:_$,dataGetter:{type:oe(Function)},fixedData:ky,expandColumnKey:Rs.expandColumnKey,expandedRowKeys:$w,defaultExpandedRowKeys:$w,class:T$,fixed:Boolean,style:{type:oe(Object)},width:_s,height:_s,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:Ws.hScrollbarSize,vScrollbarSize:Ws.vScrollbarSize,scrollbarAlwaysOn:Qx.alwaysOn,sortBy:{type:oe(Object),default:()=>({})},sortState:{type:oe(Object),default:void 0},onColumnSort:{type:oe(Function)},onExpandedRowsChange:{type:oe(Function)},onEndReached:{type:oe(Function)},onRowExpand:Rs.onRowExpand,onScroll:_d.onScroll,onRowsRendered:_d.onRowsRendered,rowEventHandlers:Rs.rowEventHandlers}),TX=(e,t,n)=>{const o={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow??0,flexShrink:e.flexShrink??1}},a={...e.style??{},...o,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(a.maxWidth=e.maxWidth),e.minWidth&&(a.minWidth=e.minWidth)),a};function _X(e,t,n){const o=C(()=>i(t).map((m,y)=>({...m,key:m.key??m.dataKey??y}))),a=C(()=>i(o).filter(m=>!m.hidden)),l=C(()=>i(a).filter(m=>m.fixed==="left"||m.fixed===!0)),s=C(()=>i(a).filter(m=>m.fixed==="right")),r=C(()=>i(a).filter(m=>!m.fixed)),u=C(()=>{const m=[];return i(l).forEach(y=>{m.push({...y,placeholderSign:Vu})}),i(r).forEach(y=>{m.push(y)}),i(s).forEach(y=>{m.push({...y,placeholderSign:Vu})}),m}),c=C(()=>i(l).length||i(s).length),d=C(()=>i(o).reduce((m,y)=>(m[y.key]=TX(y,i(n),e.fixed),m),{})),f=C(()=>i(a).reduce((m,y)=>m+y.width,0)),v=m=>i(o).find(y=>y.key===m),h=m=>i(d)[m],g=(m,y)=>{m.width=y};function p(m){const{key:y}=m.currentTarget.dataset;if(!y)return;const{sortState:b,sortBy:w}=e;let S="asc";st(b)?S=am[b[y]]:S=am[w.order],e.onColumnSort?.({column:v(y),key:y,order:S})}return{columns:o,columnsStyles:d,columnsTotalWidth:f,fixedColumnsOnLeft:l,fixedColumnsOnRight:s,hasFixedColumns:c,mainColumns:u,normalColumns:r,visibleColumns:a,getColumn:v,getColumnStyle:h,updateColumnWidth:g,onColumnSorted:p}}const NX=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,onMaybeEndReached:a})=>{const l=F({scrollLeft:0,scrollTop:0});function s(h){const{scrollTop:g}=h;t.value?.scrollTo(h),n.value?.scrollToTop(g),o.value?.scrollToTop(g)}function r(h){l.value=h,s(h)}function u(h){l.value.scrollTop=h,s(i(l))}function c(h){l.value.scrollLeft=h,t.value?.scrollTo?.(i(l))}function d(h){r(h),e.onScroll?.(h)}function f({scrollTop:h}){const{scrollTop:g}=i(l);h!==g&&u(h)}function v(h,g="auto"){t.value?.scrollToRow(h,g)}return ge(()=>i(l).scrollTop,(h,g)=>{h>g&&a()}),{scrollPos:l,scrollTo:r,scrollToLeft:c,scrollToTop:u,scrollToRow:v,onScroll:d,onVerticalScroll:f}},IX=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,tableInstance:a,ns:l,isScrolling:s})=>{const r=ct(),{emit:u}=r,c=kt(!1),d=F(e.defaultExpandedRowKeys||[]),f=F(-1),v=kt(null),h=F({}),g=F({}),p=kt({}),m=kt({}),y=kt({}),b=C(()=>We(e.estimatedRowHeight));function w(A){e.onRowsRendered?.(A),A.rowCacheEnd>i(f)&&(f.value=A.rowCacheEnd)}function S({hovered:A,rowKey:D}){s.value||a.vnode.el.querySelectorAll(`[rowkey="${String(D)}"]`).forEach(N=>{A?N.classList.add(l.is("hovered")):N.classList.remove(l.is("hovered"))})}function k({expanded:A,rowData:D,rowIndex:N,rowKey:W}){const V=[...i(d)],H=V.indexOf(W);A?H===-1&&V.push(W):H>-1&&V.splice(H,1),d.value=V,u("update:expandedRowKeys",V),e.onRowExpand?.({expanded:A,rowData:D,rowIndex:N,rowKey:W}),e.onExpandedRowsChange?.(V),a.vnode.el.querySelector(`.${l.is("hovered")}[rowkey="${String(W)}"]`)&&Re(()=>S({hovered:!0,rowKey:W}))}const x=ja(()=>{c.value=!0,h.value={...i(h),...i(g)},$(i(v),!1),g.value={},v.value=null,t.value?.forceUpdate(),n.value?.forceUpdate(),o.value?.forceUpdate(),r.proxy?.$forceUpdate(),c.value=!1},0);function $(A,D=!1){i(b)&&[t,n,o].forEach(N=>{const W=i(N);W&&W.resetAfterRowIndex(A,D)})}function T(A,D,N){const W=i(v);(W===null||W>N)&&(v.value=N),g.value[A]=D}function _({rowKey:A,height:D,rowIndex:N},W){W?W==="right"?y.value[A]=D:p.value[A]=D:m.value[A]=D;const V=Math.max(...[p,y,m].map(H=>H.value[A]||0));i(h)[A]!==V&&(T(A,V,N),x())}return{expandedRowKeys:d,lastRenderedRowIndex:f,isDynamic:b,isResetting:c,rowHeights:h,resetAfterIndex:$,onRowExpanded:k,onRowHovered:S,onRowsRendered:w,onRowHeightChange:_}},OX=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:o})=>{const a=F({}),l=C(()=>{const r={},{data:u,rowKey:c}=e,d=i(t);if(!d||!d.length)return u;const f=[],v=new Set;d.forEach(g=>v.add(g));let h=u.slice();for(h.forEach(g=>r[g[c]]=0);h.length>0;){const g=h.shift();f.push(g),v.has(g[c])&&xe(g.children)&&g.children.length>0&&(h=[...g.children,...h],g.children.forEach(p=>r[p[c]]=r[g[c]]+1))}return a.value=r,f}),s=C(()=>{const{data:r,expandColumnKey:u}=e;return u?i(l):r});return ge(s,(r,u)=>{r!==u&&(n.value=-1,o(0,!0))}),{data:s,depthMap:a}},MX=(e,t)=>e+t,Nd=e=>xe(e)?e.reduce(MX,0):e,ar=(e,t,n={})=>je(e)?e(t):e??n,Ql=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=mn(e[t])}),e),I$=e=>tn(e)?t=>Le(e,t):e,PX=(e,{columnsTotalWidth:t,rowsHeight:n,fixedColumnsOnLeft:o,fixedColumnsOnRight:a})=>{const l=C(()=>{const{fixed:p,width:m,vScrollbarSize:y}=e,b=m-y;return p?Math.max(Math.round(i(t)),b):b}),s=C(()=>{const{height:p=0,maxHeight:m=0,footerHeight:y,hScrollbarSize:b}=e;if(m>0){const w=i(v),S=i(n),k=i(f)+w+S+b;return Math.min(k,m-y)}return p-y}),r=C(()=>{const{maxHeight:p}=e,m=i(s);if(We(p)&&p>0)return m;const y=i(n)+i(f)+i(v);return Math.min(m,y)}),u=p=>p.width,c=C(()=>Nd(i(o).map(u))),d=C(()=>Nd(i(a).map(u))),f=C(()=>Nd(e.headerHeight)),v=C(()=>(e.fixedData?.length||0)*e.rowHeight),h=C(()=>i(s)-i(f)-i(v)),g=C(()=>{const{style:p={},height:m,width:y}=e;return Ql({...p,height:m,width:y})});return{bodyWidth:l,fixedTableHeight:r,mainTableHeight:s,leftTableWidth:c,rightTableWidth:d,windowHeight:h,footerHeight:C(()=>Ql({height:e.footerHeight})),emptyStyle:C(()=>({top:mn(i(f)),bottom:mn(e.footerHeight),width:mn(e.width)})),rootStyle:g,headerHeight:f}};function RX(e){const t=F(),n=F(),o=F(),{columns:a,columnsStyles:l,columnsTotalWidth:s,fixedColumnsOnLeft:r,fixedColumnsOnRight:u,hasFixedColumns:c,mainColumns:d,onColumnSorted:f}=_X(e,wt(e,"columns"),wt(e,"fixed")),{scrollTo:v,scrollToLeft:h,scrollToTop:g,scrollToRow:p,onScroll:m,onVerticalScroll:y,scrollPos:b}=NX(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,onMaybeEndReached:ee}),w=ke("table-v2"),S=ct(),k=kt(!1),{expandedRowKeys:x,lastRenderedRowIndex:$,isDynamic:T,isResetting:_,rowHeights:A,resetAfterIndex:D,onRowExpanded:N,onRowHeightChange:W,onRowHovered:V,onRowsRendered:H}=IX(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,tableInstance:S,ns:w,isScrolling:k}),{data:P,depthMap:O}=OX(e,{expandedRowKeys:x,lastRenderedRowIndex:$,resetAfterIndex:D}),M=C(()=>{const{estimatedRowHeight:Y,rowHeight:q}=e,U=i(P);return We(Y)?Object.values(i(A)).reduce((G,te)=>G+te,0):U.length*q}),{bodyWidth:B,fixedTableHeight:L,mainTableHeight:K,leftTableWidth:X,rightTableWidth:J,windowHeight:ne,footerHeight:re,emptyStyle:Q,rootStyle:ce,headerHeight:we}=PX(e,{columnsTotalWidth:s,fixedColumnsOnLeft:r,fixedColumnsOnRight:u,rowsHeight:M}),Se=F(),le=C(()=>{const Y=i(P).length===0;return xe(e.fixedData)?e.fixedData.length===0&&Y:Y});function ie(Y){const{estimatedRowHeight:q,rowHeight:U,rowKey:G}=e;return q?i(A)[i(P)[Y][G]]||q:U}const j=F(!1);function ee(){const{onEndReached:Y}=e;if(!Y)return;const{scrollTop:q}=i(b),U=i(M),G=U-(q+i(ne))+e.hScrollbarSize;!j.value&&i($)>=0&&U<=q+i(K)-i(we)?(j.value=!0,Y(G)):j.value=!1}return ge(()=>i(M),()=>j.value=!1),ge(()=>e.expandedRowKeys,Y=>x.value=Y,{deep:!0}),{columns:a,containerRef:Se,mainTableRef:t,leftTableRef:n,rightTableRef:o,isDynamic:T,isResetting:_,isScrolling:k,hasFixedColumns:c,columnsStyles:l,columnsTotalWidth:s,data:P,expandedRowKeys:x,depthMap:O,fixedColumnsOnLeft:r,fixedColumnsOnRight:u,mainColumns:d,bodyWidth:B,emptyStyle:Q,rootStyle:ce,footerHeight:re,mainTableHeight:K,fixedTableHeight:L,leftTableWidth:X,rightTableWidth:J,showEmpty:le,getRowHeight:ie,onColumnSorted:f,onRowHovered:V,onRowExpanded:N,onRowsRendered:H,onRowHeightChange:W,scrollTo:v,scrollToLeft:h,scrollToTop:g,scrollToRow:p,onScroll:m,onVerticalScroll:y}}const Ey=Symbol("tableV2"),O$="tableV2GridScrollLeft",AX=ve({name:"ElTableV2Header",props:xy,setup(e,{slots:t,expose:n}){const o=ke("table-v2"),a=Fe(O$),l=F(),s=C(()=>Ql({width:e.width,height:e.height})),r=C(()=>Ql({width:e.rowWidth,height:e.height})),u=C(()=>Bn(i(e.headerHeight))),c=v=>{const h=i(l);Re(()=>{h?.scroll&&h.scroll({left:v})})},d=()=>{const v=o.e("fixed-header-row"),{columns:h,fixedHeaderData:g,rowHeight:p}=e;return g?.map((m,y)=>{const b=Ql({height:p,width:"100%"});return t.fixed?.({class:v,columns:h,rowData:m,rowIndex:-(y+1),style:b})})},f=()=>{const v=o.e("dynamic-header-row"),{columns:h}=e;return i(u).map((g,p)=>{const m=Ql({width:"100%",height:g});return t.dynamic?.({class:v,columns:h,headerIndex:p,style:m})})};return Sa(()=>{a?.value&&c(a.value)}),n({scrollToLeft:c}),()=>{if(!(e.height<=0))return Z("div",{ref:l,class:e.class,style:i(s),role:"rowgroup"},[Z("div",{style:i(r),class:o.e("header")},[f(),d()])])}}}),DX="ElTableV2Grid",LX=e=>{const t=F(),n=F(),o=F(0),a=C(()=>{const{data:m,rowHeight:y,estimatedRowHeight:b}=e;if(!b)return m.length*y}),l=C(()=>{const{fixedData:m,rowHeight:y}=e;return(m?.length||0)*y}),s=C(()=>Nd(e.headerHeight)),r=C(()=>{const{height:m}=e;return Math.max(0,m-i(s)-i(l))}),u=C(()=>i(s)+i(l)>0),c=({data:m,rowIndex:y})=>m[y][e.rowKey];function d({rowCacheStart:m,rowCacheEnd:y,rowVisibleStart:b,rowVisibleEnd:w}){e.onRowsRendered?.({rowCacheStart:m,rowCacheEnd:y,rowVisibleStart:b,rowVisibleEnd:w})}function f(m,y){n.value?.resetAfterRowIndex(m,y)}function v(m,y){const b=i(t),w=i(n);st(m)?(b?.scrollToLeft(m.scrollLeft),o.value=m.scrollLeft,w?.scrollTo(m)):(b?.scrollToLeft(m),o.value=m,w?.scrollTo({scrollLeft:m,scrollTop:y}))}function h(m){i(n)?.scrollTo({scrollTop:m})}function g(m,y){const b=i(n);if(!b)return;const w=o.value;b.scrollToItem(m,0,y),w&&v({scrollLeft:w})}function p(){i(n)?.$forceUpdate(),i(t)?.$forceUpdate()}return ge(()=>e.bodyWidth,()=>{We(e.estimatedRowHeight)&&n.value?.resetAfter({columnIndex:0},!1)}),{bodyRef:n,forceUpdate:p,fixedRowHeight:l,gridHeight:r,hasHeader:u,headerHeight:s,headerRef:t,totalHeight:a,itemKey:c,onItemRendered:d,resetAfterRowIndex:f,scrollTo:v,scrollToTop:h,scrollToRow:g,scrollLeft:o}},$y=ve({name:DX,props:_d,setup(e,{slots:t,expose:n}){const{ns:o}=Fe(Ey),{bodyRef:a,fixedRowHeight:l,gridHeight:s,hasHeader:r,headerRef:u,headerHeight:c,totalHeight:d,forceUpdate:f,itemKey:v,onItemRendered:h,resetAfterRowIndex:g,scrollTo:p,scrollToTop:m,scrollToRow:y,scrollLeft:b}=LX(e);xt(O$,b),Ju(async()=>{await Re();const S=a.value?.states.scrollTop;S&&m(Math.round(S)+1)}),n({forceUpdate:f,totalHeight:d,scrollTo:p,scrollToTop:m,scrollToRow:y,resetAfterRowIndex:g});const w=()=>e.bodyWidth;return()=>{const{cache:S,columns:k,data:x,fixedData:$,useIsScrolling:T,scrollbarAlwaysOn:_,scrollbarEndGap:A,scrollbarStartGap:D,style:N,rowHeight:W,bodyWidth:V,estimatedRowHeight:H,headerWidth:P,height:O,width:M,getRowHeight:B,onScroll:L}=e,K=We(H),X=K?xz:wz,J=i(c);return Z("div",{role:"table",class:[o.e("table"),e.class],style:N},[Z(X,{ref:a,data:x,useIsScrolling:T,itemKey:v,columnCache:0,columnWidth:K?w:V,totalColumn:1,totalRow:x.length,rowCache:S,rowHeight:K?B:W,width:M,height:i(s),class:o.e("body"),role:"rowgroup",scrollbarStartGap:D,scrollbarEndGap:A,scrollbarAlwaysOn:_,onScroll:L,onItemRendered:h,perfMode:!1},{default:ne=>{const re=x[ne.rowIndex];return t.row?.({...ne,columns:k,rowData:re})}}),i(r)&&Z(AX,{ref:u,class:o.e("header-wrapper"),columns:k,headerData:x,headerHeight:e.headerHeight,fixedHeaderData:$,rowWidth:P,rowHeight:W,width:M,height:Math.min(J+i(l),O)},{dynamic:t.header,fixed:t.row})])}}});function VX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}const BX=(e,{slots:t})=>{const{mainTableRef:n,...o}=e;return Z($y,pt({ref:n},o),VX(t)?t:{default:()=>[t]})};function FX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}const zX=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:n,...o}=e;return Z($y,pt({ref:n},o),FX(t)?t:{default:()=>[t]})};function HX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}const KX=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:n,...o}=e;return Z($y,pt({ref:n},o),HX(t)?t:{default:()=>[t]})},WX=e=>{const{isScrolling:t}=Fe(Ey),n=F(!1),o=F(),a=C(()=>We(e.estimatedRowHeight)&&e.rowIndex>=0),l=(u=!1)=>{const c=i(o);if(!c)return;const{columns:d,onRowHeightChange:f,rowKey:v,rowIndex:h,style:g}=e,{height:p}=c.getBoundingClientRect();n.value=!0,Re(()=>{if(u||p!==Number.parseInt(g.height)){const m=d[0],y=m?.placeholderSign===Vu;f?.({rowKey:v,height:p,rowIndex:h},m&&!y&&m.fixed)}})},s=C(()=>{const{rowData:u,rowIndex:c,rowKey:d,onRowHover:f}=e,v=e.rowEventHandlers||{},h={};return Object.entries(v).forEach(([g,p])=>{je(p)&&(h[g]=m=>{p({event:m,rowData:u,rowIndex:c,rowKey:d})})}),f&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:g,hovered:p})=>{const m=h[g];h[g]=y=>{f({event:y,hovered:p,rowData:u,rowIndex:c,rowKey:d}),m?.(y)}}),h}),r=u=>{const{onRowExpand:c,rowData:d,rowIndex:f,rowKey:v}=e;c?.({expanded:u,rowData:d,rowIndex:f,rowKey:v})};return at(()=>{i(a)&&l(!0)}),{isScrolling:t,measurable:a,measured:n,rowRef:o,eventHandlers:s,onExpand:r}},jX=ve({name:"ElTableV2TableRow",props:Rs,setup(e,{expose:t,slots:n,attrs:o}){const{eventHandlers:a,isScrolling:l,measurable:s,measured:r,rowRef:u,onExpand:c}=WX(e);return t({onExpand:c}),()=>{const{columns:d,columnsStyles:f,expandColumnKey:v,depth:h,rowData:g,rowIndex:p,style:m}=e;let y=d.map((b,w)=>{const S=xe(g.children)&&g.children.length>0&&b.key===v;return n.cell({column:b,columns:d,columnIndex:w,depth:h,style:f[b.key],rowData:g,rowIndex:p,isScrolling:i(l),expandIconProps:S?{rowData:g,rowIndex:p,onExpand:c}:void 0})});if(n.row&&(y=n.row({cells:y.map(b=>xe(b)&&b.length===1?b[0]:b),style:m,columns:d,depth:h,rowData:g,rowIndex:p,isScrolling:i(l)})),i(s)){const{height:b,...w}=m||{},S=i(r);return Z("div",pt({ref:u,class:e.class,style:S?m:w,role:"row"},o,i(a)),[y])}return Z("div",pt(o,{ref:u,class:e.class,style:m,role:"row"},i(a)),[y])}}});function UX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}const YX=(e,{slots:t})=>{const{columns:n,columnsStyles:o,depthMap:a,expandColumnKey:l,expandedRowKeys:s,estimatedRowHeight:r,hasFixedColumns:u,rowData:c,rowIndex:d,style:f,isScrolling:v,rowProps:h,rowClass:g,rowKey:p,rowEventHandlers:m,ns:y,onRowHovered:b,onRowExpanded:w}=e,S=ar(g,{columns:n,rowData:c,rowIndex:d},""),k=ar(h,{columns:n,rowData:c,rowIndex:d}),x=c[p],$=a[x]||0,T=!!l,_=d<0,A=[y.e("row"),S,y.is("expanded",T&&s.includes(x)),y.is("fixed",!$&&_),y.is("customized",!!t.row),{[y.e(`row-depth-${$}`)]:T&&d>=0}],D=u?b:void 0,N={...k,columns:n,columnsStyles:o,class:A,depth:$,expandColumnKey:l,estimatedRowHeight:_?void 0:r,isScrolling:v,rowIndex:d,rowData:c,rowKey:x,rowEventHandlers:m,style:f};return Z(jX,pt(N,{onRowExpand:w,onMouseenter:H=>{D?.({hovered:!0,rowKey:x,event:H,rowData:c,rowIndex:d})},onMouseleave:H=>{D?.({hovered:!1,rowKey:x,event:H,rowData:c,rowIndex:d})},rowkey:x}),UX(t)?t:{default:()=>[t]})},Ty=(e,{slots:t})=>{const{cellData:n,style:o}=e,a=n?.toString?.()||"",l=ue(t,"default",e,()=>[a]);return Z("div",{class:e.class,title:a,style:o},[l])};Ty.displayName="ElTableV2Cell";Ty.inheritAttrs=!1;const M$=e=>{const{expanded:t,expandable:n,onExpand:o,style:a,size:l,ariaLabel:s}=e;return Z("button",pt({onClick:n?()=>o(!t):void 0,ariaLabel:s,ariaExpanded:t,class:e.class},{type:"button"}),[Z(He,{size:l,style:a},{default:()=>[Z(io,null,null)]})])};M$.inheritAttrs=!1;const lm=({columns:e,column:t,columnIndex:n,depth:o,expandIconProps:a,isScrolling:l,rowData:s,rowIndex:r,style:u,expandedRowKeys:c,ns:d,t:f,cellProps:v,expandColumnKey:h,indentSize:g,iconSize:p,rowKey:m},{slots:y})=>{const b=Ql(u);if(t.placeholderSign===Vu)return Z("div",{class:d.em("row-cell","placeholder"),style:b},null);const{cellRenderer:w,dataKey:S,dataGetter:k}=t,x=je(k)?k({columns:e,column:t,columnIndex:n,rowData:s,rowIndex:r}):En(s,S??""),$=ar(v,{cellData:x,columns:e,column:t,columnIndex:n,rowIndex:r,rowData:s}),T={class:d.e("cell-text"),columns:e,column:t,columnIndex:n,cellData:x,isScrolling:l,rowData:s,rowIndex:r},_=I$(w),A=_?_(T):ue(y,"default",T,()=>[Z(Ty,T,null)]),D=[d.e("row-cell"),t.class,t.align==="center"&&d.is("align-center"),t.align==="right"&&d.is("align-right")],N=r>=0&&h&&t.key===h,W=r>=0&&c.includes(s[m]);let V;const H=`margin-inline-start: ${o*g}px;`;return N&&(st(a)?V=Z(M$,pt(a,{class:[d.e("expand-icon"),d.is("expanded",W)],size:p,expanded:W,ariaLabel:f(W?"el.table.collapseRowLabel":"el.table.expandRowLabel"),style:H,expandable:!0}),null):V=Z("div",{style:[H,`width: ${p}px; height: ${p}px;`].join(" ")},null)),Z("div",pt({class:D,style:b},$,{role:"cell"}),[V,A])};lm.inheritAttrs=!1;const qX=Te({class:String,columns:wc,columnsStyles:{type:oe(Object),required:!0},headerIndex:Number,style:{type:oe(Object)}}),GX=ve({name:"ElTableV2HeaderRow",props:qX,setup(e,{slots:t}){return()=>{const{columns:n,columnsStyles:o,headerIndex:a,style:l}=e;let s=n.map((r,u)=>t.cell({columns:n,column:r,columnIndex:u,headerIndex:a,style:o[r.key]}));return t.header&&(s=t.header({cells:s.map(r=>xe(r)&&r.length===1?r[0]:r),columns:n,headerIndex:a})),Z("div",{class:e.class,style:l,role:"row"},[s])}}});function XX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}const ZX=({columns:e,columnsStyles:t,headerIndex:n,style:o,headerClass:a,headerProps:l,ns:s},{slots:r})=>{const u={columns:e,headerIndex:n},c=[s.e("header-row"),ar(a,u,""),s.is("customized",!!r.header)];return Z(GX,{...ar(l,u),columnsStyles:t,class:c,columns:e,headerIndex:n,style:o},XX(r)?r:{default:()=>[r]})},_y=(e,{slots:t})=>ue(t,"default",e,()=>[Z("div",{class:e.class,title:e.column?.title},[e.column?.title])]);_y.displayName="ElTableV2HeaderCell";_y.inheritAttrs=!1;const JX=e=>{const{sortOrder:t}=e;return Z("button",{type:"button","aria-label":e.ariaLabel,class:e.class},[Z(He,{size:14},{default:()=>[Z(t==="asc"?RV:MV,null,null)]})])},_w=(e,{slots:t})=>{const{column:n,ns:o,t:a,style:l,onColumnSorted:s}=e,r=Ql(l);if(n.placeholderSign===Vu)return Z("div",{class:o.em("header-row-cell","placeholder"),style:r},null);const{headerCellRenderer:u,headerClass:c,sortable:d}=n,f={...e,class:o.e("header-cell-text")},v=I$(u),h=v?v(f):ue(t,"default",f,()=>[Z(_y,f,null)]),{sortBy:g,sortState:p,headerCellProps:m}=e;let y,b,w;if(p){const k=p[n.key];y=!!am[k],b=y?k:"asc"}else y=n.key===g.key,b=y?g.order:"asc";b==="asc"?w="ascending":b==="desc"?w="descending":w=void 0;const S=[o.e("header-cell"),ar(c,e,""),n.align==="center"&&o.is("align-center"),n.align==="right"&&o.is("align-right"),d&&o.is("sortable")];return Z("div",pt({...ar(m,e),onClick:n.sortable?s:void 0,ariaSort:d?w:void 0,class:S,style:r,"data-key":n.key},{role:"columnheader"}),[h,d&&Z(JX,{class:[o.e("sort-icon"),y&&o.is("sorting")],sortOrder:b,ariaLabel:a("el.table.sortLabel",{column:n.title||""})},null)])},P$=(e,{slots:t})=>Z("div",{class:e.class,style:e.style},[t.default?.()]);P$.displayName="ElTableV2Footer";const R$=(e,{slots:t})=>{const n=ue(t,"default",{},()=>[Z(l$,null,null)]);return Z("div",{class:e.class,style:e.style},[n])};R$.displayName="ElTableV2Empty";const A$=(e,{slots:t})=>Z("div",{class:e.class,style:e.style},[t.default?.()]);A$.displayName="ElTableV2Overlay";function Di(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!tn(e)}const QX=ve({name:"ElTableV2",props:$X,slots:Object,setup(e,{slots:t,expose:n}){const o=ke("table-v2"),{t:a}=_t(),{columnsStyles:l,fixedColumnsOnLeft:s,fixedColumnsOnRight:r,mainColumns:u,mainTableHeight:c,fixedTableHeight:d,leftTableWidth:f,rightTableWidth:v,data:h,depthMap:g,expandedRowKeys:p,hasFixedColumns:m,mainTableRef:y,leftTableRef:b,rightTableRef:w,isDynamic:S,isResetting:k,isScrolling:x,bodyWidth:$,emptyStyle:T,rootStyle:_,footerHeight:A,showEmpty:D,scrollTo:N,scrollToLeft:W,scrollToTop:V,scrollToRow:H,getRowHeight:P,onColumnSorted:O,onRowHeightChange:M,onRowHovered:B,onRowExpanded:L,onRowsRendered:K,onScroll:X,onVerticalScroll:J}=RX(e);return n({scrollTo:N,scrollToLeft:W,scrollToTop:V,scrollToRow:H}),xt(Ey,{ns:o,isResetting:k,isScrolling:x}),()=>{const{cache:ne,cellProps:re,estimatedRowHeight:Q,expandColumnKey:ce,fixedData:we,headerHeight:Se,headerClass:le,headerProps:ie,headerCellProps:j,sortBy:ee,sortState:Y,rowHeight:q,rowClass:U,rowEventHandlers:G,rowKey:te,rowProps:he,scrollbarAlwaysOn:pe,indentSize:de,iconSize:be,useIsScrolling:ye,vScrollbarSize:$e,width:Pe}=e,et=i(h),tt={cache:ne,class:o.e("main"),columns:i(u),data:et,fixedData:we,estimatedRowHeight:Q,bodyWidth:i($),headerHeight:Se,headerWidth:i($),height:i(c),mainTableRef:y,rowKey:te,rowHeight:q,scrollbarAlwaysOn:pe,scrollbarStartGap:2,scrollbarEndGap:$e,useIsScrolling:ye,width:Pe,getRowHeight:P,onRowsRendered:K,onScroll:X},qe=i(f),$t=i(d),At={cache:ne,class:o.e("left"),columns:i(s),data:et,fixedData:we,estimatedRowHeight:Q,leftTableRef:b,rowHeight:q,bodyWidth:qe,headerWidth:qe,headerHeight:Se,height:$t,rowKey:te,scrollbarAlwaysOn:pe,scrollbarStartGap:2,scrollbarEndGap:$e,useIsScrolling:ye,width:qe,getRowHeight:P,onScroll:J},Wt=i(v),Rt={cache:ne,class:o.e("right"),columns:i(r),data:et,fixedData:we,estimatedRowHeight:Q,rightTableRef:w,rowHeight:q,bodyWidth:Wt,headerWidth:Wt,headerHeight:Se,height:$t,rowKey:te,scrollbarAlwaysOn:pe,scrollbarStartGap:2,scrollbarEndGap:$e,width:Wt,style:`${o.cssVarName("table-scrollbar-size")}: ${$e}px`,useIsScrolling:ye,getRowHeight:P,onScroll:J},qt=i(l),Ce={ns:o,depthMap:i(g),columnsStyles:qt,expandColumnKey:ce,expandedRowKeys:i(p),estimatedRowHeight:Q,hasFixedColumns:i(m),rowProps:he,rowClass:U,rowKey:te,rowEventHandlers:G,onRowHovered:B,onRowExpanded:L,onRowHeightChange:M},Ne={cellProps:re,expandColumnKey:ce,indentSize:de,iconSize:be,rowKey:te,expandedRowKeys:i(p),ns:o,t:a},Je={ns:o,headerClass:le,headerProps:ie,columnsStyles:qt},_e={ns:o,t:a,sortBy:ee,sortState:Y,headerCellProps:j,onColumnSorted:O},Ge={row:ht=>Z(YX,pt(ht,Ce),{row:t.row,cell:rt=>{let Ct;return t.cell?Z(lm,pt(rt,Ne,{style:qt[rt.column.key]}),Di(Ct=t.cell(rt))?Ct:{default:()=>[Ct]}):Z(lm,pt(rt,Ne,{style:qt[rt.column.key]}),null)}}),header:ht=>Z(ZX,pt(ht,Je),{header:t.header,cell:rt=>{let Ct;return t["header-cell"]?Z(_w,pt(rt,_e,{style:qt[rt.column.key]}),Di(Ct=t["header-cell"](rt))?Ct:{default:()=>[Ct]}):Z(_w,pt(rt,_e,{style:qt[rt.column.key]}),null)}})},Ve=[e.class,o.b(),o.e("root"),o.is("dynamic",i(S))],nt={class:o.e("footer"),style:i(A)};return Z("div",{class:Ve,style:i(_)},[Z(BX,tt,Di(Ge)?Ge:{default:()=>[Ge]}),Z(zX,At,Di(Ge)?Ge:{default:()=>[Ge]}),Z(KX,Rt,Di(Ge)?Ge:{default:()=>[Ge]}),t.footer&&Z(P$,nt,{default:t.footer}),i(D)&&Z(R$,{class:o.e("empty"),style:i(T)},{default:t.empty}),t.overlay&&Z(A$,{class:o.e("overlay")},{default:t.overlay})])}}}),eZ=Te({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:oe(Function)}}),tZ=e=>{const t=F(),n=F(0),o=F(0);let a;return at(()=>{a=cn(t,([l])=>{const{width:s,height:r}=l.contentRect,{paddingLeft:u,paddingRight:c,paddingTop:d,paddingBottom:f}=getComputedStyle(l.target),v=Number.parseInt(u)||0,h=Number.parseInt(c)||0,g=Number.parseInt(d)||0,p=Number.parseInt(f)||0;n.value=s-v-h,o.value=r-g-p}).stop}),Ft(()=>{a?.()}),ge([n,o],([l,s])=>{e.onResize?.({width:l,height:s})}),{sizer:t,width:n,height:o}},nZ=ve({name:"ElAutoResizer",props:eZ,setup(e,{slots:t}){const n=ke("auto-resizer"),{height:o,width:a,sizer:l}=tZ(e),s={width:"100%",height:"100%"};return()=>Z("div",{ref:l,class:n.b(),style:s},[t.default?.({height:o.value,width:a.value})])}}),oZ=ut(QX),aZ=ut(nZ),Ip=Symbol("tabsRootContextKey"),lZ=Te({tabs:{type:oe(Array),default:()=>hn([])},tabRefs:{type:oe(Object),default:()=>hn({})}}),Nw="ElTabBar";var sZ=ve({name:Nw,__name:"tab-bar",props:lZ,setup(e,{expose:t}){const n=e,o=Fe(Ip);o||dn(Nw,"");const a=ke("tabs"),l=F(),s=F(),r=C(()=>It(o.props.defaultValue)||!!s.value?.transform),u=()=>{let h=0,g=0;const p=["top","bottom"].includes(o.props.tabPosition)?"width":"height",m=p==="width"?"x":"y",y=m==="x"?"left":"top";return n.tabs.every(b=>{if(It(b.paneName))return!1;const w=n.tabRefs[b.paneName];if(!w)return!1;if(!b.active)return!0;h=w[`offset${cv(y)}`],g=w[`client${cv(p)}`];const S=window.getComputedStyle(w);return p==="width"&&(g-=Number.parseFloat(S.paddingLeft)+Number.parseFloat(S.paddingRight),h+=Number.parseFloat(S.paddingLeft)),!1}),{[p]:`${g}px`,transform:`translate${cv(m)}(${h}px)`}},c=()=>s.value=u(),d=[],f=()=>{d.forEach(h=>h.stop()),d.length=0,Object.values(n.tabRefs).forEach(h=>{d.push(cn(h,c))})};ge(()=>n.tabs,async()=>{await Re(),c(),f()},{immediate:!0});const v=cn(l,()=>c());return Ft(()=>{d.forEach(h=>h.stop()),d.length=0,v.stop()}),t({ref:l,update:c}),(h,g)=>r.value?(E(),z("div",{key:0,ref_key:"barRef",ref:l,class:R([i(a).e("active-bar"),i(a).is(i(o).props.tabPosition)]),style:Be(s.value)},null,6)):se("v-if",!0)}}),rZ=sZ;const iZ=5,uZ=({scrollable:e,navOffset:t,navSize:n,navContainerSize:o,isHorizontal:a})=>{const l=F(!1),s=C(()=>Math.max(n.value-o.value,0));let r,u;const c=v=>{if(!e.value||v.touches.length!==1)return;const{clientX:h,clientY:g}=yf(v);r={startX:h,startY:g,startOffset:t.value},u=void 0},d=v=>{if(!r||!e.value)return;if(v.touches.length!==1){f();return}const{clientX:h,clientY:g}=yf(v),p=r.startX-h,m=r.startY-g,y=a.value?p:m,b=a.value?m:p,w=Math.abs(y),S=Math.abs(b);if(jk(u)){if(Math.max(w,S)<=iZ)return;u=w>S}if(!u)return;const k=To(r.startOffset+y,0,s.value);s.value<=0||k===t.value||!v.cancelable||(v.preventDefault(),l.value=!0,t.value=k)},f=()=>{r=void 0,u=void 0,l.value=!1};return{isTouchScrolling:l,handleTouchStart:c,handleTouchMove:d,handleTouchEnd:f}},cZ=Te({panes:{type:oe(Array),default:()=>hn([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),dZ={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},Iw="ElTabNav",fZ=ve({name:Iw,props:cZ,emits:dZ,setup(e,{expose:t,emit:n}){const o=Fe(Ip);o||dn(Iw,"");const a=ke("tabs"),l=oA(),s=sA(),r=F(),u=F(),c=F(),d=F({}),f=F(),v=F(!1),h=F(0),g=F(!1),p=F(!0),m=F(!1),y=kt(),b=C(()=>["top","bottom"].includes(o.props.tabPosition)),w=C(()=>b.value?"width":"height"),S=C(()=>{const Q=w.value==="width"?"X":"Y";return{transition:m.value||W.value?"none":void 0,transform:`translate${Q}(-${h.value}px)`}}),{width:k,height:x}=ef(r),{width:$,height:T}=ef(u,{width:0,height:0},{box:"border-box"}),_=C(()=>b.value?k.value:x.value),A=C(()=>b.value?$.value:T.value),{onWheel:D}=tE({atStartEdge:C(()=>h.value<=0),atEndEdge:C(()=>A.value-h.value<=_.value),layout:C(()=>b.value?"horizontal":"vertical")},Q=>{h.value=To(h.value+Q,0,A.value-_.value)}),N=Q=>{m.value=!0,D(Q),Po(()=>{m.value=!1})},{isTouchScrolling:W,handleTouchStart:V,handleTouchMove:H,handleTouchEnd:P}=uZ({scrollable:v,navOffset:h,navSize:A,navContainerSize:_,isHorizontal:b}),O=()=>{if(!r.value)return;const Q=r.value.getBoundingClientRect()[w.value],ce=h.value;ce&&(h.value=ce>Q?ce-Q:0)},M=()=>{if(!r.value||!u.value)return;const Q=u.value.getBoundingClientRect()[w.value],ce=r.value.getBoundingClientRect()[w.value],we=h.value;Ha(Q-we,ce)&&(h.value=Q-we>ce*2?we+ce:Q-ce)},B=async()=>{const Q=u.value;if(!v.value||!c.value||!r.value||!Q)return;await Re();const ce=d.value[e.currentName];if(!ce)return;const we=r.value,Se=ce.getBoundingClientRect(),le=we.getBoundingClientRect(),ie=le.left+1,j=le.right-1,ee=Q.getBoundingClientRect(),Y=b.value?ee.width-le.width:ee.height-le.height,q=h.value;let U=q;b.value?(Se.leftj&&(U=q+Se.right-j)):(Se.tople.bottom&&(U=q+(Se.bottom-le.bottom))),U=Math.max(U,0),h.value=Math.min(U,Y)},L=()=>{if(!u.value||!r.value)return;e.stretch&&f.value?.update();const Q=u.value.getBoundingClientRect()[w.value],ce=r.value.getBoundingClientRect()[w.value],we=h.value;ce0&&(h.value=0))},K=Q=>{const ce=Zt(Q);let we=0;switch(ce){case Ee.left:case Ee.up:we=-1;break;case Ee.right:case Ee.down:we=1;break;default:return}const Se=Array.from(Q.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let le=Se.indexOf(Q.target)+we;le<0?le=Se.length-1:le>=Se.length&&(le=0),Se[le].focus({preventScroll:!0}),Se[le].click(),X()},X=()=>{p.value&&(g.value=!0)},J=()=>g.value=!1,ne=(Q,ce)=>{d.value[ce]=Q},re=async()=>{await Re(),d.value[e.currentName]?.focus({preventScroll:!0})};return ge(l,Q=>{Q==="hidden"?p.value=!1:Q==="visible"&&setTimeout(()=>p.value=!0,50)}),ge(s,Q=>{Q?setTimeout(()=>p.value=!0,50):p.value=!1}),cn(c,()=>{Po(L)}),at(()=>setTimeout(()=>B(),0)),Sa(()=>L()),t({scrollToActiveTab:B,removeFocus:J,focusActiveTab:re,tabListRef:u,tabBarRef:f,scheduleRender:()=>id(y)}),()=>{const Q=v.value?[Z("span",{class:[a.e("nav-prev"),a.is("disabled",!v.value.prev)],onClick:O},[Z(He,null,{default:()=>[Z(El,null,null)]})]),Z("span",{class:[a.e("nav-next"),a.is("disabled",!v.value.next)],onClick:M},[Z(He,null,{default:()=>[Z(io,null,null)]})])]:null,ce=e.panes.map((we,Se)=>{const le=we.uid,ie=we.props.disabled,j=we.props.name??we.index??`${Se}`,ee=!ie&&(we.isClosable||we.props.closable!==!1&&e.editable);we.index=`${Se}`;const Y=ee?Z(He,{class:"is-icon-close",onClick:G=>n("tabRemove",we,G)},{default:()=>[Z(la,null,null)]}):null,q=we.slots.label?.()||we.props.label,U=!ie&&we.active?e.tabindex??o.props.tabindex:-1;return Z("div",{ref:G=>ne(G,j),class:[a.e("item"),a.is(o.props.tabPosition),a.is("active",we.active),a.is("disabled",ie),a.is("closable",ee),a.is("focus",g.value)],id:`tab-${j}`,key:`tab-${le}`,"aria-controls":`pane-${j}`,role:"tab","aria-selected":we.active,tabindex:U,onFocus:()=>X(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",we,j,G)},onKeydown:G=>{const te=Zt(G);ee&&(te===Ee.delete||te===Ee.backspace)&&n("tabRemove",we,G)}},[q,Y])});return y.value,Z("div",{ref:c,class:[a.e("nav-wrap"),a.is("scrollable",!!v.value),a.is(o.props.tabPosition)]},[Q,Z("div",{class:a.e("nav-scroll"),ref:r},[e.panes.length>0?Z("div",{class:[a.e("nav"),a.is(o.props.tabPosition),a.is("stretch",e.stretch&&["top","bottom"].includes(o.props.tabPosition))],ref:u,style:S.value,role:"tablist",onKeydown:K,onWheel:N,onTouchstart:V,onTouchmove:H,onTouchend:P,onTouchcancel:P},[e.type?null:Z(rZ,{ref:f,tabs:[...e.panes],tabRefs:d.value},null),ce]):null])])}}}),pZ=Te({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:oe(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),Rv=e=>ze(e)||We(e),vZ={[lt]:e=>Rv(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>Rv(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>Rv(e),tabAdd:()=>!0},hZ=ve({name:"ElTabs",props:pZ,emits:vZ,setup(e,{emit:t,slots:n,expose:o}){const a=ke("tabs"),l=C(()=>["left","right"].includes(e.tabPosition)),{children:s,addChild:r,removeChild:u,ChildrenSorter:c}=wp(ct(),"ElTabPane"),d=F(),f=F((It(e.modelValue)?e.defaultValue:e.modelValue)??"0"),v=async(b,w=!1)=>{if(!(f.value===b||It(b)))try{let S;if(e.beforeLeave){const k=e.beforeLeave(b,f.value);S=k instanceof Promise?await k:k}else S=!0;if(S!==!1){const k=s.value.find(x=>x.paneName===f.value)?.isFocusInsidePane();f.value=b,w&&(t(lt,b),t("tabChange",b)),d.value?.removeFocus?.(),k&&d.value?.focusActiveTab()}}catch{}},h=(b,w,S)=>{b.props.disabled||(t("tabClick",b,S),v(w,!0))},g=(b,w)=>{b.props.disabled||It(b.props.name)||(w.stopPropagation(),t("edit",b.props.name,"remove"),t("tabRemove",b.props.name))},p=()=>{t("edit",void 0,"add"),t("tabAdd")},m=b=>{const w=Zt(b);[Ee.enter,Ee.numpadEnter].includes(w)&&p()},y=b=>{const w=b.el.firstChild,S=["bottom","right"].includes(e.tabPosition)?b.children[0].el:b.children[1].el;w!==S&&w.before(S)};return ge(()=>e.modelValue,b=>v(b)),ge(f,async()=>{await Re(),d.value?.scrollToActiveTab()}),xt(Ip,{props:e,currentName:f,registerPane:r,unregisterPane:u,nav$:d}),o({currentName:f,get tabNavRef(){return hr(d.value,["scheduleRender"])}}),()=>{const b=n["add-icon"],w=e.editable||e.addable?Z("div",{class:[a.e("new-tab"),l.value&&a.e("new-tab-vertical")],tabindex:e.tabindex,onClick:p,onKeydown:m},[b?ue(n,"add-icon"):Z(He,{class:a.is("icon-plus")},{default:()=>[Z(Y2,null,null)]})]):null,S=()=>Z(fZ,{ref:d,currentName:f.value,editable:e.editable,type:e.type,panes:s.value,stretch:e.stretch,onTabClick:h,onTabRemove:g},null),k=Z("div",{class:[a.e("header"),l.value&&a.e("header-vertical"),a.is(e.tabPosition)]},[Z(c,null,{default:S,$stable:!0}),w]),x=Z("div",{class:a.e("content")},[ue(n,"default")]);return Z("div",{class:[a.b(),a.m(e.tabPosition),{[a.m("card")]:e.type==="card",[a.m("border-card")]:e.type==="border-card"}],onVnodeMounted:y,onVnodeUpdated:y},[x,k])}}}),mZ=Te({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),gZ=["id","aria-hidden","aria-labelledby"],Ow="ElTabPane";var yZ=ve({name:Ow,__name:"tab-pane",props:mZ,setup(e){const t=e,n=ct(),o=bn(),a=Fe(Ip);a||dn(Ow,"usage: ");const l=ke("tab-pane"),s=F(),r=F(),u=C(()=>t.closable??a.props.closable),c=C(()=>a.currentName.value===(t.name??r.value)),d=F(c.value),f=C(()=>t.name??r.value),v=C(()=>!t.lazy||d.value||c.value),h=()=>s.value?.contains(document.activeElement);ge(c,p=>{p&&(d.value=!0)});const g=Kt({uid:n.uid,getVnode:()=>n.vnode,slots:o,props:t,paneName:f,active:c,index:r,isClosable:u,isFocusInsidePane:h});return a.registerPane(g),Ft(()=>{a.unregisterPane(g)}),Km(()=>{o.label&&a.nav$.value?.scheduleRender()}),(p,m)=>v.value?Ye((E(),z("div",{key:0,id:`pane-${f.value}`,ref_key:"paneRef",ref:s,class:R(i(l).b()),role:"tabpanel","aria-hidden":!c.value,"aria-labelledby":`tab-${f.value}`},[ue(p.$slots,"default")],10,gZ)),[[Bt,c.value]]):se("v-if",!0)}}),D$=yZ;const bZ=ut(hZ,{TabPane:D$}),wZ=fn(D$),SZ=Te({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:Ca,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}});var CZ=ve({name:"ElText",__name:"text",props:SZ,setup(e){const t=e,n=Za(),o=F(),a=In(),l=ke("text"),s=C(()=>[l.b(),l.m(t.type),l.m(a.value),l.is("truncated",t.truncated),l.is("line-clamp",!It(t.lineClamp))]),r=async()=>{if(await Re(),n.title)return;let u=!1;const c=o.value?.textContent||"";if(t.truncated){const d=o.value?.offsetWidth,f=o.value?.scrollWidth;d&&f&&f>d&&(u=!0)}else if(!It(t.lineClamp)){const d=o.value?.offsetHeight,f=o.value?.scrollHeight;d&&f&&f>d&&(u=!0)}u?o.value?.setAttribute("title",c):o.value?.removeAttribute("title")};return at(r),Sa(r),(u,c)=>(E(),fe(ft(e.tag),{ref_key:"textRef",ref:o,class:R(s.value),style:Be({"-webkit-line-clamp":e.lineClamp})},{default:ae(()=>[ue(u.$slots,"default")]),_:3},8,["class","style"]))}}),kZ=CZ;const Ny=ut(kZ),L$="09:00",V$="18:00",B$="00:30",xZ=Te({format:{type:String,default:"HH:mm"},modelValue:{type:oe(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:oe(String),default:"light"},clearable:{type:Boolean,default:!0},size:Rn,placeholder:String,start:{type:String,default:L$},end:{type:String,default:V$},step:{type:String,default:B$},minTime:{type:oe(String)},maxTime:{type:oe(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:oe([String,Object]),default:()=>U2},clearIcon:{type:oe([String,Object]),default:()=>el},popperClass:{type:oe([String,Array,Object,Boolean]),default:""},popperStyle:{type:oe([String,Array,Object,Boolean]),default:void 0},...mr}),js=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const o=Number.parseInt(t[1],10);if(Number.isNaN(n)||Number.isNaN(o))return null;const a=e.toUpperCase();return a.includes("AM")&&n===12?n=0:a.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:o}}return null},EZ=e=>!!e&&e.hours>=0&&e.minutes>=0&&!Number.isNaN(e.hours)&&!Number.isNaN(e.minutes),Av=(e,t)=>{const n=js(e);if(!n)return-1;const o=js(t);if(!o)return-1;const a=n.minutes+n.hours*60,l=o.minutes+o.hours*60;return a===l?0:a>l?1:-1},Mw=e=>`${e}`.padStart(2,"0"),Id=e=>`${Mw(e.hours)}:${Mw(e.minutes)}`,$Z=(e,t)=>{const n=js(e);if(!n)return"";const o=js(t);if(!o)return"";const a={hours:n.hours,minutes:n.minutes};return a.minutes+=o.minutes,a.hours+=o.hours,a.hours+=Math.floor(a.minutes/60),a.minutes=a.minutes%60,Id(a)};var TZ=ve({name:"ElTimeSelect",__name:"time-select",props:xZ,emits:[Et,"blur","focus","clear",lt],setup(e,{expose:t}){ot.extend(Gg);const{Option:n}=fs,o=e,a=ke("input"),l=F(),s=pn(),{lang:r}=_t(),u=(b,w,S,k=!0)=>{const x=js(b);return!EZ(x)||!k&&x.hours===0&&x.minutes===0?(Yt("ElTimeSelect",`invalid ${w}, fallback to default ${w} (${S}).`),S):Id(x)},c=C(()=>o.modelValue),d=C(()=>u(o.start,"start",L$)),f=C(()=>u(o.end,"end",V$)),v=C(()=>{const b=js(o.minTime||"");return b?Id(b):null}),h=C(()=>{const b=js(o.maxTime||"");return b?Id(b):null}),g=C(()=>u(o.step,"step",B$,!1)),p=C(()=>{const b=[],w=(k,x)=>{b.push({value:k,rawValue:x,disabled:Av(x,v.value||"-1:-1")<=0||Av(x,h.value||"100:100")>=0})};let S=d.value;for(;Av(S,f.value)<=0;)w(ot(S,"HH:mm").locale(r.value).format(o.format),S),S=$Z(S,g.value);return o.includeEndTime&&b[b.length-1]?.rawValue!==f.value&&w(ot(f.value,"HH:mm").locale(r.value).format(o.format),f.value),b});return t({blur:()=>{l.value?.blur?.()},focus:()=>{l.value?.focus?.()}}),(b,w)=>(E(),fe(i(fs),{ref_key:"select",ref:l,name:e.name,"model-value":c.value,disabled:i(s),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"popper-class":e.popperClass,"popper-style":e.popperStyle,"onUpdate:modelValue":w[0]||(w[0]=S=>b.$emit(i("update:modelValue"),S)),onChange:w[1]||(w[1]=S=>b.$emit(i("change"),S)),onBlur:w[2]||(w[2]=S=>b.$emit("blur",S)),onFocus:w[3]||(w[3]=S=>b.$emit("focus",S)),onClear:w[4]||(w[4]=()=>b.$emit("clear"))},{prefix:ae(()=>[e.prefixIcon?(E(),fe(i(He),{key:0,class:R(i(a).e("prefix-icon"))},{default:ae(()=>[(E(),fe(ft(e.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)]),default:ae(()=>[(E(!0),z(Me,null,dt(p.value,S=>(E(),fe(i(n),{key:S.value,label:S.value,value:S.value,disabled:S.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["name","model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","popper-class","popper-style"]))}}),_Z=TZ;const NZ=ut(_Z),F$="timeline",IZ=Te({mode:{type:String,values:["start","alternate","alternate-reverse","end"],default:"start"},reverse:Boolean}),OZ=ve({name:"ElTimeline",props:IZ,setup(e,{slots:t}){const n=ke("timeline");xt(F$,{props:e,slots:t});const o=C(()=>[n.b(),n.is(e.mode)]);return()=>{const a=Fo(t.default?.()??[]);return Le("ul",{class:o.value},e.reverse?a.reverse():a)}}}),MZ=Te({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Xt},hollow:Boolean});var PZ=ve({name:"ElTimelineItem",__name:"timeline-item",props:MZ,setup(e){const t=e,{props:n}=Fe(F$),o=ke("timeline-item"),a=C(()=>[o.e("node"),o.em("node",t.size||""),o.em("node",t.type||""),o.is("hollow",t.hollow)]),l=C(()=>[o.b(),{[o.e("center")]:t.center},o.is(n.mode)]);return(s,r)=>(E(),z("li",{class:R(l.value)},[I("div",{class:R(i(o).e("tail"))},null,2),s.$slots.dot?se("v-if",!0):(E(),z("div",{key:0,class:R(a.value),style:Be({backgroundColor:e.color})},[e.icon?(E(),fe(i(He),{key:0,class:R(i(o).e("icon"))},{default:ae(()=>[(E(),fe(ft(e.icon)))]),_:1},8,["class"])):se("v-if",!0)],6)),s.$slots.dot?(E(),z("div",{key:1,class:R(i(o).e("dot"))},[ue(s.$slots,"dot")],2)):se("v-if",!0),I("div",{class:R(i(o).e("wrapper"))},[!e.hideTimestamp&&e.placement==="top"?(E(),z("div",{key:0,class:R([i(o).e("timestamp"),i(o).is("top")])},me(e.timestamp),3)):se("v-if",!0),I("div",{class:R(i(o).e("content"))},[ue(s.$slots,"default")],2),!e.hideTimestamp&&e.placement==="bottom"?(E(),z("div",{key:1,class:R([i(o).e("timestamp"),i(o).is("bottom")])},me(e.timestamp),3)):se("v-if",!0)],2)],2))}}),z$=PZ;const RZ=ut(OZ,{TimelineItem:z$}),AZ=fn(z$),H$="left-check-change",K$="right-check-change",jl=Te({data:{type:oe(Array),default:()=>[]},titles:{type:oe(Array),default:()=>[]},buttonTexts:{type:oe(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:oe(Function)},leftDefaultChecked:{type:oe(Array),default:()=>[]},rightDefaultChecked:{type:oe(Array),default:()=>[]},renderContent:{type:oe(Function)},modelValue:{type:oe(Array),default:()=>[]},format:{type:oe(Object),default:()=>({})},filterable:Boolean,props:{type:oe(Object),default:()=>hn({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0},virtualScroll:Boolean,itemSize:{type:Number,default:30}}),sm=(e,t)=>[e,t].every(xe)||xe(e)&&yn(t),DZ={[Et]:(e,t,n)=>[e,n].every(xe)&&["left","right"].includes(t),[lt]:e=>xe(e),[H$]:sm,[K$]:sm},Sc=e=>{const t={label:"label",key:"key",disabled:"disabled"};return C(()=>({...t,...e.props}))},LZ=(e,t)=>({onSourceCheckedChange:(a,l)=>{e.leftChecked=a,l&&t(H$,a,l)},onTargetCheckedChange:(a,l)=>{e.rightChecked=a,l&&t(K$,a,l)}}),VZ=e=>{const t=Sc(e),n=C(()=>e.data.reduce((o,a)=>(o[a[t.value.key]]=a,o),{}));return{sourceData:C(()=>e.data.filter(o=>!e.modelValue.includes(o[t.value.key]))),targetData:C(()=>e.targetOrder==="original"?e.data.filter(o=>e.modelValue.includes(o[t.value.key])):e.modelValue.reduce((o,a)=>{const l=n.value[a];return l&&o.push(l),o},[]))}},BZ=(e,t,n)=>{const o=Sc(e),a=(r,u,c)=>{n(lt,r),n(Et,r,u,c)};return{addToLeft:()=>{const r=e.modelValue.slice();t.rightChecked.forEach(u=>{const c=r.indexOf(u);c>-1&&r.splice(c,1)}),a(r,"left",t.rightChecked)},addToRight:()=>{let r=e.modelValue.slice();const u=e.data.filter(c=>{const d=c[o.value.key];return t.leftChecked.includes(d)&&!e.modelValue.includes(d)}).map(c=>c[o.value.key]);r=e.targetOrder==="unshift"?u.concat(r):r.concat(u),e.targetOrder==="original"&&(r=e.data.filter(c=>r.includes(c[o.value.key])).map(c=>c[o.value.key])),a(r,"right",t.leftChecked)}}},rm="checked-change",FZ=Te({data:jl.data,optionRender:{type:oe(Function)},placeholder:String,title:String,filterable:Boolean,format:jl.format,filterMethod:jl.filterMethod,defaultChecked:jl.leftDefaultChecked,props:jl.props,virtualScroll:jl.virtualScroll,itemSize:jl.itemSize}),zZ={[rm]:sm},HZ=(e,t,n)=>{const o=Sc(e),a=C(()=>e.data.filter(h=>je(e.filterMethod)?e.filterMethod(t.query,h):String(h[o.value.label]||h[o.value.key]).toLowerCase().includes(t.query.toLowerCase()))),l=C(()=>a.value.filter(h=>!h[o.value.disabled])),s=C(()=>{const h=t.checked.length,g=e.data.length,{noChecked:p,hasChecked:m}=e.format;return p&&m?h>0?m.replace(/\${checked}/g,h.toString()).replace(/\${total}/g,g.toString()):p.replace(/\${total}/g,g.toString()):`${h}/${g}`}),r=C(()=>{const h=t.checked.length;return h>0&&h{const h=l.value.map(g=>g[o.value.key]);t.allChecked=h.length>0&&h.every(g=>t.checked.includes(g))},c=h=>{t.checked=h?l.value.map(g=>g[o.value.key]):[]},d=F(),{height:f}=ef(C(()=>d.value?.$el)),v=F();return ge(()=>t.checked,(h,g)=>{u(),t.checkChangeByUser?n(rm,h,h.concat(g).filter(p=>!h.includes(p)||!g.includes(p))):(n(rm,h),t.checkChangeByUser=!0)}),ge(l,()=>{u()}),ge(()=>e.data,()=>{const h=[],g=a.value.map(p=>p[o.value.key]);t.checked.forEach(p=>{g.includes(p)&&h.push(p)}),t.checkChangeByUser=!1,t.checked=h}),ge(()=>e.defaultChecked,(h,g)=>{if(g&&h.length===g.length&&h.every(y=>g.includes(y)))return;const p=[],m=l.value.map(y=>y[o.value.key]);h.forEach(y=>{m.includes(y)&&p.push(y)}),t.checkChangeByUser=!1,t.checked=p},{immediate:!0}),ge(()=>t.query,()=>{e.virtualScroll&&v.value?.scrollToItem(0)},{flush:"post"}),{filteredData:a,checkableData:l,checkedSummary:s,virtualListRef:v,isIndeterminate:r,checkboxGroupRef:d,virtualListHeight:f,updateAllChecked:u,handleAllCheckedChange:c}};var KZ=ve({name:"ElTransferPanel",__name:"transfer-panel",props:FZ,emits:zZ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=bn(),s=({option:$})=>$,{t:r}=_t(),u=ke("transfer"),c=Kt({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=Sc(o),{filteredData:f,checkedSummary:v,virtualListRef:h,isIndeterminate:g,checkboxGroupRef:p,virtualListHeight:m,handleAllCheckedChange:y}=HZ(o,c,a),b=C(()=>!mo(c.query)&&mo(f.value)),w=C(()=>!mo(l.default()[0].children)),{checked:S,allChecked:k,query:x}=An(c);return t({query:x}),($,T)=>(E(),z("div",{class:R(i(u).b("panel"))},[I("p",{class:R(i(u).be("panel","header"))},[Z(i(ha),{modelValue:i(k),"onUpdate:modelValue":T[0]||(T[0]=_=>gt(k)?k.value=_:null),indeterminate:i(g),"validate-event":!1,onChange:i(y)},{default:ae(()=>[I("span",{class:R(i(u).be("panel","header-title"))},me(e.title),3),I("span",{class:R(i(u).be("panel","header-count"))},me(i(v)),3)]),_:1},8,["modelValue","indeterminate","onChange"])],2),I("div",{class:R([i(u).be("panel","body"),i(u).is("with-footer",w.value)])},[e.filterable?(E(),fe(i(Gn),{key:0,modelValue:i(x),"onUpdate:modelValue":T[1]||(T[1]=_=>gt(x)?x.value=_:null),class:R(i(u).be("panel","filter")),size:"default",placeholder:e.placeholder,"prefix-icon":i(IV),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):se("v-if",!0),Ye(Z(i(ty),{ref_key:"checkboxGroupRef",ref:p,modelValue:i(S),"onUpdate:modelValue":T[2]||(T[2]=_=>gt(S)?S.value=_:null),"validate-event":!1,class:R([i(u).is("filterable",e.filterable),i(u).be("panel","list")])},{default:ae(()=>[e.virtualScroll?(E(),fe(i(bc),{key:1,ref_key:"virtualListRef",ref:h,data:i(f),total:i(f).length,"item-size":e.itemSize,height:i(m)},{default:ae(({data:_,index:A,style:D})=>[(E(),z("div",{key:_[A][i(d).key],style:Be(D)},[Z(i(ha),{class:R(i(u).be("panel","item")),value:_[A][i(d).key],disabled:_[A][i(d).disabled],"validate-event":!1},{default:ae(()=>[Z(s,{option:e.optionRender?.(_[A])},null,8,["option"])]),_:2},1032,["class","value","disabled"])],4))]),_:1},8,["data","total","item-size","height"])):(E(!0),z(Me,{key:0},dt(i(f),_=>(E(),fe(i(ha),{key:_[i(d).key],class:R(i(u).be("panel","item")),value:_[i(d).key],disabled:_[i(d).disabled],"validate-event":!1},{default:ae(()=>[Z(s,{option:e.optionRender?.(_)},null,8,["option"])]),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[Bt,!b.value&&!i(mo)(e.data)]]),Ye(I("div",{class:R(i(u).be("panel","empty"))},[ue($.$slots,"empty",{},()=>[Oe(me(b.value?i(r)("el.transfer.noMatch"):i(r)("el.transfer.noData")),1)])],2),[[Bt,b.value||i(mo)(e.data)]])],2),w.value?(E(),z("p",{key:0,class:R(i(u).be("panel","footer"))},[ue($.$slots,"default")],2)):se("v-if",!0)],2))}}),Pw=KZ;const WZ={key:0},jZ={key:0};var UZ=ve({name:"ElTransfer",__name:"transfer",props:jl,emits:DZ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=bn(),{t:s}=_t(),r=ke("transfer"),{formItem:u}=Wn(),c=Kt({leftChecked:[],rightChecked:[]}),d=Sc(o),{sourceData:f,targetData:v}=VZ(o),{onSourceCheckedChange:h,onTargetCheckedChange:g}=LZ(c,a),{addToLeft:p,addToRight:m}=BZ(o,c,a),y=F(),b=F(),w=_=>{switch(_){case"left":y.value.query="";break;case"right":b.value.query="";break}},S=C(()=>o.buttonTexts.length===2),k=C(()=>o.titles[0]||s("el.transfer.titles.0")),x=C(()=>o.titles[1]||s("el.transfer.titles.1")),$=C(()=>o.filterPlaceholder||s("el.transfer.filterPlaceholder"));ge(()=>o.modelValue,()=>{o.validateEvent&&u?.validate?.("change").catch(mt)});const T=C(()=>_=>{if(o.renderContent)return o.renderContent(Le,_);const A=(l.default?.({option:_})||[]).filter(D=>D.type!==_n);return A.length?A:Le("span",_[d.value.label]||_[d.value.key])});return t({clearQuery:w,leftPanel:y,rightPanel:b}),(_,A)=>(E(),z("div",{class:R(i(r).b())},[Z(Pw,{ref_key:"leftPanel",ref:y,data:i(f),"option-render":T.value,placeholder:$.value,title:k.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,"default-checked":e.leftDefaultChecked,props:o.props,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,onCheckedChange:i(h)},{empty:ae(()=>[ue(_.$slots,"left-empty")]),default:ae(()=>[ue(_.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","virtual-scroll","item-size","onCheckedChange"]),I("div",{class:R(i(r).e("buttons"))},[Z(i(zn),{type:"primary",class:R([i(r).e("button"),i(r).is("with-texts",S.value)]),disabled:i(mo)(c.rightChecked),onClick:i(p)},{default:ae(()=>[Z(i(He),null,{default:ae(()=>[Z(i(El))]),_:1}),i(It)(e.buttonTexts[0])?se("v-if",!0):(E(),z("span",WZ,me(e.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),Z(i(zn),{type:"primary",class:R([i(r).e("button"),i(r).is("with-texts",S.value)]),disabled:i(mo)(c.leftChecked),onClick:i(m)},{default:ae(()=>[i(It)(e.buttonTexts[1])?se("v-if",!0):(E(),z("span",jZ,me(e.buttonTexts[1]),1)),Z(i(He),null,{default:ae(()=>[Z(i(io))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),Z(Pw,{ref_key:"rightPanel",ref:b,data:i(v),"option-render":T.value,placeholder:$.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,title:x.value,"default-checked":e.rightDefaultChecked,props:o.props,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,onCheckedChange:i(g)},{empty:ae(()=>[ue(_.$slots,"right-empty")]),default:ae(()=>[ue(_.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","virtual-scroll","item-size","onCheckedChange"])],2))}}),YZ=UZ;const qZ=ut(YZ),Iy="RootTree",W$="NodeInstance",Rw="TreeNodeMap",j$=Te({data:{type:oe(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:oe(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:oe(Function)},allowDrop:{type:oe(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:Xt}}),GZ={"check-change":(e,t,n)=>e&&Gt(t)&&Gt(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,o)=>e&&t&&o instanceof Event,"node-contextmenu":(e,t,n,o)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,o)=>e&&o,"node-drop":(e,t,n,o)=>e&&t&&o,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n},U$="$treeNodeId",Aw=function(e,t){!t||t.$treeNodeId||Object.defineProperty(t,U$,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},Oy=(e,t)=>t?.[e||"$treeNodeId"],im=(e,t,n)=>{const o=e.value.currentNode;n();const a=e.value.currentNode;o!==a&&t("current-change",a?a.data:null,a)},Y$=e=>{let t=!0,n=!0,o=!0,a=!0;for(let l=0,s=e.length;l{n.canFocus=t,um(n.childNodes,t)})};let XZ=0;var cm=class Od{constructor(t){this.isLeafByUser=void 0,this.isLeaf=void 0,this.isEffectivelyChecked=!1,this.id=XZ++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)zt(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const n=t.props;if(n&&typeof n.isLeaf<"u"){const l=Gc(this,"isLeaf");Gt(l)&&(this.isLeafByUser=l)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),xe(this.data)||Aw(this,this.data),!this.data)return;const o=t.defaultExpandedKeys,a=t.key;a&&!yn(this.key)&&o&&o.includes(this.key)&&this.expand(null,t.autoExpandParent),a&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode&&(t.currentNode.isCurrent=!1),t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||this.parent?.expanded===!0)&&(this.canFocus=!0)}setData(t){xe(t)||Aw(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&xe(this.data)?n=this.data:n=Gc(this,"children")||[];for(let o=0,a=n.length;o-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(o=>o===t||n&&o.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,o){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof Od)){if(!o){const a=this.getChildren(!0);a?.includes(t.data)||(It(n)||n<0?a?.push(t.data):a?.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=Kt(new Od(t)),t instanceof Od&&t.initialize()}t.level=this.level+1,It(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let o;n&&(o=this.childNodes.indexOf(n)),this.insertChild(t,o)}insertAfter(t,n){let o;n&&(o=this.childNodes.indexOf(n),o!==-1&&(o+=1)),this.insertChild(t,o)}removeChild(t){const n=this.getChildren()||[],o=n.indexOf(t.data);o>-1&&n.splice(o,1);const a=this.childNodes.indexOf(t);a>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(a,1)),this.updateLeafState()}removeChildByData(t){const n=this.childNodes.find(o=>o.data===t);n&&this.removeChild(n)}expand(t,n){const o=()=>{if(n){let a=this.parent;for(;a&&a.level>0;)a.expanded=!0,a=a.parent}this.expanded=!0,t&&t(),um(this.childNodes,!0)};this.shouldLoadData()?this.loadData(a=>{xe(a)&&(this.store.checkStrictly||(this.checked?this.setChecked(!0,!0):ji(this)),o())}):o()}doCreateChildren(t,n={}){t.forEach(o=>{this.insertChild(Object.assign({data:o},n),void 0,!0)})}collapse(){this.expanded=!1,um(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(t,n,o,a){if(this.indeterminate=t==="half",this.checked=t===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly&&!n)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const s=()=>{if(n){const r=this.childNodes;for(let f=0,v=r.length;f{s(),ji(this)},{checked:t!==!1});return}else s()}const l=this.parent;!l||l.level===0||!o&&!this.store.checkStrictly&&ji(l)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const o=this.store.props;let a="children";return o&&(a=o.children||"children"),It(n[a])&&(n[a]=null),t&&!n[a]&&(n[a]=[]),n[a]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(l=>l.data),o={},a=[];t.forEach((l,s)=>{const r=l[U$];r&&n.some(u=>u?.$treeNodeId===r)?o[r]={index:s,data:l}:a.push({index:s,data:l})}),this.store.lazy||n.forEach(l=>{o[l?.$treeNodeId]||this.removeChildByData(l)}),a.forEach(({index:l,data:s})=>{this.insertChild({data:s},l)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const o=l=>{this.childNodes=[],this.doCreateChildren(l,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,l)},a=()=>{this.loading=!1};this.store.load(this,o,a)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const o=n.shift();n.unshift(...o.childNodes),t(o)}}reInitChecked(){this.store.checkStrictly||ji(this)}},ZZ=class{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(const t in e)zt(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new cm({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const e=this.load;e(this.root,t=>{this.root.doCreateChildren(t),this._initDefaultCheckedNodes()},mt)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,n=this.lazy,o=async function(a){const l=a.root?a.root.childNodes:a.childNodes;for(const[s,r]of l.entries())r.visible=!!t?.call(r,e,r.data,r),s%80===0&&s>0&&await Re(),await o(r);if(!a.visible&&l.length){let s=!0;s=!l.some(r=>r.visible),a.root?a.root.visible=s===!1:a.visible=s===!1}e&&a.visible&&!a.isLeaf&&(!n||a.loaded)&&a.expand()};o(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof cm)return e;const t=st(e)?Oy(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){const n=this.getNode(t);n.parent?.insertBefore({data:e},n)}insertAfter(e,t){const n=this.getNode(t);n.parent?.insertAfter({data:e},n)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const n=Bo(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(n=>{const o=t[n];o&&o.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){const t=this.defaultCheckedKeys||[];!yn(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{const n=e.key;yn(n)||(this.nodesMap[n]=e)}}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(t=>{this.deregisterNode(t)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const n=[],o=function(a){(a.root?a.root.childNodes:a.childNodes).forEach(l=>{(l.checked||t&&l.indeterminate)&&(!e||e&&l.isLeaf)&&n.push(l.data),o(l)})};return o(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(t=>(t||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(o=>{o.indeterminate&&e.push(o.data),t(o)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const n in t)zt(t,n)&&e.push(t[n]);return e}updateChildren(e,t){const n=this.nodesMap[e];if(!n)return;const o=n.childNodes;for(let a=o.length-1;a>=0;a--){const l=o[a];this.remove(l.data)}for(let a=0,l=t.length;ar.level-u.level),a=Object.create(null),l=Object.keys(n);o.forEach(r=>r.setChecked(!1,!1));const s=r=>{r.childNodes.forEach(u=>{a[u.data[e]]=!0,u.childNodes?.length&&s(u)})};for(let r=0,u=o.length;r{h.isLeaf||h.setChecked(!1,!1,!0),f(h)}),v.reInitChecked()};f(c)}}}setCheckedNodes(e,t=!1){const n=this.key,o={};e.forEach(a=>{o[(a||{})[n]]=!0}),this._setCheckedKeys(n,t,o)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,o={};e.forEach(a=>{o[a]=!0}),this._setCheckedKeys(n,t,o)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(t=>{const n=this.getNode(t);n&&n.expand(null,this.autoExpandParent)})}setChecked(e,t,n){const o=this.getNode(e);o&&o.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const n=e[this.key],o=this.nodesMap[n];this.setCurrentNode(o),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,Bo(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0))}};function q$(e){const t=Fe(Rw,null);let n={treeNodeExpand:o=>{e.node!==o&&e.node?.collapse()},children:new Set};return t&&t.children.add(n),Ft(()=>{t&&t.children.delete(n),n=null}),xt(Rw,n),{broadcastExpanded:o=>{if(e.accordion)for(const a of n.children)a.treeNodeExpand(o)}}}const G$=Symbol("dragEvents");function JZ({props:e,ctx:t,el$:n,dropIndicator$:o,store:a}){const l=ke("tree"),s=F({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return xt(G$,{treeNodeDragStart:({event:d,treeNode:f})=>{if(d.dataTransfer){if(je(e.allowDrag)&&!e.allowDrag(f.node))return d.preventDefault(),!1;d.dataTransfer.effectAllowed="move";try{d.dataTransfer.setData("text/plain","")}catch{}s.value.draggingNode=f,t.emit("node-drag-start",f.node,d)}},treeNodeDragOver:({event:d,treeNode:f})=>{if(!d.dataTransfer)return;const v=f,h=s.value.dropNode;h&&h.node.id!==v.node.id&&ro(h.$el,l.is("drop-inner"));const g=s.value.draggingNode;if(!g||!v)return;let p=!0,m=!0,y=!0,b=!0;je(e.allowDrop)&&(p=e.allowDrop(g.node,v.node,"prev"),b=m=e.allowDrop(g.node,v.node,"inner"),y=e.allowDrop(g.node,v.node,"next")),d.dataTransfer.dropEffect=m||p||y?"move":"none",(p||m||y)&&h?.node.id!==v.node.id&&(h&&t.emit("node-drag-leave",g.node,h.node,d),t.emit("node-drag-enter",g.node,v.node,d)),p||m||y?s.value.dropNode=v:s.value.dropNode=null,v.node.nextSibling===g.node&&(y=!1),v.node.previousSibling===g.node&&(p=!1),v.node.contains(g.node,!1)&&(m=!1),(g.node===v.node||g.node.contains(v.node))&&(p=!1,m=!1,y=!1);const w=v.$el,S=w.querySelector(`.${l.be("node","content")}`).getBoundingClientRect(),k=n.value.getBoundingClientRect(),x=n.value.scrollTop;let $;const T=p?m?.25:y?.45:1:Number.NEGATIVE_INFINITY,_=y?m?.75:p?.55:0:Number.POSITIVE_INFINITY;let A=-9999;const D=d.clientY-S.top;DS.height*_?$="after":m?$="inner":$="none";const N=w.querySelector(`.${l.be("node","expand-icon")}`).getBoundingClientRect(),W=o.value;$==="before"?A=N.top-k.top+x:$==="after"&&(A=N.bottom-k.top+x),W.style.top=`${A}px`,W.style.left=`${N.right-k.left}px`,$==="inner"?Jo(w,l.is("drop-inner")):ro(w,l.is("drop-inner")),s.value.showDropIndicator=$==="before"||$==="after",s.value.allowDrop=s.value.showDropIndicator||b,s.value.dropType=$,t.emit("node-drag-over",g.node,v.node,d)},treeNodeDragEnd:d=>{const{draggingNode:f,dropType:v,dropNode:h}=s.value;if(d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),f?.node.data&&h){const g={data:f.node.data};v!=="none"&&f.node.remove(),v==="before"?h.node.parent?.insertBefore(g,h.node):v==="after"?h.node.parent?.insertAfter(g,h.node):v==="inner"&&h.node.insertChild(g),v!=="none"&&(a.value.registerNode(g),a.value.key&&f.node.eachNode(p=>{a.value.nodesMap[p.data[a.value.key]]?.setChecked(p.checked,!a.value.checkStrictly)})),ro(h.$el,l.is("drop-inner")),t.emit("node-drag-end",f.node,h.node,v,d),v!=="none"&&t.emit("node-drop",f.node,h.node,v,d)}f&&!h&&t.emit("node-drag-end",f.node,null,v,d),s.value.showDropIndicator=!1,s.value.draggingNode=null,s.value.dropNode=null,s.value.allowDrop=!0}}),{dragState:s}}var QZ=ve({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ke("tree"),n=Fe(W$),o=Fe(Iy);return()=>{const a=e.node,{data:l,store:s}=a;return e.renderContent?e.renderContent(Le,{_self:n,node:a,data:l,store:s}):ue(o.ctx.slots,"default",{node:a,data:l},()=>[Le(Ny,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[a.label])])}}}),eJ=QZ,tJ=ve({name:"ElTreeNode",components:{ElCollapseTransition:Tp,ElCheckbox:ha,NodeContent:eJ,ElIcon:He,Loading:sa},props:{node:{type:cm,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=ke("tree"),{broadcastExpanded:o}=q$(e),a=Fe(Iy),l=F(!1),s=F(!1),r=F(),u=F(),c=F(),d=Fe(G$),f=ct();xt(W$,f),a||Yt("Tree","Can not find node's tree."),e.node.expanded&&(l.value=!0,s.value=!0);const v=a.props.props.children||"children";ge(()=>{const _=e.node.data?.[v];return _&&[..._]},()=>{e.node.updateChildren()}),ge(()=>e.node.indeterminate,_=>{p(e.node.checked,_)}),ge(()=>e.node.checked,_=>{p(_,e.node.indeterminate)}),ge(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),ge(()=>e.node.expanded,_=>{Re(()=>l.value=_),_&&(s.value=!0)});const h=_=>a.props.nodeKey?Oy(a.props.nodeKey,_.data):_.id,g=_=>{const A=e.props.class;if(!A)return{};let D;if(je(A)){const{data:N}=_;D=A(N,_)}else D=A;return ze(D)?{[D]:!0}:D},p=(_,A)=>{(r.value!==_||u.value!==A)&&a.ctx.emit("check-change",e.node.data,_,A),r.value=_,u.value=A},m=_=>{im(a.store,a.ctx.emit,()=>{if(a?.props?.nodeKey){const A=h(e.node);a.store.value.setCurrentNodeKey(A)}else a.store.value.setCurrentNode(e.node)}),a.currentNode.value=e.node,a.props.expandOnClickNode&&b(),(a.props.checkOnClickNode||e.node.isLeaf&&a.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&w(!e.node.checked),a.ctx.emit("node-click",e.node.data,e.node,f,_)},y=_=>{a.instance.vnode.props?.onNodeContextmenu&&(_.stopPropagation(),_.preventDefault()),a.ctx.emit("node-contextmenu",_,e.node.data,e.node,f)},b=()=>{e.node.isLeaf||(l.value?(a.ctx.emit("node-collapse",e.node.data,e.node,f),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,f)}))},w=_=>{const A=a?.props.checkStrictly,D=e.node.childNodes;!A&&D.length&&(_=D.some(N=>!N.isEffectivelyChecked)),e.node.setChecked(_,!A),Re(()=>{const N=a.store.value;a.ctx.emit("check",e.node.data,{checkedNodes:N.getCheckedNodes(),checkedKeys:N.getCheckedKeys(),halfCheckedNodes:N.getHalfCheckedNodes(),halfCheckedKeys:N.getHalfCheckedKeys()})})};return{ns:n,node$:c,tree:a,expanded:l,childNodeRendered:s,oldChecked:r,oldIndeterminate:u,getNodeKey:h,getNodeClass:g,handleSelectChange:p,handleClick:m,handleContextMenu:y,handleExpandIconClick:b,handleCheckChange:w,handleChildNodeExpand:(_,A,D)=>{o(A),a.ctx.emit("node-expand",_,A,D)},handleDragStart:_=>{a.props.draggable&&d.treeNodeDragStart({event:_,treeNode:e})},handleDragOver:_=>{_.preventDefault(),a.props.draggable&&d.treeNodeDragOver({event:_,treeNode:{$el:c.value,node:e.node}})},handleDrop:_=>{_.preventDefault()},handleDragEnd:_=>{a.props.draggable&&d.treeNodeDragEnd(_)},CaretRight:j2}}});const nJ=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],oJ=["aria-expanded"];function aJ(e,t,n,o,a,l){const s=yt("el-icon"),r=yt("el-checkbox"),u=yt("loading"),c=yt("node-content"),d=yt("el-tree-node"),f=yt("el-collapse-transition");return Ye((E(),z("div",{ref:"node$",class:R([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[2]||(t[2]=Xe((...v)=>e.handleClick&&e.handleClick(...v),["stop"])),onContextmenu:t[3]||(t[3]=(...v)=>e.handleContextMenu&&e.handleContextMenu(...v)),onDragstart:t[4]||(t[4]=Xe((...v)=>e.handleDragStart&&e.handleDragStart(...v),["stop"])),onDragover:t[5]||(t[5]=Xe((...v)=>e.handleDragOver&&e.handleDragOver(...v),["stop"])),onDragend:t[6]||(t[6]=Xe((...v)=>e.handleDragEnd&&e.handleDragEnd(...v),["stop"])),onDrop:t[7]||(t[7]=Xe((...v)=>e.handleDrop&&e.handleDrop(...v),["stop"]))},[I("div",{class:R(e.ns.be("node","content")),style:Be({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(E(),fe(s,{key:0,class:R([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Xe(e.handleExpandIconClick,["stop"])},{default:ae(()=>[(E(),fe(ft(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.showCheckbox?(E(),fe(r,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Xe(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):se("v-if",!0),e.node.loading?(E(),fe(s,{key:2,class:R([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:ae(()=>[Z(u)]),_:1},8,["class"])):se("v-if",!0),Z(c,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),Z(f,null,{default:ae(()=>[!e.renderAfterExpand||e.childNodeRendered?Ye((E(),z("div",{key:0,class:R(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:t[1]||(t[1]=Xe(()=>{},["stop"]))},[(E(!0),z(Me,null,dt(e.node.childNodes,v=>(E(),fe(d,{key:e.getNodeKey(v),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:v,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,oJ)),[[Bt,e.expanded]]):se("v-if",!0)]),_:1})],42,nJ)),[[Bt,e.node.visible]])}var lJ=Dn(tJ,[["render",aJ]]);function sJ({el$:e},t){const n=ke("tree");at(()=>{l()}),Sa(()=>{e.value?.querySelectorAll("input[type=checkbox]").forEach(s=>{s.setAttribute("tabindex","-1")})});function o(s,r){const u=t.value.getNode(s[r].dataset.key);return u.canFocus&&u.visible&&(u.parent?.expanded||u.parent?.level===0)}jt(e,"keydown",s=>{const r=s.target;if(!r.className.includes(n.b("node")))return;const u=Zt(s),c=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),d=c.indexOf(r);let f;if([Ee.up,Ee.down].includes(u)){if(s.preventDefault(),u===Ee.up){f=d===-1?0:d!==0?d-1:c.length-1;const h=f;for(;!o(c,f);){if(f--,f===h){f=-1;break}f<0&&(f=c.length-1)}}else{f=d===-1?0:d=c.length&&(f=0)}}f!==-1&&c[f].focus()}[Ee.left,Ee.right].includes(u)&&(s.preventDefault(),r.click());const v=r.querySelector('[type="checkbox"]');[Ee.enter,Ee.numpadEnter,Ee.space].includes(u)&&v&&(s.preventDefault(),v.click())});const l=()=>{if(!e.value)return;const s=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(u=>{u.setAttribute("tabindex","-1")});const r=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(r.length){r[0].setAttribute("tabindex","0");return}s[0]?.setAttribute("tabindex","0")}}var rJ=ve({name:"ElTree",components:{ElTreeNode:lJ},props:j$,emits:GZ,setup(e,t){const{t:n}=_t(),o=ke("tree"),a=F(new ZZ({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));a.value.initialize();const l=F(a.value.root),s=F(null),r=F(null),u=F(null),{broadcastExpanded:c}=q$(e),{dragState:d}=JZ({props:e,ctx:t,el$:r,dropIndicator$:u,store:a});sJ({el$:r},a);const f=ct(),v=C(()=>{let L=f?.parent;for(;L;){if(L.type.name==="ElTreeSelect")return!0;L=L.parent}return!1}),h=C(()=>{const{childNodes:L}=l.value;return(!L||L.length===0||L.every(({visible:K})=>!K))&&!v.value});ge(()=>e.currentNodeKey,L=>{a.value.setCurrentNodeKey(L??null)}),ge(()=>e.defaultCheckedKeys,(L,K)=>{vn(L,K)||a.value.setDefaultCheckedKey(L??[])}),ge(()=>e.defaultExpandedKeys,L=>{a.value.setDefaultExpandedKeys(L??[])}),ge(()=>e.data,L=>{a.value.setData(L)},{deep:!0}),ge(()=>e.checkStrictly,L=>{a.value.checkStrictly=L});const g=L=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");a.value.filter(L)},p=L=>e.nodeKey?Oy(e.nodeKey,L.data):L.id,m=L=>{if(!e.nodeKey)throw new Error(`[Tree] nodeKey is required in ${L}`)},y=L=>{m("getNodePath");const K=a.value.getNode(L);if(!K)return[];const X=[K.data];let J=K.parent;for(;J&&J!==l.value;)X.push(J.data),J=J.parent;return X.reverse()},b=(L,K)=>a.value.getCheckedNodes(L,K),w=L=>a.value.getCheckedKeys(L),S=()=>{const L=a.value.getCurrentNode();return L?L.data:null},k=()=>{m("getCurrentKey");const L=S();return L?L[e.nodeKey]:null},x=(L,K)=>{m("setCheckedNodes"),a.value.setCheckedNodes(L,K)},$=(L,K)=>{m("setCheckedKeys"),a.value.setCheckedKeys(L,K)},T=(L,K,X=!1)=>{a.value.setChecked(L,K,X)},_=()=>a.value.getHalfCheckedNodes(),A=()=>a.value.getHalfCheckedKeys(),D=(L,K=!0)=>{m("setCurrentNode"),im(a,t.emit,()=>{c(L),a.value.setUserCurrentNode(L,K)})},N=(L=null,K=!0)=>{m("setCurrentKey"),im(a,t.emit,()=>{c(),a.value.setCurrentNodeKey(L,K)})},W=L=>a.value.getNode(L),V=L=>{a.value.remove(L)},H=(L,K)=>{a.value.append(L,K)},P=(L,K)=>{a.value.insertBefore(L,K)},O=(L,K)=>{a.value.insertAfter(L,K)},M=(L,K,X)=>{c(K),t.emit("node-expand",L,K,X)},B=(L,K)=>{m("updateKeyChildren"),a.value.updateChildren(L,K)};return xt(Iy,{ctx:t,props:e,store:a,root:l,currentNode:s,instance:f}),xt(Xa,void 0),{ns:o,store:a,root:l,currentNode:s,dragState:d,el$:r,dropIndicator$:u,isEmpty:h,filter:g,getNodeKey:p,getNodePath:y,getCheckedNodes:b,getCheckedKeys:w,getCurrentNode:S,getCurrentKey:k,setCheckedNodes:x,setCheckedKeys:$,setChecked:T,getHalfCheckedNodes:_,getHalfCheckedKeys:A,setCurrentNode:D,setCurrentKey:N,t:n,getNode:W,remove:V,append:H,insertBefore:P,insertAfter:O,handleNodeExpand:M,updateKeyChildren:B}}});function iJ(e,t,n,o,a,l){const s=yt("el-tree-node");return E(),z("div",{ref:"el$",class:R([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(E(!0),z(Me,null,dt(e.root.childNodes,r=>(E(),fe(s,{key:e.getNodeKey(r),node:r,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(E(),z("div",{key:0,class:R(e.ns.e("empty-block"))},[ue(e.$slots,"empty",{},()=>[I("span",{class:R(e.ns.e("empty-text"))},me(e.emptyText??e.t("el.tree.emptyText")),3)])],2)):se("v-if",!0),Ye(I("div",{ref:"dropIndicator$",class:R(e.ns.e("drop-indicator"))},null,2),[[Bt,e.dragState.showDropIndicator]])],2)}var uJ=Dn(rJ,[["render",iJ]]);const My=ut(uJ),cJ=(e,{attrs:t,emit:n},{select:o,tree:a,key:l})=>{const s=ke("tree-select");ge(()=>e.data,()=>{e.filterable&&Re(()=>{a.value?.filter(o.value?.states.inputValue)})},{flush:"post"});const r=u=>{const c=u.at(-1);if(c.expanded&&c.childNodes.at(-1))r([c.childNodes.at(-1)]);else{a.value.el$?.querySelector(`[data-key="${u.at(-1).key}"]`)?.focus({preventScroll:!0});return}};return at(()=>{jt(()=>o.value?.$el,"keydown",async u=>{const c=Zt(u),{dropdownMenuVisible:d}=o.value;[Ee.down,Ee.up].includes(c)&&d&&(await Re(),setTimeout(()=>{if(Ee.up===c){const f=a.value.store.root.childNodes;r(f);return}o.value.optionsArray[o.value.states.hoveringIndex].$el?.parentNode?.parentNode?.focus({preventScroll:!0})}))},{capture:!0})}),{...Ua(An(e),Object.keys(fs.props)),...t,class:C(()=>t.class),style:C(()=>t.style),"onUpdate:modelValue":u=>n(lt,u),valueKey:l,popperClass:C(()=>[s.e("popper"),e.popperClass]),filterMethod:(u="")=>{e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):a.value?.filter(u)}}},dJ=ve({extends:cf,setup(e,t){const n=cf.setup(e,t);delete n.selectOptionClick;const o=ct().proxy;return Re(()=>{n.select.states.cachedOptions.get(o.value)||n.select.onOptionCreate(o)}),ge(()=>t.attrs.visible,a=>{Re(()=>{n.states.visible=a})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function dm(e){return e||e===0}function Py(e){return xe(e)&&e.length}function $r(e){return xe(e)?e:dm(e)?[e]:[]}function Md(e,t,n,o,a){for(let l=0;l{ge([()=>e.modelValue,l],()=>{e.showCheckbox&&Re(()=>{const g=l.value;g&&!vn(g.getCheckedKeys(),$r(e.modelValue))&&g.setCheckedKeys($r(e.modelValue))})},{immediate:!0,deep:!0});const r=C(()=>({value:s.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),u=(g,p)=>{const m=r.value[g];return je(m)?m(p,l.value?.getNode(u("value",p))):p[m]},c=$r(e.modelValue).map(g=>Md(e.data||[],p=>u("value",p)===g,p=>u("children",p),(p,m,y,b)=>b&&u("value",b))).filter(g=>dm(g)),d=C(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const g=[];return Pd(e.data.concat(e.cacheData),p=>{const m=u("value",p);g.push({value:m,currentLabel:u("label",p),isDisabled:u("disabled",p)})},p=>u("children",p)),g}),f=()=>l.value?.getCheckedKeys().filter(g=>{const p=l.value?.getNode(g);return!yn(p)&&mo(p.childNodes)}),v=g=>{vn(e.modelValue,g)||o(Et,g)};function h(g){o(lt,g),v(g)}return{...Ua(An(e),Object.keys(My.props)),...t,nodeKey:s,expandOnClickNode:C(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:C(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(c):c),renderContent:(g,{node:p,data:m,store:y})=>g(dJ,{value:u("value",m),label:u("label",m),disabled:u("disabled",m),visible:p.visible},e.renderContent?()=>e.renderContent(g,{node:p,data:m,store:y}):n.default?()=>n.default({node:p,data:m,store:y}):void 0),filterNodeMethod:(g,p,m)=>e.filterNodeMethod?e.filterNodeMethod(g,p,m):g?new RegExp(gg(g),"i").test(u("label",p)||""):!0,onNodeClick:(g,p,m)=>{if(t.onNodeClick?.(g,p,m),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||p.isLeaf)){if(!u("disabled",g)){const y=a.value?.states.options.get(u("value",g));a.value?.handleOptionSelect(y)}}else e.expandOnClickNode&&m.proxy.handleExpandIconClick()},onCheck:(g,p)=>{if(!e.showCheckbox)return;const m=u("value",g),y={};Pd([l.value.store.root],k=>y[k.key]=k,k=>k.childNodes);const b=p.checkedKeys,w=e.multiple?$r(e.modelValue).filter(k=>!(k in y)&&!b.includes(k)):[],S=w.concat(b);if(e.checkStrictly)h(e.multiple?S:S.includes(m)?m:void 0);else if(e.multiple){const k=f();h(w.concat(k))}else{const k=Md([g],T=>!Py(u("children",T))&&!u("disabled",T),T=>u("children",T)),x=k?u("value",k):void 0,$=dm(e.modelValue)&&!!Md([g],T=>u("value",T)===e.modelValue,T=>u("children",T));h(x===e.modelValue||$?void 0:x)}Re(()=>{const k=$r(e.modelValue);l.value.setCheckedKeys(k),t.onCheck?.(g,{checkedKeys:l.value.getCheckedKeys(),checkedNodes:l.value.getCheckedNodes(),halfCheckedKeys:l.value.getHalfCheckedKeys(),halfCheckedNodes:l.value.getHalfCheckedNodes()})}),a.value?.focus()},onNodeExpand:(g,p,m)=>{t.onNodeExpand?.(g,p,m),Re(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&p.checked){const y={},b=l.value.getCheckedKeys();Pd([l.value.store.root],k=>y[k.key]=k,k=>k.childNodes);const w=$r(e.modelValue).filter(k=>!(k in y)&&!b.includes(k)),S=f();h(w.concat(S))}})},cacheOptions:d}};var pJ=ve({props:{data:{type:Array,default:()=>[]}},setup(e){const t=Fe(gc);return ge(()=>e.data,()=>{e.data.forEach(o=>{t.states.cachedOptions.has(o.value)||t.states.cachedOptions.set(o.value,o)});const n=t.selectRef?.querySelectorAll("input")||[];Lt&&!Array.from(n).includes(document.activeElement)&&t.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),vJ=ve({name:"ElTreeSelect",inheritAttrs:!1,props:{...Hx,...j$,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:o,emit:a,attrs:l}=t,s={...l,onChange:void 0},r=F(),u=F(),c=C(()=>e.nodeKey||e.valueKey||"value"),d=cJ(e,{attrs:l,emit:a},{select:r,tree:u,key:c}),{cacheOptions:f,...v}=fJ(e,{attrs:s,slots:n,emit:a},{select:r,tree:u,key:c}),h=Kt({});return o(h),at(()=>{Object.assign(h,{...Ua(u.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...Ua(r.value,["focus","blur","selectedLabel"]),treeRef:u.value,selectRef:r.value})}),()=>Le(fs,Kt({...d,ref:g=>r.value=g}),{...n,default:()=>[Le(pJ,{data:f.value}),Le(My,Kt({...v,ref:g=>u.value=g}))]})}}),hJ=vJ;const mJ=ut(hJ),Ry=Symbol(),gJ={key:-1,level:-1,data:{}},X$={type:Number,default:26},yJ=Te({data:{type:oe(Array),default:()=>hn([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:oe(Object),default:()=>hn({children:"children",label:"label",disabled:"disabled",value:"id",class:""})},highlightCurrent:Boolean,showCheckbox:Boolean,defaultCheckedKeys:{type:oe(Array),default:()=>hn([])},checkStrictly:Boolean,defaultExpandedKeys:{type:oe(Array),default:()=>hn([])},indent:{type:Number,default:16},itemSize:X$,icon:{type:Xt},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},currentNodeKey:{type:oe([String,Number])},accordion:Boolean,filterMethod:{type:oe(Function)},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),bJ=Te({node:{type:oe(Object),default:()=>hn(gJ)},expanded:Boolean,checked:Boolean,indeterminate:Boolean,showCheckbox:Boolean,disabled:Boolean,current:Boolean,hiddenExpandIcon:Boolean,itemSize:X$}),wJ=Te({node:{type:oe(Object),required:!0}}),Z$="node-click",J$="node-drop",Q$="node-expand",eT="node-collapse",tT="current-change",nT="check",oT="check-change",aT="node-contextmenu",SJ={[Z$]:(e,t,n)=>e&&t&&n,[J$]:(e,t,n)=>e&&t&&n,[Q$]:(e,t)=>e&&t,[eT]:(e,t)=>e&&t,[tT]:(e,t)=>e&&t,[nT]:(e,t)=>e&&t,[oT]:(e,t)=>e&&Gt(t),[aT]:(e,t,n)=>e&&t&&n},CJ={click:(e,t)=>!!(e&&t),drop:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&Gt(t)};function kJ(e,t){const n=F(new Set),o=F(new Set),{emit:a}=ct();ge([()=>t.value,()=>e.defaultCheckedKeys],()=>Re(()=>{b(e.defaultCheckedKeys)}),{immediate:!0});const l=(w=!1)=>{if(!t.value||!e.showCheckbox||e.checkStrictly&&!w)return;const{levelTreeNodeMap:S,maxLevel:k}=t.value,x=n.value,$=new Set;for(let T=k;T>=1;--T){const _=S.get(T);_&&_.forEach(A=>{const D=A.children;let N=!A.isLeaf||A.disabled||x.has(A.key);if(D){let W=!0,V=!1;for(const H of D){const P=H.key;if(H.isEffectivelyChecked||(N=!1),x.has(P))V=!0;else if($.has(P)){W=!1,V=!0;break}else W=!1}W?x.add(A.key):V?($.add(A.key),x.delete(A.key)):(x.delete(A.key),$.delete(A.key))}A.isEffectivelyChecked=N})}o.value=$},s=w=>n.value.has(w.key),r=w=>o.value.has(w.key),u=(w,S,k=!0,x=!0,$=!1)=>{const T=n.value,_=w.children;(!e.checkStrictly||$)&&k&&_?.length&&(S=_.some(D=>!D.isEffectivelyChecked));const A=(D,N)=>{T[N?"add":"delete"](D.key);const W=D.children;(!e.checkStrictly||$)&&W&&W.forEach(V=>{(!V.disabled||V.children)&&A(V,N)})};A(w,S),x&&l(),k&&c(w,S)},c=(w,S)=>{const{checkedNodes:k,checkedKeys:x}=g(),{halfCheckedNodes:$,halfCheckedKeys:T}=p();a(nT,w.data,{checkedKeys:x,checkedNodes:k,halfCheckedKeys:T,halfCheckedNodes:$}),a(oT,w.data,S)};function d(w=!1){return g(w).checkedKeys}function f(w=!1){return g(w).checkedNodes}function v(){return p().halfCheckedKeys}function h(){return p().halfCheckedNodes}function g(w=!1){const S=[],k=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:x}=t.value;n.value.forEach($=>{const T=x.get($);T&&(!w||w&&T.isLeaf)&&(k.push($),S.push(T.data))})}return{checkedKeys:k,checkedNodes:S}}function p(){const w=[],S=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:k}=t.value;o.value.forEach(x=>{const $=k.get(x);$&&(S.push(x),w.push($.data))})}return{halfCheckedNodes:w,halfCheckedKeys:S}}function m(w){n.value.clear(),o.value.clear(),Re(()=>{b(w)})}function y(w,S,k){if(t?.value&&e.showCheckbox){const x=t.value.treeNodeMap.get(w);x&&u(x,S,!1,void 0,k)}}function b(w){if(t?.value){const{treeNodeMap:S}=t.value;if(e.showCheckbox&&S&&w?.length>0){for(const k of w){const x=S.get(k);x&&!s(x)&&u(x,!0,!1,!1)}l()}}}return{updateCheckedKeys:l,toggleCheckbox:u,isChecked:s,isIndeterminate:r,getCheckedKeys:d,getCheckedNodes:f,getHalfCheckedKeys:v,getHalfCheckedNodes:h,setChecked:y,setCheckedKeys:m}}function xJ(e,t){const n=F(new Set([])),o=F(new Set([])),a=C(()=>je(e.filterMethod));function l(r){if(!a.value)return;const u=new Set,c=o.value,d=n.value,f=[],v=t.value?.treeNodes||[],h=e.filterMethod;d.clear();function g(p){p.forEach(m=>{f.push(m),h?.(r,m.data,m)?f.forEach(b=>{u.add(b.key),b.expanded=!0}):(m.expanded=!1,m.isLeaf&&d.add(m.key));const y=m.children;if(y&&g(y),!m.isLeaf){if(!u.has(m.key))d.add(m.key);else if(y){let b=!0;for(const w of y)if(!d.has(w.key)){b=!1;break}b?c.add(m.key):c.delete(m.key)}}f.pop()})}return g(v),u}function s(r){return o.value.has(r.key)}return{hiddenExpandIconKeySet:o,hiddenNodeKeySet:n,doFilter:l,isForceHiddenExpandIcon:s}}function EJ(e,t){const n=F(new Set),o=F(),a=kt(),l=F(),{isIndeterminate:s,isChecked:r,toggleCheckbox:u,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:v,setChecked:h,setCheckedKeys:g}=kJ(e,a),{doFilter:p,hiddenNodeKeySet:m,isForceHiddenExpandIcon:y}=xJ(e,a),b=C(()=>e.props?.value||"id"),w=C(()=>e.props?.children||"children"),S=C(()=>e.props?.disabled||"disabled"),k=C(()=>e.props?.label||"label"),x=C(()=>{const ie=n.value,j=m.value,ee=[],Y=a.value?.treeNodes||[],q=[];for(let U=Y.length-1;U>=0;--U)q.push(Y[U]);for(;q.length;){const U=q.pop();if(!j.has(U.key)&&(ee.push(U),U.children&&ie.has(U.key)))for(let G=U.children.length-1;G>=0;--G)q.push(U.children[G])}return ee}),$=C(()=>x.value.length>0);function T(ie){const j=new Map,ee=new Map;let Y=1;function q(G,te=1,he=void 0){const pe=[];for(const de of G){const be=D(de),ye={level:te,key:be,data:de};ye.label=W(de),ye.parent=he;const $e=A(de);ye.disabled=N(de),ye.isLeaf=!$e||$e.length===0,ye.expanded=n.value.has(be),$e&&$e.length&&(ye.children=q($e,te+1,ye)),pe.push(ye),j.set(be,ye),ee.has(te)||ee.set(te,[]),ee.get(te)?.push(ye)}return te>Y&&(Y=te),pe}const U=q(ie);return{treeNodeMap:j,levelTreeNodeMap:ee,maxLevel:Y,treeNodes:U}}function _(ie){const j=p(ie);j&&(n.value=j)}function A(ie){return ie[w.value]}function D(ie){return ie?ie[b.value]:""}function N(ie){return ie[S.value]}function W(ie){return ie[k.value]}function V(ie){n.value.has(ie.key)?K(ie):L(ie)}function H(ie){const j=new Set,ee=a.value.treeNodeMap;n.value.forEach(Y=>{const q=ee.get(Y);q&&(q.expanded=!1)}),ie.forEach(Y=>{let q=ee.get(Y);for(;q&&!j.has(q.key);)j.add(q.key),q.expanded=!0,q=q.parent}),n.value=j}function P(ie,j){M(ie),t(Z$,ie.data,ie,j),e.expandOnClickNode&&V(ie),e.showCheckbox&&(e.checkOnClickNode||ie.isLeaf&&e.checkOnClickLeaf)&&!ie.disabled&&u(ie,!r(ie),!0)}function O(ie,j){t(J$,ie.data,ie,j)}function M(ie){J(ie)||(o.value=ie.key,t(tT,ie.data,ie))}function B(ie,j){u(ie,j)}function L(ie){const j=n.value;if(a.value&&e.accordion){const{treeNodeMap:Y}=a.value;j.forEach(q=>{const U=Y.get(q);ie&&ie.level===U?.level&&(j.delete(q),U.expanded=!1)})}j.add(ie.key);const ee=we(ie.key);ee&&(ee.expanded=!0,t(Q$,ee.data,ee))}function K(ie){n.value.delete(ie.key);const j=we(ie.key);j&&(j.expanded=!1,t(eT,j.data,j))}function X(ie){return!!ie.disabled}function J(ie){const j=o.value;return j!==void 0&&j===ie.key}function ne(){if(o.value!==void 0)return a.value?.treeNodeMap.get(o.value)?.data}function re(){return o.value}function Q(ie){o.value=ie}function ce(ie){a.value=T(ie)}function we(ie){const j=st(ie)?D(ie):ie;return a.value?.treeNodeMap.get(j)}function Se(ie,j="auto"){const ee=we(ie);ee&&l.value&&l.value.scrollToItem(x.value.indexOf(ee),j)}function le(ie){l.value?.scrollTo(ie)}return ge(()=>e.currentNodeKey,ie=>{o.value=ie},{immediate:!0}),ge(()=>e.defaultExpandedKeys,ie=>{H(ie||[])}),ge(()=>e.data,ie=>{ce(ie),H(e.defaultExpandedKeys||[])},{immediate:!0}),{tree:a,flattenTree:x,isNotEmpty:$,listRef:l,getKey:D,getChildren:A,toggleExpand:V,toggleCheckbox:u,isChecked:r,isIndeterminate:s,isDisabled:X,isCurrent:J,isForceHiddenExpandIcon:y,handleNodeClick:P,handleNodeDrop:O,handleNodeCheck:B,getCurrentNode:ne,getCurrentKey:re,setCurrentKey:Q,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:v,setChecked:h,setCheckedKeys:g,filter:_,setData:ce,getNode:we,expandNode:L,collapseNode:K,setExpandedKeys:H,scrollToNode:Se,scrollTo:le}}var $J=ve({name:"ElTreeNodeContent",props:wJ,setup(e){const t=Fe(Ry),n=ke("tree");return()=>{const o=e.node,{data:a}=o;return t?.ctx.slots.default?t.ctx.slots.default({node:o,data:a}):Le(Ny,{tag:"span",truncated:!0,class:n.be("node","label")},()=>[o?.label])}}});const TJ=["aria-expanded","aria-disabled","aria-checked","data-key"];var _J=ve({name:"ElTreeNode",__name:"tree-node",props:bJ,emits:CJ,setup(e,{emit:t}){const n=e,o=t,a=Fe(Ry),l=ke("tree"),s=C(()=>a?.props.indent??16),r=C(()=>a?.props.icon??j2),u=g=>{const p=a?.props.props?.class;if(!p)return{};let m;if(je(p)){const{data:y}=g;m=p(y,g)}else m=p;return ze(m)?{[m]:!0}:m},c=g=>{o("click",n.node,g)},d=g=>{o("drop",n.node,g)},f=()=>{o("toggle",n.node)},v=g=>{o("check",n.node,g)},h=g=>{a?.instance?.vnode?.props?.onNodeContextmenu&&(g.stopPropagation(),g.preventDefault()),a?.ctx.emit(aT,g,n.node?.data,n.node)};return(g,p)=>(E(),z("div",{ref:"node$",class:R([i(l).b("node"),i(l).is("expanded",e.expanded),i(l).is("current",e.current),i(l).is("focusable",!e.disabled),i(l).is("checked",!e.disabled&&e.checked),u(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.disabled,"aria-checked":e.checked,"data-key":e.node?.key,onClick:Xe(c,["stop"]),onContextmenu:h,onDragover:p[1]||(p[1]=Xe(()=>{},["prevent"])),onDragenter:p[2]||(p[2]=Xe(()=>{},["prevent"])),onDrop:Xe(d,["stop"])},[I("div",{class:R(i(l).be("node","content")),style:Be({paddingLeft:`${(e.node.level-1)*s.value}px`,height:e.itemSize+"px"})},[r.value?(E(),fe(i(He),{key:0,class:R([i(l).is("leaf",!!e.node?.isLeaf),i(l).is("hidden",e.hiddenExpandIcon),{expanded:!e.node?.isLeaf&&e.expanded},i(l).be("node","expand-icon")]),onClick:Xe(f,["stop"])},{default:ae(()=>[(E(),fe(ft(r.value)))]),_:1},8,["class"])):se("v-if",!0),e.showCheckbox?(E(),fe(i(ha),{key:1,"model-value":e.checked,indeterminate:e.indeterminate,disabled:e.disabled,onChange:v,onClick:p[0]||(p[0]=Xe(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):se("v-if",!0),Z(i($J),{node:{...e.node,expanded:e.expanded}},null,8,["node"])],6)],42,TJ))}}),NJ=_J,IJ=ve({name:"ElTreeV2",__name:"tree",props:yJ,emits:SJ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=bn(),s=C(()=>o.itemSize);xt(Ry,{ctx:{emit:a,slots:l},props:o,instance:ct()}),xt(Xa,void 0);const{t:r}=_t(),u=ke("tree"),{flattenTree:c,isNotEmpty:d,listRef:f,toggleExpand:v,isIndeterminate:h,isChecked:g,isDisabled:p,isCurrent:m,isForceHiddenExpandIcon:y,handleNodeClick:b,handleNodeDrop:w,handleNodeCheck:S,toggleCheckbox:k,getCurrentNode:x,getCurrentKey:$,setCurrentKey:T,getCheckedKeys:_,getCheckedNodes:A,getHalfCheckedKeys:D,getHalfCheckedNodes:N,setChecked:W,setCheckedKeys:V,filter:H,setData:P,getNode:O,expandNode:M,collapseNode:B,setExpandedKeys:L,scrollToNode:K,scrollTo:X}=EJ(o,a);return t({toggleCheckbox:k,getCurrentNode:x,getCurrentKey:$,setCurrentKey:T,getCheckedKeys:_,getCheckedNodes:A,getHalfCheckedKeys:D,getHalfCheckedNodes:N,setChecked:W,setCheckedKeys:V,filter:H,setData:P,getNode:O,expandNode:M,collapseNode:B,setExpandedKeys:L,scrollToNode:K,scrollTo:X}),(J,ne)=>(E(),z("div",{class:R([i(u).b(),{[i(u).m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[i(d)?(E(),fe(i(bc),{key:0,ref_key:"listRef",ref:f,"class-name":i(u).b("virtual-list"),data:i(c),total:i(c).length,height:e.height,"item-size":s.value,"perf-mode":e.perfMode,"scrollbar-always-on":e.scrollbarAlwaysOn},{default:ae(({data:re,index:Q,style:ce})=>[(E(),fe(NJ,{key:re[Q].key,style:Be(ce),node:re[Q],expanded:re[Q].expanded,"show-checkbox":e.showCheckbox,checked:i(g)(re[Q]),indeterminate:i(h)(re[Q]),"item-size":s.value,disabled:i(p)(re[Q]),current:i(m)(re[Q]),"hidden-expand-icon":i(y)(re[Q]),onClick:i(b),onToggle:i(v),onCheck:i(S),onDrop:i(w)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck","onDrop"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode","scrollbar-always-on"])):(E(),z("div",{key:1,class:R(i(u).e("empty-block"))},[ue(J.$slots,"empty",{},()=>[I("span",{class:R(i(u).e("empty-text"))},me(e.emptyText??i(r)("el.tree.emptyText")),3)])],2))],2))}}),OJ=IJ;const MJ=ut(OJ),PJ="ElUpload";var RJ=class extends Error{constructor(e,t,n,o){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=o}};function Dw(e,t,n){let o;return n.response?o=`${n.response.error||n.response}`:n.responseText?o=`${n.responseText}`:o=`fail to ${t.method} ${e} ${n.status}`,new RJ(o,n.status,t.method,e)}function AJ(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const DJ=e=>{typeof XMLHttpRequest>"u"&&dn(PJ,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",l=>{const s=l;s.percent=l.total>0?l.loaded/l.total*100:0,e.onProgress(s)});const o=new FormData;if(e.data)for(const[l,s]of Object.entries(e.data))xe(s)?s.length===2&&s[0]instanceof Blob&&ze(s[1])?o.append(l,s[0],s[1]):s.forEach(r=>{o.append(l,r)}):o.append(l,s);o.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Dw(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Dw(n,e,t));e.onSuccess(AJ(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const a=e.headers||{};if(a instanceof Headers)a.forEach((l,s)=>t.setRequestHeader(s,l));else for(const[l,s]of Object.entries(a))yn(s)||t.setRequestHeader(l,String(s));return t.send(o),t},lT=["text","picture","picture-card"];let LJ=1;const fm=()=>Date.now()+LJ++,sT=Te({action:{type:String,default:"#"},headers:{type:oe(Object)},method:{type:String,default:"post"},data:{type:oe([Object,Function,Promise]),default:()=>hn({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:oe(Array),default:()=>hn([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:lT,default:"text"},httpRequest:{type:oe(Function),default:DJ},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),VJ=Te({...sT,beforeUpload:{type:oe(Function),default:mt},beforeRemove:{type:oe(Function)},onRemove:{type:oe(Function),default:mt},onChange:{type:oe(Function),default:mt},onPreview:{type:oe(Function),default:mt},onSuccess:{type:oe(Function),default:mt},onProgress:{type:oe(Function),default:mt},onError:{type:oe(Function),default:mt},onExceed:{type:oe(Function),default:mt},crossorigin:{type:oe(String)}}),rT=Symbol("uploadContextKey"),BJ=Te({files:{type:oe(Array),default:()=>hn([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:oe(Function),default:mt},listType:{type:String,values:lT,default:"text"},crossorigin:{type:oe(String)}}),FJ={remove:e=>!!e},zJ=Te({...sT,beforeUpload:{type:oe(Function),default:mt},onRemove:{type:oe(Function),default:mt},onStart:{type:oe(Function),default:mt},onSuccess:{type:oe(Function),default:mt},onProgress:{type:oe(Function),default:mt},onError:{type:oe(Function),default:mt},onExceed:{type:oe(Function),default:mt}}),HJ=Te({disabled:{type:Boolean,default:void 0},directory:Boolean}),KJ={file:e=>xe(e)},WJ=["tabindex","aria-disabled","onKeydown"],jJ=["src","crossorigin"],UJ=["onClick"],YJ=["title"],qJ=["onClick"],GJ=["onClick"];var XJ=ve({name:"ElUploadList",__name:"upload-list",props:BJ,emits:FJ,setup(e,{emit:t}){const n=e,o=t,{t:a}=_t(),l=ke("upload"),s=ke("icon"),r=ke("list"),u=pn(),c=F(!1),d=C(()=>[l.b("list"),l.bm("list",n.listType),l.is("disabled",u.value)]),f=async h=>{const g=h.relatedTarget;await Re(),g?.classList.contains(l.be("list","item"))||(c.value=!1)},v=h=>{o("remove",h)};return(h,g)=>(E(),fe(nk,{tag:"ul",class:R(d.value),name:i(r).b()},{default:ae(()=>[(E(!0),z(Me,null,dt(e.files,(p,m)=>(E(),z("li",{key:p.uid||p.name,class:R([i(l).be("list","item"),i(l).is(p.status),{focusing:c.value}]),tabindex:i(u)?void 0:0,"aria-disabled":i(u),role:"button",onKeydown:rn(y=>!i(u)&&v(p),["delete"]),onFocus:g[0]||(g[0]=y=>c.value=!0),onBlur:f,onClick:g[1]||(g[1]=y=>c.value=!1)},[ue(h.$slots,"default",{file:p,index:m},()=>[e.listType==="picture"||p.status!=="uploading"&&e.listType==="picture-card"?(E(),z("img",{key:0,class:R(i(l).be("list","item-thumbnail")),src:p.url,crossorigin:e.crossorigin,alt:""},null,10,jJ)):se("v-if",!0),p.status==="uploading"||e.listType!=="picture-card"?(E(),z("div",{key:1,class:R(i(l).be("list","item-info"))},[I("a",{class:R(i(l).be("list","item-name")),onClick:Xe(y=>e.handlePreview(p),["prevent"])},[Z(i(He),{class:R(i(s).m("document"))},{default:ae(()=>[Z(i(sV))]),_:1},8,["class"]),I("span",{class:R(i(l).be("list","item-file-name")),title:p.name},me(p.name),11,YJ)],10,UJ),p.status==="uploading"?(E(),fe(i(my),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(p.percentage),style:Be(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):se("v-if",!0)],2)):se("v-if",!0),I("label",{class:R(i(l).be("list","item-status-label"))},[e.listType==="text"?(E(),fe(i(He),{key:0,class:R([i(s).m("upload-success"),i(s).m("circle-check")])},{default:ae(()=>[Z(i(Dg))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(E(),fe(i(He),{key:1,class:R([i(s).m("upload-success"),i(s).m("check")])},{default:ae(()=>[Z(i(ii))]),_:1},8,["class"])):se("v-if",!0)],2),i(u)?se("v-if",!0):(E(),fe(i(He),{key:2,class:R(i(s).m("close")),"aria-label":i(a)("el.upload.delete"),role:"button",tabindex:"0",onClick:y=>v(p),onKeydown:rn(Xe(y=>v(p),["prevent"]),["enter","space"])},{default:ae(()=>[Z(i(la))]),_:1},8,["class","aria-label","onClick","onKeydown"])),i(u)?se("v-if",!0):(E(),z("i",{key:3,class:R(i(s).m("close-tip"))},me(i(a)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(E(),z("span",{key:4,class:R(i(l).be("list","item-actions"))},[I("span",{class:R(i(l).be("list","item-preview")),onClick:y=>e.handlePreview(p)},[Z(i(He),{class:R(i(s).m("zoom-in"))},{default:ae(()=>[Z(i(G2))]),_:1},8,["class"])],10,qJ),i(u)?se("v-if",!0):(E(),z("span",{key:0,class:R(i(l).be("list","item-delete")),onClick:y=>v(p)},[Z(i(He),{class:R(i(s).m("delete"))},{default:ae(()=>[Z(i(aV))]),_:1},8,["class"])],10,GJ))],2)):se("v-if",!0)])],42,WJ))),128)),ue(h.$slots,"append")]),_:3},8,["class","name"]))}}),Lw=XJ;const Vw="ElUploadDrag";var ZJ=ve({name:Vw,__name:"upload-dragger",props:HJ,emits:KJ,setup(e,{emit:t}){const n=e,o=t;Fe(rT)||dn(Vw,"usage: ");const a=ke("upload"),l=F(!1),s=pn(),r=v=>new Promise((h,g)=>v.file(h,g)),u=async v=>{try{if(v.isFile){const h=await r(v);return h.isDirectory=!1,[h]}if(v.isDirectory){const h=v.createReader(),g=()=>new Promise((b,w)=>h.readEntries(b,w)),p=[];let m=await g();for(;m.length>0;)p.push(...m),m=await g();const y=p.map(b=>u(b).catch(()=>[]));return Jd(await Promise.all(y))}}catch{return[]}return[]},c=async v=>{if(s.value)return;l.value=!1,v.stopPropagation();const h=Array.from(v.dataTransfer.files),g=v.dataTransfer.items||[];if(n.directory){const p=Array.from(g).map(m=>m?.webkitGetAsEntry?.()).filter(m=>m);o("file",Jd(await Promise.all(p.map(u))));return}h.forEach((p,m)=>{const y=g[m]?.webkitGetAsEntry?.();y&&(p.isDirectory=y.isDirectory)}),o("file",h)},d=()=>{s.value||(l.value=!0)},f=v=>{v.currentTarget.contains(v.relatedTarget)||(l.value=!1)};return(v,h)=>(E(),z("div",{class:R([i(a).b("dragger"),i(a).is("dragover",l.value)]),onDrop:Xe(c,["prevent"]),onDragover:Xe(d,["prevent"]),onDragleave:Xe(f,["prevent"])},[ue(v.$slots,"default")],34))}}),JJ=ZJ;const QJ=["tabindex","aria-disabled","onKeydown"],eQ=["name","disabled","multiple","accept","webkitdirectory"];var tQ=ve({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:zJ,setup(e,{expose:t}){const n=e,o=ke("upload"),a=pn(),l=kt({}),s=kt(),r=p=>{if(p.length===0)return;const{autoUpload:m,limit:y,fileList:b,multiple:w,onStart:S,onExceed:k}=n;if(y&&b.length+p.length>y){k(p,b);return}w||(p=p.slice(0,1));for(const x of p){const $=x;$.uid=fm(),S($),m&&u($)}},u=async p=>{if(s.value.value="",!n.beforeUpload)return d(p);let m,y={};try{const w=n.data,S=n.beforeUpload(p);y=du(n.data)?La(n.data):n.data,m=await S,du(n.data)&&vn(w,y)&&(y=La(n.data))}catch{m=!1}if(m===!1){n.onRemove(p);return}let b=p;m instanceof Blob&&(m instanceof File?b=m:b=new File([m],p.name,{type:p.type})),d(Object.assign(b,{uid:p.uid}),y)},c=async(p,m)=>je(p)?p(m):p,d=async(p,m)=>{const{headers:y,data:b,method:w,withCredentials:S,name:k,action:x,onProgress:$,onSuccess:T,onError:_,httpRequest:A}=n;try{m=await c(m??b,p)}catch{n.onRemove(p);return}const{uid:D}=p,N={headers:y||{},withCredentials:S,file:p,data:m,method:w,filename:k,action:x,onProgress:V=>{$(V,p)},onSuccess:V=>{T(V,p),delete l.value[D]},onError:V=>{_(V,p),delete l.value[D]}},W=A(N);l.value[D]=W,W instanceof Promise&&W.then(N.onSuccess,N.onError)},f=p=>{const m=p.target.files;m&&r(Array.from(m))},v=()=>{a.value||(s.value.value="",s.value.click())},h=()=>{v()};return t({abort:p=>{qk(l.value).filter(p?([m])=>String(p.uid)===m:()=>!0).forEach(([m,y])=>{y instanceof XMLHttpRequest&&y.abort(),delete l.value[m]})},upload:u}),(p,m)=>(E(),z("div",{class:R([i(o).b(),i(o).m(e.listType),i(o).is("drag",e.drag),i(o).is("disabled",i(a))]),tabindex:i(a)?void 0:0,"aria-disabled":i(a),role:"button",onClick:v,onKeydown:rn(Xe(h,["self"]),["enter","space"])},[e.drag?(E(),fe(JJ,{key:0,disabled:i(a),directory:e.directory,onFile:r},{default:ae(()=>[ue(p.$slots,"default")]),_:3},8,["disabled","directory"])):ue(p.$slots,"default",{key:1}),I("input",{ref_key:"inputRef",ref:s,class:R(i(o).e("input")),name:e.name,disabled:i(a),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:f,onClick:m[0]||(m[0]=Xe(()=>{},["stop"]))},null,42,eQ)],42,QJ))}}),Bw=tQ;const Fw="ElUpload",zw=e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)},nQ=(e,t)=>{const n=lA(e,"fileList",void 0,{passive:!0}),o=g=>n.value.find(p=>p.uid===g.uid);function a(g){t.value?.abort(g)}function l(g=["ready","uploading","success","fail"]){n.value=n.value.filter(p=>!g.includes(p.status))}function s(g){n.value=n.value.filter(p=>p.uid!==g.uid)}const r=g=>{Re(()=>e.onChange(g,n.value))},u=(g,p)=>{const m=o(p);m&&(console.error(g),m.status="fail",s(m),e.onError(g,m,n.value),r(m))},c=(g,p)=>{const m=o(p);m&&(e.onProgress(g,m,n.value),m.status="uploading",m.percentage=Math.round(g.percent))},d=(g,p)=>{const m=o(p);m&&(m.status="success",m.response=g,e.onSuccess(g,m,n.value),r(m))},f=g=>{yn(g.uid)&&(g.uid=fm());const p={name:g.name,percentage:0,status:"ready",size:g.size,raw:g,uid:g.uid};if(e.listType==="picture-card"||e.listType==="picture")try{p.url=URL.createObjectURL(g)}catch(m){Yt(Fw,m.message),e.onError(m,p,n.value)}n.value=[...n.value,p],r(p)},v=async g=>{const p=g instanceof File?o(g):g;p||dn(Fw,"file to be removed not found");const m=y=>{a(y),s(y),e.onRemove(y,n.value),zw(y)};e.beforeRemove?await e.beforeRemove(p,n.value)!==!1&&m(p):m(p)};function h(){n.value.filter(({status:g})=>g==="ready").forEach(({raw:g})=>g&&t.value?.upload(g))}return ge(()=>e.listType,g=>{g!=="picture-card"&&g!=="picture"||(n.value=n.value.map(p=>{const{raw:m,url:y}=p;if(!y&&m)try{p.url=URL.createObjectURL(m)}catch(b){e.onError(b,p,n.value)}return p}))}),ge(n,g=>{for(const p of g)p.uid||=fm(),p.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:n,abort:a,clearFiles:l,handleError:u,handleProgress:c,handleStart:f,handleSuccess:d,handleRemove:v,submit:h,revokeFileObjectURL:zw}};var oQ=ve({name:"ElUpload",__name:"upload",props:VJ,setup(e,{expose:t}){const n=e,o=pn(),a=kt(),{abort:l,submit:s,clearFiles:r,uploadFiles:u,handleStart:c,handleError:d,handleRemove:f,handleSuccess:v,handleProgress:h,revokeFileObjectURL:g}=nQ(n,a),p=C(()=>n.listType==="picture-card"),m=C(()=>({...n,fileList:u.value,onStart:c,onProgress:h,onSuccess:v,onError:d,onRemove:f}));return Ft(()=>{u.value.forEach(g)}),xt(rT,{accept:wt(n,"accept")}),t({abort:l,submit:s,clearFiles:r,handleStart:c,handleRemove:f}),(y,b)=>(E(),z("div",null,[p.value&&e.showFileList?(E(),fe(Lw,{key:0,disabled:i(o),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},bo({append:ae(()=>[Z(Bw,pt({ref_key:"uploadRef",ref:a},m.value),{default:ae(()=>[y.$slots.trigger?ue(y.$slots,"trigger",{key:0}):se("v-if",!0),!y.$slots.trigger&&y.$slots.default?ue(y.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)]),_:2},[y.$slots.file?{name:"default",fn:ae(({file:w,index:S})=>[ue(y.$slots,"file",{file:w,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0),!p.value||p.value&&!e.showFileList?(E(),fe(Bw,pt({key:1,ref_key:"uploadRef",ref:a},m.value),{default:ae(()=>[y.$slots.trigger?ue(y.$slots,"trigger",{key:0}):se("v-if",!0),!y.$slots.trigger&&y.$slots.default?ue(y.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)):se("v-if",!0),y.$slots.trigger?ue(y.$slots,"default",{key:2}):se("v-if",!0),ue(y.$slots,"tip"),!p.value&&e.showFileList?(E(),fe(Lw,{key:3,disabled:i(o),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},bo({_:2},[y.$slots.file?{name:"default",fn:ae(({file:w,index:S})=>[ue(y.$slots,"file",{file:w,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0)]))}}),aQ=oQ;const lQ=ut(aQ),sQ=Te({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:oe([String,Array]),default:"Element Plus"},font:{type:oe(Object)},gap:{type:oe(Array),default:()=>[100,100]},offset:{type:oe(Array)}});function rQ(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function iQ(e){return Object.keys(e).map(t=>`${rQ(t)}: ${e[t]};`).join(" ")}function uQ(){return window.devicePixelRatio||1}const cQ=(e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(n=!0),n},dQ={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function Dv(e,t,n=1){const o=document.createElement("canvas"),a=o.getContext("2d"),l=e*n,s=t*n;return o.setAttribute("width",`${l}px`),o.setAttribute("height",`${s}px`),a.save(),[a,o,l,s]}function fQ(){function e(t,n,o,a,l,s,r,u,c){const[d,f,v,h]=Dv(a,l,o);let g=0;if(t instanceof HTMLImageElement)d.drawImage(t,0,0,v,h);else{const{color:X,fontSize:J,fontStyle:ne,fontWeight:re,fontFamily:Q,textAlign:ce,textBaseline:we}=s,Se=Number(J)*o;d.font=`${ne} normal ${re} ${Se}px/${l}px ${Q}`,d.fillStyle=X,d.textAlign=ce,d.textBaseline=we;const le=xe(t)?t:[t];if(we!=="top"&&le[0]){const ie=d.measureText(le[0]);d.textBaseline="top";const j=d.measureText(le[0]);g=ie.actualBoundingBoxAscent-j.actualBoundingBoxAscent}le?.forEach((ie,j)=>{const[ee,Y]=dQ[ce];d.fillText(ie??"",v*ee+c*Y,j*(Se+s.fontGap*o))})}const p=Math.PI/180*Number(n),m=Math.max(a,l),[y,b,w]=Dv(m,m,o);y.translate(w/2,w/2),y.rotate(p),v>0&&h>0&&y.drawImage(f,-v/2,-h/2);function S(X,J){return[X*Math.cos(p)-J*Math.sin(p),X*Math.sin(p)+J*Math.cos(p)]}let k=0,x=0,$=0,T=0;const _=v/2,A=h/2;[[0-_,0-A],[0+_,0-A],[0+_,0+A],[0-_,0+A]].forEach(([X,J])=>{const[ne,re]=S(X,J);k=Math.min(k,ne),x=Math.max(x,ne),$=Math.min($,re),T=Math.max(T,re)});const D=k+w/2,N=$+w/2,W=x-k,V=T-$,H=r*o,P=u*o,O=(W+H)*2,M=V+P,[B,L]=Dv(O,M);function K(X=0,J=0){B.drawImage(b,D,N,W,V,X,J+g,W,V)}return K(),K(W+H,-V/2-P/2),K(W+H,+V/2+P/2),[L.toDataURL(),O/o,M/o]}return e}var pQ=ve({name:"ElWatermark",__name:"watermark",props:sQ,setup(e){const t={position:"relative"},n=e,o=C(()=>n.font?.fontGap??3),a=C(()=>n.font?.color??"rgba(0,0,0,.15)"),l=C(()=>n.font?.fontSize??16),s=C(()=>n.font?.fontWeight??"normal"),r=C(()=>n.font?.fontStyle??"normal"),u=C(()=>n.font?.fontFamily??"sans-serif"),c=C(()=>n.font?.textAlign??"center"),d=C(()=>n.font?.textBaseline??"hanging"),f=C(()=>n.gap[0]),v=C(()=>n.gap[1]),h=C(()=>f.value/2),g=C(()=>v.value/2),p=C(()=>n.offset?.[0]??h.value),m=C(()=>n.offset?.[1]??g.value),y=()=>{const D={zIndex:n.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let N=p.value-h.value,W=m.value-g.value;return N>0&&(D.left=`${N}px`,D.width=`calc(100% - ${N}px)`,N=0),W>0&&(D.top=`${W}px`,D.height=`calc(100% - ${W}px)`,W=0),D.backgroundPosition=`${N}px ${W}px`,D},b=kt(null),w=kt(),S=F(!1),k=()=>{w.value&&(w.value.remove(),w.value=void 0)},x=(D,N)=>{b.value&&w.value&&(S.value=!0,w.value.setAttribute("style",iQ({...y(),backgroundImage:`url('${D}')`,backgroundSize:`${Math.floor(N)}px`})),b.value?.append(w.value),setTimeout(()=>{S.value=!1}))},$=D=>{let N=120,W=64,V=0;const{image:H,content:P,width:O,height:M,rotate:B}=n;if(!H&&D.measureText){D.font=`${Number(l.value)}px ${u.value}`;const L=xe(P)?P:[P];let K=0,X=0;L.forEach(ne=>{const{width:re,fontBoundingBoxAscent:Q,fontBoundingBoxDescent:ce,actualBoundingBoxAscent:we,actualBoundingBoxDescent:Se}=D.measureText(ne),le=It(Q)?we+Se:Q+ce;re>K&&(K=Math.ceil(re)),le>X&&(X=Math.ceil(le))}),N=K,W=X*L.length+(L.length-1)*o.value;const J=Math.PI/180*Number(B);V=Math.ceil(Math.abs(Math.sin(J)*W)/2),N+=V}return[O??N,M??W,V]},T=fQ(),_=()=>{const D=document.createElement("canvas").getContext("2d"),N=n.image,W=n.content,V=n.rotate;if(D){w.value||(w.value=document.createElement("div"));const H=uQ(),[P,O,M]=$(D),B=L=>{const[K,X]=T(L||"",V,H,P,O,{color:a.value,fontSize:l.value,fontStyle:r.value,fontWeight:s.value,fontFamily:u.value,fontGap:o.value,textAlign:c.value,textBaseline:d.value},f.value,v.value,M);x(K,X)};if(N){const L=new Image;L.onload=()=>{B(L)},L.onerror=()=>{B(W)},L.crossOrigin="anonymous",L.referrerPolicy="no-referrer",L.src=N}else B(W)}};return at(()=>{_()}),ge(()=>n,()=>{_()},{deep:!0,flush:"post"}),Ft(()=>{k()}),rc(b,D=>{S.value||D.forEach(N=>{cQ(N,w.value)&&(k(),_())})},{attributes:!0,subtree:!0,childList:!0}),(D,N)=>(E(),z("div",{ref_key:"containerRef",ref:b,style:Be([t])},[ue(D.$slots,"default")],4))}}),vQ=pQ;const hQ=ut(vQ),mQ=["absolute","fixed"],gQ=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],Ay=Te({placement:{type:oe(String),values:gQ,default:"bottom"},reference:{type:oe(Object),default:null},strategy:{type:oe(String),values:mQ,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),yQ={close:()=>!0},bQ=Te({modelValue:Boolean,current:{type:Number},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Xt},placement:Ay.placement,contentStyle:{type:oe([Object])},mask:{type:oe([Boolean,Object]),default:!0},gap:{type:oe(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:oe([Boolean,Object]),default:()=>({block:"center"})},type:{type:oe(String)},appendTo:{type:oe([String,Object]),default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),wQ={[lt]:e=>Gt(e),"update:current":e=>We(e),close:e=>We(e),finish:()=>!0,change:e=>We(e)},SQ=Te({target:{type:oe([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Xt},showArrow:{type:Boolean,default:void 0},placement:Ay.placement,mask:{type:oe([Boolean,Object]),default:void 0},contentStyle:{type:oe([Object])},prevButtonProps:{type:oe(Object)},nextButtonProps:{type:oe(Object)},scrollIntoViewOptions:{type:oe([Boolean,Object]),default:void 0},type:{type:oe(String)}}),CQ={close:()=>!0},kQ=(e,t,n,o,a)=>{const l=F(null),s=()=>{let d;return ze(e.value)?d=document.querySelector(e.value):je(e.value)?d=e.value():d=e.value,d},r=()=>{const d=s();if(!d||!t.value){l.value=null;return}xQ(d)||d.scrollIntoView(a.value);const{left:f,top:v,width:h,height:g}=d.getBoundingClientRect();l.value={left:f,top:v,width:h,height:g,radius:0}};at(()=>{ge([t,e],()=>{r()},{immediate:!0}),window.addEventListener("resize",r)}),Ft(()=>{window.removeEventListener("resize",r)});const u=d=>(xe(n.value.offset)?n.value.offset[d]:n.value.offset)??6,c=C(()=>{if(!l.value)return l.value;const d=u(0),f=u(1),v=n.value?.radius||2;return{left:l.value.left-d,top:l.value.top-f,width:l.value.width+d*2,height:l.value.height+f*2,radius:v}});return{mergedPosInfo:c,triggerTarget:C(()=>{const d=s();return!o.value||!d||!window.DOMRect?d||void 0:{getBoundingClientRect(){return window.DOMRect.fromRect({width:c.value?.width||0,height:c.value?.height||0,x:c.value?.left||0,y:c.value?.top||0})}}})}},Op=Symbol("ElTour");function xQ(e){const t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:o,right:a,bottom:l,left:s}=e.getBoundingClientRect();return o>=0&&s>=0&&a<=t&&l<=n}const EQ=(e,t,n,o,a,l,s,r)=>{const u=F(),c=F(),d=F({}),f={x:u,y:c,placement:o,strategy:a,middlewareData:d},v=C(()=>{const y=[bL(i(l)),SL(),wL(),$Q()];return i(r)&&i(n)&&y.push(CL({element:i(n)})),y}),h=async()=>{if(!Lt)return;const y=i(e),b=i(t);if(!y||!b)return;const w=await kL(y,b,{placement:i(o),strategy:i(a),middleware:i(v)});ku(f).forEach(S=>{f[S].value=w[S]})},g=C(()=>{if(!i(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:i(s)};const{overflow:y}=i(d);return{position:i(a),zIndex:i(s),top:i(c)!=null?`${i(c)}px`:"",left:i(u)!=null?`${i(u)}px`:"",maxWidth:y?.maxWidth?`${y?.maxWidth}px`:""}}),p=C(()=>{if(!i(r))return{};const{arrow:y}=i(d);return{left:y?.x!=null?`${y?.x}px`:"",top:y?.y!=null?`${y?.y}px`:""}});let m;return at(()=>{const y=i(e),b=i(t);y&&b&&(m=gL(y,b,h)),uo(()=>{h()})}),Ft(()=>{m&&m()}),{update:h,contentStyle:g,arrowStyle:p}},$Q=()=>({name:"overflow",async fn(e){const t=await yL(e);let n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),TQ=Te({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:oe(Object)},targetAreaClickable:{type:Boolean,default:!0}}),_Q={style:{width:"100%",height:"100%"}},NQ=["d"];var IQ=ve({name:"ElTourMask",inheritAttrs:!1,__name:"mask",props:TQ,setup(e){const t=e,{ns:n}=Fe(Op),o=C(()=>t.pos?.radius??2),a=C(()=>{const d=o.value,f=`a${d},${d} 0 0 1`;return{topRight:`${f} ${d},${d}`,bottomRight:`${f} ${-d},${d}`,bottomLeft:`${f} ${-d},${-d}`,topLeft:`${f} ${d},${-d}`}}),{width:l,height:s}=hg(),r=C(()=>{const d=l.value,f=s.value,v=a.value,h=`M${d},0 L0,0 L0,${f} L${d},${f} L${d},0 Z`,g=o.value;return t.pos?`${h} M${t.pos.left+g},${t.pos.top} h${t.pos.width-g*2} ${v.topRight} v${t.pos.height-g*2} ${v.bottomRight} h${-t.pos.width+g*2} ${v.bottomLeft} v${-t.pos.height+g*2} ${v.topLeft} z`:h}),u=C(()=>({position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:t.zIndex,pointerEvents:t.pos&&t.targetAreaClickable?"none":"auto"})),c=C(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return pp(wt(t,"visible"),{ns:n}),(d,f)=>e.visible?(E(),z("div",pt({key:0,class:i(n).e("mask"),style:u.value},d.$attrs),[(E(),z("svg",_Q,[I("path",{class:R(i(n).e("hollow")),style:Be(c.value),d:r.value},null,14,NQ)]))],16)):se("v-if",!0)}}),OQ=IQ;const MQ=["data-side"];var PQ=ve({name:"ElTourContent",__name:"content",props:Ay,emits:yQ,setup(e,{emit:t}){const n=e,o=t,a=F(n.placement),l=F(n.strategy),s=F(null),r=F(null);ge(()=>n.placement,()=>{a.value=n.placement});const{contentStyle:u,arrowStyle:c}=EQ(wt(n,"reference"),s,r,a,l,wt(n,"offset"),wt(n,"zIndex"),wt(n,"showArrow")),d=C(()=>a.value.split("-")[0]),{ns:f}=Fe(Op),v=()=>{o("close")},h=g=>{g.detail.focusReason==="pointer"&&g.preventDefault()};return(g,p)=>(E(),z("div",{ref_key:"contentRef",ref:s,style:Be(i(u)),class:R(i(f).e("content")),"data-side":d.value,tabindex:"-1"},[Z(i(xi),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":s.value||void 0,onReleaseRequested:v,onFocusoutPrevented:h},{default:ae(()=>[ue(g.$slots,"default")]),_:3},8,["focus-trap-el"]),e.showArrow?(E(),z("span",{key:0,ref_key:"arrowRef",ref:r,style:Be(i(c)),class:R(i(f).e("arrow"))},null,6)):se("v-if",!0)],14,MQ))}}),RQ=PQ,AQ=ve({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:n}){let o=0;return()=>{const a=t.default?.(),l=[];let s=0;function r(u){xe(u)&&u.forEach(c=>{(c?.type||{})?.name==="ElTourStep"&&(l.push(c),s+=1)})}return a.length&&r(Fo(a[0]?.children)),o!==s&&(o=s,n("update-total",s)),l.length?l[e.current]:null}}}),DQ=ve({name:"ElTour",inheritAttrs:!1,__name:"tour",props:bQ,emits:wQ,setup(e,{emit:t}){const n=e,o=t,a=ke("tour"),l=F(0),s=F(),r=C(()=>!It(n.current)),u=F(n.current??0),c=C({get(){return It(n.current)?u.value:n.current},set(N){(r.value?n.current:u.value)!==N&&(r.value||(u.value=N),o("update:current",N))}}),d=C(()=>s.value?.target),f=C(()=>[a.b(),w.value==="primary"?a.m("primary"):""]),v=C(()=>s.value?.placement||n.placement),h=C(()=>s.value?.contentStyle??n.contentStyle),g=C(()=>s.value?.mask??n.mask),p=C(()=>!!g.value&&n.modelValue),m=C(()=>Gt(g.value)?void 0:g.value),y=C(()=>!!d.value&&(s.value?.showArrow??n.showArrow)),b=C(()=>s.value?.scrollIntoViewOptions??n.scrollIntoViewOptions),w=C(()=>s.value?.type??n.type),{nextZIndex:S}=dc(),k=S(),x=C(()=>n.zIndex??k),{mergedPosInfo:$,triggerTarget:T}=kQ(d,wt(n,"modelValue"),wt(n,"gap"),g,b);ge(()=>n.current,N=>!It(N)&&(u.value=N)),ge(c,(N,W)=>{!n.modelValue||N===W||o(Et,N)},{flush:"post"}),ge(()=>n.modelValue,N=>{!N&&c.value!==0&&(c.value=0)});const _=()=>{n.closeOnPressEscape&&(o(lt,!1),o("close",c.value))},A=N=>{l.value=N},D=bn();return xt(Op,{currentStep:s,current:c,total:l,showClose:wt(n,"showClose"),closeIcon:wt(n,"closeIcon"),mergedType:w,ns:a,slots:D,updateModelValue(N){o(lt,N)},onClose(){o("close",c.value)},onFinish(){o("finish")}}),(N,W)=>(E(),z(Me,null,[(E(),fe(cr,{to:e.appendTo},[I("div",pt({class:f.value},N.$attrs),[Z(OQ,{visible:p.value,fill:m.value?.color,style:Be(m.value?.style),pos:i($),"z-index":x.value,"target-area-clickable":e.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),e.modelValue?(E(),fe(RQ,{key:c.value,reference:i(T),placement:v.value,"show-arrow":y.value,"z-index":x.value,style:Be(h.value),onClose:_},{default:ae(()=>[Z(i(AQ),{current:c.value,onUpdateTotal:A},{default:ae(()=>[ue(N.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):se("v-if",!0)],16)],8,["to"])),se(" just for IDE "),se("v-if",!0)],64))}}),LQ=DQ;const VQ=["aria-label"];var BQ=ve({name:"ElTourStep",__name:"step",props:SQ,emits:CQ,setup(e,{emit:t}){const n=e,o=t,{Close:a}=X2,{t:l}=_t(),{currentStep:s,current:r,total:u,showClose:c,closeIcon:d,mergedType:f,ns:v,slots:h,updateModelValue:g,onClose:p,onFinish:m}=Fe(Op);ge(n,_=>{s.value=_},{immediate:!0});const y=C(()=>n.showClose??c.value),b=C(()=>n.closeIcon??d.value??a),w=_=>{if(_)return hr(_,["children","onClick"])},S=()=>{r.value-=1,n.prevButtonProps?.onClick&&n.prevButtonProps?.onClick()},k=()=>{r.value>=u.value-1?x():r.value+=1,n.nextButtonProps?.onClick&&n.nextButtonProps.onClick()},x=()=>{$(),m()},$=()=>{g(!1),p(),o("close")},T=_=>{if(!_.target?.isContentEditable)switch(Zt(_)){case Ee.left:_.preventDefault(),r.value>0&&S();break;case Ee.right:_.preventDefault(),k();break}};return at(()=>{window.addEventListener("keydown",T)}),Ft(()=>{window.removeEventListener("keydown",T)}),(_,A)=>(E(),z(Me,null,[y.value?(E(),z("button",{key:0,"aria-label":i(l)("el.tour.close"),class:R(i(v).e("closebtn")),type:"button",onClick:$},[Z(i(He),{class:R(i(v).e("close"))},{default:ae(()=>[(E(),fe(ft(b.value)))]),_:1},8,["class"])],10,VQ)):se("v-if",!0),I("header",{class:R([i(v).e("header"),{"show-close":i(c)}])},[ue(_.$slots,"header",{},()=>[I("span",{role:"heading",class:R(i(v).e("title"))},me(e.title),3)])],2),I("div",{class:R(i(v).e("body"))},[ue(_.$slots,"default",{},()=>[I("span",null,me(e.description),1)])],2),I("footer",{class:R(i(v).e("footer"))},[I("div",{class:R(i(v).b("indicators"))},[i(h).indicators?(E(),fe(ft(i(h).indicators),{key:0,current:i(r),total:i(u)},null,8,["current","total"])):(E(!0),z(Me,{key:1},dt(i(u),(D,N)=>(E(),z("span",{key:D,class:R([i(v).b("indicator"),i(v).is("active",N===i(r))])},null,2))),128))],2),I("div",{class:R(i(v).b("buttons"))},[i(r)>0?(E(),fe(i(zn),pt({key:0,size:"small",type:i(f)},w(e.prevButtonProps),{onClick:S}),{default:ae(()=>[Oe(me(e.prevButtonProps?.children??i(l)("el.tour.previous")),1)]),_:1},16,["type"])):se("v-if",!0),i(r)<=i(u)-1?(E(),fe(i(zn),pt({key:1,size:"small",type:i(f)==="primary"?"default":"primary"},w(e.nextButtonProps),{onClick:k}),{default:ae(()=>[Oe(me(e.nextButtonProps?.children??(i(r)===i(u)-1?i(l)("el.tour.finish"):i(l)("el.tour.next"))),1)]),_:1},16,["type"])):se("v-if",!0)],2)],2)],64))}}),iT=BQ;const FQ=ut(LQ,{TourStep:iT}),zQ=fn(iT),HQ=Te({container:{type:oe([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:oe(String),default:"default"},direction:{type:oe(String),default:"vertical"},selectScrollTop:Boolean}),KQ={change:e=>ze(e),click:(e,t)=>e instanceof MouseEvent&&(ze(t)||It(t))},Xc=(e=>{if(!Lt||e==="")return null;if(ze(e))try{return document.querySelector(e)}catch{return null}return e});function WQ(e){let t=0;const n=(...o)=>{t&&ba(t),t=Po(()=>{e(...o),t=0})};return n.cancel=()=>{ba(t),t=0},n}const uT=Symbol("anchor");var jQ=ve({name:"ElAnchor",__name:"anchor",props:HQ,emits:KQ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=bn(),s=F(""),r=F({}),u=F(null),c=F(null),d=F(),f={};let v=!1,h=0;const g=ke("anchor"),p=C(()=>[g.b(),o.type==="underline"?g.m("underline"):"",g.m(o.direction)]),m=N=>{f[N.href]=N.el},y=N=>{delete f[N]},b=N=>{s.value!==N&&(s.value=N,a(Et,N))};let w=null,S="";const k=N=>{if(!d.value)return;const W=Xc(N);if(!W)return;if(w){if(S===N)return;w()}S=N,v=!0;const V=C0(W,d.value),H=Jh(W,V),P=V.scrollHeight-V.clientHeight,O=Math.min(H-o.offset,P);w=gA(d.value,h,O,o.duration,()=>{setTimeout(()=>{v=!1,S=""},20)})},x=N=>{N&&(b(N),k(N))},$=(N,W)=>{a("click",N,W),x(W)},T=WQ(()=>{d.value&&(h=k0(d.value));const N=_();v||It(N)||b(N)}),_=()=>{if(!d.value)return;const N=k0(d.value),W=[];for(const V of Object.keys(f)){const H=Xc(V);if(!H)continue;const P=Jh(H,C0(H,d.value));W.push({top:P-o.offset-o.bound,href:V})}W.sort((V,H)=>V.top-H.top);for(let V=0;VN))return H.href}},A=()=>{const N=Xc(o.container);!N||lc(N)?d.value=window:d.value=N};jt(d,"scroll",T);const D=()=>{Re(()=>{if(!u.value||!c.value||!s.value){r.value={};return}const N=f[s.value];if(!N){r.value={};return}const W=u.value.getBoundingClientRect(),V=c.value.getBoundingClientRect(),H=N.getBoundingClientRect();o.direction==="horizontal"?r.value={left:`${H.left-W.left}px`,width:`${H.width}px`,opacity:1}:r.value={top:`${H.top-W.top+(H.height-V.height)/2}px`,opacity:1}})};return ge(s,D),ge(()=>l.default?.(),D),at(()=>{A();const N=decodeURIComponent(window.location.hash);Xc(N)?x(N):T()}),ge(()=>o.container,()=>{A()}),xt(uT,{ns:g,direction:o.direction,currentAnchor:s,addLink:m,removeLink:y,handleClick:$}),t({scrollTo:x}),(N,W)=>(E(),z("div",{ref_key:"anchorRef",ref:u,class:R(p.value)},[e.marker?(E(),z("div",{key:0,ref_key:"markerRef",ref:c,class:R(i(g).e("marker")),style:Be(r.value)},null,6)):se("v-if",!0),I("div",{class:R(i(g).e("list"))},[ue(N.$slots,"default")],2)],2))}}),UQ=jQ;const YQ=Te({title:String,href:String}),qQ=["href"];var GQ=ve({name:"ElAnchorLink",__name:"anchor-link",props:YQ,setup(e){const t=e,n=F(null),{ns:o,direction:a,currentAnchor:l,addLink:s,removeLink:r,handleClick:u}=Fe(uT),c=C(()=>[o.e("link"),o.is("active",l.value===t.href)]),d=f=>{u(f,t.href)};return ge(()=>t.href,(f,v)=>{Re(()=>{v&&r(v),f&&s({href:f,el:n.value})})}),at(()=>{const{href:f}=t;f&&s({href:f,el:n.value})}),Ft(()=>{const{href:f}=t;f&&r(f)}),(f,v)=>(E(),z("div",{class:R(i(o).e("item"))},[I("a",{ref_key:"linkRef",ref:n,class:R(c.value),href:e.href,onClick:d},[ue(f.$slots,"default",{},()=>[Oe(me(e.title),1)])],10,qQ),f.$slots["sub-link"]&&i(a)==="vertical"?(E(),z("div",{key:0,class:R(i(o).e("list"))},[ue(f.$slots,"sub-link")],2)):se("v-if",!0)],2))}}),cT=GQ;const XQ=ut(UQ,{AnchorLink:cT}),ZQ=fn(cT),dT={label:"label",value:"value",disabled:"disabled"},JQ=Te({direction:{type:oe(String),default:"horizontal"},options:{type:oe(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:oe(Object),default:()=>dT},block:Boolean,size:Rn,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...co(["ariaLabel"])}),QQ={[lt]:e=>ze(e)||We(e)||Gt(e),[Et]:e=>ze(e)||We(e)||Gt(e)},eee=["id","aria-label","aria-labelledby"],tee=["name","disabled","checked","onChange"];var nee=ve({name:"ElSegmented",__name:"segmented",props:JQ,emits:QQ,setup(e,{emit:t}){const n=e,o=t,a=ke("segmented"),l=Jn(),s=In(),r=pn(),{formItem:u}=Wn(),{inputId:c,isLabeledByFormItem:d}=Ro(n,{formItemContext:u}),f=F(null),v=ZR(),h=Kt({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),g=(D,N)=>{const W=m(N);o(lt,W),o(Et,W),D.target.checked=W===n.modelValue},p=C(()=>({...dT,...n.props})),m=D=>st(D)?D[p.value.value]:D,y=D=>st(D)?D[p.value.label]:D,b=D=>!!(r.value||st(D)&&D[p.value.disabled]),w=D=>n.modelValue===m(D),S=D=>n.options.find(N=>m(N)===D),k=D=>[a.e("item"),a.is("selected",w(D)),a.is("disabled",b(D))],x=()=>{if(!f.value)return;const D=f.value.querySelector(".is-selected"),N=f.value.querySelector(".is-selected input");if(!D||!N){h.width=0,h.height=0,h.translateX=0,h.translateY=0,h.focusVisible=!1;return}h.isInit=!0,n.direction==="vertical"?(h.height=D.offsetHeight,h.translateY=D.offsetTop):(h.width=D.offsetWidth,h.translateX=D.offsetLeft);try{h.focusVisible=N.matches(":focus-visible")}catch{}},$=C(()=>[a.b(),a.m(s.value),a.is("block",n.block)]),T=C(()=>({width:n.direction==="vertical"?"100%":`${h.width}px`,height:n.direction==="vertical"?`${h.height}px`:"100%",transform:n.direction==="vertical"?`translateY(${h.translateY}px)`:`translateX(${h.translateX}px)`,display:h.isInit?"block":"none"})),_=C(()=>[a.e("item-selected"),a.is("disabled",b(S(n.modelValue))),a.is("focus-visible",h.focusVisible)]),A=C(()=>n.name||l.value);return cn(f,x),ge(v,x),ge(()=>n.options,x,{deep:!0,flush:"post"}),ge(()=>n.modelValue,()=>{x(),n.validateEvent&&u?.validate?.("change").catch(mt)},{flush:"post"}),(D,N)=>e.options.length?(E(),z("div",{key:0,id:i(c),ref_key:"segmentedRef",ref:f,class:R($.value),role:"radiogroup","aria-label":i(d)?void 0:e.ariaLabel||"segmented","aria-labelledby":i(d)?i(u).labelId:void 0},[I("div",{class:R([i(a).e("group"),i(a).m(e.direction)])},[I("div",{style:Be(T.value),class:R(_.value)},null,6),(E(!0),z(Me,null,dt(e.options,(W,V)=>(E(),z("label",{key:V,class:R(k(W))},[I("input",{class:R(i(a).e("item-input")),type:"radio",name:A.value,disabled:b(W),checked:w(W),onChange:H=>g(H,W)},null,42,tee),I("div",{class:R(i(a).e("item-label"))},[ue(D.$slots,"default",{item:W},()=>[Oe(me(y(W)),1)])],2)],2))),128))],2)],10,eee)):se("v-if",!0)}}),oee=nee;const aee=ut(oee),lee=(e,t)=>{const n=e.toLowerCase();return(t.label||t.value||"").toLowerCase().includes(n)},see=(e,t,n)=>{const{selectionEnd:o}=e;if(o===null)return;const a=e.value,l=Bn(t);let s=-1,r;for(let u=o-1;u>=0;--u){const c=a[u];if(s===-1&&(c===n||c===` +`||c==="\r")){s=u;continue}if(l.includes(c)){const d=s===-1?o:s;r={pattern:a.slice(u+1,d),start:u+1,end:d,prefix:c,prefixIndex:u,splitIndex:s,selectionEnd:o};break}}return r},ree=(e,t={debug:!1,useSelectionEnd:!1})=>{const n=e.selectionStart!==null?e.selectionStart:0,o=e.selectionEnd!==null?e.selectionEnd:0,a=t.useSelectionEnd?o:n,l=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"];if(t.debug){const v=document.querySelector("#input-textarea-caret-position-mirror-div");v?.parentNode&&v.parentNode.removeChild(v)}const s=document.createElement("div");s.id="input-textarea-caret-position-mirror-div",document.body.appendChild(s);const r=s.style,u=window.getComputedStyle(e),c=e.nodeName==="INPUT";r.whiteSpace=c?"nowrap":"pre-wrap",c||(r.wordWrap="break-word"),r.position="absolute",t.debug||(r.visibility="hidden"),l.forEach(v=>{if(c&&v==="lineHeight")if(u.boxSizing==="border-box"){const h=Number.parseInt(u.height),g=Number.parseInt(u.paddingTop)+Number.parseInt(u.paddingBottom)+Number.parseInt(u.borderTopWidth)+Number.parseInt(u.borderBottomWidth),p=g+Number.parseInt(u.lineHeight);h>p?r.lineHeight=`${h-g}px`:h===p?r.lineHeight=u.lineHeight:r.lineHeight="0"}else r.lineHeight=u.height;else r[v]=u[v]}),fp()?e.scrollHeight>Number.parseInt(u.height)&&(r.overflowY="scroll"):r.overflow="hidden",s.textContent=e.value.slice(0,Math.max(0,a)),c&&s.textContent&&(s.textContent=s.textContent.replace(/\s/g," "));const d=document.createElement("span");d.textContent=e.value.slice(Math.max(0,a))||".",d.style.position="relative",d.style.left=`${-e.scrollLeft}px`,d.style.top=`${-e.scrollTop}px`,s.appendChild(d);const f={top:d.offsetTop+Number.parseInt(u.borderTopWidth),left:d.offsetLeft+Number.parseInt(u.borderLeftWidth),height:Number.parseInt(u.fontSize)*1.5};return t.debug?d.style.backgroundColor="#aaa":document.body.removeChild(s),f.left>=e.clientWidth&&(f.left=e.clientWidth),f},iee=Te({...Kg,options:{type:oe(Array),default:()=>[]},prefix:{type:oe([String,Array]),default:"@",validator:e=>ze(e)?e.length===1:e.every(t=>ze(t)&&t.length===1)},split:{type:String,default:" ",validator:e=>e.length===1},filterOption:{type:oe([Boolean,Function]),default:()=>lee,validator:e=>e===!1?!0:je(e)},placement:{type:oe(String),default:"bottom"},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:oe(Function)},modelValue:String,loading:Boolean,popperClass:ln.popperClass,popperStyle:ln.popperStyle,popperOptions:{type:oe(Object),default:()=>({})},props:{type:oe(Object),default:()=>fT}}),uee={[lt]:e=>ze(e),"whole-remove":(e,t)=>ze(e)&&ze(t),input:e=>ze(e),search:(e,t)=>ze(e)&&ze(t),select:(e,t)=>st(e)&&ze(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},fT={value:"value",label:"label",disabled:"disabled"},cee=Te({options:{type:oe(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),dee={select:e=>ze(e.value)},fee=["id","aria-disabled","aria-selected","onMousemove","onClick"];var pee=ve({name:"ElMentionDropdown",__name:"mention-dropdown",props:cee,emits:dee,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("mention"),{t:s}=_t(),r=F(-1),u=F(),c=F(),d=F(),f=(S,k)=>[l.be("dropdown","item"),l.is("hovering",r.value===k),l.is("disabled",S.disabled||o.disabled)],v=S=>{S.disabled||o.disabled||a("select",S)},h=S=>{r.value=S},g=C(()=>o.disabled||o.options.every(S=>S.disabled)),p=C(()=>o.options[r.value]),m=()=>{!p.value||p.value.disabled||o.disabled||a("select",p.value)},y=S=>{const{options:k}=o;if(k.length===0||g.value)return;S==="next"?(r.value++,r.value===k.length&&(r.value=0)):S==="prev"&&(r.value--,r.value<0&&(r.value=k.length-1));const x=k[r.value];if(x.disabled){y(S);return}Re(()=>b(x))},b=S=>{const{options:k}=o,x=k.findIndex(T=>T.value===S.value),$=c.value?.[x];if($){const T=d.value?.querySelector?.(`.${l.be("dropdown","wrap")}`);T&&wg(T,$)}u.value?.handleScroll()};return ge(()=>o.options,()=>{g.value||o.options.length===0?r.value=-1:r.value=o.options.findIndex(S=>!S.disabled)},{immediate:!0}),t({hoveringIndex:r,navigateOptions:y,selectHoverOption:m,hoverOption:p}),(S,k)=>(E(),z("div",{ref_key:"dropdownRef",ref:d,class:R(i(l).b("dropdown"))},[S.$slots.header?(E(),z("div",{key:0,class:R(i(l).be("dropdown","header"))},[ue(S.$slots,"header")],2)):se("v-if",!0),Ye(Z(i(wa),{id:e.contentId,ref_key:"scrollbarRef",ref:u,tag:"ul","wrap-class":i(l).be("dropdown","wrap"),"view-class":i(l).be("dropdown","list"),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:ae(()=>[(E(!0),z(Me,null,dt(e.options,(x,$)=>(E(),z("li",{id:`${e.contentId}-${$}`,ref_for:!0,ref_key:"optionRefs",ref:c,key:$,class:R(f(x,$)),role:"option","aria-disabled":x.disabled||e.disabled||void 0,"aria-selected":r.value===$,onMousemove:T=>h($),onClick:Xe(T=>v(x),["stop"])},[ue(S.$slots,"label",{item:x,index:$},()=>[I("span",null,me(x.label??x.value),1)])],42,fee))),128))]),_:3},8,["id","wrap-class","view-class","aria-label"]),[[Bt,e.options.length>0&&!e.loading]]),e.loading?(E(),z("div",{key:1,class:R(i(l).be("dropdown","loading"))},[ue(S.$slots,"loading",{},()=>[Oe(me(i(s)("el.mention.loading")),1)])],2)):se("v-if",!0),S.$slots.footer?(E(),z("div",{key:2,class:R(i(l).be("dropdown","footer"))},[ue(S.$slots,"footer")],2)):se("v-if",!0)],2))}}),vee=pee,hee=ve({name:"ElMention",inheritAttrs:!1,__name:"mention",props:iee,emits:uee,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const O=Gn.props??[];return Ua(o,xe(O)?O:Object.keys(O))}),s=ke("mention"),r=pn(),u=Jn(),c=F(),d=F(),f=F(),v=F(!1),h=F(),g=F(),p=C(()=>o.showArrow?o.placement:`${o.placement}-start`),m=C(()=>o.showArrow?["bottom","top"]:["bottom-start","top-start"]),y=C(()=>({...fT,...o.props})),b=O=>{const M={label:O[y.value.label],value:O[y.value.value],disabled:O[y.value.disabled]};return{...O,...M}},w=C(()=>o.options.map(b)),S=C(()=>{const{filterOption:O}=o;return!g.value||!O?w.value:w.value.filter(M=>O(g.value.pattern,M))}),k=C(()=>v.value&&(!!S.value.length||o.loading)),x=C(()=>`${u.value}-${f.value?.hoveringIndex}`),$=O=>{a(lt,O),a(Nn,O),V()},T=O=>{if(c.value?.isComposing)return;const M=Zt(O);switch(M){case Ee.left:case Ee.right:V();break;case Ee.up:case Ee.down:if(!v.value)return;O.preventDefault(),f.value?.navigateOptions(M===Ee.up?"prev":"next");break;case Ee.enter:case Ee.numpadEnter:if(!v.value){o.type!=="textarea"&&V();return}O.preventDefault(),f.value?.hoverOption?f.value?.selectHoverOption():v.value=!1;break;case Ee.esc:if(!v.value)return;O.preventDefault(),v.value=!1;break;case Ee.backspace:if(o.whole&&g.value){const{splitIndex:B,selectionEnd:L,pattern:K,prefixIndex:X,prefix:J}=g.value,ne=W();if(!ne)return;const re=ne.value,Q=w.value.find(ce=>ce.value===K);if((je(o.checkIsWhole)?o.checkIsWhole(K,J):Q)&&B!==-1&&B+1===L){O.preventDefault();const ce=re.slice(0,X)+re.slice(B+1);a(lt,ce),a(Nn,ce),a("whole-remove",K,J);const we=X;Re(()=>{ne.selectionStart=we,ne.selectionEnd=we,P()})}}}},{wrapperRef:_}=Pl(c,{disabled:r,afterFocus(){V()},beforeBlur(O){return d.value?.isFocusInsideContent(O)},afterBlur(){v.value=!1}}),A=()=>{V()},D=O=>o.options.find(M=>O.value===M[y.value.value]),N=O=>{if(!g.value)return;const M=W();if(!M)return;const B=M.value,{split:L}=o,K=B.slice(g.value.end),X=K.startsWith(L),J=`${O.value}${X?"":L}`,ne=B.slice(0,g.value.start)+J+K;a(lt,ne),a(Nn,ne),a("select",D(O),g.value.prefix);const re=g.value.start+J.length+(X?1:0);Re(()=>{M.selectionStart=re,M.selectionEnd=re,M.focus(),P()})},W=()=>o.type==="textarea"?c.value?.textarea:c.value?.input,V=()=>{setTimeout(()=>{H(),P(),Re(()=>d.value?.updatePopper())},0)},H=()=>{const O=W();if(!O)return;const M=ree(O),B=O.getBoundingClientRect(),L=_.value.getBoundingClientRect();h.value={position:"absolute",width:0,height:`${M.height}px`,left:`${M.left+B.left-L.left}px`,top:`${M.top+B.top-L.top}px`}},P=()=>{const O=W();if(document.activeElement!==O){v.value=!1;return}const{prefix:M,split:B}=o;if(g.value=see(O,M,B),g.value&&g.value.splitIndex===-1){v.value=!0,a("search",g.value.pattern,g.value.prefix);return}v.value=!1};return t({input:c,tooltip:d,dropdownVisible:k}),(O,M)=>(E(),z("div",{ref_key:"wrapperRef",ref:_,class:R(i(s).b())},[Z(i(Gn),pt(pt(l.value,O.$attrs),{ref_key:"elInputRef",ref:c,"model-value":e.modelValue,disabled:i(r),role:k.value?"combobox":void 0,"aria-activedescendant":k.value?x.value||"":void 0,"aria-controls":k.value?i(u):void 0,"aria-expanded":k.value||void 0,"aria-label":e.ariaLabel,"aria-autocomplete":k.value?"none":void 0,"aria-haspopup":k.value?"listbox":void 0,onInput:$,onKeydown:T,onMousedown:A}),bo({_:2},[dt(O.$slots,(B,L)=>({name:L,fn:ae(K=>[ue(O.$slots,L,ml(yl(K)))])}))]),1040,["model-value","disabled","role","aria-activedescendant","aria-controls","aria-expanded","aria-label","aria-autocomplete","aria-haspopup"]),Z(i(Kn),{ref_key:"tooltipRef",ref:d,visible:k.value,"popper-class":[i(s).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,placement:p.value,"fallback-placements":m.value,effect:"light",pure:"",offset:e.offset,"show-arrow":e.showArrow},{default:ae(()=>[I("div",{style:Be(h.value)},null,4)]),content:ae(()=>[Z(vee,{ref_key:"dropdownRef",ref:f,options:S.value,disabled:i(r),loading:e.loading,"content-id":i(u),"aria-label":e.ariaLabel,onSelect:N,onClick:M[0]||(M[0]=Xe(B=>c.value?.focus(),["stop"]))},bo({_:2},[dt(O.$slots,(B,L)=>({name:L,fn:ae(K=>[ue(O.$slots,L,ml(yl(K)))])}))]),1032,["options","disabled","loading","content-id","aria-label"])]),_:3},8,["visible","popper-class","popper-style","popper-options","placement","fallback-placements","offset","show-arrow"])],2))}}),mee=hee;const gee=ut(mee),yee=Te({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),bee={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},wee=Te({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),See={"update:size":e=>typeof e=="number"||typeof e=="string"};function Cee(e){const t=F(),{width:n,height:o}=ef(t);return{containerEl:t,containerSize:C(()=>e.value==="horizontal"?n.value:o.value)}}function Dy(e){return Number(e.slice(0,-1))/100}function Ly(e){return Number(e.slice(0,-2))}function Vy(e){return ze(e)&&e.endsWith("%")}function By(e){return ze(e)&&e.endsWith("px")}function kee(e,t){const n=C(()=>e.value.map(s=>s.size)),o=C(()=>e.value.length),a=F([]);ge([n,o,t],()=>{let s=[],r=0;for(let c=0;cc+(d||0),0);if(u>1||!r){const c=1/u;s=s.map(d=>d===void 0?0:d*c)}else{const c=(1-u)/r;s=s.map(d=>d===void 0?c:d)}a.value=s});const l=s=>s*t.value;return{percentSizes:a,pxSizes:C(()=>a.value.map(l))}}function xee(e,t,n,o){const a=m=>m*t.value||0;function l(m,y){return Vy(m)?a(Dy(m)):By(m)?Ly(m):m??y}const s=F(0),r=F(null);let u=[],c=mt;const d=C(()=>e.value.map(m=>[m.min,m.max]));ge(o,()=>{if(s.value){const m=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(m)}});const f=m=>{s.value=0,r.value={index:m,confirmed:!1},u=n.value},v=(m,y)=>{let b=null;if((!r.value||!r.value.confirmed)&&y!==0){if(y>0)b=m,r.value={index:m,confirmed:!0};else for(let D=m;D>=0;D-=1)if(u[D]>0){b=D,r.value={index:D,confirmed:!0};break}}const w=b??r.value?.index??m,S=[...u],k=w+1,x=l(d.value[w][0],0),$=l(d.value[k][0],0),T=l(d.value[w][1],t.value||0),_=l(d.value[k][1],t.value||0);let A=y;S[w]+AT&&(A=T-S[w]),S[k]-A>_&&(A=S[k]-_),S[w]+=A,S[k]-=A,s.value=A,c=()=>{e.value.forEach((D,N)=>{D.size=S[N]}),c=mt},o.value||c()},h=()=>{o.value&&c(),s.value=0,r.value=null,u=[]},g=[];return{lazyOffset:s,onMoveStart:f,onMoving:v,onMoveEnd:h,movingIndex:r,onCollapse:(m,y)=>{g.length||g.push(...n.value.map(($,T)=>$<=0?l(d.value[T]?.[0],0):$));const b=n.value,w=y==="start"?m:m+1,S=y==="start"?m+1:m,k=b[w],x=b[S];if(k!==0&&x!==0)b[w]=0,b[S]+=k,g[m]=k;else{const $=k+x,T=To(g[m],0,$),_=$-T;b[S]=T,b[w]=_}e.value.forEach(($,T)=>{$.size=b[T]})}}}const pT=Symbol("splitterRootContextKey");var Eee=ve({name:"ElSplitter",__name:"splitter",props:yee,emits:bee,setup(e,{emit:t}){const n=ke("splitter"),o=t,a=e,l=wt(a,"layout"),s=wt(a,"lazy"),{containerEl:r,containerSize:u}=Cee(l),{removeChild:c,children:d,addChild:f,ChildrenSorter:v}=wp(ct(),"ElSplitterPanel");ge(d,()=>{m.value=null,d.value.forEach((A,D)=>{A.setIndex(D)})});const{percentSizes:h,pxSizes:g}=kee(d,u),{lazyOffset:p,movingIndex:m,onMoveStart:y,onMoving:b,onMoveEnd:w,onCollapse:S}=xee(d,u,g,s),k=C(()=>({[n.cssVarBlockName("bar-offset")]:s.value?`${p.value}px`:void 0}));return xt(pT,Kt({panels:d,percentSizes:h,pxSizes:g,layout:l,lazy:s,movingIndex:m,containerSize:u,onMoveStart:A=>{y(A),o("resizeStart",A,g.value)},onMoving:(A,D)=>{b(A,D),s.value||o("resize",A,g.value)},onMoveEnd:async A=>{w(),await Re(),o("resizeEnd",A,g.value)},onCollapse:(A,D)=>{S(A,D),o("collapse",A,D,g.value)},registerPanel:f,unregisterPanel:c})),(A,D)=>(E(),z("div",{ref_key:"containerEl",ref:r,class:R([i(n).b(),i(n).e(l.value)]),style:Be(k.value)},[ue(A.$slots,"default"),Z(i(v)),se(" Prevent iframe touch events from breaking "),i(m)?(E(),z("div",{key:0,class:R([i(n).e("mask"),i(n).e(`mask-${l.value}`)])},null,2)):se("v-if",!0)],6))}}),$ee=Eee;function Tee(e){return e&&st(e)?e:{start:!!e,end:!!e}}function Hw(e,t,n,o){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&o===0&&t>0)}var _ee=ve({name:"ElSplitterBar",__name:"split-bar",props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=ke("splitter-bar"),o=e,a=t,l=C(()=>o.layout==="horizontal"),s=C(()=>l.value?{width:0}:{height:0}),r=C(()=>({width:l.value?"16px":"100%",height:l.value?"100%":"16px",cursor:o.resizable?l.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),u=C(()=>{const b=n.e("dragger");return{[`${b}-horizontal`]:l.value,[`${b}-vertical`]:!l.value,[`${b}-active`]:!!c.value}}),c=F(null),d=b=>{o.resizable&&(c.value=[b.pageX,b.pageY],a("moveStart",o.index),window.addEventListener("mouseup",g),window.addEventListener("mousemove",v))},f=b=>{if(o.resizable&&b.touches.length===1){b.preventDefault();const w=b.touches[0];c.value=[w.pageX,w.pageY],a("moveStart",o.index),window.addEventListener("touchend",p),window.addEventListener("touchmove",h)}},v=b=>{const{pageX:w,pageY:S}=b,k=w-c.value[0],x=S-c.value[1],$=l.value?k:x;a("moving",o.index,$)},h=b=>{if(b.touches.length===1){b.preventDefault();const w=b.touches[0],S=w.pageX-c.value[0],k=w.pageY-c.value[1],x=l.value?S:k;a("moving",o.index,x)}},g=()=>{c.value=null,window.removeEventListener("mouseup",g),window.removeEventListener("mousemove",v),a("moveEnd",o.index)},p=()=>{c.value=null,window.removeEventListener("touchend",p),window.removeEventListener("touchmove",h),a("moveEnd",o.index)},m=C(()=>l.value?El:Sp),y=C(()=>l.value?io:Qa);return(b,w)=>(E(),z("div",{class:R([i(n).b()]),style:Be(s.value)},[e.startCollapsible?(E(),z("div",{key:0,class:R([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-start`)]),onClick:w[0]||(w[0]=S=>a("collapse",e.index,"start"))},[ue(b.$slots,"start-collapsible",{},()=>[(E(),fe(ft(m.value),{style:{width:"12px",height:"12px"}}))])],2)):se("v-if",!0),I("div",{class:R([i(n).e("dragger"),u.value,i(n).is("disabled",!e.resizable),i(n).is("lazy",e.resizable&&e.lazy)]),style:Be(r.value),onMousedown:d,onTouchstart:f},null,38),e.endCollapsible?(E(),z("div",{key:1,class:R([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-end`)]),onClick:w[1]||(w[1]=S=>a("collapse",e.index,"end"))},[ue(b.$slots,"end-collapsible",{},()=>[(E(),fe(ft(y.value),{style:{width:"12px",height:"12px"}}))])],2)):se("v-if",!0)],6))}}),Nee=_ee;const Kw="ElSplitterPanel";var Iee=ve({name:Kw,__name:"split-panel",props:wee,emits:See,setup(e,{expose:t,emit:n}){const o=ke("splitter-panel"),a=e,l=n,s=Fe(pT);s||dn(Kw,"usage: ");const{panels:r,layout:u,lazy:c,containerSize:d,pxSizes:f}=An(s),{registerPanel:v,unregisterPanel:h,onCollapse:g,onMoveEnd:p,onMoveStart:m,onMoving:y}=s,b=F(),w=ct(),S=w.uid,k=F(0),x=C(()=>r.value[k.value]),$=M=>{k.value=M},T=C(()=>x.value?f.value[k.value]??0:0),_=C(()=>x.value?f.value[k.value+1]??0:0),A=C(()=>x.value?r.value[k.value+1]:null),D=C(()=>A.value?a.resizable&&A.value?.resizable&&(T.value!==0||!a.min)&&(_.value!==0||!A.value.min):!1),N=C(()=>x.value?k.value!==r.value.length-1:!1),W=C(()=>Hw(x.value,T.value,A.value,_.value)),V=C(()=>Hw(A.value,_.value,x.value,T.value));function H(M){return Vy(M)?Dy(M)*d.value||0:By(M)?Ly(M):M??0}let P=!1;ge(()=>a.size,()=>{if(!P&&x.value){if(!d.value){x.value.size=a.size;return}const M=H(a.size),B=H(a.max),L=H(a.min),K=Math.min(Math.max(M,L||0),B||M);K!==M&&l("update:size",K),x.value.size=K}}),ge(()=>x.value?.size,M=>{M!==a.size&&(P=!0,l("update:size",M),Re(()=>P=!1))}),ge(()=>a.resizable,M=>{x.value&&(x.value.resizable=M)});const O=Kt({uid:S,getVnode:()=>w.vnode,setIndex:$,...a,collapsible:C(()=>Tee(a.collapsible))});return v(O),Ft(()=>h(O)),t({splitterPanelRef:b}),(M,B)=>(E(),z(Me,null,[I("div",pt({ref_key:"panelEl",ref:b,class:[i(o).b()],style:{flexBasis:`${T.value}px`}},M.$attrs),[ue(M.$slots,"default")],16),N.value?(E(),fe(Nee,{key:0,index:k.value,layout:i(u),lazy:i(c),resizable:D.value,"start-collapsible":W.value,"end-collapsible":V.value,onMoveStart:i(m),onMoving:i(y),onMoveEnd:i(p),onCollapse:i(g)},{"start-collapsible":ae(()=>[ue(M.$slots,"start-collapsible")]),"end-collapsible":ae(()=>[ue(M.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):se("v-if",!0)],64))}}),vT=Iee;const Oee=ut($ee,{SplitPanel:vT}),Mee=fn(vT),ua="ElInfiniteScroll",Pee={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},Fy=(e,t)=>Object.entries(Pee).reduce((n,[o,a])=>{const{type:l,default:s}=a,r=e.getAttribute(`infinite-scroll-${o}`);let u=t[r]??r??s;return u=u==="false"?!1:u,u=l(u),n[o]=Number.isNaN(u)?s:u,n},{}),hT=e=>{const{observer:t}=e[ua];t&&(t.disconnect(),delete e[ua].observer)},Ree=(e,t)=>{const{container:n,containerEl:o,instance:a,observer:l,lastScrollTop:s}=e[ua],{disabled:r,distance:u}=Fy(e,a),{clientHeight:c,scrollHeight:d,scrollTop:f}=o,v=f-s;if(e[ua].lastScrollTop=f,l||r||v<0)return;let h=!1;if(n===e)h=d-(c+f)<=u;else{const{clientTop:g,scrollHeight:p}=e,m=Jh(e,o);h=f+c>=m+g+p-u}h&&t.call(a)};function Lv(e,t){const{containerEl:n,instance:o}=e[ua],{disabled:a}=Fy(e,o);a||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(o):hT(e))}const Aee={async mounted(e,t){const{instance:n,value:o}=t;Ba({scope:ua,from:"the directive v-infinite-scroll",replacement:"the el-scrollbar infinite scroll",version:"3.0.0",ref:"https://element-plus.org/en-US/component/scrollbar#infinite-scroll"},!0),je(o)||dn(ua,"'v-infinite-scroll' binding value must be a function"),await Re();const{delay:a,immediate:l}=Fy(e,n),s=bg(e,!0),r=s===window?document.documentElement:s,u=Xl(Ree.bind(null,e,o),a);if(s){if(e[ua]={instance:n,container:s,containerEl:r,delay:a,cb:o,onScroll:u,lastScrollTop:r.scrollTop},l){const c=new MutationObserver(Xl(Lv.bind(null,e,o),50));e[ua].observer=c,c.observe(e,{childList:!0,subtree:!0}),Lv(e,o)}s.addEventListener("scroll",u)}},unmounted(e){if(!e.ElInfiniteScroll)return;const{container:t,onScroll:n}=e[ua];t?.removeEventListener("scroll",n),hT(e)},async updated(e){if(!e.ElInfiniteScroll)await Re();else{const{containerEl:t,cb:n,observer:o}=e[ua];t.clientHeight&&o&&Lv(e,n)}}},pm=Aee;pm.install=e=>{e.directive("InfiniteScroll",pm)};const Dee=pm;function Lee(e,t){let n;const o=F(!1),a=Kt({...e,originalPosition:"",originalOverflow:"",visible:!1});function l(v){a.text=v}function s(){const v=a.parent,h=f.ns;if(!v.vLoadingAddClassList){let g=v.getAttribute("loading-number");g=Number.parseInt(g)-1,g?v.setAttribute("loading-number",g.toString()):(ro(v,h.bm("parent","relative")),v.removeAttribute("loading-number")),ro(v,h.bm("parent","hidden"))}r(),d.unmount()}function r(){f.$el?.parentNode?.removeChild(f.$el)}function u(){e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(n),n=setTimeout(c,400),a.visible=!1,e.closed?.())}function c(){if(!o.value)return;const v=a.parent;o.value=!1,v.vLoadingAddClassList=void 0,s()}const d=rk(ve({name:"ElLoading",setup(v,{expose:h}){const{ns:g,zIndex:p}=Ep("loading");return h({ns:g,zIndex:p}),()=>{const m=a.spinner||a.svg,y=Le("svg",{class:"circular",viewBox:a.svgViewBox?a.svgViewBox:"0 0 50 50",...m?{innerHTML:m}:{}},m?void 0:[Le("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),b=a.text?Le("p",{class:g.b("text")},[a.text]):void 0;return Le(Zn,{name:g.b("fade"),onAfterLeave:c},{default:ae(()=>[Ye(Z("div",{style:{backgroundColor:a.background||""},class:[g.b("mask"),a.customClass,g.is("fullscreen",a.fullscreen)]},[Le("div",{class:g.b("spinner")},[y,b])]),[[Bt,a.visible]])])})}}}));Object.assign(d._context,t??{});const f=d.mount(document.createElement("div"));return{...An(a),setText:l,removeElLoadingChild:r,close:u,handleAfterLeave:c,vm:f,get $el(){return f.$el}}}let Zc;const Wr=function(e={},t){if(!Lt)return;const n=Vee(e);if(n.fullscreen&&Zc)return Zc;const o=Lee({...n,closed:()=>{n.closed?.(),n.fullscreen&&(Zc=void 0)}},t??Wr._context);Bee(n,n.parent,o),Ww(n,n.parent,o),n.parent.vLoadingAddClassList=()=>Ww(n,n.parent,o);let a=n.parent.getAttribute("loading-number");return a?a=`${Number.parseInt(a)+1}`:a="1",n.parent.setAttribute("loading-number",a),n.parent.appendChild(o.$el),Re(()=>o.visible.value=n.visible),n.fullscreen&&(Zc=o),o},Vee=e=>{let t;return ze(e.target)?t=document.querySelector(e.target)??document.body:t=e.target||document.body,{parent:t===document.body||e.body?document.body:t,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:t===document.body&&(e.fullscreen??!0),lock:e.lock??!1,customClass:e.customClass||"",visible:e.visible??!0,beforeClose:e.beforeClose,closed:e.closed,target:t}},Bee=async(e,t,n)=>{const{nextZIndex:o}=n.vm.zIndex||n.vm._.exposed.zIndex,a={};if(e.fullscreen)n.originalPosition.value=fl(document.body,"position"),n.originalOverflow.value=fl(document.body,"overflow"),a.zIndex=o();else if(e.parent===document.body){n.originalPosition.value=fl(document.body,"position"),await Re();for(const l of["top","left"]){const s=l==="top"?"scrollTop":"scrollLeft";a[l]=`${e.target.getBoundingClientRect()[l]+document.body[s]+document.documentElement[s]-Number.parseInt(fl(document.body,`margin-${l}`),10)}px`}for(const l of["height","width"])a[l]=`${e.target.getBoundingClientRect()[l]}px`}else n.originalPosition.value=fl(t,"position");for(const[l,s]of Object.entries(a))n.$el.style[l]=s},Ww=(e,t,n)=>{const o=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?ro(t,o.bm("parent","relative")):Jo(t,o.bm("parent","relative")),e.fullscreen&&e.lock?Jo(t,o.bm("parent","hidden")):ro(t,o.bm("parent","hidden"))};Wr._context=null;const Ui=Symbol("ElLoading"),ks=e=>`element-loading-${_l(e)}`,jw=(e,t)=>{const n=t.instance,o=c=>st(t.value)?t.value[c]:void 0,a=c=>F(ze(c)&&n?.[c]||c),l=c=>a(o(c)||e.getAttribute(ks(c))),s=o("fullscreen")??t.modifiers.fullscreen,r={text:l("text"),svg:l("svg"),svgViewBox:l("svgViewBox"),spinner:l("spinner"),background:l("background"),customClass:l("customClass"),fullscreen:s,target:o("target")??(s?void 0:e),body:o("body")??t.modifiers.body,lock:o("lock")??t.modifiers.lock},u=Wr(r);u._context=ru._context,e[Ui]={options:r,instance:u}},Fee=(e,t)=>{for(const n of Object.keys(e))gt(e[n])&&(e[n].value=t[n])},ru={mounted(e,t){t.value&&jw(e,t)},updated(e,t){const n=e[Ui];if(!t.value){n?.instance.close(),e[Ui]=null;return}n?Fee(n.options,st(t.value)?t.value:{text:e.getAttribute(ks("text")),svg:e.getAttribute(ks("svg")),svgViewBox:e.getAttribute(ks("svgViewBox")),spinner:e.getAttribute(ks("spinner")),background:e.getAttribute(ks("background")),customClass:e.getAttribute(ks("customClass"))}):jw(e,t)},unmounted(e){e[Ui]?.instance.close(),e[Ui]=null}};ru._context=null;const zee={install(e){Wr._context=e._context,ru._context=e._context,e.directive("loading",ru),e.config.globalProperties.$loading=Wr},directive:ru,service:Wr},mT=["primary","success","info","warning","error"],gT=["top","top-left","top-right","bottom","bottom-left","bottom-right"],no=hn({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Lt?document.body:void 0}),Hee=Te({customClass:{type:oe([String,Array,Object,Boolean]),default:no.customClass},dangerouslyUseHTMLString:{type:Boolean,default:no.dangerouslyUseHTMLString},duration:{type:Number,default:no.duration},icon:{type:Xt,default:no.icon},id:{type:String,default:no.id},message:{type:oe([String,Object,Function]),default:no.message},onClose:{type:oe(Function),default:no.onClose},showClose:{type:Boolean,default:no.showClose},type:{type:String,values:mT,default:no.type},plain:{type:Boolean,default:no.plain},offset:{type:Number,default:no.offset},placement:{type:String,values:gT,default:no.placement},zIndex:{type:Number,default:no.zIndex},grouping:{type:Boolean,default:no.grouping},repeatNum:{type:Number,default:no.repeatNum}}),Kee={destroy:()=>!0},ma=Lm({}),Wee=e=>(ma[e]||(ma[e]=Lm([])),ma[e]),jee=(e,t)=>{const n=ma[t]||[],o=n.findIndex(s=>s.id===e),a=n[o];let l;return o>0&&(l=n[o-1]),{current:a,prev:l}},Uee=(e,t)=>{const{prev:n}=jee(e,t);return n?n.vm.exposed.bottom.value:0},Yee=(e,t,n)=>(ma[n]||[]).findIndex(o=>o.id===e)>0?16:t,qee=["id"],Gee=["innerHTML"];var Xee=ve({name:"ElMessage",__name:"message",props:Hee,emits:Kee,setup(e,{expose:t,emit:n}){const{Close:o}=Vg,a=e,l=n,s=F(!1),{ns:r,zIndex:u}=Ep("message"),{currentZIndex:c,nextZIndex:d}=u,f=F(),v=F(!1),h=F(0);let g;const p=C(()=>a.type?a.type==="error"?"danger":a.type:"info"),m=C(()=>{const W=a.type;return{[r.bm("icon",W)]:W&&cs[W]}}),y=C(()=>a.icon||cs[a.type]||""),b=C(()=>a.placement||"top"),w=C(()=>Uee(a.id,b.value)),S=C(()=>Math.max(Yee(a.id,a.offset,b.value)+w.value,a.offset)),k=C(()=>h.value+S.value),x=C(()=>b.value.includes("left")?r.is("left"):b.value.includes("right")?r.is("right"):r.is("center")),$=C(()=>b.value.startsWith("top")?"top":"bottom"),T=C(()=>({[$.value]:`${S.value}px`,zIndex:c.value}));function _(){a.duration!==0&&({stop:g}=ti(()=>{D()},a.duration))}function A(){g?.()}function D(){v.value=!1,Re(()=>{s.value||(a.onClose?.(),l("destroy"))})}function N(W){Zt(W)===Ee.esc&&D()}return at(()=>{_(),d(),v.value=!0}),ge(()=>a.repeatNum,()=>{A(),_()}),jt(document,"keydown",N),cn(f,()=>{h.value=f.value.getBoundingClientRect().height}),t({visible:v,bottom:k,close:D}),(W,V)=>(E(),fe(Zn,{name:i(r).b("fade"),onBeforeEnter:V[0]||(V[0]=H=>s.value=!0),onBeforeLeave:e.onClose,onAfterLeave:V[1]||(V[1]=H=>W.$emit("destroy")),persisted:""},{default:ae(()=>[Ye(I("div",{id:e.id,ref_key:"messageRef",ref:f,class:R([i(r).b(),{[i(r).m(e.type)]:e.type},i(r).is("closable",e.showClose),i(r).is("plain",e.plain),i(r).is("bottom",$.value==="bottom"),x.value,e.customClass]),style:Be(T.value),role:"alert",onMouseenter:A,onMouseleave:_},[e.repeatNum>1?(E(),fe(i(vx),{key:0,value:e.repeatNum,type:p.value,class:R(i(r).e("badge"))},null,8,["value","type","class"])):se("v-if",!0),y.value?(E(),fe(i(He),{key:1,class:R([i(r).e("icon"),m.value])},{default:ae(()=>[(E(),fe(ft(y.value)))]),_:1},8,["class"])):se("v-if",!0),!e.dangerouslyUseHTMLString||W.$slots.default?(E(),z("p",{key:2,class:R(i(r).e("content"))},[ue(W.$slots,"default",{},()=>[Oe(me(e.message),1)])],2)):(E(),z(Me,{key:3},[se(" Caution here, message could've been compromised, never use user's input as message "),I("p",{class:R(i(r).e("content")),innerHTML:e.message},null,10,Gee)],2112)),e.showClose?(E(),fe(i(He),{key:4,class:R(i(r).e("closeBtn")),onClick:Xe(D,["stop"])},{default:ae(()=>[Z(i(o))]),_:1},8,["class"])):se("v-if",!0)],46,qee),[[Bt,v.value]])]),_:3},8,["name","onBeforeLeave"]))}}),Zee=Xee;let Jee=1;const Qee=e=>{if(!e.appendTo)e.appendTo=document.body;else if(ze(e.appendTo)){let t=document.querySelector(e.appendTo);_o(t)||(Yt("ElMessage","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body),e.appendTo=t}},ete=e=>{!e.placement&&ze(oo.placement)&&oo.placement&&(e.placement=oo.placement),e.placement||(e.placement="top"),gT.includes(e.placement)||(Yt("ElMessage",`Invalid placement: ${e.placement}. Falling back to 'top'.`),e.placement="top")},yT=e=>{const t=!e||ze(e)||tn(e)||je(e)?{message:e}:e,n={...no,...t};return Qee(n),ete(n),Gt(oo.grouping)&&!n.grouping&&(n.grouping=oo.grouping),We(oo.duration)&&n.duration===3e3&&(n.duration=oo.duration),We(oo.offset)&&n.offset===16&&(n.offset=oo.offset),Gt(oo.showClose)&&!n.showClose&&(n.showClose=oo.showClose),Gt(oo.plain)&&!n.plain&&(n.plain=oo.plain),n},tte=e=>{const t=ma[e.props.placement||"top"],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);const{handler:o}=e;o.close()},nte=({appendTo:e,...t},n)=>{const o=`message_${Jee++}`,a=t.onClose,l=document.createElement("div"),s={...t,id:o,onClose:()=>{a?.(),tte(c)},onDestroy:()=>{ss(null,l)}},r=Z(Zee,s,je(s.message)||tn(s.message)?{default:je(s.message)?s.message:()=>s.message}:null);r.appContext=n||lr._context,ss(r,l),e.appendChild(l.firstElementChild);const u=r.component,c={id:o,vnode:r,vm:u,handler:{close:()=>{u.exposed.close()}},props:r.component.props};return c},lr=(e={},t)=>{if(!Lt)return{close:()=>{}};const n=yT(e),o=Wee(n.placement||"top");if(n.grouping&&o.length){const l=o.find(({vnode:s})=>s.props?.message===n.message);if(l)return l.props.repeatNum+=1,l.props.type=n.type,l.handler}if(We(oo.max)&&o.length>=oo.max)return{close:()=>{}};const a=nte(n,t);return o.push(a),a.handler};mT.forEach(e=>{lr[e]=(t={},n)=>lr({...yT(t),type:e},n)});function ote(e){for(const t in ma)if(zt(ma,t)){const n=[...ma[t]];for(const o of n)(!e||e===o.props.type)&&o.handler.close()}}function ate(e){ma[e]&&[...ma[e]].forEach(t=>t.handler.close())}lr.closeAll=ote;lr.closeAllByPlacement=ate;lr._context=null;const Ht=W2(lr,"$message");var lte=ve({name:"ElMessageBox",directives:{TrapFocus:bF},components:{ElButton:zn,ElFocusTrap:xi,ElInput:Gn,ElOverlay:cy,ElIcon:He,...Vg},inheritAttrs:!1,props:{buttonSize:{type:String,validator:m$},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:o,ns:a,size:l}=Ep("message-box",C(()=>e.buttonSize)),{t:s}=n,{nextZIndex:r}=o,u=F(!1),c=Kt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:yo(sa),cancelButtonLoadingIcon:yo(sa),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:r()}),d=C(()=>{const H=c.type;return{[a.bm("icon",H)]:H&&cs[H]}}),f=Jn(),v=Jn(),h=C(()=>{const H=c.type;return c.icon||H&&cs[H]||""}),g=C(()=>!!c.message),p=F(),m=F(),y=F(),b=F(),w=F(),S=C(()=>c.confirmButtonClass);ge(()=>c.inputValue,async H=>{await Re(),e.boxType==="prompt"&&H&&D()},{immediate:!0}),ge(()=>u.value,H=>{H&&(e.boxType!=="prompt"&&(c.autofocus?y.value=w.value?.$el??p.value:y.value=p.value),c.zIndex=r()),e.boxType==="prompt"&&(H?Re().then(()=>{b.value&&b.value.$el&&(c.autofocus?y.value=N()??p.value:y.value=p.value)}):(c.editorErrorMessage="",c.validateError=!1))});const{isDragging:k}=s2(p,m,C(()=>e.draggable),C(()=>e.overflow));at(async()=>{await Re(),e.closeOnHashChange&&window.addEventListener("hashchange",x)}),Ft(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",x)});function x(){u.value&&(u.value=!1,Re(()=>{c.action&&t("action",c.action)}))}const $=()=>{e.closeOnClickModal&&A(c.distinguishCancelAndClose?"close":"cancel")},T=Ng($),_=H=>{if(c.inputType!=="textarea"&&!b.value?.isComposing)return H.preventDefault(),A("confirm")},A=H=>{e.boxType==="prompt"&&H==="confirm"&&!D()||(c.action=H,c.beforeClose?c.beforeClose?.(H,c,x):x())},D=()=>{if(e.boxType==="prompt"){const H=c.inputPattern;if(H&&!H.test(c.inputValue||""))return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;const P=c.inputValidator;if(je(P)){const O=P(c.inputValue);if(O===!1)return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;if(ze(O))return c.editorErrorMessage=O,c.validateError=!0,!1}}return c.editorErrorMessage="",c.validateError=!1,!0},N=()=>{const H=b.value?.$refs;return H?.input??H?.textarea},W=()=>{A("close")},V=()=>{e.closeOnPressEscape&&W()};return e.lockScroll&&pp(u,{ns:a}),{...An(c),ns:a,overlayEvent:T,visible:u,hasMessage:g,typeClass:d,contentId:f,inputId:v,btnSize:l,iconComponent:h,confirmButtonClasses:S,rootRef:p,focusStartRef:y,headerRef:m,inputRef:b,isDragging:k,confirmRef:w,doClose:x,handleClose:W,onCloseRequested:V,handleWrapperClick:$,handleInputEnter:_,handleAction:A,t:s}}});const ste=["aria-label","aria-describedby"],rte=["aria-label"],ite=["id"];function ute(e,t,n,o,a,l){const s=yt("el-icon"),r=yt("el-input"),u=yt("el-button"),c=yt("el-focus-trap"),d=yt("el-overlay");return E(),fe(Zn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=f=>e.$emit("vanish")),persisted:""},{default:ae(()=>[Ye(Z(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:ae(()=>[I("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:R(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...f)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...f)),onMousedown:t[9]||(t[9]=(...f)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...f)),onMouseup:t[10]||(t[10]=(...f)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...f))},[Z(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:ae(()=>[I("div",{ref:"rootRef",class:R([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:Be(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Xe(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(E(),z("div",{key:0,ref:"headerRef",class:R([e.ns.e("header"),{"show-close":e.showClose}])},[I("div",{class:R(e.ns.e("title"))},[e.iconComponent&&e.center?(E(),fe(s,{key:0,class:R([e.ns.e("status"),e.typeClass])},{default:ae(()=>[(E(),fe(ft(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),I("span",null,me(e.title),1)],2),e.showClose?(E(),z("button",{key:0,type:"button",class:R(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=rn(Xe(f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[Z(s,{class:R(e.ns.e("close"))},{default:ae(()=>[(E(),fe(ft(e.closeIcon||"close")))]),_:1},8,["class"])],42,rte)):se("v-if",!0)],2)):se("v-if",!0),I("div",{id:e.contentId,class:R(e.ns.e("content"))},[I("div",{class:R(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(E(),fe(s,{key:0,class:R([e.ns.e("status"),e.typeClass])},{default:ae(()=>[(E(),fe(ft(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.hasMessage?(E(),z("div",{key:1,class:R(e.ns.e("message"))},[ue(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),fe(ft(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(E(),fe(ft(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:me(e.message)},null,8,["for","textContent"]))])],2)):se("v-if",!0)],2),Ye(I("div",{class:R(e.ns.e("input"))},[Z(r,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=f=>e.inputValue=f),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:R({invalid:e.validateError}),onKeydown:rn(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),I("div",{class:R(e.ns.e("errormsg")),style:Be({visibility:e.editorErrorMessage?"visible":"hidden"})},me(e.editorErrorMessage),7)],2),[[Bt,e.showInput]])],10,ite),e.showCancelButton||e.showConfirmButton?(E(),z("div",{key:1,class:R(e.ns.e("btns"))},[e.showCancelButton?(E(),fe(u,{key:0,type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:R([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=f=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=rn(Xe(f=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:ae(()=>[Oe(me(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","size"])):se("v-if",!0),Ye(Z(u,{ref:"confirmRef",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:R([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=f=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=rn(Xe(f=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:ae(()=>[Oe(me(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","disabled","size"]),[[Bt,e.showConfirmButton]])],2)):se("v-if",!0)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,ste)]),_:3},8,["z-index","overlay-class","mask"]),[[Bt,e.visible]])]),_:3})}var cte=Dn(lte,[["render",ute]]);const Bu=new Map,dte=e=>{let t=document.body;return e.appendTo&&(ze(e.appendTo)&&(t=document.querySelector(e.appendTo)),_o(e.appendTo)&&(t=e.appendTo),_o(t)||(Yt("ElMessageBox","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body)),t},Vv=(e,t)=>{const n=e.component?.proxy;return()=>n.handleAction(t)},fte=(e,t,n=null)=>{const o=Z(cte,e,je(e.message)||tn(e.message)?{default:je(e.message)?()=>e.message({confirm:Vv(o,"confirm"),cancel:Vv(o,"cancel"),close:Vv(o,"close")}):()=>e.message}:null);return o.appContext=n,ss(o,t),dte(e).appendChild(t.firstElementChild),o.component},pte=()=>document.createElement("div"),vte=(e,t)=>{const n=pte();e.onVanish=()=>{ss(null,n),Bu.delete(a)},e.onAction=l=>{const s=Bu.get(a);let r;e.showInput?r={value:a.inputValue,action:l}:r=l,e.callback?e.callback(r,o.proxy):l==="cancel"||l==="close"?e.distinguishCancelAndClose&&l!=="cancel"?s.reject("close"):s.reject("cancel"):s.resolve(r)};const o=fte(e,n,t),a=o.proxy;for(const l in e)zt(e,l)&&!zt(a.$props,l)&&(l==="closeIcon"&&st(e[l])?a[l]=yo(e[l]):a[l]=e[l]);return a.visible=!0,a};function $i(e,t=null){if(!Lt)return Promise.reject();let n;return ze(e)||tn(e)?e={message:e}:n=e.callback,new Promise((o,a)=>{const l=vte(e,t??$i._context);Bu.set(l,{options:e,callback:n,resolve:o,reject:a})})}const hte=["alert","confirm","prompt"],mte={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};hte.forEach(e=>{$i[e]=gte(e)});function gte(e){return(t,n,o,a)=>{let l="";return st(n)?(o=n,l=""):It(n)?l="":l=n,$i(Object.assign({title:l,message:t,type:"",...mte[e]},o,{boxType:e}),a)}}$i.close=()=>{Bu.forEach((e,t)=>{t.doClose()}),Bu.clear()};$i._context=null;const Ul=$i;Ul.install=e=>{Ul._context=e._context,e.config.globalProperties.$msgbox=Ul,e.config.globalProperties.$messageBox=Ul,e.config.globalProperties.$alert=Ul.alert,e.config.globalProperties.$confirm=Ul.confirm,e.config.globalProperties.$prompt=Ul.prompt};const Us=Ul,bT=["primary","success","info","warning","error"],yte=Te({customClass:{type:oe([String,Array,Object,Boolean]),default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Xt},id:{type:String,default:""},message:{type:oe([String,Object,Function]),default:""},offset:{type:Number,default:0},onClick:{type:oe(Function),default:()=>{}},onClose:{type:oe(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...bT,""],default:""},zIndex:Number,closeIcon:{type:Xt,default:la},progress:{type:oe([Boolean,Object]),default:!1},pauseOnHover:{type:Boolean,default:!0}}),bte={destroy:()=>!0},wte=["id"],Ste=["textContent"],Cte={key:0},kte=["innerHTML"];var xte=ve({name:"ElNotification",__name:"notification",props:yte,emits:bte,setup(e,{expose:t}){const n=e,{ns:o,zIndex:a}=Ep("notification"),{nextZIndex:l,currentZIndex:s}=a,r=F(!1);let u;const c=F(100);let d=0,f=0;const v=C(()=>{const W=n.type;return W&&cs[n.type]?o.m(W):""}),h=C(()=>!!n.progress&&n.duration>0),g=C(()=>{switch(n.type){case"success":return"success";case"warning":return"warning";case"error":return"exception";default:return}}),p=C(()=>({status:g.value,strokeWidth:3,showText:!1,...typeof n.progress=="object"?n.progress:void 0})),m=C(()=>n.type&&cs[n.type]||n.icon),y=C(()=>n.position.endsWith("right")?"right":"left"),b=C(()=>n.position.startsWith("top")?"top":"bottom"),w=C(()=>({[b.value]:`${n.offset}px`,zIndex:n.zIndex??s.value})),{pause:S,resume:k}=UR(()=>{c.value=Math.max(0,100-(d+Date.now()-f)/n.duration*100)},100,{immediate:!1});function x(){if(n.duration<=0)return;u?.(),S(),f=Date.now();const W=Math.max(0,n.duration-d);({stop:u}=ti(()=>{r.value&&D()},W)),h.value&&(c.value=W/n.duration*100,k())}function $(){u?.(),S(),f>0&&(d+=Date.now()-f,f=0)}let T=!1;function _(){T=!0,n.pauseOnHover&&$()}function A(){T=!1,n.pauseOnHover&&x()}function D(){r.value=!1,$()}function N(W){switch(Zt(W)){case Ee.delete:case Ee.backspace:$();break;case Ee.esc:r.value&&D();break;default:if(T&&n.pauseOnHover)break;$(),x();break}}return at(()=>{x(),l(),r.value=!0}),jt(document,"keydown",N),t({visible:r,close:D}),(W,V)=>(E(),fe(Zn,{name:i(o).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:V[1]||(V[1]=H=>W.$emit("destroy")),persisted:""},{default:ae(()=>[Ye(I("div",{id:e.id,class:R([i(o).b(),e.customClass,y.value]),style:Be(w.value),role:"alert",onMouseenter:_,onMouseleave:A,onClick:V[0]||(V[0]=(...H)=>e.onClick&&e.onClick(...H))},[m.value?(E(),fe(i(He),{key:0,class:R([i(o).e("icon"),v.value])},{default:ae(()=>[(E(),fe(ft(m.value)))]),_:1},8,["class"])):se("v-if",!0),I("div",{class:R(i(o).e("group"))},[I("h2",{class:R(i(o).e("title")),textContent:me(e.title)},null,10,Ste),Ye(I("div",{class:R(i(o).e("content")),style:Be(e.title?void 0:{margin:0})},[ue(W.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),z(Me,{key:1},[se(" Caution here, message could've been compromised, never use user's input as message "),I("p",{innerHTML:e.message},null,8,kte)],2112)):(E(),z("p",Cte,me(e.message),1))])],6),[[Bt,e.message]]),e.showClose?(E(),fe(i(He),{key:0,class:R(i(o).e("closeBtn")),onClick:Xe(D,["stop"])},{default:ae(()=>[(E(),fe(ft(e.closeIcon)))]),_:1},8,["class"])):se("v-if",!0)],2),h.value?(E(),z("div",{key:1,class:R(i(o).e("progress")),"aria-hidden":"true"},[Z(i(my),pt(p.value,{percentage:c.value}),null,16,["percentage"])],2)):se("v-if",!0)],46,wte),[[Bt,r.value]])]),_:3},8,["name","onBeforeLeave"]))}}),Ete=xte;const fi={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},Ef=16;let $te=1;const sr=function(e={},t){if(!Lt)return{close:()=>{}};(ze(e)||tn(e))&&(e={message:e});const n=e.position||"top-right";let o=e.offset||0;fi[n].forEach(({vm:d})=>{o+=(d.el?.offsetHeight||0)+Ef}),o+=Ef;const a=`notification_${$te++}`,l=e.onClose,s={...e,offset:o,id:a,onClose:()=>{Tte(a,n,l)}};let r=document.body;_o(e.appendTo)?r=e.appendTo:ze(e.appendTo)&&(r=document.querySelector(e.appendTo)),_o(r)||(Yt("ElNotification","the appendTo option is not an HTMLElement. Falling back to document.body."),r=document.body);const u=document.createElement("div"),c=Z(Ete,s,je(s.message)?s.message:tn(s.message)?()=>s.message:null);return c.appContext=It(t)?sr._context:t,c.props.onDestroy=()=>{ss(null,u)},ss(c,u),fi[n].push({vm:c}),r.appendChild(u.firstElementChild),{close:()=>{c.component.exposed.close()}}};bT.forEach(e=>{sr[e]=(t={},n)=>((ze(t)||tn(t))&&(t={message:t}),sr({...t,type:e},n))});function Tte(e,t,n){const o=fi[t],a=o.findIndex(({vm:c})=>c.component?.props.id===e);if(a===-1)return;const{vm:l}=o[a];if(!l)return;n?.(l);const s=l.el.offsetHeight,r=t.split("-")[0];o.splice(a,1);const u=o.length;if(!(u<1))for(let c=a;c{t.component.exposed.close()})}function Nte(e="top-right"){let t=fi[e][0]?.vm.component?.props?.offset||0;for(const{vm:n}of fi[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+Ef}sr.closeAll=_te;sr.updateOffsets=Nte;sr._context=null;const Ite=W2(sr,"$notify"),Ote=Te({...hr(Ki,["ariaLabel","gpuAcceleration","rawContent"]),placement:tm.placement,tabindex:tm.tabindex,effect:{...Ki.effect,default:"light"},title:String,width:{type:[String,Number],default:150},offset:{...Ki.offset,default:void 0},persistent:{...Ki.persistent,default:!0}}),Mte={"update:visible":e=>Gt(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0};({...hr(EB,["gpuAcceleration"])});var Pte=ve({name:"ElPopover",__name:"popover",props:Ote,emits:Mte,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const y=Kn.props;return Ua(o,xe(y)?y:Object.keys(y))}),s=ke("popover"),r=F(),u=C(()=>i(r)?.popperRef),c=C(()=>[{width:mn(o.width)},o.popperStyle]),d=C(()=>[s.b(),o.popperClass,{[s.m("plain")]:!!o.content}]),f=C(()=>o.transition===`${s.namespace.value}-fade-in-linear`),v=()=>{r.value?.hide()},h=()=>{a("before-enter")},g=()=>{a("before-leave")},p=()=>{a("after-enter")},m=()=>{a("update:visible",!1),a("after-leave")};return t({popperRef:u,hide:v}),(y,b)=>(E(),fe(i(Kn),pt({ref_key:"tooltipRef",ref:r},l.value,{"aria-label":e.title,"popper-class":d.value,"popper-style":c.value,"gpu-acceleration":f.value,onBeforeShow:h,onBeforeHide:g,onShow:p,onHide:m}),{content:ae(()=>[e.title?(E(),z("div",{key:0,class:R(i(s).e("title")),role:"title"},me(e.title),3)):se("v-if",!0),ue(y.$slots,"default",{hide:v},()=>[Oe(me(e.content),1)])]),default:ae(()=>[y.$slots.reference?ue(y.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["aria-label","popper-class","popper-style","gpu-acceleration"]))}}),Rte=Pte;const Uw=(e,t)=>{const n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)};var Ate={mounted(e,t){Uw(e,t)},updated(e,t){Uw(e,t)}};const Dte="popover",wT=ML(Ate,Dte),Lte=ut(Rte,{directive:wT}),Vte="2.14.4",Bte=(e=[])=>({version:Vte,install:(n,o)=>{n[Fb]||(n[Fb]=!0,e.forEach(a=>n.use(a)),o&&jg(o,n,!0))}});var Fte=[AL,QV,c6,aZ,m6,g6,k6,vx,P6,R6,zn,Sx,A5,B5,ez,tz,hH,xE,wH,ha,Dz,ty,IH,jH,UH,Tp,AE,wK,F6,TK,_K,NK,IK,OK,O7,HE,F7,z7,nW,XE,hW,nj,oj,aj,l$,Q8,eB,He,Uj,s$,Gn,r$,uU,hU,SU,LU,VU,BU,FU,UU,$Y,OY,Lte,ux,my,kE,qz,Yz,UY,XY,TH,wa,fs,cf,p5,yq,xq,Eq,jq,Xq,FE,FK,oG,aG,vG,kX,xX,oZ,bZ,wZ,wl,Ny,FF,NZ,RZ,AZ,Kn,qZ,My,mJ,MJ,lQ,hQ,FQ,zQ,XQ,ZQ,aee,gee,Oee,Mee],zte=[Dee,zee,Ht,Us,Ite,wT],zy=Bte([...Fte,...zte]);zy.install;zy.version;var Hte=zy;const Kte="/favicon.svg";function Fu(e){return Xu()?(Dr(e),!0):!1}function pl(e){return typeof e=="function"?e():i(e)}const Wte=typeof window<"u"&&typeof document<"u",jte=e=>typeof e<"u",Ute=Object.prototype.toString,Yte=e=>Ute.call(e)==="[object Object]",qte=()=>{};function Gte(e,t){function n(...o){return new Promise((a,l)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(a).catch(l)})}return n}const ST=e=>e();function Xte(e=ST){const t=F(!0);function n(){t.value=!1}function o(){t.value=!0}return{isActive:Xs(t),pause:n,resume:o,eventFilter:(...l)=>{t.value&&e(...l)}}}function Yw(e,t=!1,n="Timeout"){return new Promise((o,a)=>{setTimeout(t?()=>a(n):o,e)})}function Zte(e,t,n={}){const{eventFilter:o=ST,...a}=n;return ge(e,Gte(o,t),a)}function Tr(e,t,n={}){const{eventFilter:o,...a}=n,{eventFilter:l,pause:s,resume:r,isActive:u}=Xte(o);return{stop:Zte(e,t,{...a,eventFilter:l}),pause:s,resume:r,isActive:u}}function Jte(e,t={}){if(!gt(e))return An(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const o in e.value)n[o]=cN(()=>({get(){return e.value[o]},set(a){var l;if((l=pl(t.replaceRef))!=null?l:!0)if(Array.isArray(e.value)){const r=[...e.value];r[o]=a,e.value=r}else{const r={...e.value,[o]:a};Object.setPrototypeOf(r,Object.getPrototypeOf(e.value)),e.value=r}else e.value[o]=a}}));return n}function vm(e,t=!1){function n(f,{flush:v="sync",deep:h=!1,timeout:g,throwOnTimeout:p}={}){let m=null;const b=[new Promise(w=>{m=ge(e,S=>{f(S)!==t&&(m?.(),w(S))},{flush:v,deep:h,immediate:!0})})];return g!=null&&b.push(Yw(g,p).then(()=>pl(e)).finally(()=>m?.())),Promise.race(b)}function o(f,v){if(!gt(f))return n(S=>S===f,v);const{flush:h="sync",deep:g=!1,timeout:p,throwOnTimeout:m}=v??{};let y=null;const w=[new Promise(S=>{y=ge([e,f],([k,x])=>{t!==(k===x)&&(y?.(),S(k))},{flush:h,deep:g,immediate:!0})})];return p!=null&&w.push(Yw(p,m).then(()=>pl(e)).finally(()=>(y?.(),pl(e)))),Promise.race(w)}function a(f){return n(v=>!!v,f)}function l(f){return o(null,f)}function s(f){return o(void 0,f)}function r(f){return n(Number.isNaN,f)}function u(f,v){return n(h=>{const g=Array.from(h);return g.includes(f)||g.includes(pl(f))},v)}function c(f){return d(1,f)}function d(f=1,v){let h=-1;return n(()=>(h+=1,h>=f),v)}return Array.isArray(pl(e))?{toMatch:n,toContains:u,changed:c,changedTimes:d,get not(){return vm(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:a,toBeNull:l,toBeNaN:r,toBeUndefined:s,changed:c,changedTimes:d,get not(){return vm(e,!t)}}}function hm(e){return vm(e)}function Qte(e){var t;const n=pl(e);return(t=n?.$el)!=null?t:n}const CT=Wte?window:void 0;function kT(...e){let t,n,o,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,a]=e,t=CT):[t,n,o,a]=e,!t)return qte;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const l=[],s=()=>{l.forEach(d=>d()),l.length=0},r=(d,f,v,h)=>(d.addEventListener(f,v,h),()=>d.removeEventListener(f,v,h)),u=ge(()=>[Qte(t),pl(a)],([d,f])=>{if(s(),!d)return;const v=Yte(f)?{...f}:f;l.push(...n.flatMap(h=>o.map(g=>r(d,h,g,v))))},{immediate:!0,flush:"post"}),c=()=>{u(),s()};return Fu(c),c}function ene(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function qw(...e){let t,n,o={};e.length===3?(t=e[0],n=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:a=CT,eventName:l="keydown",passive:s=!1,dedupe:r=!1}=o,u=ene(t);return kT(a,l,d=>{d.repeat&&pl(r)||u(d)&&n(d)},s)}function tne(e){return JSON.parse(JSON.stringify(e))}function Bv(e,t,n,o={}){var a,l,s;const{clone:r=!1,passive:u=!1,eventName:c,deep:d=!1,defaultValue:f,shouldEmit:v}=o,h=ct(),g=n||h?.emit||((a=h?.$emit)==null?void 0:a.bind(h))||((s=(l=h?.proxy)==null?void 0:l.$emit)==null?void 0:s.bind(h?.proxy));let p=c;t||(t="modelValue"),p=p||`update:${t.toString()}`;const m=w=>r?typeof r=="function"?r(w):tne(w):w,y=()=>jte(e[t])?m(e[t]):f,b=w=>{v?v(w)&&g(p,w):g(p,w)};if(u){const w=y(),S=F(w);let k=!1;return ge(()=>e[t],x=>{k||(k=!0,S.value=m(x),Re(()=>k=!1))}),ge(S,x=>{!k&&(x!==e[t]||d)&&b(x)},{deep:d}),S}else return C({get(){return y()},set(w){b(w)}})}var nne={value:()=>{}};function Mp(){for(var e=0,t=arguments.length,n={},o;e=0&&(o=n.slice(a+1),n=n.slice(0,a)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Rd.prototype=Mp.prototype={constructor:Rd,on:function(e,t){var n=this._,o=one(e+"",n),a,l=-1,s=o.length;if(arguments.length<2){for(;++l0)for(var n=new Array(a),o=0,a,l;o=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Xw.hasOwnProperty(t)?{space:Xw[t],local:e}:e}function lne(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===mm&&t.documentElement.namespaceURI===mm?t.createElement(e):t.createElementNS(n,e)}}function sne(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function xT(e){var t=Pp(e);return(t.local?sne:lne)(t)}function rne(){}function Hy(e){return e==null?rne:function(){return this.querySelector(e)}}function ine(e){typeof e!="function"&&(e=Hy(e));for(var t=this._groups,n=t.length,o=new Array(n),a=0;a=w&&(w=b+1);!(k=m[w])&&++w=0;)(s=o[a])&&(l&&s.compareDocumentPosition(l)^4&&l.parentNode.insertBefore(s,l),l=s);return this}function Pne(e){e||(e=Rne);function t(f,v){return f&&v?e(f.__data__,v.__data__):!f-!v}for(var n=this._groups,o=n.length,a=new Array(o),l=0;lt?1:e>=t?0:NaN}function Ane(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Dne(){return Array.from(this)}function Lne(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?qne:typeof t=="function"?Xne:Gne)(e,t,n??"")):pi(this.node(),e)}function pi(e,t){return e.style.getPropertyValue(t)||NT(e).getComputedStyle(e,null).getPropertyValue(t)}function Jne(e){return function(){delete this[e]}}function Qne(e,t){return function(){this[e]=t}}function eoe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function toe(e,t){return arguments.length>1?this.each((t==null?Jne:typeof t=="function"?eoe:Qne)(e,t)):this.node()[e]}function IT(e){return e.trim().split(/^|\s+/)}function Ky(e){return e.classList||new OT(e)}function OT(e){this._node=e,this._names=IT(e.getAttribute("class")||"")}OT.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function MT(e,t){for(var n=Ky(e),o=-1,a=t.length;++o=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function Noe(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,a=t.length,l;n()=>e;function gm(e,{sourceEvent:t,subject:n,target:o,identifier:a,active:l,x:s,y:r,dx:u,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}gm.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Boe(e){return!e.ctrlKey&&!e.button}function Foe(){return this.parentNode}function zoe(e,t){return t??{x:e.x,y:e.y}}function Hoe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Koe(){var e=Boe,t=Foe,n=zoe,o=Hoe,a={},l=Mp("start","drag","end"),s=0,r,u,c,d,f=0;function v(S){S.on("mousedown.drag",h).filter(o).on("touchstart.drag",m).on("touchmove.drag",y,Voe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(S,k){if(!(d||!e.call(this,S,k))){var x=w(this,t.call(this,S,k),S,k,"mouse");x&&(da(S.view).on("mousemove.drag",g,zu).on("mouseup.drag",p,zu),DT(S.view),Fv(S),c=!1,r=S.clientX,u=S.clientY,x("start",S))}}function g(S){if(jr(S),!c){var k=S.clientX-r,x=S.clientY-u;c=k*k+x*x>f}a.mouse("drag",S)}function p(S){da(S.view).on("mousemove.drag mouseup.drag",null),LT(S.view,c),jr(S),a.mouse("end",S)}function m(S,k){if(e.call(this,S,k)){var x=S.changedTouches,$=t.call(this,S,k),T=x.length,_,A;for(_=0;_>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Qc(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Qc(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=joe.exec(e))?new No(t[1],t[2],t[3],1):(t=Uoe.exec(e))?new No(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Yoe.exec(e))?Qc(t[1],t[2],t[3],t[4]):(t=qoe.exec(e))?Qc(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Goe.exec(e))?oS(t[1],t[2]/100,t[3]/100,1):(t=Xoe.exec(e))?oS(t[1],t[2]/100,t[3]/100,t[4]):Zw.hasOwnProperty(e)?eS(Zw[e]):e==="transparent"?new No(NaN,NaN,NaN,0):null}function eS(e){return new No(e>>16&255,e>>8&255,e&255,1)}function Qc(e,t,n,o){return o<=0&&(e=t=n=NaN),new No(e,t,n,o)}function Qoe(e){return e instanceof kc||(e=rr(e)),e?(e=e.rgb(),new No(e.r,e.g,e.b,e.opacity)):new No}function ym(e,t,n,o){return arguments.length===1?Qoe(e):new No(e,t,n,o??1)}function No(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}Wy(No,ym,VT(kc,{brighter(e){return e=e==null?Tf:Math.pow(Tf,e),new No(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Hu:Math.pow(Hu,e),new No(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new No(Ys(this.r),Ys(this.g),Ys(this.b),_f(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tS,formatHex:tS,formatHex8:eae,formatRgb:nS,toString:nS}));function tS(){return`#${As(this.r)}${As(this.g)}${As(this.b)}`}function eae(){return`#${As(this.r)}${As(this.g)}${As(this.b)}${As((isNaN(this.opacity)?1:this.opacity)*255)}`}function nS(){const e=_f(this.opacity);return`${e===1?"rgb(":"rgba("}${Ys(this.r)}, ${Ys(this.g)}, ${Ys(this.b)}${e===1?")":`, ${e})`}`}function _f(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ys(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function As(e){return e=Ys(e),(e<16?"0":"")+e.toString(16)}function oS(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new fa(e,t,n,o)}function BT(e){if(e instanceof fa)return new fa(e.h,e.s,e.l,e.opacity);if(e instanceof kc||(e=rr(e)),!e)return new fa;if(e instanceof fa)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,a=Math.min(t,n,o),l=Math.max(t,n,o),s=NaN,r=l-a,u=(l+a)/2;return r?(t===l?s=(n-o)/r+(n0&&u<1?0:s,new fa(s,r,u,e.opacity)}function tae(e,t,n,o){return arguments.length===1?BT(e):new fa(e,t,n,o??1)}function fa(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}Wy(fa,tae,VT(kc,{brighter(e){return e=e==null?Tf:Math.pow(Tf,e),new fa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Hu:Math.pow(Hu,e),new fa(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,a=2*n-o;return new No(zv(e>=240?e-240:e+120,a,o),zv(e,a,o),zv(e<120?e+240:e-120,a,o),this.opacity)},clamp(){return new fa(aS(this.h),ed(this.s),ed(this.l),_f(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=_f(this.opacity);return`${e===1?"hsl(":"hsla("}${aS(this.h)}, ${ed(this.s)*100}%, ${ed(this.l)*100}%${e===1?")":`, ${e})`}`}}));function aS(e){return e=(e||0)%360,e<0?e+360:e}function ed(e){return Math.max(0,Math.min(1,e||0))}function zv(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const jy=e=>()=>e;function nae(e,t){return function(n){return e+n*t}}function oae(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function aae(e){return(e=+e)==1?FT:function(t,n){return n-t?oae(t,n,e):jy(isNaN(t)?n:t)}}function FT(e,t){var n=t-e;return n?nae(e,n):jy(isNaN(e)?t:e)}const Nf=(function e(t){var n=aae(t);function o(a,l){var s=n((a=ym(a)).r,(l=ym(l)).r),r=n(a.g,l.g),u=n(a.b,l.b),c=FT(a.opacity,l.opacity);return function(d){return a.r=s(d),a.g=r(d),a.b=u(d),a.opacity=c(d),a+""}}return o.gamma=e,o})(1);function lae(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),a;return function(l){for(a=0;an&&(l=t.slice(n,l),r[s]?r[s]+=l:r[++s]=l),(o=o[0])===(a=a[0])?r[s]?r[s]+=a:r[++s]=a:(r[++s]=null,u.push({i:s,x:Aa(o,a)})),n=Hv.lastIndex;return n180?d+=360:d-c>180&&(c+=360),v.push({i:f.push(a(f)+"rotate(",null,o)-2,x:Aa(c,d)})):d&&f.push(a(f)+"rotate("+d+o)}function r(c,d,f,v){c!==d?v.push({i:f.push(a(f)+"skewX(",null,o)-2,x:Aa(c,d)}):d&&f.push(a(f)+"skewX("+d+o)}function u(c,d,f,v,h,g){if(c!==f||d!==v){var p=h.push(a(h)+"scale(",null,",",null,")");g.push({i:p-4,x:Aa(c,f)},{i:p-2,x:Aa(d,v)})}else(f!==1||v!==1)&&h.push(a(h)+"scale("+f+","+v+")")}return function(c,d){var f=[],v=[];return c=e(c),d=e(d),l(c.translateX,c.translateY,d.translateX,d.translateY,f,v),s(c.rotate,d.rotate,f,v),r(c.skewX,d.skewX,f,v),u(c.scaleX,c.scaleY,d.scaleX,d.scaleY,f,v),c=d=null,function(h){for(var g=-1,p=v.length,m;++g=0&&e._call.call(void 0,t),e=e._next;--vi}function rS(){ir=(Of=Wu.now())+Rp,vi=Yi=0;try{wae()}finally{vi=0,Cae(),ir=0}}function Sae(){var e=Wu.now(),t=e-Of;t>WT&&(Rp-=t,Of=e)}function Cae(){for(var e,t=If,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:If=n);qi=e,Sm(o)}function Sm(e){if(!vi){Yi&&(Yi=clearTimeout(Yi));var t=e-ir;t>24?(e<1/0&&(Yi=setTimeout(rS,e-Wu.now()-Rp)),Li&&(Li=clearInterval(Li))):(Li||(Of=Wu.now(),Li=setInterval(Sae,WT)),vi=1,jT(rS))}}function iS(e,t,n){var o=new Mf;return t=t==null?0:+t,o.restart(a=>{o.stop(),e(a+t)},t,n),o}var kae=Mp("start","end","cancel","interrupt"),xae=[],YT=0,uS=1,Cm=2,Dd=3,cS=4,km=5,Ld=6;function Ap(e,t,n,o,a,l){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Eae(e,n,{name:t,index:o,group:a,on:kae,tween:xae,time:l.time,delay:l.delay,duration:l.duration,ease:l.ease,timer:null,state:YT})}function Yy(e,t){var n=$a(e,t);if(n.state>YT)throw new Error("too late; already scheduled");return n}function nl(e,t){var n=$a(e,t);if(n.state>Dd)throw new Error("too late; already running");return n}function $a(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Eae(e,t,n){var o=e.__transition,a;o[t]=n,n.timer=UT(l,0,n.time);function l(c){n.state=uS,n.timer.restart(s,n.delay,n.time),n.delay<=c&&s(c-n.delay)}function s(c){var d,f,v,h;if(n.state!==uS)return u();for(d in o)if(h=o[d],h.name===n.name){if(h.state===Dd)return iS(s);h.state===cS?(h.state=Ld,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[d]):+dCm&&o.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function tle(e,t,n){var o,a,l=ele(t)?Yy:nl;return function(){var s=l(this,e),r=s.on;r!==o&&(a=(o=r).copy()).on(t,n),s.on=a}}function nle(e,t){var n=this._id;return arguments.length<2?$a(this.node(),n).on.on(e):this.each(tle(n,e,t))}function ole(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ale(){return this.on("end.remove",ole(this._id))}function lle(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Hy(e));for(var o=this._groups,a=o.length,l=new Array(a),s=0;s()=>e;function Ile(e,{sourceEvent:t,target:n,transform:o,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:a}})}function vl(e,t,n){this.k=e,this.x=t,this.y=n}vl.prototype={constructor:vl,scale:function(e){return e===1?this:new vl(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new vl(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var hi=new vl(1,0,0);vl.prototype;function Kv(e){e.stopImmediatePropagation()}function Vi(e){e.preventDefault(),e.stopImmediatePropagation()}function Ole(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Mle(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function dS(){return this.__zoom||hi}function Ple(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Rle(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ale(e,t,n){var o=e.invertX(t[0][0])-n[0][0],a=e.invertX(t[1][0])-n[1][0],l=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a),s>l?(l+s)/2:Math.min(0,l)||Math.max(0,s))}function Dle(){var e=Ole,t=Mle,n=Ale,o=Ple,a=Rle,l=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],r=250,u=Ad,c=Mp("start","zoom","end"),d,f,v,h=500,g=150,p=0,m=10;function y(V){V.property("__zoom",dS).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",_).on("dblclick.zoom",A).filter(a).on("touchstart.zoom",D).on("touchmove.zoom",N).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(V,H,P,O){var M=V.selection?V.selection():V;M.property("__zoom",dS),V!==M?k(V,H,P,O):M.interrupt().each(function(){x(this,arguments).event(O).start().zoom(null,typeof H=="function"?H.apply(this,arguments):H).end()})},y.scaleBy=function(V,H,P,O){y.scaleTo(V,function(){var M=this.__zoom.k,B=typeof H=="function"?H.apply(this,arguments):H;return M*B},P,O)},y.scaleTo=function(V,H,P,O){y.transform(V,function(){var M=t.apply(this,arguments),B=this.__zoom,L=P==null?S(M):typeof P=="function"?P.apply(this,arguments):P,K=B.invert(L),X=typeof H=="function"?H.apply(this,arguments):H;return n(w(b(B,X),L,K),M,s)},P,O)},y.translateBy=function(V,H,P,O){y.transform(V,function(){return n(this.__zoom.translate(typeof H=="function"?H.apply(this,arguments):H,typeof P=="function"?P.apply(this,arguments):P),t.apply(this,arguments),s)},null,O)},y.translateTo=function(V,H,P,O,M){y.transform(V,function(){var B=t.apply(this,arguments),L=this.__zoom,K=O==null?S(B):typeof O=="function"?O.apply(this,arguments):O;return n(hi.translate(K[0],K[1]).scale(L.k).translate(typeof H=="function"?-H.apply(this,arguments):-H,typeof P=="function"?-P.apply(this,arguments):-P),B,s)},O,M)};function b(V,H){return H=Math.max(l[0],Math.min(l[1],H)),H===V.k?V:new vl(H,V.x,V.y)}function w(V,H,P){var O=H[0]-P[0]*V.k,M=H[1]-P[1]*V.k;return O===V.x&&M===V.y?V:new vl(V.k,O,M)}function S(V){return[(+V[0][0]+ +V[1][0])/2,(+V[0][1]+ +V[1][1])/2]}function k(V,H,P,O){V.on("start.zoom",function(){x(this,arguments).event(O).start()}).on("interrupt.zoom end.zoom",function(){x(this,arguments).event(O).end()}).tween("zoom",function(){var M=this,B=arguments,L=x(M,B).event(O),K=t.apply(M,B),X=P==null?S(K):typeof P=="function"?P.apply(M,B):P,J=Math.max(K[1][0]-K[0][0],K[1][1]-K[0][1]),ne=M.__zoom,re=typeof H=="function"?H.apply(M,B):H,Q=u(ne.invert(X).concat(J/ne.k),re.invert(X).concat(J/re.k));return function(ce){if(ce===1)ce=re;else{var we=Q(ce),Se=J/we[2];ce=new vl(Se,X[0]-we[0]*Se,X[1]-we[1]*Se)}L.zoom(null,ce)}})}function x(V,H,P){return!P&&V.__zooming||new $(V,H)}function $(V,H){this.that=V,this.args=H,this.active=0,this.sourceEvent=null,this.extent=t.apply(V,H),this.taps=0}$.prototype={event:function(V){return V&&(this.sourceEvent=V),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(V,H){return this.mouse&&V!=="mouse"&&(this.mouse[1]=H.invert(this.mouse[0])),this.touch0&&V!=="touch"&&(this.touch0[1]=H.invert(this.touch0[0])),this.touch1&&V!=="touch"&&(this.touch1[1]=H.invert(this.touch1[0])),this.that.__zoom=H,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(V){var H=da(this.that).datum();c.call(V,this.that,new Ile(V,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:c}),H)}};function T(V,...H){if(!e.apply(this,arguments))return;var P=x(this,H).event(V),O=this.__zoom,M=Math.max(l[0],Math.min(l[1],O.k*Math.pow(2,o.apply(this,arguments)))),B=Ma(V);if(P.wheel)(P.mouse[0][0]!==B[0]||P.mouse[0][1]!==B[1])&&(P.mouse[1]=O.invert(P.mouse[0]=B)),clearTimeout(P.wheel);else{if(O.k===M)return;P.mouse=[B,O.invert(B)],Vd(this),P.start()}Vi(V),P.wheel=setTimeout(L,g),P.zoom("mouse",n(w(b(O,M),P.mouse[0],P.mouse[1]),P.extent,s));function L(){P.wheel=null,P.end()}}function _(V,...H){if(v||!e.apply(this,arguments))return;var P=V.currentTarget,O=x(this,H,!0).event(V),M=da(V.view).on("mousemove.zoom",X,!0).on("mouseup.zoom",J,!0),B=Ma(V,P),L=V.clientX,K=V.clientY;DT(V.view),Kv(V),O.mouse=[B,this.__zoom.invert(B)],Vd(this),O.start();function X(ne){if(Vi(ne),!O.moved){var re=ne.clientX-L,Q=ne.clientY-K;O.moved=re*re+Q*Q>p}O.event(ne).zoom("mouse",n(w(O.that.__zoom,O.mouse[0]=Ma(ne,P),O.mouse[1]),O.extent,s))}function J(ne){M.on("mousemove.zoom mouseup.zoom",null),LT(ne.view,O.moved),Vi(ne),O.event(ne).end()}}function A(V,...H){if(e.apply(this,arguments)){var P=this.__zoom,O=Ma(V.changedTouches?V.changedTouches[0]:V,this),M=P.invert(O),B=P.k*(V.shiftKey?.5:2),L=n(w(b(P,B),O,M),t.apply(this,H),s);Vi(V),r>0?da(this).transition().duration(r).call(k,L,O,V):da(this).call(y.transform,L,O,V)}}function D(V,...H){if(e.apply(this,arguments)){var P=V.touches,O=P.length,M=x(this,H,V.changedTouches.length===O).event(V),B,L,K,X;for(Kv(V),L=0;L(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(Tt||{}),Gy=(e=>(e.Partial="partial",e.Full="full",e))(Gy||{}),Ns=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(Ns||{}),ps=(e=>(e.Strict="strict",e.Loose="loose",e))(ps||{}),xm=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(xm||{}),uu=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(uu||{});const Lle=["INPUT","SELECT","TEXTAREA"],Vle=typeof document<"u"?document:null;function Em(e){var t,n;const o=((n=(t=e.composedPath)==null?void 0:t.call(e))==null?void 0:n[0])||e.target,a=typeof o?.hasAttribute=="function"?o.hasAttribute("contenteditable"):!1,l=typeof o?.closest=="function"?o.closest(".nokey"):null;return Lle.includes(o?.nodeName)||a||!!l}function Ble(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function fS(e,t,n,o){const a=t.replace("+",` +`).replace(` + +`,` ++`).split(` +`).map(s=>s.trim().toLowerCase());if(a.length===1)return e.toLowerCase()===t.toLowerCase();o||n.add(e.toLowerCase());const l=a.every((s,r)=>n.has(s)&&Array.from(n.values())[r]===a[r]);return o&&n.delete(e.toLowerCase()),l}function Fle(e,t){return n=>{if(!n.code&&!n.key)return!1;const o=zle(n.code,e);return Array.isArray(e)?e.some(a=>fS(n[o],a,t,n.type==="keyup")):fS(n[o],e,t,n.type==="keyup")}}function zle(e,t){return t.includes(e)?"code":"key"}function cu(e,t){const n=C(()=>Nt(t?.target)??Vle),o=kt(Nt(e)===!0);let a=!1;const l=new Set;let s=u(Nt(e));ge(()=>Nt(e),(c,d)=>{typeof d=="boolean"&&typeof c!="boolean"&&r(),s=u(c)},{immediate:!0}),kT(["blur","contextmenu"],r),qw((...c)=>s(...c),c=>{var d,f;const v=Nt(t?.actInsideInputWithModifier)??!0,h=Nt(t?.preventDefault)??!1;if(a=Ble(c),(!a||a&&!v)&&Em(c))return;const p=((f=(d=c.composedPath)==null?void 0:d.call(c))==null?void 0:f[0])||c.target,m=p?.nodeName==="BUTTON"||p?.nodeName==="A";!h&&(a||!m)&&c.preventDefault(),o.value=!0},{eventName:"keydown",target:n}),qw((...c)=>s(...c),c=>{const d=Nt(t?.actInsideInputWithModifier)??!0;if(o.value){if((!a||a&&!d)&&Em(c))return;a=!1,o.value=!1}},{eventName:"keyup",target:n});function r(){a=!1,l.clear(),o.value=Nt(e)===!0}function u(c){return c===null?(r(),()=>!1):typeof c=="boolean"?(r(),o.value=c,()=>!1):Array.isArray(c)||typeof c=="string"?Fle(c,l):c}return o}const ZT="vue-flow__node-desc",JT="vue-flow__edge-desc",Hle="vue-flow__aria-live",QT=["Enter"," ","Escape"],Yr={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Pf(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function Rf(e,t){const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)}function Dp(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ur(e,t=0,n=1){return Math.min(Math.max(e,t),n)}function e_(e,t){return{x:ur(e.x,t[0][0],t[1][0]),y:ur(e.y,t[0][1],t[1][1])}}function pS(e){const t=e.getRootNode();return"elementFromPoint"in t?t:window.document}function vs(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function qs(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!vs(e)}function Gi(e){return qs(e)&&"computedPosition"in e}function od(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Kle(e){return od(e.width)&&od(e.height)&&od(e.x)&&od(e.y)}function Wle(e,t,n){const o={id:e.id.toString(),type:e.type??"default",dimensions:yo({width:0,height:0}),computedPosition:yo({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:Ln(e.data)?e.data:{},events:yo(Ln(e.events)?e.events:{})};return Object.assign(t??o,e,{id:e.id.toString(),parentNode:n})}function t_(e,t,n){var o,a;const l={id:e.id.toString(),type:e.type??t?.type??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(o=e.sourceHandle)==null?void 0:o.toString(),targetHandle:(a=e.targetHandle)==null?void 0:a.toString(),updatable:e.updatable??n?.updatable,selectable:e.selectable??n?.selectable,focusable:e.focusable??n?.focusable,data:Ln(e.data)?e.data:{},events:yo(Ln(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??n?.interactionWidth,...n??{}};return Object.assign(t??l,e,{id:e.id.toString()})}function n_(e,t,n,o){const a=typeof e=="string"?e:e.id,l=new Set,s=o==="source"?"target":"source";for(const r of n)r[s]===a&&l.add(r[o]);return t.filter(r=>l.has(r.id))}function jle(...e){if(e.length===3){const[l,s,r]=e;return n_(l,s,r,"target")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(l=>vs(l)&&l.source===o).map(l=>n.find(s=>qs(s)&&s.id===l.target))}function Ule(...e){if(e.length===3){const[l,s,r]=e;return n_(l,s,r,"source")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(l=>vs(l)&&l.target===o).map(l=>n.find(s=>qs(s)&&s.id===l.source))}function o_({source:e,sourceHandle:t,target:n,targetHandle:o}){return`vueflow__edge-${e}${t??""}-${n}${o??""}`}function Yle(e,t){return t.some(n=>vs(n)&&n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle))}function ju({x:e,y:t},{x:n,y:o,zoom:a}){return{x:e*a+n,y:t*a+o}}function Uu({x:e,y:t},{x:n,y:o,zoom:a},l=!1,s=[1,1]){const r={x:(e-n)/a,y:(t-o)/a};return l?Lp(r,s):r}function qle(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}}function a_({x:e,y:t,width:n,height:o}){return{x:e,y:t,x2:e+n,y2:t+o}}function Gle({x:e,y:t,x2:n,y2:o}){return{x:e,y:t,width:n-e,height:o-t}}function l_(e){let t={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let n=0;n0,m=(f??0)*(v??0);(g||p||h>=m||r.dragging)&&s.push(r)}return s}function r_(e,t){const n=new Set;if(typeof e=="string")n.add(e);else if(e.length>=1)for(const o of e)n.add(o.id);return t.filter(o=>n.has(o.source)||n.has(o.target))}function _r(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return xc(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Xle(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=_r(e,n),a=_r(e,t);return{top:o,right:a,bottom:o,left:a,x:a*2,y:o*2}}if(typeof e=="object"){const o=_r(e.top??e.y??0,n),a=_r(e.bottom??e.y??0,n),l=_r(e.left??e.x??0,t),s=_r(e.right??e.x??0,t);return{top:o,right:s,bottom:a,left:l,x:l+s,y:o+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Zle(e,t,n,o,a,l){const{x:s,y:r}=ju(e,{x:t,y:n,zoom:o}),{x:u,y:c}=ju({x:e.x+e.width,y:e.y+e.height},{x:t,y:n,zoom:o}),d=a-u,f=l-c;return{left:Math.floor(s),top:Math.floor(r),right:Math.floor(d),bottom:Math.floor(f)}}function vS(e,t,n,o,a,l=.1){const s=Xle(l,t,n),r=(t-s.x)/e.width,u=(n-s.y)/e.height,c=Math.min(r,u),d=ur(c,o,a),f=e.x+e.width/2,v=e.y+e.height/2,h=t/2-f*d,g=n/2-v*d,p=Zle(e,h,g,d,t,n),m={left:Math.min(p.left-s.left,0),top:Math.min(p.top-s.top,0),right:Math.min(p.right-s.right,0),bottom:Math.min(p.bottom-s.bottom,0)};return{x:h-m.left+m.right,y:g-m.top+m.bottom,zoom:d}}function Jle(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function i_(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:i_(n,t):!1}function Yu(e,t){return typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`}function hS(e){const t=e.ctrlKey&&Af()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t}function mS(e,t,n){return en?-ur(Math.abs(e-n),1,t)/t:0}function u_(e,t,n=15,o=40){const a=mS(e.x,o,t.width-o)*n,l=mS(e.y,o,t.height-o)*n;return[a,l]}function Wv(e,t){if(t){const n=e.position.x+e.dimensions.width-t.dimensions.width,o=e.position.y+e.dimensions.height-t.dimensions.height;if(n>0||o>0||e.position.x<0||e.position.y<0){let a={};if(typeof t.style=="function"?a={...t.style(t)}:t.style&&(a={...t.style}),a.width=a.width??`${t.dimensions.width}px`,a.height=a.height??`${t.dimensions.height}px`,n>0)if(typeof a.width=="string"){const l=Number(a.width.replace("px",""));a.width=`${l+n}px`}else a.width+=n;if(o>0)if(typeof a.height=="string"){const l=Number(a.height.replace("px",""));a.height=`${l+o}px`}else a.height+=o;if(e.position.x<0){const l=Math.abs(e.position.x);if(t.position.x=t.position.x-l,typeof a.width=="string"){const s=Number(a.width.replace("px",""));a.width=`${s+l}px`}else a.width+=l;e.position.x=0}if(e.position.y<0){const l=Math.abs(e.position.y);if(t.position.y=t.position.y-l,typeof a.height=="string"){const s=Number(a.height.replace("px",""));a.height=`${s+l}px`}else a.height+=l;e.position.y=0}t.dimensions.width=Number(a.width.toString().replace("px","")),t.dimensions.height=Number(a.height.toString().replace("px","")),typeof t.style=="function"?t.style=l=>{const s=t.style;return{...s(l),...a}}:t.style={...t.style,...a}}}}function gS(e,t){var n,o;const a=e.filter(s=>s.type==="add"||s.type==="remove");for(const s of a)if(s.type==="add")t.findIndex(u=>u.id===s.item.id)===-1&&t.push(s.item);else if(s.type==="remove"){const r=t.findIndex(u=>u.id===s.id);r!==-1&&t.splice(r,1)}const l=t.map(s=>s.id);for(const s of t)for(const r of e)if(r.id===s.id)switch(r.type){case"select":s.selected=r.selected;break;case"position":if(Gi(s)&&(typeof r.position<"u"&&(s.position=r.position),typeof r.dragging<"u"&&(s.dragging=r.dragging),s.expandParent&&s.parentNode)){const u=t[l.indexOf(s.parentNode)];u&&Gi(u)&&Wv(s,u)}break;case"dimensions":if(Gi(s)&&(typeof r.dimensions<"u"&&(s.dimensions=r.dimensions),typeof r.updateStyle<"u"&&r.updateStyle&&(s.style={...s.style||{},width:`${(n=r.dimensions)==null?void 0:n.width}px`,height:`${(o=r.dimensions)==null?void 0:o.height}px`}),typeof r.resizing<"u"&&(s.resizing=r.resizing),s.expandParent&&s.parentNode)){const u=t[l.indexOf(s.parentNode)];u&&Gi(u)&&(!!u.dimensions.width&&!!u.dimensions.height?Wv(s,u):Re(()=>{Wv(s,u)}))}break}return t}function Yl(e,t){return{id:e,type:"select",selected:t}}function yS(e){return{item:e,type:"add"}}function bS(e){return{id:e,type:"remove"}}function wS(e,t,n,o,a){return{id:e,source:t,target:n,sourceHandle:o||null,targetHandle:a||null,type:"remove"}}function Gl(e,t=new Set,n=!1){const o=[];for(const[a,l]of e){const s=t.has(a);!(l.selected===void 0&&!s)&&l.selected!==s&&(n&&(l.selected=s),o.push(Yl(l.id,s)))}return o}const SS=()=>{};function bt(e){const t=new Set;let n=SS,o=()=>!1;const a=()=>t.size>0||o(),l=v=>{n=v},s=()=>{n=SS},r=v=>{o=v},u=()=>{o=()=>!1},c=v=>{t.delete(v)};return{on:v=>{t.add(v);const h=()=>c(v);return Fu(h),{off:h}},off:c,trigger:v=>{const h=[n];return a()?h.push(...t):e&&h.push(e),Promise.allSettled(h.map(g=>g(v)))},hasListeners:a,listeners:t,setEmitter:l,removeEmitter:s,setHasEmitListeners:r,removeHasEmitListeners:u}}function CS(e,t,n){let o=e;do{if(o&&o.matches(t))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function Qle(e,t,n,o){var a,l;const s=new Map;for(const[r,u]of e)(u.selected||u.id===o)&&(!u.parentNode||!i_(u,e))&&(u.draggable||t&&typeof u.draggable>"u")&&e.get(r)&&s.set(r,{id:u.id,position:u.position||{x:0,y:0},distance:{x:n.x-((a=u.computedPosition)==null?void 0:a.x)||0,y:n.y-((l=u.computedPosition)==null?void 0:l.y)||0},from:{x:u.computedPosition.x,y:u.computedPosition.y},extent:u.extent,parentNode:u.parentNode,dimensions:{...u.dimensions},expandParent:u.expandParent});return Array.from(s.values())}function jv({id:e,dragItems:t,findNode:n}){const o=[];for(const a of t){const l=n(a.id);l&&o.push(l)}return[e?o.find(a=>a.id===e):o[0],o]}function c_(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function ese(e,t,n){const[o,a,l,s]=typeof e!="string"?c_(e.padding):[0,0,0,0];return n&&typeof n.computedPosition.x<"u"&&typeof n.computedPosition.y<"u"&&typeof n.dimensions.width<"u"&&typeof n.dimensions.height<"u"?[[n.computedPosition.x+s,n.computedPosition.y+o],[n.computedPosition.x+n.dimensions.width-a,n.computedPosition.y+n.dimensions.height-l]]:!1}function tse(e,t,n,o){let a=e.extent||n;if((a==="parent"||!Array.isArray(a)&&a?.range==="parent")&&!e.expandParent)if(e.parentNode&&o&&e.dimensions.width&&e.dimensions.height){const l=ese(a,e,o);l&&(a=l)}else t(new Un(Fn.NODE_EXTENT_INVALID,e.id)),a=n;else if(Array.isArray(a)){const l=o?.computedPosition.x||0,s=o?.computedPosition.y||0;a=[[a[0][0]+l,a[0][1]+s],[a[1][0]+l,a[1][1]+s]]}else if(a!=="parent"&&a?.range&&Array.isArray(a.range)){const[l,s,r,u]=c_(a.padding),c=o?.computedPosition.x||0,d=o?.computedPosition.y||0;a=[[a.range[0][0]+c+u,a.range[0][1]+d+l],[a.range[1][0]+c-s,a.range[1][1]+d-r]]}return a==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:a}function nse({width:e,height:t},n){return[n[0],[n[1][0]-(e||0),n[1][1]-(t||0)]]}function Xy(e,t,n,o,a){const l=nse(e.dimensions,tse(e,n,o,a)),s=e_(t,l);return{position:{x:s.x-(a?.computedPosition.x||0),y:s.y-(a?.computedPosition.y||0)},computedPosition:s}}function mi(e,t,n=Tt.Left,o=!1){const a=(t?.x??0)+e.computedPosition.x,l=(t?.y??0)+e.computedPosition.y,{width:s,height:r}=t??sse(e);if(o)return{x:a+s/2,y:l+r/2};switch(t?.position??n){case Tt.Top:return{x:a+s/2,y:l};case Tt.Right:return{x:a+s,y:l+r/2};case Tt.Bottom:return{x:a+s/2,y:l+r};case Tt.Left:return{x:a,y:l+r/2}}}function kS(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function ose({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:a,targetHeight:l,width:s,height:r,viewport:u}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+a),y2:Math.max(e.y+o,t.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const d=a_({x:(0-u.x)/u.zoom,y:(0-u.y)/u.zoom,width:s/u.zoom,height:r/u.zoom}),f=Math.max(0,Math.min(d.x2,c.x2)-Math.max(d.x,c.x)),v=Math.max(0,Math.min(d.y2,c.y2)-Math.max(d.y,c.y));return Math.ceil(f*v)>0}function ase(e,t,n=!1){const o=typeof e.zIndex=="number";let a=o?e.zIndex:0;const l=t(e.source),s=t(e.target);return!l||!s?0:(n&&(a=o?e.zIndex:Math.max(l.computedPosition.z||0,s.computedPosition.z||0)),a)}var Fn=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Fn||{});const xS={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid +Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found +Node: ${e}`,NODE_MISSING_PARENT:(e,t)=>`Node is missing a parent +Node: ${e} +Parent: ${t}`,NODE_TYPE_MISSING:e=>`Node type is missing +Type: ${e}`,NODE_EXTENT_INVALID:e=>`Only child nodes can use a parent extent +Node: ${e}`,EDGE_INVALID:e=>`An edge needs a source and a target +Edge: ${e}`,EDGE_SOURCE_MISSING:(e,t)=>`Edge source is missing +Edge: ${e} +Source: ${t}`,EDGE_TARGET_MISSING:(e,t)=>`Edge target is missing +Edge: ${e} +Target: ${t}`,EDGE_TYPE_MISSING:e=>`Edge type is missing +Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,t,n)=>`Edge source and target are the same +Edge: ${e} +Source: ${t} +Target: ${n}`,EDGE_SOURCE_TARGET_MISSING:(e,t,n)=>`Edge source or target is missing +Edge: ${e} +Source: ${t} +Target: ${n}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed +Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found +Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Un extends Error{constructor(t,...n){var o;super((o=xS[t])==null?void 0:o.call(xS,...n)),this.name="VueFlowError",this.code=t,this.args=n}}function Zy(e){return"clientX"in e}function lse(e){return"sourceEvent"in e}function Da(e,t){const n=Zy(e);let o,a;return n?(o=e.clientX,a=e.clientY):"touches"in e&&e.touches.length>0?(o=e.touches[0].clientX,a=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(o=e.changedTouches[0].clientX,a=e.changedTouches[0].clientY):(o=0,a=0),{x:o-(t?.left??0),y:a-(t?.top??0)}}const Af=()=>{var e;return typeof navigator<"u"&&((e=navigator?.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function sse(e){var t,n;return{width:((t=e.dimensions)==null?void 0:t.width)??e.width??0,height:((n=e.dimensions)==null?void 0:n.height)??e.height??0}}function Lp(e,t=[1,1]){return{x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}}const rse=()=>!0;function Uv(e){e?.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function ise(e,t,n){const o=[],a={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const l of t.values())Rf(a,Pf(l))>0&&o.push(l);return o}const use=250;function cse(e,t,n,o){var a,l;let s=[],r=Number.POSITIVE_INFINITY;const u=ise(e,n,t+use);for(const c of u){const d=[...((a=c.handleBounds)==null?void 0:a.source)??[],...((l=c.handleBounds)==null?void 0:l.target)??[]];for(const f of d){if(o.nodeId===f.nodeId&&o.type===f.type&&o.id===f.id)continue;const{x:v,y:h}=mi(c,f,f.position,!0),g=Math.sqrt((v-e.x)**2+(h-e.y)**2);g>t||(g1){const c=o.type==="source"?"target":"source";return s.find(d=>d.type===c)??s[0]}return s[0]}function ES(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:a,fromType:l,doc:s,lib:r,flowId:u,isValidConnection:c=rse},d,f,v,h){const g=l==="target",p=t?s.querySelector(`.${r}-flow__handle[data-id="${u}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:m,y}=Da(e),b=s.elementFromPoint(m,y),w=b?.classList.contains(`${r}-flow__handle`)?b:p,S={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const k=d_(void 0,w),x=w.getAttribute("data-nodeid"),$=w.getAttribute("data-handleid"),T=w.classList.contains("connectable"),_=w.classList.contains("connectableend");if(!x||!k)return S;const A={source:g?x:o,sourceHandle:g?$:a,target:g?o:x,targetHandle:g?a:$};S.connection=A;const N=T&&_&&(n===ps.Strict?g&&k==="source"||!g&&k==="target":x!==o||$!==a);S.isValid=N&&c(A,{nodes:f,edges:d,sourceNode:v(A.source),targetNode:v(A.target)}),S.toHandle=f_(x,k,$,h,n,!0)}return S}function d_(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function dse(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function fse(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}function f_(e,t,n,o,a,l=!1){var s,r,u;const c=o.get(e);if(!c)return null;const d=a===ps.Strict?(s=c.handleBounds)==null?void 0:s[t]:[...((r=c.handleBounds)==null?void 0:r.source)??[],...((u=c.handleBounds)==null?void 0:u.target)??[]],f=(n?d?.find(v=>v.id===n):d?.[0])??null;return f&&l?{...f,...mi(c,f,f.position,!0)}:f}const $m={[Tt.Left]:Tt.Right,[Tt.Right]:Tt.Left,[Tt.Top]:Tt.Bottom,[Tt.Bottom]:Tt.Top},pse=["production","prod"];function xc(e,...t){p_()&&console.warn(`[Vue Flow]: ${e}`,...t)}function p_(){return!pse.includes("production")}function $S(e,t,n,o,a){const l=t.querySelectorAll(`.vue-flow__handle.${e}`);return l?.length?Array.from(l).map(s=>{const r=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:a,position:s.getAttribute("data-handlepos"),x:(r.left-n.left)/o,y:(r.top-n.top)/o,...Dp(s)}}):null}function Tm(e,t,n,o,a,l=!1,s){a.value=!1,e.selected?(l||e.selected&&t)&&(o([e]),Re(()=>{s.blur()})):n([e])}function Ln(e){return typeof i(e)<"u"}function vse(e,t,n,o){if(!e||!e.source||!e.target)return n(new Un(Fn.EDGE_INVALID,e?.id??"[ID UNKNOWN]")),!1;let a;return vs(e)?a=e:a={...e,id:o_(e)},a=t_(a,void 0,o),Yle(a,t)?!1:a}function hse(e,t,n,o,a){if(!t.source||!t.target)return a(new Un(Fn.EDGE_INVALID,e.id)),!1;if(!n)return a(new Un(Fn.EDGE_NOT_FOUND,e.id)),!1;const{id:l,...s}=e;return{...s,id:o?o_(t):l,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle}}function TS(e,t,n){const o={},a=[];for(let l=0;lr.id===l.parentNode);l.parentNode&&!s&&n(new Un(Fn.NODE_MISSING_PARENT,l.id,l.parentNode)),(l.parentNode||o[l.id])&&(o[l.id]&&(l.isParent=!0),s&&(s.isParent=!0))}return a}function _S(e,t,n,o,a,l){let s=a;const r=o.get(s)||new Map;o.set(s,r.set(n,t)),s=`${a}-${e}`;const u=o.get(s)||new Map;if(o.set(s,u.set(n,t)),l){s=`${a}-${e}-${l}`;const c=o.get(s)||new Map;o.set(s,c.set(n,t))}}function Yv(e,t,n){e.clear();for(const o of n){const{source:a,target:l,sourceHandle:s=null,targetHandle:r=null}=o,u={edgeId:o.id,source:a,target:l,sourceHandle:s,targetHandle:r},c=`${a}-${s}--${l}-${r}`,d=`${l}-${r}--${a}-${s}`;_S("source",u,d,e,a,s),_S("target",u,c,e,l,r)}}function NS(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function qv(e,t,n,o,a,l,s,r){const u=[];for(const c of e){const d=vs(c)?c:vse(c,r,a,l);if(!d)continue;const f=n(d.source),v=n(d.target);if(!f||!v){a(new Un(Fn.EDGE_SOURCE_TARGET_MISSING,d.id,d.source,d.target));continue}if(!f){a(new Un(Fn.EDGE_SOURCE_MISSING,d.id,d.source));continue}if(!v){a(new Un(Fn.EDGE_TARGET_MISSING,d.id,d.target));continue}if(t&&!t(d,{edges:r,nodes:s,sourceNode:f,targetNode:v})){a(new Un(Fn.EDGE_INVALID,d.id));continue}const h=o(d.id);u.push({...t_(d,h,l),sourceNode:f,targetNode:v})}return u}const IS=Symbol("vueFlow"),v_=Symbol("nodeId"),h_=Symbol("nodeRef"),mse=Symbol("edgeId"),gse=Symbol("edgeRef"),Vp=Symbol("slots");function m_(e){const{vueFlowRef:t,snapToGrid:n,snapGrid:o,noDragClassName:a,nodeLookup:l,nodeExtent:s,nodeDragThreshold:r,viewport:u,autoPanOnNodeDrag:c,autoPanSpeed:d,nodesDraggable:f,panBy:v,findNode:h,multiSelectionActive:g,nodesSelectionActive:p,selectNodesOnDrag:m,removeSelectedElements:y,addSelectedNodes:b,updateNodePositions:w,emits:S}=On(),{onStart:k,onDrag:x,onStop:$,onClick:T,el:_,disabled:A,id:D,selectable:N,dragHandle:W}=e,V=kt(!1);let H=[],P,O=null,M={x:void 0,y:void 0},B={x:0,y:0},L=null,K=!1,X=!1,J=0,ne=!1;const re=wse(),Q=({x:j,y:ee})=>{M={x:j,y:ee};let Y=!1;if(H=H.map(q=>{const U={x:j-q.distance.x,y:ee-q.distance.y},{computedPosition:G}=Xy(q,n.value?Lp(U,o.value):U,S.error,s.value,q.parentNode?h(q.parentNode):void 0);return Y=Y||q.position.x!==G.x||q.position.y!==G.y,q.position=G,q}),X=X||Y,!!Y&&(w(H,!0,!0),V.value=!0,L)){const[q,U]=jv({id:D,dragItems:H,findNode:h});x({event:L,node:q,nodes:U})}},ce=()=>{if(!O)return;const[j,ee]=u_(B,O,d.value);if(j!==0||ee!==0){const Y={x:(M.x??0)-j/u.value.zoom,y:(M.y??0)-ee/u.value.zoom};v({x:j,y:ee})&&Q(Y)}J=requestAnimationFrame(ce)},we=(j,ee)=>{K=!0;const Y=h(D);!m.value&&!g.value&&Y&&(Y.selected||y()),Y&&Nt(N)&&m.value&&Tm(Y,g.value,b,y,p,!1,ee);const q=re(j.sourceEvent);if(M=q,H=Qle(l.value,f.value,q,D),H.length){const[U,G]=jv({id:D,dragItems:H,findNode:h});k({event:j.sourceEvent,node:U,nodes:G})}},Se=(j,ee)=>{var Y;j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1||(X=!1,r.value===0&&we(j,ee),M=re(j.sourceEvent),O=((Y=t.value)==null?void 0:Y.getBoundingClientRect())||null,B=Da(j.sourceEvent,O))},le=(j,ee)=>{const Y=re(j.sourceEvent);if(!ne&&K&&c.value&&(ne=!0,ce()),!K){const q=Y.xSnapped-(M.x??0),U=Y.ySnapped-(M.y??0);Math.sqrt(q*q+U*U)>r.value&&we(j,ee)}(M.x!==Y.xSnapped||M.y!==Y.ySnapped)&&H.length&&K&&(L=j.sourceEvent,B=Da(j.sourceEvent,O),Q(Y))},ie=j=>{let ee=!1;if(!K&&!V.value&&!g.value){const Y=j.sourceEvent,q=re(Y),U=q.xSnapped-(M.x??0),G=q.ySnapped-(M.y??0),te=Math.sqrt(U*U+G*G);te!==0&&te<=r.value&&(T?.(Y),ee=!0)}if(H.length&&!ee){X&&(w(H,!1,!1),X=!1);const[Y,q]=jv({id:D,dragItems:H,findNode:h});$({event:j.sourceEvent,node:Y,nodes:q})}H=[],V.value=!1,ne=!1,K=!1,M={x:void 0,y:void 0},cancelAnimationFrame(J)};return ge([()=>Nt(A),_],([j,ee],Y,q)=>{if(ee){const U=da(ee);j||(P=Koe().on("start",G=>Se(G,ee)).on("drag",G=>le(G,ee)).on("end",G=>ie(G)).filter(G=>{const te=G.target,he=Nt(W);return!G.button&&(!a.value||!CS(te,`.${a.value}`,ee)&&(!he||CS(te,he,ee)))}),U.call(P)),q(()=>{U.on(".drag",null),P&&(P.on("start",null),P.on("drag",null),P.on("end",null))})}}),V}function yse(){return{doubleClick:bt(),click:bt(),mouseEnter:bt(),mouseMove:bt(),mouseLeave:bt(),contextMenu:bt(),updateStart:bt(),update:bt(),updateEnd:bt()}}function bse(e,t){const n=yse();return n.doubleClick.on(o=>{var a,l;t.edgeDoubleClick(o),(l=(a=e.events)==null?void 0:a.doubleClick)==null||l.call(a,o)}),n.click.on(o=>{var a,l;t.edgeClick(o),(l=(a=e.events)==null?void 0:a.click)==null||l.call(a,o)}),n.mouseEnter.on(o=>{var a,l;t.edgeMouseEnter(o),(l=(a=e.events)==null?void 0:a.mouseEnter)==null||l.call(a,o)}),n.mouseMove.on(o=>{var a,l;t.edgeMouseMove(o),(l=(a=e.events)==null?void 0:a.mouseMove)==null||l.call(a,o)}),n.mouseLeave.on(o=>{var a,l;t.edgeMouseLeave(o),(l=(a=e.events)==null?void 0:a.mouseLeave)==null||l.call(a,o)}),n.contextMenu.on(o=>{var a,l;t.edgeContextMenu(o),(l=(a=e.events)==null?void 0:a.contextMenu)==null||l.call(a,o)}),n.updateStart.on(o=>{var a,l;t.edgeUpdateStart(o),(l=(a=e.events)==null?void 0:a.updateStart)==null||l.call(a,o)}),n.update.on(o=>{var a,l;t.edgeUpdate(o),(l=(a=e.events)==null?void 0:a.update)==null||l.call(a,o)}),n.updateEnd.on(o=>{var a,l;t.edgeUpdateEnd(o),(l=(a=e.events)==null?void 0:a.updateEnd)==null||l.call(a,o)}),Object.entries(n).reduce((o,[a,l])=>(o.emit[a]=l.trigger,o.on[a]=l.on,o),{emit:{},on:{}})}function wse(){const{viewport:e,snapGrid:t,snapToGrid:n,vueFlowRef:o}=On();return a=>{var l;const s=((l=o.value)==null?void 0:l.getBoundingClientRect())??{left:0,top:0},r=lse(a)?a.sourceEvent:a,{x:u,y:c}=Da(r,s),d=Uu({x:u,y:c},e.value),{x:f,y:v}=n.value?Lp(d,t.value):d;return{xSnapped:f,ySnapped:v,...d}}}function ad(){return!0}function g_({handleId:e,nodeId:t,type:n,isValidConnection:o,edgeUpdaterType:a,onEdgeUpdate:l,onEdgeUpdateEnd:s}){const{id:r,vueFlowRef:u,connectionMode:c,connectionRadius:d,connectOnClick:f,connectionClickStartHandle:v,nodesConnectable:h,autoPanOnConnect:g,autoPanSpeed:p,findNode:m,panBy:y,startConnection:b,updateConnection:w,endConnection:S,emits:k,viewport:x,edges:$,nodes:T,isValidConnection:_,nodeLookup:A}=On();let D=null,N=!1,W=null;function V(P){var O;const M=Nt(n)==="target",B=Zy(P),L=pS(P.target),K=P.currentTarget;if(K&&(B&&P.button===0||!B)){let X=function(be){Y=Da(be,ie),Q=cse(Uu(Y,x.value,!1,[1,1]),d.value,A.value,G),q||(U(),q=!0);const ye=ES(be,{handle:Q,connectionMode:c.value,fromNodeId:Nt(t),fromHandleId:Nt(e),fromType:M?"target":"source",isValidConnection:re,doc:L,lib:"vue",flowId:r,nodeLookup:A.value},$.value,T.value,m,A.value);W=ye.handleDomNode,D=ye.connection,N=fse(!!Q,ye.isValid);const $e={...de,isValid:N,to:ye.toHandle&&N?ju({x:ye.toHandle.x,y:ye.toHandle.y},x.value):Y,toHandle:ye.toHandle,toPosition:N&&ye.toHandle?ye.toHandle.position:$m[G.position],toNode:ye.toHandle?A.value.get(ye.toHandle.nodeId):null};if(N&&Q&&de?.toHandle&&$e.toHandle&&de.toHandle.type===$e.toHandle.type&&de.toHandle.nodeId===$e.toHandle.nodeId&&de.toHandle.id===$e.toHandle.id&&de.to.x===$e.to.x&&de.to.y===$e.to.y)return;const Pe=Q??ye.toHandle;if(w(Pe&&N?ju({x:Pe.x,y:Pe.y},x.value):Y,Pe,dse(!!Pe,N)),de=$e,!Q&&!N&&!W)return Uv(ee);D&&D.source!==D.target&&W&&(Uv(ee),ee=W,W.classList.add("connecting","vue-flow__handle-connecting"),W.classList.toggle("valid",!!N),W.classList.toggle("vue-flow__handle-valid",!!N))},J=function(be){"touches"in be&&be.touches.length>0||((Q||W)&&D&&N&&(l?l(be,D):k.connect(D)),k.connectEnd(be),a&&s?.(be),Uv(ee),cancelAnimationFrame(ce),S(be),q=!1,N=!1,D=null,W=null,L.removeEventListener("mousemove",X),L.removeEventListener("mouseup",J),L.removeEventListener("touchmove",X),L.removeEventListener("touchend",J))};const ne=m(Nt(t));let re=Nt(o)||_.value||ad;!re&&ne&&(re=(M?ne.isValidSourcePos:ne.isValidTargetPos)||ad);let Q,ce=0;const{x:we,y:Se}=Da(P),le=d_(Nt(a),K),ie=(O=u.value)==null?void 0:O.getBoundingClientRect();if(!ie||!le)return;const j=f_(Nt(t),le,Nt(e),A.value,c.value);if(!j)return;let ee,Y=Da(P,ie),q=!1;const U=()=>{if(!g.value)return;const[be,ye]=u_(Y,ie,p.value);y({x:be,y:ye}),ce=requestAnimationFrame(U)},G={...j,nodeId:Nt(t),type:le,position:j.position},te=A.value.get(Nt(t)),pe={inProgress:!0,isValid:null,from:mi(te,G,Tt.Left,!0),fromHandle:G,fromPosition:G.position,fromNode:te,to:Y,toHandle:null,toPosition:$m[G.position],toNode:null};b({nodeId:Nt(t),id:Nt(e),type:le,position:K?.getAttribute("data-handlepos")||Tt.Top,...Y},{x:we-ie.left,y:Se-ie.top}),k.connectStart({event:P,nodeId:Nt(t),handleId:Nt(e),handleType:le});let de=pe;L.addEventListener("mousemove",X),L.addEventListener("mouseup",J),L.addEventListener("touchmove",X),L.addEventListener("touchend",J)}}function H(P){var O,M;if(!f.value)return;const B=Nt(n)==="target";if(!v.value){k.clickConnectStart({event:P,nodeId:Nt(t),handleId:Nt(e)}),b({nodeId:Nt(t),type:Nt(n),id:Nt(e),position:Tt.Top,...Da(P)},void 0,!0);return}let L=Nt(o)||_.value||ad;const K=m(Nt(t));if(!L&&K&&(L=(B?K.isValidSourcePos:K.isValidTargetPos)||ad),K&&(typeof K.connectable>"u"?h.value:K.connectable)===!1)return;const X=pS(P.target),J=ES(P,{handle:{nodeId:Nt(t),id:Nt(e),type:Nt(n),position:Tt.Top,...Da(P)},connectionMode:c.value,fromNodeId:v.value.nodeId,fromHandleId:v.value.id??null,fromType:v.value.type,isValidConnection:L,doc:X,lib:"vue",flowId:r,nodeLookup:A.value},$.value,T.value,m,A.value),ne=((O=J.connection)==null?void 0:O.source)===((M=J.connection)==null?void 0:M.target);J.isValid&&J.connection&&!ne&&k.connect(J.connection),k.clickConnectEnd(P),S(P,!0)}return{handlePointerDown:V,handleClick:H}}function Sse(){return Fe(v_,"")}function y_(e){const t=e??Sse()??"",n=Fe(h_,F(null)),{findNode:o,edges:a,emits:l}=On(),s=o(t);return s||l.error(new Un(Fn.NODE_NOT_FOUND,t)),{id:t,nodeEl:n,node:s,parentNode:C(()=>o(s.parentNode)),connectedEdges:C(()=>r_([s],a.value))}}function Cse(){return{doubleClick:bt(),click:bt(),mouseEnter:bt(),mouseMove:bt(),mouseLeave:bt(),contextMenu:bt(),dragStart:bt(),drag:bt(),dragStop:bt()}}function kse(e,t){const n=Cse();return n.doubleClick.on(o=>{var a,l;t.nodeDoubleClick(o),(l=(a=e.events)==null?void 0:a.doubleClick)==null||l.call(a,o)}),n.click.on(o=>{var a,l;t.nodeClick(o),(l=(a=e.events)==null?void 0:a.click)==null||l.call(a,o)}),n.mouseEnter.on(o=>{var a,l;t.nodeMouseEnter(o),(l=(a=e.events)==null?void 0:a.mouseEnter)==null||l.call(a,o)}),n.mouseMove.on(o=>{var a,l;t.nodeMouseMove(o),(l=(a=e.events)==null?void 0:a.mouseMove)==null||l.call(a,o)}),n.mouseLeave.on(o=>{var a,l;t.nodeMouseLeave(o),(l=(a=e.events)==null?void 0:a.mouseLeave)==null||l.call(a,o)}),n.contextMenu.on(o=>{var a,l;t.nodeContextMenu(o),(l=(a=e.events)==null?void 0:a.contextMenu)==null||l.call(a,o)}),n.dragStart.on(o=>{var a,l;t.nodeDragStart(o),(l=(a=e.events)==null?void 0:a.dragStart)==null||l.call(a,o)}),n.drag.on(o=>{var a,l;t.nodeDrag(o),(l=(a=e.events)==null?void 0:a.drag)==null||l.call(a,o)}),n.dragStop.on(o=>{var a,l;t.nodeDragStop(o),(l=(a=e.events)==null?void 0:a.dragStop)==null||l.call(a,o)}),Object.entries(n).reduce((o,[a,l])=>(o.emit[a]=l.trigger,o.on[a]=l.on,o),{emit:{},on:{}})}function b_(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:n,findNode:o,snapGrid:a,snapToGrid:l,nodesDraggable:s,emits:r}=On();return(u,c=!1)=>{const d=l.value?a.value[0]:5,f=l.value?a.value[1]:5,v=c?4:1,h=u.x*d*v,g=u.y*f*v,p=[];for(const m of e.value)if(m.draggable||s&&typeof m.draggable>"u"){const y={x:m.computedPosition.x+h,y:m.computedPosition.y+g},{position:b}=Xy(m,y,r.error,t.value,m.parentNode?o(m.parentNode):void 0);p.push({id:m.id,position:b,from:m.position,distance:{x:u.x,y:u.y},dimensions:m.dimensions})}n(p,!0,!1)}}const ld=.1,xse=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function Fl(){return xc("Viewport not initialized yet."),Promise.resolve(!1)}const Ese={zoomIn:Fl,zoomOut:Fl,zoomTo:Fl,fitView:Fl,setCenter:Fl,fitBounds:Fl,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Fl,setTransform:Fl,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function $se(e){function t(o,a){return new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(a?.interpolate==="linear"?iu:Ad).scaleBy(Gv(e.d3Selection,a?.duration,a?.ease,()=>{l(!0)}),o):l(!1)})}function n(o,a,l,s){return new Promise(r=>{var u;const{x:c,y:d}=e_({x:-o,y:-a},e.translateExtent),f=hi.translate(-c,-d).scale(l);e.d3Selection&&e.d3Zoom?(u=e.d3Zoom)==null||u.interpolate(s?.interpolate==="linear"?iu:Ad).transform(Gv(e.d3Selection,s?.duration,s?.ease,()=>{r(!0)}),f):r(!1)})}return C(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:a=>t(1.2,a),zoomOut:a=>t(1/1.2,a),zoomTo:(a,l)=>new Promise(s=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(l?.interpolate==="linear"?iu:Ad).scaleTo(Gv(e.d3Selection,l?.duration,l?.ease,()=>{s(!0)}),a):s(!1)}),setViewport:(a,l)=>n(a.x,a.y,a.zoom,l),setTransform:(a,l)=>n(a.x,a.y,a.zoom,l),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(a={padding:ld,includeHiddenNodes:!1,duration:0})=>{var l,s;const r=[];for(const v of e.nodes)v.dimensions.width&&v.dimensions.height&&(a?.includeHiddenNodes||!v.hidden)&&(!((l=a.nodes)!=null&&l.length)||(s=a.nodes)!=null&&s.length&&a.nodes.includes(v.id))&&r.push(v);if(!r.length)return Promise.resolve(!1);const u=l_(r),{x:c,y:d,zoom:f}=vS(u,e.dimensions.width,e.dimensions.height,a.minZoom??e.minZoom,a.maxZoom??e.maxZoom,a.padding??ld);return n(c,d,f,a)},setCenter:(a,l,s)=>{const r=typeof s?.zoom<"u"?s.zoom:e.maxZoom,u=e.dimensions.width/2-a*r,c=e.dimensions.height/2-l*r;return n(u,c,r,s)},fitBounds:(a,l={padding:ld})=>{const{x:s,y:r,zoom:u}=vS(a,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,l.padding??ld);return n(s,r,u,l)},project:a=>Uu(a,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:a=>{if(e.vueFlowRef){const{x:l,y:s}=e.vueFlowRef.getBoundingClientRect(),r={x:a.x-l,y:a.y-s};return Uu(r,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:a=>{if(e.vueFlowRef){const{x:l,y:s}=e.vueFlowRef.getBoundingClientRect(),r={x:a.x+l,y:a.y+s};return ju(r,e.viewport)}return{x:0,y:0}}}:Ese)}function Gv(e,t=0,n=xse,o=()=>{}){const a=typeof t=="number"&&t>0;return a||o(),a?e.transition().duration(t).ease(n).on("end",o):e}function Tse(e,t,n){const o=Hf(!0);return o.run(()=>{const a=()=>{o.run(()=>{let p,m,y=!!(n.nodes.value.length||n.edges.value.length);p=Tr([e.modelValue,()=>{var b,w;return(w=(b=e.modelValue)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(m?.pause(),n.setElements(b),!m&&!y&&b.length?y=!0:m?.resume())}),m=Tr([n.nodes,n.edges,()=>n.edges.value.length,()=>n.nodes.value.length],([b,w])=>{var S;(S=e.modelValue)!=null&&S.value&&Array.isArray(e.modelValue.value)&&(p?.pause(),e.modelValue.value=[...b,...w],Re(()=>{p?.resume()}))},{immediate:y}),Dr(()=>{p?.stop(),m?.stop()})})},l=()=>{o.run(()=>{let p,m,y=!!n.nodes.value.length;p=Tr([e.nodes,()=>{var b,w;return(w=(b=e.nodes)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(m?.pause(),n.setNodes(b),!m&&!y&&b.length?y=!0:m?.resume())}),m=Tr([n.nodes,()=>n.nodes.value.length],([b])=>{var w;(w=e.nodes)!=null&&w.value&&Array.isArray(e.nodes.value)&&(p?.pause(),e.nodes.value=[...b],Re(()=>{p?.resume()}))},{immediate:y}),Dr(()=>{p?.stop(),m?.stop()})})},s=()=>{o.run(()=>{let p,m,y=!!n.edges.value.length;p=Tr([e.edges,()=>{var b,w;return(w=(b=e.edges)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(m?.pause(),n.setEdges(b),!m&&!y&&b.length?y=!0:m?.resume())}),m=Tr([n.edges,()=>n.edges.value.length],([b])=>{var w;(w=e.edges)!=null&&w.value&&Array.isArray(e.edges.value)&&(p?.pause(),e.edges.value=[...b],Re(()=>{p?.resume()}))},{immediate:y}),Dr(()=>{p?.stop(),m?.stop()})})},r=()=>{o.run(()=>{ge(()=>t.maxZoom,()=>{t.maxZoom&&Ln(t.maxZoom)&&n.setMaxZoom(t.maxZoom)},{immediate:!0})})},u=()=>{o.run(()=>{ge(()=>t.minZoom,()=>{t.minZoom&&Ln(t.minZoom)&&n.setMinZoom(t.minZoom)},{immediate:!0})})},c=()=>{o.run(()=>{ge(()=>t.translateExtent,()=>{t.translateExtent&&Ln(t.translateExtent)&&n.setTranslateExtent(t.translateExtent)},{immediate:!0})})},d=()=>{o.run(()=>{ge(()=>t.nodeExtent,()=>{t.nodeExtent&&Ln(t.nodeExtent)&&n.setNodeExtent(t.nodeExtent)},{immediate:!0})})},f=()=>{o.run(()=>{ge(()=>t.applyDefault,()=>{Ln(t.applyDefault)&&(n.applyDefault.value=t.applyDefault)},{immediate:!0})})},v=()=>{o.run(()=>{const p=async m=>{let y=m;typeof t.autoConnect=="function"&&(y=await t.autoConnect(m)),y!==!1&&n.addEdges([y])};ge(()=>t.autoConnect,()=>{Ln(t.autoConnect)&&(n.autoConnect.value=t.autoConnect)},{immediate:!0}),ge(n.autoConnect,(m,y,b)=>{m?n.onConnect(p):n.hooks.value.connect.off(p),b(()=>{n.hooks.value.connect.off(p)})},{immediate:!0})})},h=()=>{const p=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const m of Object.keys(t)){const y=m;if(!p.includes(y)){const b=wt(()=>t[y]),w=n[y];gt(w)&&o.run(()=>{ge(b,S=>{Ln(S)&&(w.value=S)},{immediate:!0})})}}};a(),l(),s(),u(),r(),c(),d(),f(),v(),h()}),()=>o.stop()}function _se(){return{edgesChange:bt(),nodesChange:bt(),nodeDoubleClick:bt(),nodeClick:bt(),nodeMouseEnter:bt(),nodeMouseMove:bt(),nodeMouseLeave:bt(),nodeContextMenu:bt(),nodeDragStart:bt(),nodeDrag:bt(),nodeDragStop:bt(),nodesInitialized:bt(),miniMapNodeClick:bt(),miniMapNodeDoubleClick:bt(),miniMapNodeMouseEnter:bt(),miniMapNodeMouseMove:bt(),miniMapNodeMouseLeave:bt(),connect:bt(),connectStart:bt(),connectEnd:bt(),clickConnectStart:bt(),clickConnectEnd:bt(),paneReady:bt(),init:bt(),move:bt(),moveStart:bt(),moveEnd:bt(),selectionDragStart:bt(),selectionDrag:bt(),selectionDragStop:bt(),selectionContextMenu:bt(),selectionStart:bt(),selectionEnd:bt(),viewportChangeStart:bt(),viewportChange:bt(),viewportChangeEnd:bt(),paneScroll:bt(),paneClick:bt(),paneContextMenu:bt(),paneMouseEnter:bt(),paneMouseMove:bt(),paneMouseLeave:bt(),edgeContextMenu:bt(),edgeMouseEnter:bt(),edgeMouseMove:bt(),edgeMouseLeave:bt(),edgeDoubleClick:bt(),edgeClick:bt(),edgeUpdateStart:bt(),edgeUpdate:bt(),edgeUpdateEnd:bt(),updateNodeInternals:bt(),error:bt(e=>xc(e.message))}}function Nse(e,t){const n=ct();Qu(()=>{for(const[a,l]of Object.entries(t.value)){const s=r=>{e(a,r)};l.setEmitter(s),Fu(l.removeEmitter),l.setHasEmitListeners(()=>o(a)),Fu(l.removeHasEmitListeners)}});function o(a){var l;const s=Ise(a);return!!((l=n?.vnode.props)==null?void 0:l[s])}}function Ise(e){const[t,...n]=e.split(":");return`on${t.replace(/(?:^|-)(\w)/g,(a,l)=>l.toUpperCase())}${n.length?`:${n.join(":")}`:""}`}function w_(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Gy.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:uu.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:Ns.Bezier,style:{}},connectionMode:ps.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:Af()?"Meta":"Control",zoomActivationKeyCode:Af()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:_se(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const Ose=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function Mse(e,t,n){const o=$se(e),a=Y=>{const q=Y??[];e.hooks.updateNodeInternals.trigger(q)},l=Y=>Ule(Y,e.nodes,e.edges),s=Y=>jle(Y,e.nodes,e.edges),r=Y=>r_(Y,e.edges),u=({id:Y,type:q,nodeId:U})=>{var G;const te=Y?`-${q}-${Y}`:`-${q}`;return Array.from(((G=e.connectionLookup.get(`${U}${te}`))==null?void 0:G.values())??[])},c=Y=>{if(Y)return t.value.get(Y)},d=Y=>{if(Y)return n.value.get(Y)},f=(Y,q,U)=>{var G,te;const he=[];for(const pe of Y){const de={id:pe.id,type:"position",dragging:U,from:pe.from};if(q&&(de.position=pe.position,pe.parentNode)){const be=c(pe.parentNode);de.position={x:de.position.x-(((G=be?.computedPosition)==null?void 0:G.x)??0),y:de.position.y-(((te=be?.computedPosition)==null?void 0:te.y)??0)}}he.push(de)}he?.length&&e.hooks.nodesChange.trigger(he)},v=Y=>{if(!e.vueFlowRef)return;const q=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!q)return;const U=window.getComputedStyle(q),{m22:G}=new window.DOMMatrixReadOnly(U.transform),te=[];for(const he of Y){const pe=he,de=c(pe.id);if(de){const be=Dp(pe.nodeElement);if(!!(be.width&&be.height&&(de.dimensions.width!==be.width||de.dimensions.height!==be.height||pe.forceUpdate))){const $e=pe.nodeElement.getBoundingClientRect();de.dimensions=be,de.handleBounds.source=$S("source",pe.nodeElement,$e,G,de.id),de.handleBounds.target=$S("target",pe.nodeElement,$e,G,de.id),te.push({id:de.id,type:"dimensions",dimensions:be})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&o.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),te.length&&e.hooks.nodesChange.trigger(te)},h=(Y,q)=>{const U=new Set,G=new Set;for(const pe of Y)qs(pe)?U.add(pe.id):vs(pe)&&G.add(pe.id);const te=Gl(t.value,U,!0),he=Gl(n.value,G);if(e.multiSelectionActive){for(const pe of U)te.push(Yl(pe,q));for(const pe of G)he.push(Yl(pe,q))}te.length&&e.hooks.nodesChange.trigger(te),he.length&&e.hooks.edgesChange.trigger(he)},g=Y=>{if(e.multiSelectionActive){const q=Y.map(U=>Yl(U.id,!0));e.hooks.nodesChange.trigger(q);return}e.hooks.nodesChange.trigger(Gl(t.value,new Set(Y.map(q=>q.id)),!0)),e.hooks.edgesChange.trigger(Gl(n.value))},p=Y=>{if(e.multiSelectionActive){const q=Y.map(U=>Yl(U.id,!0));e.hooks.edgesChange.trigger(q);return}e.hooks.edgesChange.trigger(Gl(n.value,new Set(Y.map(q=>q.id)))),e.hooks.nodesChange.trigger(Gl(t.value,new Set,!0))},m=Y=>{h(Y,!0)},y=Y=>{const U=(Y||e.nodes).map(G=>(G.selected=!1,Yl(G.id,!1)));e.hooks.nodesChange.trigger(U)},b=Y=>{const U=(Y||e.edges).map(G=>(G.selected=!1,Yl(G.id,!1)));e.hooks.edgesChange.trigger(U)},w=Y=>{if(!Y||!Y.length)return h([],!1);const q=Y.reduce((U,G)=>{const te=Yl(G.id,!1);return qs(G)?U.nodes.push(te):U.edges.push(te),U},{nodes:[],edges:[]});q.nodes.length&&e.hooks.nodesChange.trigger(q.nodes),q.edges.length&&e.hooks.edgesChange.trigger(q.edges)},S=Y=>{var q;(q=e.d3Zoom)==null||q.scaleExtent([Y,e.maxZoom]),e.minZoom=Y},k=Y=>{var q;(q=e.d3Zoom)==null||q.scaleExtent([e.minZoom,Y]),e.maxZoom=Y},x=Y=>{var q;(q=e.d3Zoom)==null||q.translateExtent(Y),e.translateExtent=Y},$=Y=>{e.nodeExtent=Y,a()},T=Y=>{var q;(q=e.d3Zoom)==null||q.clickDistance(Y)},_=Y=>{e.nodesDraggable=Y,e.nodesConnectable=Y,e.elementsSelectable=Y},A=Y=>{const q=Y instanceof Function?Y(e.nodes):Y;!e.initialized&&!q.length||(e.nodes=TS(q,c,e.hooks.error.trigger))},D=Y=>{const q=Y instanceof Function?Y(e.edges):Y;if(!e.initialized&&!q.length)return;const U=qv(q,e.isValidConnection,c,d,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Yv(e.connectionLookup,n.value,U),e.edges=U},N=Y=>{const q=Y instanceof Function?Y([...e.nodes,...e.edges]):Y;!e.initialized&&!q.length||(A(q.filter(qs)),D(q.filter(vs)))},W=Y=>{let q=Y instanceof Function?Y(e.nodes):Y;q=Array.isArray(q)?q:[q];const U=TS(q,c,e.hooks.error.trigger),G=[];for(const te of U)G.push(yS(te));G.length&&e.hooks.nodesChange.trigger(G)},V=Y=>{let q=Y instanceof Function?Y(e.edges):Y;q=Array.isArray(q)?q:[q];const U=qv(q,e.isValidConnection,c,d,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),G=[];for(const te of U)G.push(yS(te));G.length&&e.hooks.edgesChange.trigger(G)},H=(Y,q=!0,U=!1)=>{const G=Y instanceof Function?Y(e.nodes):Y,te=Array.isArray(G)?G:[G],he=[],pe=[];function de(ye){const $e=r(ye);for(const Pe of $e)(!Ln(Pe.deletable)||Pe.deletable)&&pe.push(wS(Pe.id,Pe.source,Pe.target,Pe.sourceHandle,Pe.targetHandle))}function be(ye){const $e=[];for(const Pe of e.nodes)Pe.parentNode===ye&&$e.push(Pe);if($e.length){for(const Pe of $e)he.push(bS(Pe.id));q&&de($e);for(const Pe of $e)be(Pe.id)}}for(const ye of te){const $e=typeof ye=="string"?c(ye):ye;$e&&(Ln($e.deletable)&&!$e.deletable||(he.push(bS($e.id)),q&&de([$e]),U&&be($e.id)))}pe.length&&e.hooks.edgesChange.trigger(pe),he.length&&e.hooks.nodesChange.trigger(he)},P=Y=>{const q=Y instanceof Function?Y(e.edges):Y,U=Array.isArray(q)?q:[q],G=[];for(const te of U){const he=typeof te=="string"?d(te):te;he&&(Ln(he.deletable)&&!he.deletable||G.push(wS(typeof te=="string"?te:te.id,he.source,he.target,he.sourceHandle,he.targetHandle)))}e.hooks.edgesChange.trigger(G)},O=(Y,q,U=!0)=>{const G=d(Y.id);if(!G)return!1;const te=e.edges.indexOf(G),he=hse(Y,q,G,U,e.hooks.error.trigger);if(he){const[pe]=qv([he],e.isValidConnection,c,d,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((de,be)=>be===te?pe:de),Yv(e.connectionLookup,n.value,[pe]),pe}return!1},M=(Y,q,U={replace:!1})=>{const G=d(Y);if(!G)return;const te=typeof q=="function"?q(G):q;G.data=U.replace?te:{...G.data,...te}},B=Y=>gS(Y,e.nodes),L=Y=>{const q=gS(Y,e.edges);return Yv(e.connectionLookup,n.value,q),q},K=(Y,q,U={replace:!1})=>{const G=c(Y);if(!G)return;const te=typeof q=="function"?q(G):q;U.replace?e.nodes.splice(e.nodes.indexOf(G),1,te):Object.assign(G,te)},X=(Y,q,U={replace:!1})=>{const G=c(Y);if(!G)return;const te=typeof q=="function"?q(G):q;G.data=U.replace?te:{...G.data,...te}},J=(Y,q,U=!1)=>{U?e.connectionClickStartHandle=Y:e.connectionStartHandle=Y,e.connectionEndHandle=null,e.connectionStatus=null,q&&(e.connectionPosition=q)},ne=(Y,q=null,U=null)=>{e.connectionStartHandle&&(e.connectionPosition=Y,e.connectionEndHandle=q,e.connectionStatus=U)},re=(Y,q)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,q?e.connectionClickStartHandle=null:e.connectionStartHandle=null},Q=Y=>{const q=Kle(Y),U=q?null:Gi(Y)?Y:c(Y.id);return!q&&!U?[null,null,q]:[q?Y:Pf(U),U,q]},ce=(Y,q=!0,U=e.nodes)=>{const[G,te,he]=Q(Y);if(!G)return[];const pe=[];for(const de of U||e.nodes){if(!he&&(de.id===te.id||!de.computedPosition))continue;const be=Pf(de),ye=Rf(be,G);(q&&ye>0||ye>=be.width*be.height||ye>=Number(G.width)*Number(G.height))&&pe.push(de)}return pe},we=(Y,q,U=!0)=>{const[G]=Q(Y);if(!G)return!1;const te=Rf(G,q);return U&&te>0||te>=Number(G.width)*Number(G.height)},Se=Y=>{const{viewport:q,dimensions:U,d3Zoom:G,d3Selection:te,translateExtent:he}=e;if(!G||!te||!Y.x&&!Y.y)return!1;const pe=hi.translate(q.x+Y.x,q.y+Y.y).scale(q.zoom),de=[[0,0],[U.width,U.height]],be=G.constrain()(pe,de,he),ye=e.viewport.x!==be.x||e.viewport.y!==be.y||e.viewport.zoom!==be.k;return G.transform(te,be),ye},le=Y=>{const q=Y instanceof Function?Y(e):Y,U=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ln(q.defaultEdgeOptions)&&(e.defaultEdgeOptions=q.defaultEdgeOptions);const G=q.modelValue||q.nodes||q.edges?[]:void 0;G&&(q.modelValue&&G.push(...q.modelValue),q.nodes&&G.push(...q.nodes),q.edges&&G.push(...q.edges),N(G));const te=()=>{Ln(q.maxZoom)&&k(q.maxZoom),Ln(q.minZoom)&&S(q.minZoom),Ln(q.translateExtent)&&x(q.translateExtent)};for(const he of Object.keys(q)){const pe=he,de=q[pe];![...Ose,...U].includes(pe)&&Ln(de)&&(e[pe]=de)}hm(()=>e.d3Zoom).not.toBeNull().then(te),e.initialized||(e.initialized=!0)};return{updateNodePositions:f,updateNodeDimensions:v,setElements:N,setNodes:A,setEdges:D,addNodes:W,addEdges:V,removeNodes:H,removeEdges:P,findNode:c,findEdge:d,updateEdge:O,updateEdgeData:M,updateNode:K,updateNodeData:X,applyEdgeChanges:L,applyNodeChanges:B,addSelectedElements:m,addSelectedNodes:g,addSelectedEdges:p,setMinZoom:S,setMaxZoom:k,setTranslateExtent:x,setNodeExtent:$,setPaneClickDistance:T,removeSelectedElements:w,removeSelectedNodes:y,removeSelectedEdges:b,startConnection:J,updateConnection:ne,endConnection:re,setInteractive:_,setState:le,getIntersectingNodes:ce,getIncomers:l,getOutgoers:s,getConnectedEdges:r,getHandleConnections:u,isNodeIntersecting:we,panBy:Se,fitView:Y=>o.value.fitView(Y),zoomIn:Y=>o.value.zoomIn(Y),zoomOut:Y=>o.value.zoomOut(Y),zoomTo:(Y,q)=>o.value.zoomTo(Y,q),setViewport:(Y,q)=>o.value.setViewport(Y,q),setTransform:(Y,q)=>o.value.setTransform(Y,q),getViewport:()=>o.value.getViewport(),getTransform:()=>o.value.getTransform(),setCenter:(Y,q,U)=>o.value.setCenter(Y,q,U),fitBounds:(Y,q)=>o.value.fitBounds(Y,q),project:Y=>o.value.project(Y),screenToFlowCoordinate:Y=>o.value.screenToFlowCoordinate(Y),flowToScreenCoordinate:Y=>o.value.flowToScreenCoordinate(Y),toObject:()=>{const Y=[],q=[];for(const U of e.nodes){const{computedPosition:G,handleBounds:te,selected:he,dimensions:pe,isParent:de,resizing:be,dragging:ye,events:$e,...Pe}=U;Y.push(Pe)}for(const U of e.edges){const{selected:G,sourceNode:te,targetNode:he,events:pe,...de}=U;q.push(de)}return JSON.parse(JSON.stringify({nodes:Y,edges:q,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:Y=>new Promise(q=>{const{nodes:U,edges:G,position:te,zoom:he,viewport:pe}=Y;U&&A(U),G&&D(G);const[de,be]=pe?.x&&pe?.y?[pe.x,pe.y]:te??[null,null];if(de&&be){const ye=pe?.zoom||he||e.viewport.zoom;return hm(()=>o.value.viewportInitialized).toBe(!0).then(()=>{o.value.setViewport({x:de,y:be,zoom:ye}).then(()=>{q(!0)})})}else q(!0)}),updateNodeInternals:a,viewportHelper:o,$reset:()=>{const Y=w_();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const q=hi.translate(Y.defaultViewport.x??0,Y.defaultViewport.y??0).scale(ur(Y.defaultViewport.zoom??1,Y.minZoom,Y.maxZoom)),U=e.viewportRef.getBoundingClientRect(),G=[[0,0],[U.width,U.height]],te=e.d3Zoom.constrain()(q,G,Y.translateExtent);e.d3Zoom.transform(e.d3Selection,te)}le(Y)},$destroy:()=>{}}}const Pse=["data-id","data-handleid","data-nodeid","data-handlepos"],Rse={name:"Handle",compatConfig:{MODE:3}},gi=ve({...Rse,props:{id:{default:null},type:{},position:{default:()=>Tt.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:t}){const n=DN(e,["position","connectable","connectableStart","connectableEnd","id"]),o=wt(()=>n.type??"source"),a=wt(()=>n.isValidConnection??null),{id:l,connectionStartHandle:s,connectionClickStartHandle:r,connectionEndHandle:u,vueFlowRef:c,nodesConnectable:d,noDragClassName:f,noPanClassName:v}=On(),{id:h,node:g,nodeEl:p,connectedEdges:m}=y_(),y=F(),b=wt(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),w=wt(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),S=wt(()=>{var D,N,W,V,H,P;return((D=s.value)==null?void 0:D.nodeId)===h&&((N=s.value)==null?void 0:N.id)===e.id&&((W=s.value)==null?void 0:W.type)===o.value||((V=u.value)==null?void 0:V.nodeId)===h&&((H=u.value)==null?void 0:H.id)===e.id&&((P=u.value)==null?void 0:P.type)===o.value}),k=wt(()=>{var D,N,W;return((D=r.value)==null?void 0:D.nodeId)===h&&((N=r.value)==null?void 0:N.id)===e.id&&((W=r.value)==null?void 0:W.type)===o.value}),{handlePointerDown:x,handleClick:$}=g_({nodeId:h,handleId:e.id,isValidConnection:a,type:o}),T=C(()=>typeof e.connectable=="string"&&e.connectable==="single"?!m.value.some(D=>{const N=D[`${o.value}Handle`];return D[o.value]!==h?!1:N?N===e.id:!0}):typeof e.connectable=="number"?m.value.filter(D=>{const N=D[`${o.value}Handle`];return D[o.value]!==h?!1:N?N===e.id:!0}).length{var D;if(!g.dimensions.width||!g.dimensions.height)return;const N=(D=g.handleBounds[o.value])==null?void 0:D.find(B=>B.id===e.id);if(!c.value||N)return;const W=c.value.querySelector(".vue-flow__transformationpane");if(!p.value||!y.value||!W||!e.id)return;const V=p.value.getBoundingClientRect(),H=y.value.getBoundingClientRect(),P=window.getComputedStyle(W),{m22:O}=new window.DOMMatrixReadOnly(P.transform),M={id:e.id,position:e.position,x:(H.left-V.left)/O,y:(H.top-V.top)/O,type:o.value,nodeId:h,...Dp(y.value)};g.handleBounds[o.value]=[...g.handleBounds[o.value]??[],M]});function _(D){const N=Zy(D);T.value&&b.value&&(N&&D.button===0||!N)&&x(D)}function A(D){!h||!r.value&&!b.value||T.value&&$(D)}return t({handleClick:$,handlePointerDown:x,onClick:A,onPointerDown:_}),(D,N)=>(E(),z("div",{ref_key:"handle",ref:y,"data-id":`${i(l)}-${i(h)}-${e.id}-${o.value}`,"data-handleid":e.id,"data-nodeid":i(h),"data-handlepos":D.position,class:R(["vue-flow__handle",[`vue-flow__handle-${D.position}`,`vue-flow__handle-${e.id}`,i(f),i(v),o.value,{connectable:T.value,connecting:k.value,connectablestart:b.value,connectableend:w.value,connectionindicator:T.value&&(b.value&&!S.value||w.value&&S.value)}]]),onMousedown:_,onTouchstartPassive:_,onClick:A},[ue(D.$slots,"default",{id:D.id})],42,Pse))}}),Bp=function({sourcePosition:e=Tt.Bottom,targetPosition:t=Tt.Top,label:n,connectable:o=!0,isValidTargetPos:a,isValidSourcePos:l,data:s}){const r=s.label??n;return[Le(gi,{type:"target",position:t,connectable:o,isValidConnection:a}),typeof r!="string"&&r?Le(r):Le(Me,[r]),Le(gi,{type:"source",position:e,connectable:o,isValidConnection:l})]};Bp.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"];Bp.inheritAttrs=!1;Bp.compatConfig={MODE:3};const Ase=Bp,Fp=function({targetPosition:e=Tt.Top,label:t,connectable:n=!0,isValidTargetPos:o,data:a}){const l=a.label??t;return[Le(gi,{type:"target",position:e,connectable:n,isValidConnection:o}),typeof l!="string"&&l?Le(l):Le(Me,[l])]};Fp.props=["targetPosition","label","isValidTargetPos","connectable","data"];Fp.inheritAttrs=!1;Fp.compatConfig={MODE:3};const Dse=Fp,zp=function({sourcePosition:e=Tt.Bottom,label:t,connectable:n=!0,isValidSourcePos:o,data:a}){const l=a.label??t;return[typeof l!="string"&&l?Le(l):Le(Me,[l]),Le(gi,{type:"source",position:e,connectable:n,isValidConnection:o})]};zp.props=["sourcePosition","label","isValidSourcePos","connectable","data"];zp.inheritAttrs=!1;zp.compatConfig={MODE:3};const Lse=zp,Vse=["transform"],Bse=["width","height","x","y","rx","ry"],Fse=["y"],zse={name:"EdgeText",compatConfig:{MODE:3}},Hse=ve({...zse,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=F({x:0,y:0,width:0,height:0}),n=F(null),o=C(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);at(a),ge([()=>e.x,()=>e.y,n,()=>e.label],a);function a(){if(!n.value)return;const l=n.value.getBBox();(l.width!==t.value.width||l.height!==t.value.height)&&(t.value=l)}return(l,s)=>(E(),z("g",{transform:o.value,class:"vue-flow__edge-textwrapper"},[l.labelShowBg?(E(),z("rect",{key:0,class:"vue-flow__edge-textbg",width:`${t.value.width+2*l.labelBgPadding[0]}px`,height:`${t.value.height+2*l.labelBgPadding[1]}px`,x:-l.labelBgPadding[0],y:-l.labelBgPadding[1],style:Be(l.labelBgStyle),rx:l.labelBgBorderRadius,ry:l.labelBgBorderRadius},null,12,Bse)):se("",!0),I("text",pt(l.$attrs,{ref_key:"el",ref:n,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:l.labelStyle}),[ue(l.$slots,"default",{},()=>[typeof l.label!="string"?(E(),fe(ft(l.label),{key:0})):(E(),z(Me,{key:1},[Oe(me(l.label),1)],64))])],16,Fse)],8,Vse))}}),Kse=["id","d","marker-end","marker-start"],Wse=["d","stroke-width"],jse={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Hp=ve({...jse,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const n=F(null),o=F(null),a=F(null),l=Za();return t({pathEl:n,interactionEl:o,labelEl:a}),(s,r)=>(E(),z(Me,null,[I("path",pt(i(l),{id:s.id,ref_key:"pathEl",ref:n,d:s.path,class:"vue-flow__edge-path","marker-end":s.markerEnd,"marker-start":s.markerStart}),null,16,Kse),s.interactionWidth?(E(),z("path",{key:0,ref_key:"interactionEl",ref:o,fill:"none",d:s.path,"stroke-width":s.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,Wse)):se("",!0),s.label&&s.labelX&&s.labelY?(E(),fe(Hse,{key:1,ref_key:"labelEl",ref:a,x:s.labelX,y:s.labelY,label:s.label,"label-show-bg":s.labelShowBg,"label-bg-style":s.labelBgStyle,"label-bg-padding":s.labelBgPadding,"label-bg-border-radius":s.labelBgBorderRadius,"label-style":s.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):se("",!0)],64))}});function S_({sourceX:e,sourceY:t,targetX:n,targetY:o}){const a=Math.abs(n-e)/2,l=n=0?.5*e:t*25*Math.sqrt(-e)}function OS({pos:e,x1:t,y1:n,x2:o,y2:a,c:l}){let s,r;switch(e){case Tt.Left:s=t-sd(t-o,l),r=n;break;case Tt.Right:s=t+sd(o-t,l),r=n;break;case Tt.Top:s=t,r=n-sd(n-a,l);break;case Tt.Bottom:s=t,r=n+sd(a-n,l);break}return[s,r]}function k_(e){const{sourceX:t,sourceY:n,sourcePosition:o=Tt.Bottom,targetX:a,targetY:l,targetPosition:s=Tt.Top,curvature:r=.25}=e,[u,c]=OS({pos:o,x1:t,y1:n,x2:a,y2:l,c:r}),[d,f]=OS({pos:s,x1:a,y1:l,x2:t,y2:n,c:r}),[v,h,g,p]=C_({sourceX:t,sourceY:n,targetX:a,targetY:l,sourceControlX:u,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${t},${n} C${u},${c} ${d},${f} ${a},${l}`,v,h,g,p]}function MS({pos:e,x1:t,y1:n,x2:o,y2:a}){let l,s;switch(e){case Tt.Left:case Tt.Right:l=.5*(t+o),s=n;break;case Tt.Top:case Tt.Bottom:l=t,s=.5*(n+a);break}return[l,s]}function x_(e){const{sourceX:t,sourceY:n,sourcePosition:o=Tt.Bottom,targetX:a,targetY:l,targetPosition:s=Tt.Top}=e,[r,u]=MS({pos:o,x1:t,y1:n,x2:a,y2:l}),[c,d]=MS({pos:s,x1:a,y1:l,x2:t,y2:n}),[f,v,h,g]=C_({sourceX:t,sourceY:n,targetX:a,targetY:l,sourceControlX:r,sourceControlY:u,targetControlX:c,targetControlY:d});return[`M${t},${n} C${r},${u} ${c},${d} ${a},${l}`,f,v,h,g]}const PS={[Tt.Left]:{x:-1,y:0},[Tt.Right]:{x:1,y:0},[Tt.Top]:{x:0,y:-1},[Tt.Bottom]:{x:0,y:1}};function Use({source:e,sourcePosition:t=Tt.Bottom,target:n}){return t===Tt.Left||t===Tt.Right?e.xe[f]?-1:1)*V:y[f]=(c[f]>n[f]?-1:1)*V}}if(t!==o){const W=f==="x"?"y":"x",V=s[f]===r[W],H=u[W]>c[W],P=u[W]=N?(g=(_.x+A.x)/2,p=h[0].y):(g=h[0].x,p=(_.y+A.y)/2)}return[[e,{x:u.x+m.x,y:u.y+m.y},...h,{x:c.x+y.x,y:c.y+y.y},n],g,p,S,k]}function qse(e,t,n,o){const a=Math.min(RS(e,t)/2,RS(t,n)/2,o),{x:l,y:s}=t;if(e.x===l&&l===n.x||e.y===s&&s===n.y)return`L${l} ${s}`;if(e.y===s){const c=e.x{let S;return w>0&&w{const[n,o,a]=Gse(e);return Le(Hp,{path:n,labelX:o,labelY:a,...t,...e})}}}),Zse=Xse,Jse=ve({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,a]=_m({...e,sourcePosition:e.sourcePosition??Tt.Bottom,targetPosition:e.targetPosition??Tt.Top});return Le(Hp,{path:n,labelX:o,labelY:a,...t,...e})}}}),E_=Jse,Qse=ve({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>Le(E_,{...e,...t,borderRadius:0})}}),ere=Qse,tre=ve({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,a]=k_({...e,sourcePosition:e.sourcePosition??Tt.Bottom,targetPosition:e.targetPosition??Tt.Top});return Le(Hp,{path:n,labelX:o,labelY:a,...t,...e})}}}),nre=tre,ore=ve({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,a]=x_({...e,sourcePosition:e.sourcePosition??Tt.Bottom,targetPosition:e.targetPosition??Tt.Top});return Le(Hp,{path:n,labelX:o,labelY:a,...t,...e})}}}),are=ore,lre={input:Lse,default:Ase,output:Dse},sre={default:nre,straight:Zse,step:ere,smoothstep:E_,simplebezier:are};function rre(e,t,n){const o=C(()=>p=>t.value.get(p)),a=C(()=>p=>n.value.get(p)),l=C(()=>{const p={...sre,...e.edgeTypes},m=Object.keys(p);for(const y of e.edges)y.type&&!m.includes(y.type)&&(p[y.type]=y.type);return p}),s=C(()=>{const p={...lre,...e.nodeTypes},m=Object.keys(p);for(const y of e.nodes)y.type&&!m.includes(y.type)&&(p[y.type]=y.type);return p}),r=C(()=>e.onlyRenderVisibleElements?s_(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),u=C(()=>{if(e.onlyRenderVisibleElements){const p=[];for(const m of e.edges){const y=t.value.get(m.source),b=t.value.get(m.target);ose({sourcePos:y.computedPosition||{x:0,y:0},targetPos:b.computedPosition||{x:0,y:0},sourceWidth:y.dimensions.width,sourceHeight:y.dimensions.height,targetWidth:b.dimensions.width,targetHeight:b.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&p.push(m)}return p}return e.edges}),c=C(()=>[...r.value,...u.value]),d=C(()=>{const p=[];for(const m of e.nodes)m.selected&&p.push(m);return p}),f=C(()=>{const p=[];for(const m of e.edges)m.selected&&p.push(m);return p}),v=C(()=>[...d.value,...f.value]),h=C(()=>{const p=[];for(const m of e.nodes)m.dimensions.width&&m.dimensions.height&&m.handleBounds!==void 0&&p.push(m);return p}),g=C(()=>r.value.length>0&&h.value.length===r.value.length);return{getNode:o,getEdge:a,getElements:c,getEdgeTypes:l,getNodeTypes:s,getEdges:u,getNodes:r,getSelectedElements:v,getSelectedNodes:d,getSelectedEdges:f,getNodesInitialized:h,areNodesInitialized:g}}class Is{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var t;const n=(t=ct())==null?void 0:t.appContext.app,o=n?.config.globalProperties.$vueFlowStorage??Is.instance;return Is.instance=o??new Is,n&&(n.config.globalProperties.$vueFlowStorage=Is.instance),Is.instance}set(t,n){return this.flows.set(t,n)}get(t){return this.flows.get(t)}remove(t){return this.flows.delete(t)}create(t,n){const o=w_(),a=Kt(o),l={};for(const[v,h]of Object.entries(a.hooks)){const g=`on${v.charAt(0).toUpperCase()+v.slice(1)}`;l[g]=h.on}const s={};for(const[v,h]of Object.entries(a.hooks))s[v]=h.trigger;const r=C(()=>{const v=new Map;for(const h of a.nodes)v.set(h.id,h);return v}),u=C(()=>{const v=new Map;for(const h of a.edges)v.set(h.id,h);return v}),c=rre(a,r,u),d=Mse(a,r,u);d.setState({...a,...n});const f={...l,...c,...d,...Jte(a),nodeLookup:r,edgeLookup:u,emits:s,id:t,vueFlowVersion:"1.48.2",$destroy:()=>{this.remove(t)}};return this.set(t,f),f}getId(){return`vue-flow-${this.currentId++}`}}function On(e){const t=Is.getInstance(),n=Xu(),o=typeof e=="object",a=o?e:{id:e},l=a.id,s=l??n?.vueFlowId;let r;if(n){const u=Fe(IS,null);typeof u<"u"&&u!==null&&(!s||u.id===s)&&(r=u)}if(r||s&&(r=t.get(s)),!r||s&&r.id!==s){const u=l??t.getId(),c=t.create(u,a);r=c,(n??Hf(!0)).run(()=>{ge(c.applyDefault,(f,v,h)=>{const g=m=>{c.applyNodeChanges(m)},p=m=>{c.applyEdgeChanges(m)};f?(c.onNodesChange(g),c.onEdgesChange(p)):(c.hooks.value.nodesChange.off(g),c.hooks.value.edgesChange.off(p)),h(()=>{c.hooks.value.nodesChange.off(g),c.hooks.value.edgesChange.off(p)})},{immediate:!0}),Fu(()=>{if(r){const f=t.get(r.id);f?f.$destroy():xc(`No store instance found for id ${r.id} in storage.`)}})})}else o&&r.setState(a);if(n&&(xt(IS,r),n.vueFlowId=r.id),o){const u=ct();u?.type.name!=="VueFlow"&&r.emits.error(new Un(Fn.USEVUEFLOW_OPTIONS))}return r}function ire(e){const{emits:t,dimensions:n}=On();let o;at(()=>{const a=()=>{var l,s;if(!e.value||!(((s=(l=e.value).checkVisibility)==null?void 0:s.call(l))??!0))return;const r=Dp(e.value);(r.width===0||r.height===0)&&t.error(new Un(Fn.MISSING_VIEWPORT_DIMENSIONS)),n.value={width:r.width||500,height:r.height||500}};a(),window.addEventListener("resize",a),e.value&&(o=new ResizeObserver(()=>a()),o.observe(e.value)),Ft(()=>{window.removeEventListener("resize",a),o&&e.value&&o.unobserve(e.value)})})}const ure={name:"UserSelection",compatConfig:{MODE:3}},cre=ve({...ure,props:{userSelectionRect:{}},setup(e){return(t,n)=>(E(),z("div",{class:"vue-flow__selection vue-flow__container",style:Be({width:`${t.userSelectionRect.width}px`,height:`${t.userSelectionRect.height}px`,transform:`translate(${t.userSelectionRect.x}px, ${t.userSelectionRect.y}px)`})},null,4))}}),dre=["tabIndex"],fre={name:"NodesSelection",compatConfig:{MODE:3}},pre=ve({...fre,setup(e){const{emits:t,viewport:n,getSelectedNodes:o,noPanClassName:a,disableKeyboardA11y:l,userSelectionActive:s}=On(),r=b_(),u=F(null),c=m_({el:u,onStart(g){t.selectionDragStart(g),t.nodeDragStart(g)},onDrag(g){t.selectionDrag(g),t.nodeDrag(g)},onStop(g){t.selectionDragStop(g),t.nodeDragStop(g)}});at(()=>{var g;l.value||(g=u.value)==null||g.focus({preventScroll:!0})});const d=C(()=>l_(o.value)),f=C(()=>({width:`${d.value.width}px`,height:`${d.value.height}px`,top:`${d.value.y}px`,left:`${d.value.x}px`}));function v(g){t.selectionContextMenu({event:g,nodes:o.value})}function h(g){l.value||Yr[g.key]&&(g.preventDefault(),r({x:Yr[g.key].x,y:Yr[g.key].y},g.shiftKey))}return(g,p)=>!i(s)&&d.value.width&&d.value.height?(E(),z("div",{key:0,class:R(["vue-flow__nodesselection vue-flow__container",i(a)]),style:Be({transform:`translate(${i(n).x}px,${i(n).y}px) scale(${i(n).zoom})`})},[I("div",{ref_key:"el",ref:u,class:R([{dragging:i(c)},"vue-flow__nodesselection-rect"]),style:Be(f.value),tabIndex:i(l)?void 0:-1,onContextmenu:v,onKeydown:h},null,46,dre)],6)):se("",!0)}});function vre(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const hre={name:"Pane",compatConfig:{MODE:3}},mre=ve({...hre,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:t,nodes:n,viewport:o,emits:a,userSelectionActive:l,removeSelectedElements:s,userSelectionRect:r,elementsSelectable:u,nodesSelectionActive:c,getSelectedEdges:d,getSelectedNodes:f,removeNodes:v,removeEdges:h,selectionMode:g,deleteKeyCode:p,multiSelectionKeyCode:m,multiSelectionActive:y,edgeLookup:b,nodeLookup:w,connectionLookup:S,defaultEdgeOptions:k,connectionStartHandle:x,panOnDrag:$}=On(),T=kt(null),_=kt(new Set),A=kt(new Set),D=kt(null),N=wt(()=>u.value&&(e.isSelecting||l.value)),W=wt(()=>x.value!==null);let V=!1,H=!1;const P=cu(p,{actInsideInputWithModifier:!1}),O=cu(m);ge(P,re=>{re&&(v(f.value),h(d.value),c.value=!1)}),ge(O,re=>{y.value=re});function M(re,Q){return ce=>{ce.target===Q&&re?.(ce)}}function B(re){if(V||W.value){V=!1;return}a.paneClick(re),s(),c.value=!1}function L(re){var Q;if(Array.isArray($.value)&&((Q=$.value)!=null&&Q.includes(2))){re.preventDefault();return}a.paneContextMenu(re)}function K(re){a.paneScroll(re)}function X(re){var Q,ce,we;if(D.value=((Q=t.value)==null?void 0:Q.getBoundingClientRect())??null,!u.value||!e.isSelecting||re.button!==0||re.target!==T.value||!D.value)return;(we=(ce=re.target)==null?void 0:ce.setPointerCapture)==null||we.call(ce,re.pointerId);const{x:Se,y:le}=vre(re,D.value);H=!0,V=!1,s(),r.value={width:0,height:0,startX:Se,startY:le,x:Se,y:le},a.selectionStart(re)}function J(re){var Q;if(!D.value||!r.value)return;V=!0;const{x:ce,y:we}=Da(re,D.value),{startX:Se=0,startY:le=0}=r.value,ie={startX:Se,startY:le,x:ceq.id)),A.value=new Set;const Y=((Q=k.value)==null?void 0:Q.selectable)??!0;for(const q of _.value){const U=S.value.get(q);if(U)for(const{edgeId:G}of U.values()){const te=b.value.get(G);te&&(te.selectable??Y)&&A.value.add(G)}}if(!NS(j,_.value)){const q=Gl(w.value,_.value,!0);a.nodesChange(q)}if(!NS(ee,A.value)){const q=Gl(b.value,A.value);a.edgesChange(q)}r.value=ie,l.value=!0,c.value=!1}function ne(re){var Q;re.button!==0||!H||((Q=re.target)==null||Q.releasePointerCapture(re.pointerId),!l.value&&r.value&&re.target===T.value&&B(re),l.value=!1,r.value=null,c.value=_.value.size>0,a.selectionEnd(re),e.selectionKeyPressed&&(V=!1),H=!1)}return(re,Q)=>(E(),z("div",{ref_key:"container",ref:T,class:R(["vue-flow__pane vue-flow__container",{selection:re.isSelecting}]),onClick:Q[0]||(Q[0]=ce=>N.value?void 0:M(B,T.value)(ce)),onContextmenu:Q[1]||(Q[1]=ce=>M(L,T.value)(ce)),onWheelPassive:Q[2]||(Q[2]=ce=>M(K,T.value)(ce)),onPointerenter:Q[3]||(Q[3]=ce=>N.value?void 0:i(a).paneMouseEnter(ce)),onPointerdown:Q[4]||(Q[4]=ce=>N.value?X(ce):i(a).paneMouseMove(ce)),onPointermove:Q[5]||(Q[5]=ce=>N.value?J(ce):i(a).paneMouseMove(ce)),onPointerup:Q[6]||(Q[6]=ce=>N.value?ne(ce):void 0),onPointerleave:Q[7]||(Q[7]=ce=>i(a).paneMouseLeave(ce))},[ue(re.$slots,"default"),i(l)&&i(r)?(E(),fe(cre,{key:0,"user-selection-rect":i(r)},null,8,["user-selection-rect"])):se("",!0),i(c)&&i(f).length?(E(),fe(pre,{key:1})):se("",!0)],34))}}),gre={name:"Transform",compatConfig:{MODE:3}},yre=ve({...gre,setup(e){const{viewport:t,fitViewOnInit:n,fitViewOnInitDone:o}=On(),a=C(()=>n.value?!o.value:!1),l=C(()=>`translate(${t.value.x}px,${t.value.y}px) scale(${t.value.zoom})`);return(s,r)=>(E(),z("div",{class:"vue-flow__transformationpane vue-flow__container",style:Be({transform:l.value,opacity:a.value?0:void 0})},[ue(s.$slots,"default")],4))}}),bre={name:"Viewport",compatConfig:{MODE:3}},wre=ve({...bre,setup(e){const{minZoom:t,maxZoom:n,defaultViewport:o,translateExtent:a,zoomActivationKeyCode:l,selectionKeyCode:s,panActivationKeyCode:r,panOnScroll:u,panOnScrollMode:c,panOnScrollSpeed:d,panOnDrag:f,zoomOnDoubleClick:v,zoomOnPinch:h,zoomOnScroll:g,preventScrolling:p,noWheelClassName:m,noPanClassName:y,emits:b,connectionStartHandle:w,userSelectionActive:S,paneDragging:k,d3Zoom:x,d3Selection:$,d3ZoomHandler:T,viewport:_,viewportRef:A,paneClickDistance:D}=On();ire(A);const N=kt(!1),W=kt(!1);let V=null,H=!1,P=0,O={x:0,y:0,zoom:0};const M=cu(r),B=cu(s),L=cu(l),K=wt(()=>(!B.value||B.value&&s.value===!0)&&(M.value||f.value)),X=wt(()=>M.value||u.value),J=wt(()=>s.value===!0&&K.value!==!0),ne=wt(()=>B.value&&s.value!==!0||S.value||J.value),re=wt(()=>w.value!==null);at(()=>{if(!A.value){xc("Viewport element is missing");return}const le=A.value,ie=le.getBoundingClientRect(),j=Dle().clickDistance(D.value).scaleExtent([t.value,n.value]).translateExtent(a.value),ee=da(le).call(j),Y=ee.on("wheel.zoom"),q=hi.translate(o.value.x??0,o.value.y??0).scale(ur(o.value.zoom??1,t.value,n.value)),U=[[0,0],[ie.width,ie.height]],G=j.constrain()(q,U,a.value);j.transform(ee,G),j.wheelDelta(hS),x.value=j,$.value=ee,T.value=Y,_.value={x:G.x,y:G.y,zoom:G.k},j.on("start",te=>{var he;if(!te.sourceEvent)return null;P=te.sourceEvent.button,N.value=!0;const pe=we(te.transform);((he=te.sourceEvent)==null?void 0:he.type)==="mousedown"&&(k.value=!0),O=pe,b.viewportChangeStart(pe),b.moveStart({event:te,flowTransform:pe})}),j.on("end",te=>{if(!te.sourceEvent)return null;if(N.value=!1,k.value=!1,Q(K.value,P??0)&&!H&&b.paneContextMenu(te.sourceEvent),H=!1,ce(O,te.transform)){const he=we(te.transform);O=he,b.viewportChangeEnd(he),b.moveEnd({event:te,flowTransform:he})}}),j.filter(te=>{var he;const pe=L.value||g.value,de=h.value&&te.ctrlKey,be=te.button,ye=te.type==="wheel";if(be===1&&te.type==="mousedown"&&(Se(te,"vue-flow__node")||Se(te,"vue-flow__edge")))return!0;if(!K.value&&!pe&&!X.value&&!v.value&&!h.value||S.value||re.value&&!ye||!v.value&&te.type==="dblclick"||Se(te,m.value)&&ye||Se(te,y.value)&&(!ye||X.value&&ye&&!L.value)||!h.value&&te.ctrlKey&&ye||!pe&&!X.value&&!de&&ye)return!1;if(!h&&te.type==="touchstart"&&((he=te.touches)==null?void 0:he.length)>1)return te.preventDefault(),!1;if(!K.value&&(te.type==="mousedown"||te.type==="touchstart")||J.value&&Array.isArray(f.value)&&f.value.includes(0)&&be===0||Array.isArray(f.value)&&!f.value.includes(be)&&(te.type==="mousedown"||te.type==="touchstart"))return!1;const $e=Array.isArray(f.value)&&f.value.includes(be)||s.value===!0&&Array.isArray(f.value)&&!f.value.includes(0)||!be||be<=1;return(!te.ctrlKey||M.value||ye)&&$e}),ge([S,K],()=>{S.value&&!N.value?j.on("zoom",null):S.value||j.on("zoom",te=>{_.value={x:te.transform.x,y:te.transform.y,zoom:te.transform.k};const he=we(te.transform);H=Q(K.value,P??0),b.viewportChange(he),b.move({event:te,flowTransform:he})})},{immediate:!0}),ge([S,X,c,L,h,p,m],()=>{X.value&&!L.value&&!S.value?ee.on("wheel.zoom",te=>{if(Se(te,m.value))return!1;const he=L.value||g.value,pe=h.value&&te.ctrlKey;if(!(!p.value||X.value||he||pe))return!1;te.preventDefault(),te.stopImmediatePropagation();const be=ee.property("__zoom").k||1,ye=Af();if(!M.value&&te.ctrlKey&&h.value&&ye){const qe=Ma(te),$t=hS(te),At=be*2**$t;j.scaleTo(ee,At,qe,te);return}const $e=te.deltaMode===1?20:1;let Pe=c.value===uu.Vertical?0:te.deltaX*$e,et=c.value===uu.Horizontal?0:te.deltaY*$e;!ye&&te.shiftKey&&c.value!==uu.Vertical&&!Pe&&et&&(Pe=et,et=0),j.translateBy(ee,-(Pe/be)*d.value,-(et/be)*d.value);const tt=we(ee.property("__zoom"));V&&clearTimeout(V),W.value?(b.move({event:te,flowTransform:tt}),b.viewportChange(tt),V=setTimeout(()=>{b.moveEnd({event:te,flowTransform:tt}),b.viewportChangeEnd(tt),W.value=!1},150)):(W.value=!0,b.moveStart({event:te,flowTransform:tt}),b.viewportChangeStart(tt))},{passive:!1}):typeof Y<"u"&&ee.on("wheel.zoom",function(te,he){const pe=!p.value&&te.type==="wheel"&&!te.ctrlKey,de=L.value||g.value,be=h.value&&te.ctrlKey;if(!de&&!u.value&&!be&&te.type==="wheel"||pe||Se(te,m.value))return null;te.preventDefault(),Y.call(this,te,he)},{passive:!1})},{immediate:!0})});function Q(le,ie){return ie===2&&Array.isArray(le)&&le.includes(2)}function ce(le,ie){return le.x!==ie.x&&!Number.isNaN(ie.x)||le.y!==ie.y&&!Number.isNaN(ie.y)||le.zoom!==ie.k&&!Number.isNaN(ie.k)}function we(le){return{x:le.x,y:le.y,zoom:le.k}}function Se(le,ie){return le.target.closest(`.${ie}`)}return(le,ie)=>(E(),z("div",{ref_key:"viewportRef",ref:A,class:"vue-flow__viewport vue-flow__container"},[Z(mre,{"is-selecting":ne.value,"selection-key-pressed":i(B),class:R({connecting:re.value,dragging:i(k),draggable:i(f)===!0||Array.isArray(i(f))&&i(f).includes(0)})},{default:ae(()=>[Z(yre,null,{default:ae(()=>[ue(le.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),Sre=["id"],Cre=["id"],kre=["id"],xre={name:"A11yDescriptions",compatConfig:{MODE:3}},Ere=ve({...xre,setup(e){const{id:t,disableKeyboardA11y:n,ariaLiveMessage:o}=On();return(a,l)=>(E(),z(Me,null,[I("div",{id:`${i(ZT)}-${i(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+me(i(n)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,Sre),I("div",{id:`${i(JT)}-${i(t)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,Cre),i(n)?se("",!0):(E(),z("div",{key:0,id:`${i(Hle)}-${i(t)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},me(i(o)),9,kre))],64))}});function $re(){const e=On();ge(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function Tre(e,t,n){return n===Tt.Left?e-t:n===Tt.Right?e+t:e}function _re(e,t,n){return n===Tt.Top?e-t:n===Tt.Bottom?e+t:e}const Jy=function({radius:e=10,centerX:t=0,centerY:n=0,position:o=Tt.Top,type:a}){return Le("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${a}`,cx:Tre(t,e,o),cy:_re(n,e,o),r:e,stroke:"transparent",fill:"transparent"})};Jy.props=["radius","centerX","centerY","position","type"];Jy.compatConfig={MODE:3};const AS=Jy,Nre=ve({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:t,addSelectedEdges:n,connectionMode:o,edgeUpdaterRadius:a,emits:l,nodesSelectionActive:s,noPanClassName:r,getEdgeTypes:u,removeSelectedEdges:c,findEdge:d,findNode:f,isValidConnection:v,multiSelectionActive:h,disableKeyboardA11y:g,elementsSelectable:p,edgesUpdatable:m,edgesFocusable:y,hooks:b}=On(),w=C(()=>d(e.id)),{emit:S,on:k}=bse(w.value,l),x=Fe(Vp),$=ct(),T=F(!1),_=F(!1),A=F(""),D=F(null),N=F("source"),W=F(null),V=wt(()=>typeof w.value.selectable>"u"?p.value:w.value.selectable),H=wt(()=>typeof w.value.updatable>"u"?m.value:w.value.updatable),P=wt(()=>typeof w.value.focusable>"u"?y.value:w.value.focusable);xt(mse,e.id),xt(gse,W);const O=C(()=>w.value.class instanceof Function?w.value.class(w.value):w.value.class),M=C(()=>w.value.style instanceof Function?w.value.style(w.value):w.value.style),B=C(()=>{const q=w.value.type||"default",U=x?.[`edge-${q}`];if(U)return U;let G=w.value.template??u.value[q];if(typeof G=="string"&&$){const te=Object.keys($.appContext.components);te&&te.includes(q)&&(G=yt(q,!1))}return G&&typeof G!="string"?G:(l.error(new Un(Fn.EDGE_TYPE_MISSING,G)),!1)}),{handlePointerDown:L}=g_({nodeId:A,handleId:D,type:N,isValidConnection:v,edgeUpdaterType:N,onEdgeUpdate:J,onEdgeUpdateEnd:ne});return()=>{const q=f(w.value.source),U=f(w.value.target),G="pathOptions"in w.value?w.value.pathOptions:{};if(!q&&!U)return l.error(new Un(Fn.EDGE_SOURCE_TARGET_MISSING,w.value.id,w.value.source,w.value.target)),null;if(!q)return l.error(new Un(Fn.EDGE_SOURCE_MISSING,w.value.id,w.value.source)),null;if(!U)return l.error(new Un(Fn.EDGE_TARGET_MISSING,w.value.id,w.value.target)),null;if(!w.value||w.value.hidden||q.hidden||U.hidden)return null;let te;o.value===ps.Strict?te=q.handleBounds.source:te=[...q.handleBounds.source||[],...q.handleBounds.target||[]];const he=kS(te,w.value.sourceHandle);let pe;o.value===ps.Strict?pe=U.handleBounds.target:pe=[...U.handleBounds.target||[],...U.handleBounds.source||[]];const de=kS(pe,w.value.targetHandle),be=he?.position||Tt.Bottom,ye=de?.position||Tt.Top,{x:$e,y:Pe}=mi(q,he,be),{x:et,y:tt}=mi(U,de,ye);return w.value.sourceX=$e,w.value.sourceY=Pe,w.value.targetX=et,w.value.targetY=tt,Le("g",{ref:W,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${B.value===!1?"default":w.value.type||"default"}`,r.value,O.value,{updating:T.value,selected:w.value.selected,animated:w.value.animated,inactive:!V.value&&!b.value.edgeClick.hasListeners()}],tabIndex:P.value?0:void 0,"aria-label":w.value.ariaLabel===null?void 0:w.value.ariaLabel??`Edge from ${w.value.source} to ${w.value.target}`,"aria-describedby":P.value?`${JT}-${t}`:void 0,"aria-roledescription":"edge",role:P.value?"group":"img",...w.value.domAttributes,onClick:Q,onContextmenu:ce,onDblclick:we,onMouseenter:Se,onMousemove:le,onMouseleave:ie,onKeyDown:P.value?Y:void 0},[_.value?null:Le(B.value===!1?u.value.default:B.value,{id:e.id,sourceNode:q,targetNode:U,source:w.value.source,target:w.value.target,type:w.value.type,updatable:H.value,selected:w.value.selected,animated:w.value.animated,label:w.value.label,labelStyle:w.value.labelStyle,labelShowBg:w.value.labelShowBg,labelBgStyle:w.value.labelBgStyle,labelBgPadding:w.value.labelBgPadding,labelBgBorderRadius:w.value.labelBgBorderRadius,data:w.value.data,events:{...w.value.events,...k},style:M.value,markerStart:`url('#${Yu(w.value.markerStart,t)}')`,markerEnd:`url('#${Yu(w.value.markerEnd,t)}')`,sourcePosition:be,targetPosition:ye,sourceX:$e,sourceY:Pe,targetX:et,targetY:tt,sourceHandleId:w.value.sourceHandle,targetHandleId:w.value.targetHandle,interactionWidth:w.value.interactionWidth,...G}),[H.value==="source"||H.value===!0?[Le("g",{onMousedown:j,onMouseenter:K,onMouseout:X},Le(AS,{position:be,centerX:$e,centerY:Pe,radius:a.value,type:"source","data-type":"source"}))]:null,H.value==="target"||H.value===!0?[Le("g",{onMousedown:ee,onMouseenter:K,onMouseout:X},Le(AS,{position:ye,centerX:et,centerY:tt,radius:a.value,type:"target","data-type":"target"}))]:null]])};function K(){T.value=!0}function X(){T.value=!1}function J(q,U){S.update({event:q,edge:w.value,connection:U})}function ne(q){S.updateEnd({event:q,edge:w.value}),_.value=!1}function re(q,U){q.button===0&&(_.value=!0,A.value=U?w.value.target:w.value.source,D.value=(U?w.value.targetHandle:w.value.sourceHandle)??null,N.value=U?"target":"source",S.updateStart({event:q,edge:w.value}),L(q))}function Q(q){var U;const G={event:q,edge:w.value};V.value&&(s.value=!1,w.value.selected&&h.value?(c([w.value]),(U=W.value)==null||U.blur()):n([w.value])),S.click(G)}function ce(q){S.contextMenu({event:q,edge:w.value})}function we(q){S.doubleClick({event:q,edge:w.value})}function Se(q){S.mouseEnter({event:q,edge:w.value})}function le(q){S.mouseMove({event:q,edge:w.value})}function ie(q){S.mouseLeave({event:q,edge:w.value})}function j(q){re(q,!0)}function ee(q){re(q,!1)}function Y(q){var U;!g.value&&QT.includes(q.key)&&V.value&&(q.key==="Escape"?((U=W.value)==null||U.blur(),c([d(e.id)])):n([d(e.id)]))}}}),Ire=Nre,Ore=ve({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:n,connectionStartHandle:o,connectionEndHandle:a,connectionPosition:l,connectionLineType:s,connectionLineStyle:r,connectionLineOptions:u,connectionStatus:c,viewport:d,findNode:f}=On(),v=(e=Fe(Vp))==null?void 0:e["connection-line"],h=C(()=>{var b;return f((b=o.value)==null?void 0:b.nodeId)}),g=C(()=>{var b;return f((b=a.value)==null?void 0:b.nodeId)??null}),p=C(()=>({x:(l.value.x-d.value.x)/d.value.zoom,y:(l.value.y-d.value.y)/d.value.zoom})),m=C(()=>u.value.markerStart?`url(#${Yu(u.value.markerStart,t)})`:""),y=C(()=>u.value.markerEnd?`url(#${Yu(u.value.markerEnd,t)})`:"");return()=>{var b,w,S;if(!h.value||!o.value)return null;const k=o.value.id,x=o.value.type,$=h.value.handleBounds;let T=$?.[x]??[];if(n.value===ps.Loose){const M=$?.[x==="source"?"target":"source"]??[];T=[...T,...M]}if(!T)return null;const _=(k?T.find(M=>M.id===k):T[0])??null,A=_?.position??Tt.Top,{x:D,y:N}=mi(h.value,_,A);let W=null;g.value&&(n.value===ps.Strict?W=((b=g.value.handleBounds[x==="source"?"target":"source"])==null?void 0:b.find(M=>{var B;return M.id===((B=a.value)==null?void 0:B.id)}))||null:W=((w=[...g.value.handleBounds.source??[],...g.value.handleBounds.target??[]])==null?void 0:w.find(M=>{var B;return M.id===((B=a.value)==null?void 0:B.id)}))||null);const V=((S=a.value)==null?void 0:S.position)??(A?$m[A]:null);if(!A||!V)return null;const H=s.value??u.value.type??Ns.Bezier;let P="";const O={sourceX:D,sourceY:N,sourcePosition:A,targetX:p.value.x,targetY:p.value.y,targetPosition:V};return H===Ns.Bezier?[P]=k_(O):H===Ns.Step?[P]=_m({...O,borderRadius:0}):H===Ns.SmoothStep?[P]=_m(O):H===Ns.SimpleBezier?[P]=x_(O):P=`M${D},${N} ${p.value.x},${p.value.y}`,Le("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},Le("g",{class:"vue-flow__connection"},v?Le(v,{sourceX:D,sourceY:N,sourcePosition:A,targetX:p.value.x,targetY:p.value.y,targetPosition:V,sourceNode:h.value,sourceHandle:_,targetNode:g.value,targetHandle:W,markerEnd:y.value,markerStart:m.value,connectionStatus:c.value}):Le("path",{d:P,class:[u.value.class,c.value,"vue-flow__connection-path"],style:{...r.value,...u.value.style},"marker-end":y.value,"marker-start":m.value})))}}}),Mre=Ore,Pre=["id","markerWidth","markerHeight","markerUnits","orient"],Rre={name:"MarkerType",compatConfig:{MODE:3}},Are=ve({...Rre,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(t,n)=>(E(),z("marker",{id:t.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${t.width}`,markerHeight:`${t.height}`,markerUnits:t.markerUnits,orient:t.orient},[t.type===i(xm).ArrowClosed?(E(),z("polyline",{key:0,style:Be({stroke:t.color,fill:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):se("",!0),t.type===i(xm).Arrow?(E(),z("polyline",{key:1,style:Be({stroke:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):se("",!0)],8,Pre))}}),Dre={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},Lre={name:"MarkerDefinitions",compatConfig:{MODE:3}},Vre=ve({...Lre,setup(e){const{id:t,edges:n,connectionLineOptions:o,defaultMarkerColor:a}=On(),l=C(()=>{const s=new Set,r=[],u=c=>{if(c){const d=Yu(c,t);s.has(d)||(typeof c=="object"?r.push({...c,id:d,color:c.color||a.value}):r.push({id:d,color:a.value,type:c}),s.add(d))}};for(const c of[o.value.markerEnd,o.value.markerStart])u(c);for(const c of n.value)for(const d of[c.markerStart,c.markerEnd])u(d);return r.sort((c,d)=>c.id.localeCompare(d.id))});return(s,r)=>(E(),z("svg",Dre,[I("defs",null,[(E(!0),z(Me,null,dt(l.value,u=>(E(),fe(Are,{id:u.id,key:u.id,type:u.type,color:u.color,width:u.width,height:u.height,markerUnits:u.markerUnits,"stroke-width":u.strokeWidth,orient:u.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),Bre={name:"Edges",compatConfig:{MODE:3}},Fre=ve({...Bre,setup(e){const{findNode:t,getEdges:n,elevateEdgesOnSelect:o}=On();return(a,l)=>(E(),z(Me,null,[Z(Vre),(E(!0),z(Me,null,dt(i(n),s=>(E(),z("svg",{key:s.id,class:"vue-flow__edges vue-flow__container",style:Be({zIndex:i(ase)(s,i(t),i(o))})},[Z(i(Ire),{id:s.id},null,8,["id"])],4))),128)),Z(i(Mre))],64))}}),zre=ve({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:t,noPanClassName:n,selectNodesOnDrag:o,nodesSelectionActive:a,multiSelectionActive:l,emits:s,removeSelectedNodes:r,addSelectedNodes:u,updateNodeDimensions:c,onUpdateNodeInternals:d,getNodeTypes:f,nodeExtent:v,elevateNodesOnSelect:h,disableKeyboardA11y:g,ariaLiveMessage:p,snapToGrid:m,snapGrid:y,nodeDragThreshold:b,nodesDraggable:w,elementsSelectable:S,nodesConnectable:k,nodesFocusable:x,hooks:$}=On(),T=F(null);xt(h_,T),xt(v_,e.id);const _=Fe(Vp),A=ct(),D=b_(),{node:N,parentNode:W}=y_(e.id),{emit:V,on:H}=kse(N,s),P=wt(()=>typeof N.draggable>"u"?w.value:N.draggable),O=wt(()=>typeof N.selectable>"u"?S.value:N.selectable),M=wt(()=>typeof N.connectable>"u"?k.value:N.connectable),B=wt(()=>typeof N.focusable>"u"?x.value:N.focusable),L=C(()=>O.value||P.value||$.value.nodeClick.hasListeners()||$.value.nodeDoubleClick.hasListeners()||$.value.nodeMouseEnter.hasListeners()||$.value.nodeMouseMove.hasListeners()||$.value.nodeMouseLeave.hasListeners()),K=wt(()=>!!N.dimensions.width&&!!N.dimensions.height),X=C(()=>{const U=N.type||"default",G=_?.[`node-${U}`];if(G)return G;let te=N.template||f.value[U];if(typeof te=="string"&&A){const he=Object.keys(A.appContext.components);he&&he.includes(U)&&(te=yt(U,!1))}return te&&typeof te!="string"?te:(s.error(new Un(Fn.NODE_TYPE_MISSING,te)),!1)}),J=m_({id:e.id,el:T,disabled:()=>!P.value,selectable:O,dragHandle:()=>N.dragHandle,onStart(U){V.dragStart(U)},onDrag(U){V.drag(U)},onStop(U){V.dragStop(U)},onClick(U){Y(U)}}),ne=C(()=>N.class instanceof Function?N.class(N):N.class),re=C(()=>{const U=(N.style instanceof Function?N.style(N):N.style)||{},G=N.width instanceof Function?N.width(N):N.width,te=N.height instanceof Function?N.height(N):N.height;return!U.width&&G&&(U.width=typeof G=="string"?G:`${G}px`),!U.height&&te&&(U.height=typeof te=="string"?te:`${te}px`),U}),Q=wt(()=>Number(N.zIndex??re.value.zIndex??0));return d(U=>{(U.includes(e.id)||!U.length)&&we()}),at(()=>{ge(()=>N.hidden,(U=!1,G,te)=>{!U&&T.value&&(e.resizeObserver.observe(T.value),te(()=>{T.value&&e.resizeObserver.unobserve(T.value)}))},{immediate:!0,flush:"post"})}),ge([()=>N.type,()=>N.sourcePosition,()=>N.targetPosition],()=>{Re(()=>{c([{id:e.id,nodeElement:T.value,forceUpdate:!0}])})}),ge([()=>N.position.x,()=>N.position.y,()=>{var U;return(U=W.value)==null?void 0:U.computedPosition.x},()=>{var U;return(U=W.value)==null?void 0:U.computedPosition.y},()=>{var U;return(U=W.value)==null?void 0:U.computedPosition.z},Q,()=>N.selected,()=>N.dimensions.height,()=>N.dimensions.width,()=>{var U;return(U=W.value)==null?void 0:U.dimensions.height},()=>{var U;return(U=W.value)==null?void 0:U.dimensions.width}],([U,G,te,he,pe,de])=>{const be={x:U,y:G,z:de+(h.value&&N.selected?1e3:0)};typeof te<"u"&&typeof he<"u"?N.computedPosition=Jle({x:te,y:he,z:pe},be):N.computedPosition=be},{flush:"post",immediate:!0}),ge([()=>N.extent,v],([U,G],[te,he])=>{(U!==te||G!==he)&&ce()}),N.extent==="parent"||typeof N.extent=="object"&&"range"in N.extent&&N.extent.range==="parent"?hm(()=>K).toBe(!0).then(ce):ce(),()=>N.hidden?null:Le("div",{ref:T,"data-id":N.id,class:["vue-flow__node",`vue-flow__node-${X.value===!1?"default":N.type||"default"}`,{[n.value]:P.value,dragging:J?.value,draggable:P.value,selected:N.selected,selectable:O.value,parent:N.isParent},ne.value],style:{visibility:K.value?"visible":"hidden",zIndex:N.computedPosition.z??Q.value,transform:`translate(${N.computedPosition.x}px,${N.computedPosition.y}px)`,pointerEvents:L.value?"all":"none",...re.value},tabIndex:B.value?0:void 0,role:B.value?"group":void 0,"aria-describedby":g.value?void 0:`${ZT}-${t}`,"aria-label":N.ariaLabel,"aria-roledescription":"node",...N.domAttributes,onMouseenter:Se,onMousemove:le,onMouseleave:ie,onContextmenu:j,onClick:Y,onDblclick:ee,onKeydown:q},[Le(X.value===!1?f.value.default:X.value,{id:N.id,type:N.type,data:N.data,events:{...N.events,...H},selected:N.selected,resizing:N.resizing,dragging:J.value,connectable:M.value,position:N.computedPosition,dimensions:N.dimensions,isValidTargetPos:N.isValidTargetPos,isValidSourcePos:N.isValidSourcePos,parent:N.parentNode,parentNodeId:N.parentNode,zIndex:N.computedPosition.z??Q.value,targetPosition:N.targetPosition,sourcePosition:N.sourcePosition,label:N.label,dragHandle:N.dragHandle,onUpdateNodeInternals:we})]);function ce(){const U=N.computedPosition,{computedPosition:G,position:te}=Xy(N,m.value?Lp(U,y.value):U,s.error,v.value,W.value);(N.computedPosition.x!==G.x||N.computedPosition.y!==G.y)&&(N.computedPosition={...N.computedPosition,...G}),(N.position.x!==te.x||N.position.y!==te.y)&&(N.position=te)}function we(){T.value&&c([{id:e.id,nodeElement:T.value,forceUpdate:!0}])}function Se(U){J?.value||V.mouseEnter({event:U,node:N})}function le(U){J?.value||V.mouseMove({event:U,node:N})}function ie(U){J?.value||V.mouseLeave({event:U,node:N})}function j(U){return V.contextMenu({event:U,node:N})}function ee(U){return V.doubleClick({event:U,node:N})}function Y(U){O.value&&(!o.value||!P.value||b.value>0)&&Tm(N,l.value,u,r,a,!1,T.value),V.click({event:U,node:N})}function q(U){if(!(Em(U)||g.value))if(QT.includes(U.key)&&O.value){const G=U.key==="Escape";Tm(N,l.value,u,r,a,G,T.value)}else P.value&&N.selected&&Yr[U.key]&&(U.preventDefault(),p.value=`Moved selected node ${U.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~N.position.x}, y: ${~~N.position.y}`,D({x:Yr[U.key].x,y:Yr[U.key].y},U.shiftKey))}}}),Hre=zre,Kre={height:"0",width:"0"},Wre={name:"EdgeLabelRenderer",compatConfig:{MODE:3}},jre=ve({...Wre,setup(e){const{viewportRef:t}=On(),n=wt(()=>{var o;return(o=t.value)==null?void 0:o.getElementsByClassName("vue-flow__edge-labels")[0]});return(o,a)=>(E(),z("svg",null,[(E(),z("foreignObject",Kre,[(E(),fe(cr,{to:n.value,disabled:!n.value},[ue(o.$slots,"default")],8,["to","disabled"]))]))]))}});function Ure(e={includeHiddenNodes:!1}){const{nodes:t}=On();return C(()=>{if(t.value.length===0)return!1;for(const n of t.value)if((e.includeHiddenNodes||!n.hidden)&&(n?.handleBounds===void 0||n.dimensions.width===0||n.dimensions.height===0))return!1;return!0})}const Yre={class:"vue-flow__nodes vue-flow__container"},qre={name:"Nodes",compatConfig:{MODE:3}},Gre=ve({...qre,setup(e){const{getNodes:t,updateNodeDimensions:n,emits:o}=On(),a=Ure(),l=F();return ge(a,s=>{s&&Re(()=>{o.nodesInitialized(t.value)})},{immediate:!0}),at(()=>{l.value=new ResizeObserver(s=>{const r=s.map(u=>({id:u.target.getAttribute("data-id"),nodeElement:u.target,forceUpdate:!0}));Re(()=>n(r))})}),Ft(()=>{var s;return(s=l.value)==null?void 0:s.disconnect()}),(s,r)=>(E(),z("div",Yre,[l.value?(E(!0),z(Me,{key:0},dt(i(t),(u,c,d,f)=>{const v=[u.id];if(f&&f.key===u.id&&gI(f,v))return f;const h=(E(),fe(i(Hre),{id:u.id,key:u.id,"resize-observer":l.value},null,8,["id","resize-observer"]));return h.memo=v,h},r,0),128)):se("",!0)]))}});function Xre(){const{emits:e}=On();at(()=>{if(p_()){const t=document.querySelector(".vue-flow__pane");t&&window.getComputedStyle(t).zIndex!=="1"&&e.error(new Un(Fn.MISSING_STYLES))}})}const Zre=I("div",{class:"vue-flow__edge-labels"},null,-1),Jre={name:"VueFlow",compatConfig:{MODE:3}},Qre=ve({...Jre,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:n}){const o=e,a=bn(),l=Bv(o,"modelValue",n),s=Bv(o,"nodes",n),r=Bv(o,"edges",n),u=On(o),c=Tse({modelValue:l,nodes:s,edges:r},o,u);return Nse(n,u.hooks),$re(),Xre(),xt(Vp,a),dr(c),t(u),(d,f)=>(E(),z("div",{ref:i(u).vueFlowRef,class:"vue-flow"},[Z(wre,null,{default:ae(()=>[Z(Fre),Zre,Z(Gre),ue(d.$slots,"zoom-pane")]),_:3}),ue(d.$slots,"default"),Z(Ere)],512))}});var hl=(e=>(e.Lines="lines",e.Dots="dots",e))(hl||{});const $_=function({dimensions:e,size:t,color:n}){return Le("path",{stroke:n,"stroke-width":t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},T_=function({radius:e,color:t}){return Le("circle",{cx:e,cy:e,r:e,fill:t})};hl.Lines+"",hl.Dots+"";const eie={[hl.Dots]:"#81818a",[hl.Lines]:"#eee"},tie=["id","x","y","width","height","patternTransform"],nie={key:2,height:"100",width:"100"},oie=["fill"],aie=["x","y","fill"],lie={name:"Background",compatConfig:{MODE:3}},sie=ve({...lie,props:{id:{},variant:{default:()=>hl.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:t,viewport:n}=On(),o=C(()=>{const s=n.value.zoom,[r,u]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],c=[r*s||1,u*s||1],d=e.size*s,[f,v]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],h=[f*s||1+c[0]/2,v*s||1+c[1]/2];return{scaledGap:c,offset:h,size:d}}),a=wt(()=>`pattern-${t}${e.id?`-${e.id}`:""}`),l=wt(()=>e.color||e.patternColor||eie[e.variant||hl.Dots]);return(s,r)=>(E(),z("svg",{class:"vue-flow__background vue-flow__container",style:Be({height:`${s.height>100?100:s.height}%`,width:`${s.width>100?100:s.width}%`})},[ue(s.$slots,"pattern-container",{id:a.value},()=>[I("pattern",{id:a.value,x:i(n).x%o.value.scaledGap[0],y:i(n).y%o.value.scaledGap[1],width:o.value.scaledGap[0],height:o.value.scaledGap[1],patternTransform:`translate(-${o.value.offset[0]},-${o.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[ue(s.$slots,"pattern",{},()=>[s.variant===i(hl).Lines?(E(),fe(i($_),{key:0,size:s.lineWidth,color:l.value,dimensions:o.value.scaledGap},null,8,["size","color","dimensions"])):s.variant===i(hl).Dots?(E(),fe(i(T_),{key:1,color:l.value,radius:o.value.size/2},null,8,["color","radius"])):se("",!0),s.bgColor?(E(),z("svg",nie,[I("rect",{width:"100%",height:"100%",fill:s.bgColor},null,8,oie)])):se("",!0)])],8,tie)]),I("rect",{x:s.x,y:s.y,width:"100%",height:"100%",fill:`url(#${a.value})`},null,8,aie),ue(s.$slots,"default",{id:a.value})],4))}}),rie={class:"node-head"},iie={class:"fields"},uie={class:"adv-check"},cie={class:"adv"},die={key:0,class:"adv-body"},fie={class:"adv-check"},pie={class:"adv-check"},vie={class:"adv-wide"},hie={class:"adv-wide"},mie={class:"adv-wide"},gie={class:"adv-wide"},yie={class:"adv-wide"},bie=ve({__name:"LocalNode",props:{data:{},selected:{type:Boolean},conflicted:{type:Boolean}},emits:["update:data","remove"],setup(e,{emit:t}){const n=e,o=t,a=H=>C({get:()=>n.data[H],set:P=>{o("update:data",{...n.data,[H]:P})}}),l=a("name"),s=a("ip"),r=a("port"),u=a("protocol"),c=a("localOnly"),d=a("useEncryption"),f=a("useCompression"),v=a("bandwidthLimit"),h=a("poolCount"),g=F(!1),p=C({get:()=>JSON.stringify(n.data.metadatas??{}),set:H=>{let P={};if(H.trim())try{P=JSON.parse(H)}catch{return}o("update:data",{...n.data,metadatas:P})}}),m=C({get:()=>JSON.stringify(n.data.annotations??{}),set:H=>{let P={};if(H.trim())try{P=JSON.parse(H)}catch{return}o("update:data",{...n.data,annotations:P})}}),y=a("customDomains"),b=a("subdomain"),w=a("hostHeaderRewrite"),S=a("basicAuthUser"),k=a("basicAuthPassword"),x=a("lbGroup"),$=a("lbGroupKey"),T=a("healthCheckType"),_=a("healthCheckPath"),A=a("healthCheckTimeout"),D=a("healthCheckMaxFailed"),N=a("healthCheckInterval"),W=C({get:()=>JSON.stringify(n.data.locations??[]),set:H=>{let P=[];if(H.trim())try{const O=JSON.parse(H);if(Array.isArray(O))P=O.map(String);else return}catch{return}o("update:data",{...n.data,locations:P})}}),V=C({get:()=>JSON.stringify(n.data.httpHeaders??{}),set:H=>{let P={};if(H.trim())try{P=JSON.parse(H)}catch{return}o("update:data",{...n.data,httpHeaders:P})}});return(H,P)=>(E(),z("div",{class:R(["local-node",{selected:e.selected,conflicted:e.conflicted}])},[Z(i(gi),{type:"source",position:i(Tt).Right},null,8,["position"]),I("div",rie,[P[27]||(P[27]=I("span",{class:"node-icon"},"⬢",-1)),Ye(I("input",{"onUpdate:modelValue":P[0]||(P[0]=O=>gt(l)?l.value=O:null),class:"name-input"},null,512),[[sn,i(l)]]),I("button",{class:"del-btn",title:"删除",onClick:P[1]||(P[1]=Xe(O=>o("remove",n.data.name),["stop"]))}," × ")]),I("div",iie,[I("label",null,[P[28]||(P[28]=Oe("IP ",-1)),Ye(I("input",{"onUpdate:modelValue":P[2]||(P[2]=O=>gt(s)?s.value=O:null)},null,512),[[sn,i(s)]])]),I("label",null,[P[29]||(P[29]=Oe("端口 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[3]||(P[3]=O=>gt(r)?r.value=O:null),type:"number"},null,512),[[sn,i(r),void 0,{number:!0}]])]),I("label",null,[P[31]||(P[31]=Oe("协议 ",-1)),Ye(I("select",{"onUpdate:modelValue":P[4]||(P[4]=O=>gt(u)?u.value=O:null)},[...P[30]||(P[30]=[I("option",{value:"tcp"},"tcp",-1),I("option",{value:"udp"},"udp",-1),I("option",{value:"http"},"http",-1),I("option",{value:"https"},"https",-1)])],512),[[ih,i(u)]])]),I("label",uie,[Ye(I("input",{"onUpdate:modelValue":P[5]||(P[5]=O=>gt(c)?c.value=O:null),type:"checkbox"},null,512),[[Fs,i(c)]]),P[32]||(P[32]=Oe(" 仅本机转发 ",-1)),P[33]||(P[33]=I("span",{class:"hint"},"(勾选=直接在本机拉起,不进集群;不勾选=127.0.0.1 替换为本机实际地址交给集群)",-1))])]),I("div",cie,[I("button",{class:"adv-toggle",onClick:P[6]||(P[6]=Xe(O=>g.value=!g.value,["stop"]))},me(g.value?"▾ 收起高级":"▸ 高级"),1),g.value?(E(),z("div",die,[I("label",fie,[Ye(I("input",{"onUpdate:modelValue":P[7]||(P[7]=O=>gt(d)?d.value=O:null),type:"checkbox"},null,512),[[Fs,i(d)]]),P[34]||(P[34]=Oe(" 加密 (useEncryption) ",-1))]),I("label",pie,[Ye(I("input",{"onUpdate:modelValue":P[8]||(P[8]=O=>gt(f)?f.value=O:null),type:"checkbox"},null,512),[[Fs,i(f)]]),P[35]||(P[35]=Oe(" 压缩 (useCompression) ",-1))]),I("label",null,[P[36]||(P[36]=Oe("限速 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[9]||(P[9]=O=>gt(v)?v.value=O:null),placeholder:"如 1MB"},null,512),[[sn,i(v)]])]),I("label",null,[P[37]||(P[37]=Oe("连接池 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[10]||(P[10]=O=>gt(h)?h.value=O:null),type:"number",min:"0"},null,512),[[sn,i(h),void 0,{number:!0}]])]),I("label",vie,[P[38]||(P[38]=Oe("元数据(JSON) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[11]||(P[11]=O=>p.value=O),placeholder:'{"env":"prod"}'},null,512),[[sn,p.value]])]),I("label",hie,[P[39]||(P[39]=Oe("注解(JSON) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[12]||(P[12]=O=>m.value=O),placeholder:'{"owner":"ops"}'},null,512),[[sn,m.value]])]),P[55]||(P[55]=I("div",{class:"adv-sep"},"HTTP/HTTPS 路由",-1)),I("label",mie,[P[40]||(P[40]=Oe("域名(逗号分隔) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[13]||(P[13]=O=>gt(y)?y.value=O:null),placeholder:"app.example.com"},null,512),[[sn,i(y)]])]),I("label",null,[P[41]||(P[41]=Oe("子域 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[14]||(P[14]=O=>gt(b)?b.value=O:null),placeholder:"app (需 frps subdomain_host)"},null,512),[[sn,i(b)]])]),I("label",gie,[P[42]||(P[42]=Oe("路径路由(JSON) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[15]||(P[15]=O=>W.value=O),placeholder:'["/api","/admin"]'},null,512),[[sn,W.value]])]),I("label",null,[P[43]||(P[43]=Oe("Host 改写 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[16]||(P[16]=O=>gt(w)?w.value=O:null),placeholder:"backend.internal"},null,512),[[sn,i(w)]])]),I("label",yie,[P[44]||(P[44]=Oe("请求头(JSON) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[17]||(P[17]=O=>V.value=O),placeholder:'{"X-Custom":"val"}'},null,512),[[sn,V.value]])]),I("label",null,[P[45]||(P[45]=Oe("BasicAuth 用户 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[18]||(P[18]=O=>gt(S)?S.value=O:null),placeholder:"user"},null,512),[[sn,i(S)]])]),I("label",null,[P[46]||(P[46]=Oe("BasicAuth 密码 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[19]||(P[19]=O=>gt(k)?k.value=O:null),type:"password",placeholder:"pass"},null,512),[[sn,i(k)]])]),P[56]||(P[56]=I("div",{class:"adv-sep"},"负载均衡 (M3)",-1)),I("label",null,[P[47]||(P[47]=Oe("LB 组 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[20]||(P[20]=O=>gt(x)?x.value=O:null),placeholder:"如 web (同组自动负载均衡)"},null,512),[[sn,i(x)]])]),I("label",null,[P[48]||(P[48]=Oe("组密钥 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[21]||(P[21]=O=>gt($)?$.value=O:null),placeholder:"组内相同"},null,512),[[sn,i($)]])]),P[57]||(P[57]=I("div",{class:"adv-sep"},"健康检查 (M3)",-1)),I("label",null,[P[50]||(P[50]=Oe("类型 ",-1)),Ye(I("select",{"onUpdate:modelValue":P[22]||(P[22]=O=>gt(T)?T.value=O:null)},[...P[49]||(P[49]=[I("option",{value:""},"关闭",-1),I("option",{value:"tcp"},"tcp",-1),I("option",{value:"http"},"http",-1)])],512),[[ih,i(T)]])]),I("label",null,[P[51]||(P[51]=Oe("HTTP 路径 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[23]||(P[23]=O=>gt(_)?_.value=O:null),placeholder:"/healthz"},null,512),[[sn,i(_)]])]),I("label",null,[P[52]||(P[52]=Oe("超时(秒) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[24]||(P[24]=O=>gt(A)?A.value=O:null),type:"number",min:"0",placeholder:"默认3"},null,512),[[sn,i(A),void 0,{number:!0}]])]),I("label",null,[P[53]||(P[53]=Oe("失败次数 ",-1)),Ye(I("input",{"onUpdate:modelValue":P[25]||(P[25]=O=>gt(D)?D.value=O:null),type:"number",min:"0",placeholder:"默认1"},null,512),[[sn,i(D),void 0,{number:!0}]])]),I("label",null,[P[54]||(P[54]=Oe("间隔(秒) ",-1)),Ye(I("input",{"onUpdate:modelValue":P[26]||(P[26]=O=>gt(N)?N.value=O:null),type:"number",min:"0",placeholder:"默认10"},null,512),[[sn,i(N),void 0,{number:!0}]])])])):se("",!0)])],2))}}),Dl=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},wie=Dl(bie,[["__scopeId","data-v-2cf42f62"]]),Sie={class:"node-head"},Cie={class:"enabled"},kie={class:"fields"},xie={class:"adv"},Eie={key:0,class:"adv-body"},$ie={class:"adv-check"},Tie=ve({__name:"RemoteNode",props:{data:{},selected:{type:Boolean},conflicted:{type:Boolean}},emits:["update:data","remove"],setup(e,{emit:t}){const n=e,o=t,a=k=>C({get:()=>n.data[k],set:x=>{o("update:data",{...n.data,[k]:x})}}),l=a("name"),s=a("ip"),r=a("port"),u=a("token"),c=a("url"),d=a("enabled"),f=a("transportProtocol"),v=a("transportTls"),h=a("transportTlsServerName"),g=a("transportPool"),p=a("vhostHttpPort"),m=a("adminAddr"),y=a("adminPort"),b=a("adminUser"),w=a("adminPassword"),S=F(!1);return(k,x)=>(E(),z("div",{class:R(["remote-node",{selected:e.selected,conflicted:e.conflicted}])},[Z(i(gi),{type:"target",position:i(Tt).Left},null,8,["position"]),I("div",Sie,[x[18]||(x[18]=I("span",{class:"node-icon"},"⬤",-1)),Ye(I("input",{"onUpdate:modelValue":x[0]||(x[0]=$=>gt(l)?l.value=$:null),class:"name-input"},null,512),[[sn,i(l)]]),I("label",Cie,[Ye(I("input",{"onUpdate:modelValue":x[1]||(x[1]=$=>gt(d)?d.value=$:null),type:"checkbox"},null,512),[[Fs,i(d)]]),x[17]||(x[17]=Oe(" 启用 ",-1))]),I("button",{class:"del-btn",title:"删除",onClick:x[2]||(x[2]=Xe($=>o("remove",n.data.name),["stop"]))}," × ")]),I("div",kie,[I("label",null,[x[19]||(x[19]=Oe("IP ",-1)),Ye(I("input",{"onUpdate:modelValue":x[3]||(x[3]=$=>gt(s)?s.value=$:null)},null,512),[[sn,i(s)]])]),I("label",null,[x[20]||(x[20]=Oe("端口 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[4]||(x[4]=$=>gt(r)?r.value=$:null),type:"number"},null,512),[[sn,i(r),void 0,{number:!0}]])]),I("label",null,[x[21]||(x[21]=Oe("令牌 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[5]||(x[5]=$=>gt(u)?u.value=$:null)},null,512),[[sn,i(u)]])]),I("label",null,[x[22]||(x[22]=Oe("URL ",-1)),Ye(I("input",{"onUpdate:modelValue":x[6]||(x[6]=$=>gt(c)?c.value=$:null)},null,512),[[sn,i(c)]])])]),I("div",xie,[I("button",{class:"adv-toggle",onClick:x[7]||(x[7]=Xe($=>S.value=!S.value,["stop"]))},me(S.value?"▾ 收起高级":"▸ 高级"),1),S.value?(E(),z("div",Eie,[I("label",null,[x[24]||(x[24]=Oe("传输协议 ",-1)),Ye(I("select",{"onUpdate:modelValue":x[8]||(x[8]=$=>gt(f)?f.value=$:null)},[...x[23]||(x[23]=[I("option",{value:""},"tcp(默认)",-1),I("option",{value:"quic"},"quic",-1),I("option",{value:"kcp"},"kcp",-1),I("option",{value:"websocket"},"websocket",-1)])],512),[[ih,i(f)]])]),I("label",$ie,[Ye(I("input",{"onUpdate:modelValue":x[9]||(x[9]=$=>gt(v)?v.value=$:null),type:"checkbox"},null,512),[[Fs,i(v)]]),x[25]||(x[25]=Oe(" TLS 传输 ",-1))]),I("label",null,[x[26]||(x[26]=Oe("TLS SNI ",-1)),Ye(I("input",{"onUpdate:modelValue":x[10]||(x[10]=$=>gt(h)?h.value=$:null),placeholder:"frps.local"},null,512),[[sn,i(h)]])]),I("label",null,[x[27]||(x[27]=Oe("连接池 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[11]||(x[11]=$=>gt(g)?g.value=$:null),type:"number",min:"0"},null,512),[[sn,i(g),void 0,{number:!0}]])]),x[33]||(x[33]=I("label",{class:"adv-sep"},"HTTP 访问端口 (frps vhostHTTPPort)",-1)),I("label",null,[x[28]||(x[28]=Oe("vhostHTTPPort ",-1)),Ye(I("input",{"onUpdate:modelValue":x[12]||(x[12]=$=>gt(p)?p.value=$:null),type:"number",min:"0"},null,512),[[sn,i(p),void 0,{number:!0}]])]),x[34]||(x[34]=I("label",{class:"adv-sep"},"本地 frpc 管理 API (M3)",-1)),x[35]||(x[35]=I("label",{class:"adv-check"},[Oe("启用后状态页按真实代理状态展示 "),I("span",{class:"hint-txt"},"(adminPort > 0)")],-1)),I("label",null,[x[29]||(x[29]=Oe("地址 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[13]||(x[13]=$=>gt(m)?m.value=$:null),placeholder:"127.0.0.1"},null,512),[[sn,i(m)]])]),I("label",null,[x[30]||(x[30]=Oe("端口 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[14]||(x[14]=$=>gt(y)?y.value=$:null),type:"number",min:"0",placeholder:"如 7400"},null,512),[[sn,i(y),void 0,{number:!0}]])]),I("label",null,[x[31]||(x[31]=Oe("用户 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[15]||(x[15]=$=>gt(b)?b.value=$:null),placeholder:"admin"},null,512),[[sn,i(b)]])]),I("label",null,[x[32]||(x[32]=Oe("密码 ",-1)),Ye(I("input",{"onUpdate:modelValue":x[16]||(x[16]=$=>gt(w)?w.value=$:null),type:"password",placeholder:"可选"},null,512),[[sn,i(w)]])])])):se("",!0)])],2))}}),_ie=Dl(Tie,[["__scopeId","data-v-b77096cd"]]),Nie=["d","stroke-width"],Iie={class:"port-num"},DS=2,Oie=ve({__name:"PortEdge",props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{},style:{},selected:{type:Boolean,default:!1},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{},conflicted:{type:Boolean,default:!1}},emits:["label-click","label-drag","toggle-disabled","edit-group"],setup(e,{emit:t}){const n=e,o=t,a=F({x:Number(n.data?.offsetX??0),y:Number(n.data?.offsetY??0)}),l=F(null);let s=!1,r=0,u=0,c={x:0,y:0},d=!1;const f=D=>{if(D.stopPropagation(),d=!0,s=!1,r=D.clientX,u=D.clientY,c={...a.value},l.value)try{l.value.setPointerCapture(D.pointerId)}catch{}D.preventDefault()},v=D=>{if(!d)return;const N=D.clientX-r,W=D.clientY-u;(Math.abs(N)>DS||Math.abs(W)>DS)&&(s=!0);const V=g();a.value={x:c.x+N/V,y:c.y+W/V},o("label-drag",{edgeId:n.id,offset:{...a.value}})},h=D=>{D.stopPropagation();const N=d;if(d=!1,l.value&&D.pointerId!=null)try{l.value.releasePointerCapture?.(D.pointerId)}catch{}N&&(s||o("label-click",{edgeId:n.id}))};function g(){const D=document.querySelector(".vue-flow__viewport");if(!D)return 1;const N=/scale\(([0-9.]+)\)/.exec(D.style.transform||"");if(!N)return 1;const W=Number(N[1]);return W>0?W:1}const p=C(()=>Number(n.data?.layer??0)),m=C(()=>!!n.data?.disabled),y=C(()=>String(n.data?.group??"")),b=C(()=>String(n.label??"")||"?"),w=C(()=>{const D=p.value,N=D%2===0?1:-1,W=(Math.floor(D/2)+1)*16;return N*W}),S=C(()=>w.value+a.value.y),k=C(()=>{const{sourceX:D,sourceY:N,sourcePosition:W,targetX:V,targetY:H,targetPosition:P}=n;return _(D,N,W,V,H,P,S.value)}),x=C(()=>A(k.value)),$=C(()=>({position:"absolute",transform:`translate(${x.value.x+a.value.x}px, ${x.value.y}px) translate(-50%, -50%)`,pointerEvents:"all",cursor:"grab",zIndex:10})),T=C(()=>{if(m.value)return"var(--el-color-info-light-5)";if(n.conflicted)return"var(--w4f-danger)";const D=p.value,N=["var(--el-color-primary)","var(--el-color-success)","var(--el-color-warning)","var(--el-color-danger)","var(--el-color-info)","var(--el-color-primary)"];return N[D%N.length]});function _(D,N,W,V,H,P,O){const M=Math.abs(V-D),B=Math.max(M*.45,40);let L=D,K=N,X=V,J=H;W==="Right"?L=D:W==="Left"?L=D-B:W==="Top"?(L=D,K=N):L=D,P==="Left"?X=V:P==="Right"?X=V+B:P==="Top"&&(J=H);const ne=L+(X-L)*.5,re=K+O,Q=X-(X-L)*.5,ce=J+O;return`M ${L} ${K} C ${ne} ${re}, ${Q} ${ce}, ${X} ${J}`}function A(D){const N=D.replace("M","").replace("C","").split(/[ ,]+/).filter(re=>re.length>0).map(Number);if(N.length<8)return{x:0,y:0};const W=N[0]??0,V=N[1]??0,H=N[2]??0,P=N[3]??0,O=N[4]??0,M=N[5]??0,B=N[6]??0,L=N[7]??0,K=.5,X=1-K,J=X*X*X*W+3*X*X*K*H+3*X*K*K*O+K*K*K*B,ne=X*X*X*V+3*X*X*K*P+3*X*K*K*M+K*K*K*L;return{x:J,y:ne}}return(D,N)=>(E(),z("g",{class:R(["port-edge",{selected:e.selected}])},[I("path",{d:k.value,class:R(["port-edge-path",{selected:e.selected,conflicted:e.conflicted}]),fill:"none",style:Be({stroke:T.value}),"stroke-width":e.selected?3.5:2.5},null,14,Nie),Z(i(jre),null,{default:ae(()=>[I("div",{ref_key:"labelEl",ref:l,class:R(["port-label",{dragging:i(d)}]),style:Be($.value),onPointerdown:Xe(f,["stop","prevent"]),onPointermove:v,onPointerup:h,onPointercancel:h},[I("span",{class:R(["port-toggle",{off:m.value}]),onPointerdown:N[0]||(N[0]=Xe(()=>{},["stop"])),onClick:N[1]||(N[1]=Xe(W=>o("toggle-disabled",{edgeId:n.id}),["stop"]))},me(m.value?"禁":"通"),35),I("span",Iie,me(b.value),1),y.value?(E(),z("span",{key:0,class:"port-group",onPointerdown:N[2]||(N[2]=Xe(()=>{},["stop"])),onClick:N[3]||(N[3]=Xe(W=>o("edit-group",{edgeId:n.id}),["stop"]))},me(y.value),33)):se("",!0)],38)]),_:1})],2))}}),Mie=Dl(Oie,[["__scopeId","data-v-095ff33f"]]);class Pie extends Error{status;constructor(t,n){super(n),this.status=t}}async function en(e,t={}){const n=await fetch(e,{credentials:"same-origin",...t});if(!n.ok)throw new Pie(n.status,`HTTP ${n.status}`);return(n.headers.get("content-type")||"").includes("application/json")?n.json():n.text()}const Xv=e=>({method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),un={status:()=>en("/api/manager/status"),canvas:()=>en("/api/manager/canvas"),saveCanvas:e=>en("/api/manager/canvas",Xv(e)),settings:()=>en("/api/manager/settings"),saveSettings:e=>en("/api/manager/settings",Xv(e)),binaryStatus:()=>en("/api/manager/binary/status"),installBinary:e=>en("/api/manager/binary/install",{method:"POST",headers:{"Content-Type":"application/json"},body:e?JSON.stringify({version:e}):void 0}),saveRemote:e=>en("/api/manager/remotes",Xv(e)),deleteRemote:e=>en(`/api/manager/remotes/${encodeURIComponent(e)}`,{method:"DELETE"}),forwardStart:(e,t,n)=>en("/api/manager/forwards/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({local:e,remote:t,remotePort:n})}),forwardStop:(e,t,n)=>en("/api/manager/forwards/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({local:e,remote:t,remotePort:n})}),groupStart:e=>en("/api/manager/forwards/group/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({group:e})}),groupStop:e=>en("/api/manager/forwards/group/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({group:e})}),assignGroup:(e,t,n,o)=>en("/api/manager/forwards/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({local:e,remote:t,remotePort:n,group:o})}),deleteGroup:e=>en("/api/manager/forwards/group/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({group:e})}),profileStart:e=>en(`/api/manager/profiles/${encodeURIComponent(e)}/start`,{method:"POST"}),profileStop:e=>en(`/api/manager/profiles/${encodeURIComponent(e)}/stop`,{method:"POST"}),profileRestart:e=>en(`/api/manager/profiles/${encodeURIComponent(e)}/restart`,{method:"POST"}),profileConfig:e=>en(`/api/manager/profiles/${encodeURIComponent(e)}/config`),profileLogs:e=>en(`/api/manager/profiles/${encodeURIComponent(e)}/logs`),clusterNodes:()=>en("/api/manager/cluster/nodes"),clusterCache:()=>en("/api/manager/cluster/cache"),pruneCache:e=>en("/api/manager/cluster/cache",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keep:e})}),ring:()=>en("/api/manager/cluster/ring"),clusterCreate:()=>en("/api/manager/cluster/create",{method:"POST"}),clusterJoinRing:(e,t)=>en("/api/manager/cluster/join-ring",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({addr:e,joinKey:t})}),clusterRemoveNode:e=>en("/api/manager/cluster/node-remove",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})}),me:()=>en("/api/manager/me"),listUsers:()=>en("/api/manager/users"),createUser:(e,t,n)=>en("/api/manager/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t,role:n})}),updateUser:(e,t)=>en(`/api/manager/users/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),deleteUser:e=>en(`/api/manager/users/${encodeURIComponent(e)}`,{method:"DELETE"}),listApiKeys:()=>en("/api/manager/apikeys"),createApiKey:(e,t,n)=>en("/api/manager/apikeys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,label:t,scope:n})}),deleteApiKey:e=>en(`/api/manager/apikeys/${e}`,{method:"DELETE"}),exportCanvas:()=>en("/api/manager/canvas/export"),importCanvas:e=>en("/api/manager/canvas/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),exportWorkerLogs:()=>en("/api/manager/cluster/logs/export")},Gs=F("read"),Nm=F(""),Im=F(!1),LS={read:1,write:2,admin:3},Rie=C(()=>LS[Gs.value]>=LS.write),Aie=C(()=>Gs.value==="admin");async function Die(){try{const e=await un.me();Gs.value=e.level,Nm.value=e.name}catch{Gs.value="read",Nm.value=""}finally{Im.value=!0}}const Lie={class:"canvas-editor"},Vie={class:"toolbar"},Bie={class:"toolbar-right"},Fie={class:"save-hint"},zie=["disabled"],Hie=["disabled"],Kie={class:"flow-wrap"},Wie={class:"dlg-row"},jie={class:"dlg-value"},Uie={class:"dlg-row"},Yie={class:"dlg-row"},qie=ve({__name:"CanvasView",setup(e){const t=F([]),n=F([]),o=F(!1),a=F("rgba(120,130,150,0.22)");let l=null;const s=()=>{const U=getComputedStyle(document.documentElement).getPropertyValue("--w4f-line-strong").trim();a.value=U||"rgba(120,130,150,0.22)"},r=F([]),u=C(()=>{const U=new Set;for(const G of r.value)for(const te of G.edgeIds)U.add(te);return U}),c=F(!1),d=F(!1),f=F({visible:!1,isNew:!1,local:"",remote:"",remotePort:0,group:"",pendingEdge:null}),v=F(""),h=F(""),g=(U,G,te,he,pe,de="")=>{f.value={visible:!0,isNew:he,local:U,remote:G,remotePort:te,group:de,pendingEdge:pe??null},v.value=String(te),h.value=de},p={localX:60,remoteX:760,startY:90,gap:24,estLocal:210,estRemote:200},m=U=>{const G=document.querySelector(`.vue-flow__node[data-id="${U}"]`);return G?G.offsetHeight:0},y=U=>{let G=p.startY,te=p.startY;for(const he of t.value)if(he.type==="local"){const pe=U&&m(he.id)||p.estLocal;he.position={x:p.localX,y:G},G+=pe+p.gap}else{const pe=U&&m(he.id)||p.estRemote;he.position={x:p.remoteX,y:te},te+=pe+p.gap}},b=U=>t.value.find(G=>G.type==="local"&&G.data?.name===U)?.data,w=()=>{const U=[],G=new Map;for(const te of n.value){const he=te.source.startsWith("local::")?te.source.slice(7):"",pe=te.target.startsWith("remote::")?te.target.slice(8):"";if(!he||!pe)continue;const de=b(he),be=Number(te.label);!de||isNaN(be)||be<=0||(G.has(pe)||G.set(pe,[]),G.get(pe).push({edgeId:te.id,local:he,remotePort:be,type:de.protocol}))}for(const[te,he]of G){const pe=new Map;for(const be of he)be.type!=="tcp"&&be.type!=="udp"||(pe.has(be.remotePort)||pe.set(be.remotePort,[]),pe.get(be.remotePort).push({local:be.local,edgeId:be.edgeId}));for(const[be,ye]of pe)ye.length<2||U.push({type:"port",remote:te,remotePort:be,locals:ye.map($e=>$e.local),edgeIds:ye.map($e=>$e.edgeId)});const de=new Map;for(const be of he){if(be.type!=="http"&&be.type!=="https")continue;const ye=be.local+".local";de.has(ye)||de.set(ye,[]),de.get(ye).push({local:be.local,edgeId:be.edgeId})}for(const[be,ye]of de)ye.length<2||U.push({type:"domain",remote:te,domain:be,locals:ye.map($e=>$e.local),edgeIds:ye.map($e=>$e.edgeId)})}return r.value=U,U},S=U=>r.value.some(G=>G.remote===U),k=U=>r.value.some(G=>G.locals.includes(U)),x=U=>u.value.has(U),$=(U,G)=>`${U}::${G}`,T=()=>{const U=`local-${t.value.filter(te=>te.type==="local").length+1}`,G={name:U,ip:"127.0.0.1",port:8080,protocol:"tcp"};t.value.push({id:$("local",U),type:"local",position:{x:p.localX,y:p.startY+t.value.filter(te=>te.type==="local").length*(p.estLocal+p.gap)},data:G}),d.value=!0},_=()=>{const U=`remote-${t.value.filter(te=>te.type==="remote").length+1}`,G={name:U,ip:"127.0.0.1",port:7e3,token:"",url:"",enabled:!0};t.value.push({id:$("remote",U),type:"remote",position:{x:p.remoteX,y:p.startY+t.value.filter(te=>te.type==="remote").length*(p.estRemote+p.gap)},data:G}),d.value=!0},A=U=>{t.value=t.value.filter(G=>!(G.type==="local"&&G.data?.name===U)),n.value=n.value.filter(G=>G.source!==$("local",U)),d.value=!0,w()},D=U=>{t.value=t.value.filter(G=>!(G.type==="remote"&&G.data?.name===U)),n.value=n.value.filter(G=>G.target!==$("remote",U)),d.value=!0,w()},N=(U,G,te)=>`${U}-->${G}@${te}`,W=U=>{const G=U.source.startsWith("local::")?U.source.slice(7):"",te=U.target.startsWith("remote::")?U.target.slice(8):"";if(!G||!te)return;const he=b(G);he&&g(G,te,he.port,!0,{id:N(U.source,U.target,he.port),source:U.source,target:U.target})},V=()=>{const U=f.value,G=Number(v.value);if(!Number.isInteger(G)||G<1||G>65535){Ht.warning("请输入 1-65535 的整数端口");return}if(U.remotePort=G,U.group=h.value.trim(),U.isNew&&U.pendingEdge){const te=N(U.pendingEdge.source,U.pendingEdge.target,U.remotePort),he=n.value.find(pe=>pe.id===te);he?(he.label=String(U.remotePort),he.data={...he.data,group:U.group}):(n.value.push({id:te,source:U.pendingEdge.source,target:U.pendingEdge.target,label:String(U.remotePort),type:"portedge",animated:!1,data:{group:U.group}}),L())}else if(U.pendingEdge){const te=U.pendingEdge,he=N(te.source,te.target,U.remotePort);if(n.value.find(de=>de.id===he&&de!==te)){Ht.warning("该端口已被同一条连线占用");return}te.id!==he&&(te.id=he),te.label=String(U.remotePort),te.data={...te.data,group:U.group}}f.value.visible=!1,d.value=!0},H=U=>{const G=U.source.startsWith("local::")?U.source.slice(7):"",te=U.target.startsWith("remote::")?U.target.slice(8):"",he=b(G);g(G,te,Number(U.label)||(he?he.port:0),!1,U,U.data?.group??"")},P=({edgeId:U})=>{const G=n.value.find(te=>te.id===U);G&&H(G)},O=({edgeId:U,offset:G})=>{const te=n.value.find(he=>he.id===U);te&&(te.data={...te.data,offsetX:G.x,offsetY:G.y},d.value=!0)},M=({edgeId:U})=>{const G=n.value.find(te=>te.id===U);G&&(G.data={...G.data,disabled:!G.data?.disabled},d.value=!0)},B=async({edgeId:U})=>{const G=n.value.find(de=>de.id===U);if(!G)return;const te=new Set;for(const de of n.value){const be=de.data?.group??"";be&&te.add(be)}const he=te.size?`现有分组:${[...te].join("、")}(留空=移出分组)`:"输入分组名称(留空=移出分组)",pe=G.data?.group??"";try{const{value:de}=await Us.prompt(he,"编辑分组",{inputValue:pe,inputPlaceholder:"分组名称",confirmButtonText:"确定",cancelButtonText:"取消"}),be=(de||"").trim();G.data={...G.data,group:be},d.value=!0}catch{}},L=()=>{const U=new Map;for(const G of n.value){const te=`${G.source}||${G.target}`,he=U.get(te)??0;U.set(te,he+1),G.data={...G.data,layer:he}}w()},K=U=>{const G=t.value.find(te=>te.type==="local"&&te.data?.name===U.name);G&&(G.data={...U}),d.value=!0},X=U=>{const G=t.value.find(te=>te.type==="remote"&&te.data?.name===U.name);G&&(G.data={...U}),d.value=!0},J=({edge:U})=>{H(U)},ne=()=>{const U=w();if(U.length===0)return!0;const G=U.map(te=>{const he=te.locals.join("、");return te.type==="port"?`· 本地服务「${he}」→ 远程节点「${te.remote}」:远程端口 ${te.remotePort} 重复`:`· 本地服务「${he}」→ 远程节点「${te.remote}」:域名 ${te.domain} 重复(一个域名只能绑定一个 http/https 服务)`});return Us.alert(`
${G.join("
")}
`,"发现连接冲突,请检查标红的节点与连线",{confirmButtonText:"知道了",dangerouslyUseHTMLString:!0,type:"warning"}),!1},re=()=>{w(),t.value.forEach(U=>{U.selected=!1})},Q=C(()=>t.value.filter(U=>U.type==="local")),ce=C(()=>t.value.filter(U=>U.type==="remote")),we=()=>y(!0),Se=async()=>{o.value=!0;try{const U=await un.canvas();t.value=[],n.value=[];for(const G of U.locals||[])t.value.push({id:$("local",G.name),type:"local",position:{x:p.localX,y:p.startY},data:{...G}});for(const G of U.remotes||[])t.value.push({id:$("remote",G.name),type:"remote",position:{x:p.remoteX,y:p.startY},data:{...G}});y(!1);for(const G of U.links||[]){const te=$("local",G.local),he=$("remote",G.remote);if(!t.value.some(de=>de.id===te)||!t.value.some(de=>de.id===he))continue;const pe=G.remotePort||b(G.local)?.port||0;n.value.push({id:N(te,he,pe),source:te,target:he,label:String(pe),type:"portedge",animated:!1,data:{offsetX:G.offsetX??0,offsetY:G.offsetY??0,group:G.group??"",disabled:G.disabled??!1}})}L(),d.value=!1}finally{o.value=!1}},le=()=>{const U=Q.value.map(he=>({...he.data})),G=ce.value.map(he=>({...he.data})),te=[];for(const he of n.value){const pe=he.source.startsWith("local::")?he.source.slice(7):"",de=he.target.startsWith("remote::")?he.target.slice(8):"",be=Number(he.label);te.push({local:pe,remote:de,remotePort:isNaN(be)||be<=0?0:be,offsetX:he.data?.offsetX??0,offsetY:he.data?.offsetY??0,group:he.data?.group??"",disabled:he.data?.disabled??!1})}return{locals:U,remotes:G,links:te}},ie=async()=>{if(ne()){c.value=!0;try{const U=await un.saveCanvas(le()),G=new Map(t.value.map(pe=>[pe.id,pe.position]));t.value=[];let te=0,he=0;for(const pe of U.locals||[]){const de=$("local",pe.name);t.value.push({id:de,type:"local",position:G.get(de)||{x:p.localX,y:p.startY+te*(p.estLocal+p.gap)},data:{...pe}}),te++}for(const pe of U.remotes||[]){const de=$("remote",pe.name);t.value.push({id:de,type:"remote",position:G.get(de)||{x:p.remoteX,y:p.startY+he*(p.estRemote+p.gap)},data:{...pe}}),he++}n.value=[];for(const pe of U.links||[]){const de=$("local",pe.local),be=$("remote",pe.remote),ye=pe.remotePort||b(pe.local)?.port||0;n.value.push({id:N(de,be,ye),source:de,target:be,label:String(ye),type:"portedge",data:{offsetX:pe.offsetX??0,offsetY:pe.offsetY??0,group:pe.group??"",disabled:pe.disabled??!1}})}L(),d.value=!1,Ht.success("配置已保存")}catch(U){Ht.error("保存失败: "+(U.message||U))}finally{c.value=!1}}},j=F(null),ee=async()=>{try{const U=await un.exportCanvas(),G=new Blob([JSON.stringify(U,null,2)],{type:"application/json"}),te=URL.createObjectURL(G),he=document.createElement("a");he.href=te,he.download=`webui4frpc-canvas-${new Date().toISOString().slice(0,19).replace(/[:T]/g,"")}.json`,document.body.appendChild(he),he.click(),document.body.removeChild(he),URL.revokeObjectURL(te),Ht.success("已导出转发表")}catch(U){Ht.error("导出失败: "+(U.message||U))}},Y=()=>{j.value?.click()},q=async U=>{const G=U.target,te=G.files?.[0];if(te)try{const he=await te.text(),pe=JSON.parse(he),de=pe?._type==="webui4frpc-canvas"?pe.canvas:pe?.locals?pe:void 0;if(!de){Ht.warning("文件格式不符:需为导出的信封或裸画布 JSON");return}await Us.confirm(`导入将覆盖当前连接配置(${de.locals?.length??0} 本地 / ${de.remotes?.length??0} 远程 / ${de.links?.length??0} 连线)。继续?`,"导入转发表",{type:"warning"}),await un.importCanvas(pe),await Se(),Ht.success("已导入并应用")}catch(he){if(he==="cancel"||he?.action==="cancel")return;Ht.error("导入失败: "+(he.message||he))}finally{G&&(G.value="")}};return at(()=>{Se(),s(),l=new MutationObserver(s),l.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]})}),Ft(()=>{l?.disconnect(),l=null}),(U,G)=>{const te=yt("el-input"),he=yt("el-dialog");return E(),z("div",Lie,[I("div",Vie,[I("div",{class:"toolbar-left"},[G[6]||(G[6]=I("span",{class:"toolbar-title"},"连接配置",-1)),I("button",{class:"btn local-add",onClick:T},"+ 本地转发项"),I("button",{class:"btn remote-add",onClick:_},"+ 远程节点"),I("button",{class:"btn warn",onClick:we},"自动排列")]),I("div",Bie,[I("span",Fie,me(d.value?"● 未保存":"已保存"),1),I("button",{class:"btn ghost",onClick:ee},"导出"),I("button",{class:"btn ghost",disabled:!i(Rie),onClick:Y,title:"导入转发表(覆盖当前)"}," 导入 ",8,zie),I("input",{ref_key:"importInput",ref:j,type:"file",accept:".json,application/json",class:"hidden-input",onChange:q},null,544),I("button",{class:"btn save",disabled:c.value,onClick:ie}," 保存配置 ",8,Hie)])]),I("div",Kie,[Z(i(Qre),{nodes:t.value,"onUpdate:nodes":G[0]||(G[0]=pe=>t.value=pe),edges:n.value,"onUpdate:edges":G[1]||(G[1]=pe=>n.value=pe),"default-viewport":{zoom:.85},"min-zoom":.3,"max-zoom":2,"fit-view-on-init":"","delete-key-code":null,"edges-updatable":!1,"edges-reconnectable":!1,class:"flow-canvas",onConnect:W,onPaneClick:re,onEdgeClick:J},{"node-local":ae(pe=>[Z(wie,{data:pe.data,selected:!!pe.selected,conflicted:k(pe.data?.name),onRemove:A,"onUpdate:data":K},null,8,["data","selected","conflicted"])]),"node-remote":ae(pe=>[Z(_ie,{data:pe.data,selected:!!pe.selected,conflicted:S(pe.data?.name),onRemove:D,"onUpdate:data":X},null,8,["data","selected","conflicted"])]),"edge-portedge":ae(pe=>[Z(Mie,pt(pe,{conflicted:x(pe.id),onLabelClick:P,onLabelDrag:O,onToggleDisabled:M,onEditGroup:B}),null,16,["conflicted"])]),default:ae(()=>[Z(i(sie),{"pattern-color":a.value,gap:20},null,8,["pattern-color"])]),_:1},8,["nodes","edges"])]),Z(he,{modelValue:f.value.visible,"onUpdate:modelValue":G[5]||(G[5]=pe=>f.value.visible=pe),title:f.value.isNew?"新建连线":"编辑远程端口",width:"400px"},{footer:ae(()=>[I("button",{class:"btn",onClick:G[4]||(G[4]=pe=>f.value.visible=!1)},"取消"),I("button",{class:"btn save",onClick:V},"确定")]),default:ae(()=>[I("div",Wie,[G[7]||(G[7]=I("label",null,"连接",-1)),I("span",jie,me(f.value.local)+" → "+me(f.value.remote),1)]),I("div",Uie,[G[8]||(G[8]=I("label",null,"远程端口",-1)),Z(te,{modelValue:v.value,"onUpdate:modelValue":G[2]||(G[2]=pe=>v.value=pe),type:"number",min:"1",max:"65535",placeholder:"默认 = 本地端口",class:"port-input",onKeyup:rn(V,["enter"])},null,8,["modelValue"])]),I("div",Yie,[G[9]||(G[9]=I("label",null,"分组",-1)),Z(te,{modelValue:h.value,"onUpdate:modelValue":G[3]||(G[3]=pe=>h.value=pe),placeholder:"可选,用于转发页一键启停整组",onKeyup:rn(V,["enter"])},null,8,["modelValue"])])]),_:1},8,["modelValue","title"])])}}}),Gie=Dl(qie,[["__scopeId","data-v-fc819dfb"]]),Xie={class:"settings-page"},Zie={class:"page-content"},Jie={class:"panel"},Qie={class:"binary-row"},eue=["disabled"],tue={key:0,class:"binary-info"},nue={class:"info-value"},oue={key:0,class:"info-version"},aue={class:"panel"},lue={class:"setting-row"},sue={class:"setting-row"},rue={class:"setting-row"},iue=ve({__name:"SettingsView",setup(e){const t=F(!1),n=F(!1),o=F(""),a=F(null),l=F({autoStartProfiles:!0,restartOnExit:!0,restartIntervalSeconds:5}),s=async()=>{t.value=!0;try{l.value=await un.settings(),o.value=l.value.binaryPath||"";try{a.value=await un.binaryStatus()}catch{a.value=null}}finally{t.value=!1}},r=async()=>{try{const d=await un.settings();d.binaryPath=o.value.trim(),await un.saveSettings(d),l.value=d;const f=o.value.trim();Ht.success(f?`worker 将使用 ${f}`:"worker 将使用管理器自身(默认)"),await s()}catch(d){Ht.error("保存 frpc 路径失败: "+(d.message||d))}},u=async()=>{n.value=!0;try{const d=await un.installBinary();o.value=d.path,Ht.success(`已安装 frpc ${d.version}`),await s()}catch(d){Ht.error("安装失败: "+(d.message||d))}finally{n.value=!1}},c=async()=>{try{await un.saveSettings(l.value),Ht.success("运行策略已保存")}catch(d){Ht.error("保存失败: "+(d.message||d))}};return at(s),(d,f)=>{const v=yt("el-input"),h=yt("el-icon"),g=yt("el-switch"),p=yt("el-input-number"),m=jm("loading");return E(),z("div",Xie,[f[11]||(f[11]=I("div",{class:"page-top"},[I("div",{class:"page-header"},[I("h2",{class:"page-title"},"运行时设置"),I("p",{class:"page-subtitle"},"worker 二进制与运行策略")])],-1)),Ye((E(),z("div",Zie,[I("section",Jie,[f[5]||(f[5]=I("h3",{class:"panel-title"},"frpc 可执行文件",-1)),f[6]||(f[6]=I("p",{class:"panel-desc"}," 用于拉起各 remote profile 的 frpc worker 进程。留空则使用管理器自身进程。 ",-1)),I("div",Qie,[Z(v,{modelValue:o.value,"onUpdate:modelValue":f[0]||(f[0]=y=>o.value=y),placeholder:"如 /usr/local/bin/frpc,留空用当前进程",clearable:"",size:"large",class:"binary-input",onBlur:r,onKeyup:rn(r,["enter"])},null,8,["modelValue"]),I("button",{class:"btn install-btn",disabled:n.value,onClick:u},[n.value?(E(),fe(h,{key:0,class:"spin"},{default:ae(()=>[Z(i(sa))]),_:1})):se("",!0),Oe(" "+me(n.value?"安装中…":"一键安装 frpc"),1)],8,eue)]),a.value?(E(),z("div",tue,[f[4]||(f[4]=I("span",{class:"info-label"},"当前路径",-1)),I("code",nue,me(a.value.binaryPath),1),a.value.version?(E(),z("span",oue,me(a.value.version),1)):se("",!0)])):se("",!0)]),I("section",aue,[f[10]||(f[10]=I("h3",{class:"panel-title"},"运行策略",-1)),I("div",lue,[f[7]||(f[7]=I("div",{class:"setting-text"},[I("span",{class:"setting-label"},"自动启动 profile"),I("span",{class:"setting-hint"},"管理器启动时自动拉起所有已启用的 remote")],-1)),Z(g,{modelValue:l.value.autoStartProfiles,"onUpdate:modelValue":f[1]||(f[1]=y=>l.value.autoStartProfiles=y),onChange:c},null,8,["modelValue"])]),I("div",sue,[f[8]||(f[8]=I("div",{class:"setting-text"},[I("span",{class:"setting-label"},"异常退出自动重启"),I("span",{class:"setting-hint"},"worker 崩溃后带退避重启")],-1)),Z(g,{modelValue:l.value.restartOnExit,"onUpdate:modelValue":f[2]||(f[2]=y=>l.value.restartOnExit=y),onChange:c},null,8,["modelValue"])]),I("div",rue,[f[9]||(f[9]=I("div",{class:"setting-text"},[I("span",{class:"setting-label"},"重启间隔(秒)"),I("span",{class:"setting-hint"},"崩溃重启的指数退避基数")],-1)),Z(p,{modelValue:l.value.restartIntervalSeconds,"onUpdate:modelValue":f[3]||(f[3]=y=>l.value.restartIntervalSeconds=y),min:1,max:3600,onChange:c},null,8,["modelValue"])])])])),[[m,t.value]])])}}}),uue=Dl(iue,[["__scopeId","data-v-8b757323"]]),cue={class:"status-page"},due={key:0,class:"kpis"},fue={class:"w4f-kpi"},pue={class:"k-hdr"},vue={class:"k-lab"},hue={class:"k-val"},mue={class:"k-sub"},gue={class:"w4f-kpi"},yue={class:"k-hdr"},bue={class:"k-lab"},wue={class:"k-val"},Sue={class:"w4f-kpi"},Cue={class:"k-val"},kue={class:"w4f-kpi"},xue={class:"k-hdr"},Eue={class:"k-lab"},$ue={class:"k-val"},Tue={key:1,class:"status-body"},_ue={class:"section-title"},Nue={class:"grp-count"},Iue={class:"grp-actions"},Oue=["onClick"],Mue=["onClick"],Pue=["onClick"],Rue={class:"card-grid"},Aue={class:"fwd-head"},Due=["title"],Lue={class:"fwd-route"},Vue={key:0,class:"fwd-ip"},Bue={class:"fwd-port"},Fue={key:0,class:"w4f-tag w4f-tag-primary"},zue=["onClick","title"],Hue=["title"],Kue={class:"fwd-actions"},Wue=["onClick"],jue=["onClick"],Uue={key:0,class:"empty"},Yue={key:0,class:"empty"},que={class:"section"},Gue={class:"card-grid"},Xue={class:"nc-head"},Zue={class:"nc-name"},Jue={class:"nc-actions"},Que=["onClick"],ece=["onClick"],tce={class:"nc-meta"},nce={key:0,class:"meta-pill"},oce={key:1,class:"meta-pill warn"},ace=["title"],lce={key:3,class:"meta-pill info"},sce={key:0,class:"nc-forwards"},rce={key:1,class:"nc-groups"},ice={class:"w4f-tag w4f-tag-info"},uce={key:2,class:"nc-proxies"},cce={class:"np-name"},dce={class:"np-status"},fce={key:0,class:"np-addr"},pce=["title"],vce={key:3,class:"nc-proxies-empty"},hce={key:0,class:"empty"},mce={class:"section"},gce={class:"card-grid"},yce={class:"lc-head"},bce={class:"lc-name"},wce={class:"lc-addr"},Sce={class:"w4f-tag w4f-tag-primary"},Cce={key:0,class:"w4f-tag w4f-tag-ok"},kce={class:"lc-targets"},xce={class:"lc-remote"},Ece={class:"lc-port"},$ce={key:0,class:"lc-none"},Tce={key:0,class:"empty"},_ce={class:"form-row"},Nce={class:"form-row"},Ice={class:"form-row"},Oce={class:"form-row"},Mce={class:"form-row"},Pce={class:"form-row"},Rce=ve({__name:"StatusView",setup(e){const t=F(null);let n=null,o=null;const a=()=>({name:"",ip:"",port:7e3,token:"",url:"",enabled:!0}),l=Kt({visible:!1,isNew:!0,remote:a()}),s=()=>{l.isNew=!0,l.remote=a(),l.visible=!0},r=O=>{const M=t.value?.remotes.find(B=>B.name===O.name);l.isNew=!1,l.remote=M?{...M}:{name:O.name,ip:"",port:7e3,token:"",url:"",enabled:!0},l.visible=!0},u=async()=>{const O=l.remote;if(!O.name||!O.ip||O.port<=0){Ht.warning("请填写名称、IP、端口");return}try{await un.saveRemote(O),l.visible=!1,Ht.success(l.isNew?"节点已添加":"节点已更新"),await y()}catch(M){Ht.error("保存失败: "+(M.message||M))}},c=async O=>{try{await un.forwardStart(O.local,O.remote,O.remotePort),await y()}catch(M){Ht.error("启动转发失败: "+(M.message||M))}},d=async O=>{try{await un.forwardStop(O.local,O.remote,O.remotePort),await y()}catch(M){Ht.error("停止转发失败: "+(M.message||M))}},f=async O=>{try{await un.groupStart(O),await y()}catch(M){Ht.error("启动分组失败: "+(M.message||M))}},v=async O=>{try{await un.groupStop(O),await y()}catch(M){Ht.error("停止分组失败: "+(M.message||M))}},h=async O=>{const M=new Set;for(const L of t.value?.forwards??[])L.group&&M.add(L.group);const B=M.size?`现有分组:${[...M].join("、")}(留空=移出分组)`:"输入分组名称(留空=移出分组)";try{const{value:L}=await Us.prompt(B,"修改分组",{inputValue:O.group||"",inputPlaceholder:"分组名称",confirmButtonText:"确定",cancelButtonText:"取消"}),K=(L||"").trim();await un.assignGroup(O.local,O.remote,O.remotePort,K),await y()}catch(L){L!=="cancel"&&L?.message&&Ht.error("修改分组失败: "+(L.message||L))}},g=async O=>{if(window.confirm(`删除分组「${O}」?组内所有转发将移至未分组(转发本身不受影响)。`))try{await un.deleteGroup(O),await y(),Ht.success(`已删除分组「${O}」`)}catch(M){Ht.error("删除分组失败: "+(M.message||M))}},p=O=>O.kind!=="remote"?"":O.ownerId?O.ownerId===t.value?.selfId?"本机持有":"持有 "+O.ownerId:"待分配",m=async O=>{if(window.confirm(`删除远程节点 ${O}?`))try{await un.deleteRemote(O),await y()}catch(M){Ht.error("删除失败: "+(M.message||M))}},y=async()=>{try{t.value=await un.status()}catch{}},b=O=>O==="running",w=C(()=>t.value?.profiles.filter(O=>O.process.state==="running").length??0),S=C(()=>t.value?.profiles.filter(O=>O.connState==="connected").length??0),k=C(()=>(t.value?.profiles.length??0)>0&&S.value===t.value?.profiles.length),x=C(()=>t.value?.forwards.filter(O=>O.active).length??0),$=C(()=>{const O=new Map;for(const M of t.value?.forwards??[]){const B=M.group||"";let L=O.get(B);L||(L=[],O.set(B,L)),L.push(M)}return[...O.entries()].map(([M,B])=>({key:M,label:M||"未分组",items:B})).sort((M,B)=>M.key?B.key?M.label.localeCompare(B.label,"zh"):-1:1)}),T=O=>{switch(O){case"connected":return"已连接";case"connecting":return"连接中";case"failed":return"连接失败";case"disabled":return"已停用";default:return"未启动"}},_=O=>{switch(O){case"connected":return"w4f-tag-ok";case"connecting":return"w4f-tag-info";case"failed":return"w4f-tag-danger";default:return"w4f-tag-warn"}},A=O=>{switch(O){case"connected":return"";case"connecting":return"pending";case"failed":return"err";default:return""}},D=O=>{switch(O){case"running":return"运行中";case"wait start":return"等待启动";case"start error":return"启动错误";case"check failed":return"健康检查失败";case"closed":return"已关闭";default:return"新建"}},N=O=>{switch(O){case"running":return"ok";case"check failed":case"start error":return"err";case"wait start":return"pending";default:return""}},W=O=>O==="running"?"ok":O==="check failed"||O==="start error"?"err":"",V=O=>O==="running"?"100%":O==="wait start"?"45%":O==="new"?"15%":"30%",H=O=>{switch(O){case"running":return"运行中";case"starting":return"启动中";case"restarting":return"重启中";case"crashed":return"异常";default:return"未启动"}},P=O=>t.value?.remotes.find(M=>M.name===O)?.vhostHttpPort||0;return at(()=>{y(),n=window.setInterval(y,2500),o=()=>{document.hidden||y()},document.addEventListener("visibilitychange",o)}),Ft(()=>{n!==null&&(window.clearInterval(n),n=null),o&&(document.removeEventListener("visibilitychange",o),o=null)}),(O,M)=>{const B=yt("el-input"),L=yt("el-input-number"),K=yt("el-switch"),X=yt("el-dialog");return E(),z("div",cue,[I("div",{class:"topbar w4f-card"},[M[8]||(M[8]=I("div",{class:"tb-left"},[I("h2",{class:"page-title"},"状态总览"),I("span",{class:"page-sub"},"每 2.5 秒自动刷新")],-1)),I("div",{class:"tb-right"},[I("button",{class:"w4f-btn ghost small",onClick:y},"⟳ 刷新"),I("button",{class:"w4f-btn small",onClick:s},"+ 添加远程节点")])]),t.value?(E(),z("div",due,[I("div",fue,[I("div",pue,[I("span",vue,[I("span",{class:R(["w4f-dot",{err:!k.value}])},null,2),M[9]||(M[9]=Oe("远程节点",-1))]),M[10]||(M[10]=I("span",{class:"k-ic"},"⊕",-1))]),I("div",hue,me(t.value.profiles.length),1),I("div",mue,"在线 "+me(S.value)+" · 离线 "+me(t.value.profiles.length-S.value),1)]),I("div",gue,[I("div",yue,[I("span",bue,[I("span",{class:R(["w4f-dot",{err:w.value===0&&t.value.profiles.length>0}])},null,2),M[11]||(M[11]=Oe("worker 进程",-1))]),M[12]||(M[12]=I("span",{class:"k-ic"},"⚙",-1))]),I("div",wue,me(w.value),1),M[13]||(M[13]=I("div",{class:"k-sub"},"运行中 frpc 进程数",-1))]),I("div",Sue,[M[14]||(M[14]=I("div",{class:"k-hdr"},[I("span",{class:"k-lab"},[I("span",{class:"w4f-dot"}),Oe("本地服务")]),I("span",{class:"k-ic"},"◳")],-1)),I("div",Cue,me(t.value.localStatus.length),1),M[15]||(M[15]=I("div",{class:"k-sub"},"已配置本地服务",-1))]),I("div",kue,[I("div",xue,[I("span",Eue,[I("span",{class:R(["w4f-dot",{pending:x.value>0}])},null,2),M[16]||(M[16]=Oe("活跃转发",-1))]),M[17]||(M[17]=I("span",{class:"k-ic"},"→",-1))]),I("div",$ue,me(x.value),1),M[18]||(M[18]=I("div",{class:"k-sub"},"已编排转发链路",-1))])])):se("",!0),t.value?(E(),z("div",Tue,[(E(!0),z(Me,null,dt($.value,J=>(E(),z("section",{key:J.key||"__none__",class:"section"},[I("h3",_ue,[M[19]||(M[19]=I("span",{class:"k-ic"},"→",-1)),Oe(me(J.label)+" ",1),I("span",Nue,me(J.items.length)+" 条",1),I("span",Iue,[I("button",{class:"w4f-btn small",onClick:ne=>f(J.key)},"一键启动整组",8,Oue),I("button",{class:"w4f-btn ghost small",onClick:ne=>v(J.key)},"一键停止整组",8,Mue),J.key?(E(),z("button",{key:0,class:"w4f-btn ghost small danger",onClick:ne=>g(J.key)},"删除分组",8,Pue)):se("",!0)])]),I("div",Rue,[(E(!0),z(Me,null,dt(J.items,ne=>(E(),z("div",{key:ne.local+":"+ne.remote+":"+ne.remotePort,class:R(["fwd-card w4f-card",{active:ne.active,stopped:ne.disabled}])},[I("div",Aue,[I("span",{class:R(["fwd-kind",ne.kind])},me(ne.kind==="local"?"本地":"远程"),3),I("span",{class:R(["fwd-dot",{on:ne.active}]),title:ne.active?"运行中":ne.disabled?"已停止":"未运行"},null,10,Due),I("span",Lue,[I("b",null,me(ne.local),1),ne.localIp?(E(),z("span",Vue,me(ne.localIp)+":"+me(ne.localPort),1)):se("",!0),M[20]||(M[20]=I("span",{class:"fwd-arrow"},"→",-1)),I("b",null,me(ne.remote),1),M[21]||(M[21]=Oe(":",-1)),I("span",Bue,me(ne.remotePort),1)]),ne.localProto?(E(),z("span",Fue,me(ne.localProto),1)):se("",!0),I("span",{class:"w4f-tag w4f-tag-info group-chip",onClick:re=>h(ne),title:"点击修改分组(当前:"+(ne.group||"未分组")+")"},me(ne.group||"未分组"),9,zue),ne.kind==="remote"?(E(),z("span",{key:1,class:"fwd-owner",title:ne.ownerId||""},me(p(ne)),9,Hue)):se("",!0),I("span",Kue,[ne.active?(E(),z("button",{key:1,class:"w4f-btn ghost small",onClick:re=>d(ne)},"停止转发",8,jue)):(E(),z("button",{key:0,class:"w4f-btn small",onClick:re=>c(ne)},"启动转发",8,Wue))])])],2))),128)),J.items.length?se("",!0):(E(),z("div",Uue,"该组暂无转发"))])]))),128)),t.value.forwards.length?se("",!0):(E(),z("div",Yue,"尚未配置转发 — 前往「连接配置」画布编排 local→remote 连线")),I("section",que,[M[22]||(M[22]=I("h3",{class:"section-title"},[I("span",{class:"k-ic"},"⊕"),Oe("远程节点状态")],-1)),I("div",Gue,[(E(!0),z(Me,null,dt(t.value.profiles,J=>(E(),z("div",{key:J.name,class:R(["node-card w4f-card",{healthy:b(J.process.state)}])},[I("div",Xue,[I("span",Zue,me(J.name),1),I("span",{class:R(["w4f-tag",_(J.connState)])},[I("span",{class:R(["w4f-dot",A(J.connState)])},null,2),Oe(me(T(J.connState)),1)],2),I("span",Jue,[I("button",{class:"w4f-btn ghost small",onClick:ne=>r(J)},"编辑",8,Que),I("button",{class:"w4f-btn danger small",onClick:ne=>m(J.name)},"删除",8,ece)])]),I("div",tce,[J.process.pid?(E(),z("span",nce,"pid "+me(J.process.pid),1)):se("",!0),J.process.restartCount?(E(),z("span",oce,"重启 "+me(J.process.restartCount),1)):se("",!0),J.process.err?(E(),z("span",{key:2,class:"meta-pill err",title:J.process.err},me(J.process.err),9,ace)):se("",!0),P(J.name)?(E(),z("span",lce,"HTTP :"+me(P(J.name)),1)):se("",!0)]),J.forwards.length?(E(),z("div",sce,[(E(!0),z(Me,null,dt(J.forwards,ne=>(E(),z("span",{key:ne.service,class:"w4f-tag w4f-tag-primary"},me(ne.service)+" → :"+me(ne.remotePort),1))),128))])):se("",!0),J.groupCount?(E(),z("div",rce,[I("span",ice,"LB ×"+me(J.groupCount),1)])):se("",!0),J.proxyStates?.length?(E(),z("div",uce,[(E(!0),z(Me,null,dt(J.proxyStates,ne=>(E(),z("div",{key:ne.name,class:R(["nc-proxy",N(ne.status)])},[I("span",cce,me(ne.name),1),I("span",dce,me(D(ne.status)),1),I("div",{class:R(["w4f-bar",W(ne.status)])},[I("i",{style:Be({width:V(ne.status)})},null,4)],2),ne.remote_addr?(E(),z("span",fce,me(ne.remote_addr),1)):se("",!0),ne.err?(E(),z("span",{key:1,class:"np-err",title:ne.err},me(ne.err),9,pce)):se("",!0)],2))),128))])):J.adminEnabled?(E(),z("div",vce," 管理 API 未返回状态(frpc 未连上远程 frps 或无代理) ")):se("",!0)],2))),128)),t.value.profiles.length?se("",!0):(E(),z("div",hce,"尚未配置远程节点 — 点击右上「+ 添加远程节点」"))])]),I("section",mce,[M[24]||(M[24]=I("h3",{class:"section-title"},[I("span",{class:"k-ic"},"◳"),Oe("本地服务")],-1)),I("div",gce,[(E(!0),z(Me,null,dt(t.value.localStatus,J=>(E(),z("div",{key:J.local.name,class:"local-card w4f-card"},[I("div",yce,[I("span",bce,me(J.local.name),1),I("span",wce,me(J.local.ip)+":"+me(J.local.port),1),I("span",Sce,me(J.local.protocol),1),J.local.localOnly?(E(),z("span",Cce,"本地")):se("",!0)]),I("div",kce,[(E(!0),z(Me,null,dt(J.targets,ne=>(E(),z("div",{key:ne.remote+":"+ne.remotePort,class:"lc-target"},[M[23]||(M[23]=I("span",{class:"lc-arrow"},"→",-1)),I("span",xce,me(ne.remote),1),I("span",Ece,":"+me(ne.remotePort),1),I("span",{class:R(["w4f-tag",b(ne.workerState)?"w4f-tag-ok":"w4f-tag-danger"])},me(H(ne.workerState)),3)]))),128)),J.targets.length?se("",!0):(E(),z("div",$ce,"未转发"))])]))),128)),t.value.localStatus.length?se("",!0):(E(),z("div",Tce,"尚未配置本地服务 — 前往「连接配置」画布编排"))])])])):se("",!0),Z(X,{modelValue:l.visible,"onUpdate:modelValue":M[7]||(M[7]=J=>l.visible=J),title:l.isNew?"添加远程节点":"编辑远程节点",width:"440px"},{footer:ae(()=>[I("button",{class:"w4f-btn ghost small",onClick:M[6]||(M[6]=J=>l.visible=!1)},"取消"),I("button",{class:"w4f-btn small",onClick:u},"保存")]),default:ae(()=>[I("div",_ce,[M[25]||(M[25]=I("label",null,"名称",-1)),Z(B,{modelValue:l.remote.name,"onUpdate:modelValue":M[0]||(M[0]=J=>l.remote.name=J),disabled:!l.isNew,placeholder:"如 aliyun-hz"},null,8,["modelValue","disabled"])]),I("div",Nce,[M[26]||(M[26]=I("label",null,"服务器 IP",-1)),Z(B,{modelValue:l.remote.ip,"onUpdate:modelValue":M[1]||(M[1]=J=>l.remote.ip=J),placeholder:"frps 地址"},null,8,["modelValue"])]),I("div",Ice,[M[27]||(M[27]=I("label",null,"端口",-1)),Z(L,{modelValue:l.remote.port,"onUpdate:modelValue":M[2]||(M[2]=J=>l.remote.port=J),min:1,max:65535},null,8,["modelValue"])]),I("div",Oce,[M[28]||(M[28]=I("label",null,"Token",-1)),Z(B,{modelValue:l.remote.token,"onUpdate:modelValue":M[3]||(M[3]=J=>l.remote.token=J),placeholder:"可选"},null,8,["modelValue"])]),I("div",Mce,[M[29]||(M[29]=I("label",null,"URL",-1)),Z(B,{modelValue:l.remote.url,"onUpdate:modelValue":M[4]||(M[4]=J=>l.remote.url=J),placeholder:"可选"},null,8,["modelValue"])]),I("div",Pce,[M[30]||(M[30]=I("label",null,"启用",-1)),Z(K,{modelValue:l.remote.enabled,"onUpdate:modelValue":M[5]||(M[5]=J=>l.remote.enabled=J)},null,8,["modelValue"])])]),_:1},8,["modelValue","title"])])}}}),Ace=Dl(Rce,[["__scopeId","data-v-3b790b1b"]]),Dce={class:"cluster-page"},Lce={class:"hero w4f-card"},Vce={key:0,class:"hero-stats"},Bce={class:"w4f-tag w4f-tag-info"},Fce=["title"],zce={key:0,class:"w4f-tag w4f-tag-primary"},Hce={key:1,class:"nodekey-bar"},Kce={class:"nk-value"},Wce={key:0,class:"kpis"},jce={class:"w4f-kpi"},Uce={class:"k-hdr"},Yce={class:"k-lab"},qce={class:"k-val"},Gce={class:"k-sub"},Xce={class:"w4f-kpi"},Zce={class:"k-val"},Jce={class:"w4f-kpi"},Qce={class:"k-hdr"},ede={class:"k-lab"},tde={class:"k-val"},nde={class:"w4f-kpi"},ode={class:"k-hdr"},ade={class:"k-lab"},lde={class:"k-val"},sde={class:"toolbar w4f-card"},rde=["disabled"],ide=["disabled"],ude={key:0,class:"act-hint"},cde={key:1,class:"act-hint"},dde=["disabled"],fde=["disabled"],pde={key:1,class:"cluster-body"},vde={class:"section w4f-card"},hde={class:"ring-line"},mde={class:"rn-top"},gde={class:"rn-id"},yde={key:0,class:"w4f-tag w4f-tag-primary"},bde={key:1,class:"w4f-tag w4f-tag-info"},wde={key:2,class:"w4f-tag w4f-tag-danger"},Sde={class:"rn-load-row"},Cde={class:"rn-load-label"},kde={class:"w4f-bar"},xde={class:"rn-addr"},Ede=["disabled","onClick"],$de={key:0,class:"ring-arrow"},Tde={key:0,class:"empty"},_de={key:0,class:"section w4f-card"},Nde={class:"task-list"},Ide={class:"tk-id"},Ode={class:"tk-name"},Mde={class:"tk-name"},Pde={class:"tk-name"},Rde={class:"tk-port"},Ade={class:"section w4f-card"},Dde={class:"topo-list"},Lde={class:"tp-id"},Vde={class:"tp-name"},Bde={class:"tp-name"},Fde={class:"tp-port"},zde={key:0,class:"empty"},Hde={class:"section w4f-card"},Kde={class:"section-title"},Wde={key:0,class:"log-count"},jde={class:"title-actions"},Ude=["disabled"],Yde=["disabled"],qde={class:"log-list"},Gde={class:"lg-seq"},Xde={class:"lg-time"},Zde={class:"lg-kind"},Jde={class:"lg-detail"},Qde={key:0,class:"empty"},efe={key:2,class:"empty-page w4f-card"},tfe={class:"form-row"},nfe={class:"form-row"},ofe=["disabled"],afe=ve({__name:"ClusterView",setup(e){const t=F(null),n=F(!1);let o=null,a=null;const l=Kt({visible:!1,addr:"",key:""}),s=async()=>{try{t.value=await un.ring()}catch{}},r=B=>B.length>22?"…"+B.slice(-20):B,u=async()=>{const B=t.value?.nodeKey;if(B)try{await navigator.clipboard.writeText(B),Ht.success("已复制加入密钥")}catch{Ht.error("复制失败,请手动选中复制")}},c=C(()=>!!t.value?.nodes.some(B=>B.id===t.value?.selfId)),d=C(()=>t.value?.nodes.filter(B=>B.alive).length??0),f=C(()=>d.value<=1||!c.value),v=C(()=>!!t.value&&t.value.nodes.length>1&&c.value),h=C(()=>!!t.value&&t.value.selfId===t.value.leaderId),g=C(()=>t.value?c.value?v.value?"运行中":"待加入":"已脱离":"未启动"),p=C(()=>t.value?c.value?v.value?"w4f-tag-ok":"w4f-tag-info":"w4f-tag-danger":"w4f-tag-warn"),m=C(()=>t.value?c.value?v.value?"":"pending":"err":""),y=F(Date.now());let b=null;const w=C(()=>{const B=t.value?.lastSync??0;if(!B)return"—";const L=Math.max(0,Math.floor(y.value/1e3)-B);return L<2?"刚刚":L<60?L+" 秒前":L<3600?Math.floor(L/60)+" 分钟前":Math.floor(L/3600)+" 小时前"}),S=C(()=>{const B=t.value?.lastSync??0;return B?Math.floor(y.value/1e3)-B>15:!1}),k=B=>{switch(B){case"forward.add":return"新增转发";case"forward.remove":return"撤销转发";case"node.join":return"节点加入";case"node.leave":return"节点离开";case"leader.change":return"leader 变更";default:return B}},x=B=>{switch(B){case"forward.add":return"add";case"forward.remove":return"remove";case"node.join":return"join";case"node.leave":return"leave";case"leader.change":return"leader";default:return""}},$=C(()=>[...t.value?.log??[]].reverse()),T=B=>{if(!B)return"--:--:--";const L=new Date(B*1e3),K=X=>String(X).padStart(2,"0");return`${K(L.getHours())}:${K(L.getMinutes())}:${K(L.getSeconds())}`},_=B=>{const L=B.data||{};switch(B.kind){case"forward.add":case"forward.remove":return`${L.local||"?"} → ${L.remote||"?"}${L.taskId?" · "+String(L.taskId).slice(-8):""}`;case"node.join":return`${L.node||"?"} @ ${L.addr||"?"}`;case"node.leave":return`${L.node||"?"}`;case"leader.change":return`→ ${L.leader||"?"}`;default:return L&&Object.keys(L).length?JSON.stringify(L):""}},A=B=>{const L=[...t.value?.log??[]].sort((ce,we)=>ce.seq-we.seq);if(!L.length)return;let K="",X="text/plain",J="log";if(B==="json")K=JSON.stringify(L,null,2),X="application/json",J="json";else{const ce="#seq time node kind detail",we=L.map(Se=>`#${Se.seq} ${T(Se.at)} ${r(Se.node)} ${Se.kind} ${_(Se)}`);K=[ce,...we].join(` +`)}const ne=new Blob([K],{type:X}),re=URL.createObjectURL(ne),Q=document.createElement("a");Q.href=re,Q.download=`cluster-log-${new Date().toISOString().slice(0,19).replace(/[:T]/g,"")}.${J}`,document.body.appendChild(Q),Q.click(),document.body.removeChild(Q),URL.revokeObjectURL(re)},D=F(!1),N=async()=>{D.value=!0;try{const B=await un.exportWorkerLogs(),L=new Blob([JSON.stringify(B,null,2)],{type:"application/json"}),K=URL.createObjectURL(L),X=document.createElement("a");X.href=K,X.download=`worker-logs-${new Date().toISOString().slice(0,19).replace(/[:T]/g,"")}.json`,document.body.appendChild(X),X.click(),document.body.removeChild(X),URL.revokeObjectURL(K);const J=(B.nodes||[]).filter(ne=>ne.ok).length;Ht.success(`已导出 worker 日志(${J}/${B.nodes?.length??0} 节点)`)}catch(B){Ht.error("导出失败: "+(B.message||B))}finally{D.value=!1}},W=B=>B.removeNode?"remove":B.revoke?"revoke":"pending",V=B=>B.removeNode?"移除节点":B.revoke?"撤销":"新增",H=async()=>{n.value=!0;try{t.value=await un.clusterCreate(),Ht.success("已创建集群(本节点为初始 leader)")}catch(B){Ht.error("创建失败: "+(B.message||B))}finally{n.value=!1,await s()}},P=async()=>{const B=l.addr.trim(),L=l.key.trim();if(!(!B||!L)){n.value=!0;try{t.value=await un.clusterJoinRing(B,L),l.visible=!1,l.addr="",l.key="",Ht.success(`已加入 ${B}`)}catch(K){Ht.error("加入失败: "+(K.message||K))}finally{n.value=!1,await s()}}},O=async()=>{if(t.value&&window.confirm("退出集群?本节点将取消一切集群远程转发并脱离环。")){n.value=!0;try{await un.clusterRemoveNode(t.value.selfId),Ht.success("退出指令已发布")}catch(B){Ht.error("退出失败: "+(B.message||B))}finally{n.value=!1,await s()}}},M=async B=>{if(window.confirm(`移除节点 ${r(B)} 出集群?`)){n.value=!0;try{await un.clusterRemoveNode(B),Ht.success("移除指令已发布")}catch(L){Ht.error("移除失败: "+(L.message||L))}finally{n.value=!1,await s()}}};return at(()=>{s(),o=window.setInterval(s,2e3),b=window.setInterval(()=>{y.value=Date.now()},1e3),a=()=>{document.hidden||s()},document.addEventListener("visibilitychange",a)}),Ft(()=>{o!==null&&(clearInterval(o),o=null),b!==null&&(clearInterval(b),b=null),a&&(document.removeEventListener("visibilitychange",a),a=null)}),(B,L)=>{const K=yt("el-dropdown-item"),X=yt("el-dropdown-menu"),J=yt("el-dropdown"),ne=yt("el-input"),re=yt("el-dialog");return E(),z("div",Dce,[I("div",Lce,[L[10]||(L[10]=I("div",{class:"hero-left"},[I("h2",{class:"page-title"},"集群令牌环"),I("span",{class:"page-sub"},"令牌环网 · 转发编排")],-1)),t.value?(E(),z("div",Vce,[I("span",{class:R(["w4f-tag",p.value])},[I("span",{class:R(["w4f-dot",m.value])},null,2),Oe(me(g.value),1)],2),I("span",Bce,[I("b",null,me(d.value),1),L[5]||(L[5]=Oe(" 成员",-1))]),I("span",{class:"w4f-tag w4f-tag-primary",title:"cycle "+t.value.cycle},[L[6]||(L[6]=Oe("上次同步 ",-1)),I("b",null,me(w.value),1)],8,Fce),h.value?(E(),z("span",zce,[...L[7]||(L[7]=[I("span",{class:"crown"},"♔",-1),Oe(" 本机 leader",-1)])])):se("",!0)])):se("",!0),t.value?.nodeKey?(E(),z("div",Hce,[L[8]||(L[8]=I("span",{class:"nk-label"},"本节点加入密钥",-1)),I("code",Kce,me(t.value.nodeKey),1),I("button",{class:"w4f-btn ghost small",onClick:u},"复制"),L[9]||(L[9]=I("span",{class:"nk-hint"},"其他节点通过本节点加入集群时需提供此密钥",-1))])):se("",!0)]),t.value?(E(),z("div",Wce,[I("div",jce,[I("div",Uce,[I("span",Yce,[I("span",{class:R(["w4f-dot",{err:d.value===0}])},null,2),L[11]||(L[11]=Oe("环节点",-1))]),L[12]||(L[12]=I("span",{class:"k-ic"},"○",-1))]),I("div",qce,me(t.value.nodes.length),1),I("div",Gce,"活跃 "+me(d.value)+" · 离线 "+me(t.value.nodes.length-d.value),1)]),I("div",Xce,[L[13]||(L[13]=I("div",{class:"k-hdr"},[I("span",{class:"k-lab"},[I("span",{class:"w4f-dot"}),Oe("活跃转发")]),I("span",{class:"k-ic"},"→")],-1)),I("div",Zce,me(t.value.topology.length),1)]),I("div",Jce,[I("div",Qce,[I("span",ede,[I("span",{class:R(["w4f-dot",{pending:t.value.pending.length>0}])},null,2),L[14]||(L[14]=Oe("待办命令",-1))]),L[15]||(L[15]=I("span",{class:"k-ic"},"⚙",-1))]),I("div",tde,me(t.value.pending.length),1)]),I("div",nde,[I("div",ode,[I("span",ade,[I("span",{class:R(["w4f-dot",{err:S.value}])},null,2),L[16]||(L[16]=Oe("上次同步",-1))]),L[17]||(L[17]=I("span",{class:"k-ic"},"⟳",-1))]),I("div",lde,me(w.value),1)])])):se("",!0),I("div",sde,[v.value?(E(),z(Me,{key:1},[I("button",{class:"w4f-btn danger",disabled:n.value,onClick:O},"⏏ 退出集群",8,dde),L[18]||(L[18]=I("span",{class:"act-hint"},"退出后本节点仅保留 localOnly 转发;可重新创建/加入",-1))],64)):(E(),z(Me,{key:0},[I("button",{class:"w4f-btn",disabled:n.value,onClick:H},"⊕ 创建集群",8,rde),I("button",{class:"w4f-btn ghost",disabled:n.value,onClick:L[0]||(L[0]=Q=>l.visible=!0)},"↪ 加入集群…",8,ide),f.value&&h.value?(E(),z("span",ude,"本节点为初始 leader,已就绪;可直接创建,或输入对端地址加入既有集群")):c.value?se("",!0):(E(),z("span",cde,"本节点已脱离集群,可创建新集群或加入既有集群"))],64)),I("button",{class:"w4f-btn ghost small",style:{"margin-left":"auto"},disabled:n.value,onClick:s},"⟳ 刷新",8,fde)]),t.value?(E(),z("div",pde,[I("section",vde,[L[19]||(L[19]=I("h3",{class:"section-title"},[I("span",{class:"k-ic"},"○"),Oe("环拓扑")],-1)),I("div",hde,[(E(!0),z(Me,null,dt(t.value.nodes,(Q,ce)=>(E(),z(Me,{key:Q.id},[I("div",{class:R(["ring-node",{leader:Q.id===t.value.leaderId,dead:!Q.alive,self:Q.id===t.value.selfId}])},[I("div",mde,[I("span",gde,me(r(Q.id)),1),Q.id===t.value.selfId?(E(),z("span",yde,"本机")):se("",!0),Q.id===t.value.leaderId?(E(),z("span",bde,"LEADER")):se("",!0),Q.alive?se("",!0):(E(),z("span",wde,"离线"))]),I("div",Sde,[I("span",Cde,"负载 "+me(Math.round(Q.load.memPct+Q.load.netPct)),1),I("div",kde,[I("i",{style:Be({width:Math.min(100,Q.load.memPct+Q.load.netPct)+"%"})},null,4)])]),I("div",xde,me(Q.addr),1),Q.id!==t.value.selfId&&Q.alive?(E(),z("button",{key:0,class:"w4f-btn danger small rn-remove",disabled:n.value,onClick:we=>M(Q.id)},"移除节点",8,Ede)):se("",!0)],2),ce(E(),z("div",{key:Q.id,class:R(["task-row",W(Q)])},[I("span",Ide,me(Q.id),1),I("span",{class:R(["w4f-tag",Q.removeNode||Q.revoke?"w4f-tag-danger":"w4f-tag-primary"])},me(V(Q)),3),Q.removeNode?(E(),z(Me,{key:0},[L[20]||(L[20]=I("span",{class:"tk-arrow"},"→",-1)),I("span",Ode,"移除节点 "+me(r(Q.removeNode)),1)],64)):(E(),z(Me,{key:1},[I("span",Mde,me(Q.local.name),1),L[21]||(L[21]=I("span",{class:"tk-arrow"},"→",-1)),I("span",Pde,me(Q.remote.name),1),I("span",Rde,":"+me(Q.link?.remotePort),1)],64))],2))),128))])])):se("",!0),I("section",Ade,[L[24]||(L[24]=I("h3",{class:"section-title"},[I("span",{class:"k-ic"},"→"),Oe("活跃转发拓扑")],-1)),I("div",Dde,[(E(!0),z(Me,null,dt(t.value.topology,Q=>(E(),z("div",{key:Q.taskId,class:"topo-row"},[I("span",Lde,me(Q.taskId),1),I("span",Vde,me(Q.local.name),1),L[23]||(L[23]=I("span",{class:"tk-arrow"},"→",-1)),I("span",Bde,me(Q.remote.name),1),I("span",Fde,":"+me(Q.link?.remotePort),1),I("span",{class:R(["tp-owner",{self:Q.ownerId===t.value.selfId}])},"owner: "+me(r(Q.ownerId)),3),I("span",{class:R(["w4f-tag",Q.active?"w4f-tag-ok":"w4f-tag-danger"])},me(Q.active?"运行中":"已停"),3)]))),128)),t.value.topology.length?se("",!0):(E(),z("div",zde,"暂无活跃转发(画布编辑后将经令牌分发)"))])]),I("section",Hde,[I("h3",Kde,[L[27]||(L[27]=I("span",{class:"k-ic"},"≣",-1)),L[28]||(L[28]=Oe("集群日志 ",-1)),t.value.log.length?(E(),z("span",Wde,me(t.value.log.length)+" 条",1)):se("",!0),I("div",jde,[Z(J,{trigger:"click",onCommand:A,disabled:!t.value.log.length},{dropdown:ae(()=>[Z(X,null,{default:ae(()=>[Z(K,{command:"json"},{default:ae(()=>[...L[25]||(L[25]=[Oe("JSON(完整结构)",-1)])]),_:1}),Z(K,{command:"txt"},{default:ae(()=>[...L[26]||(L[26]=[Oe("文本(可读 TSV)",-1)])]),_:1})]),_:1})]),default:ae(()=>[I("button",{class:"w4f-btn ghost small",disabled:!t.value.log.length},"⤓ 导出",8,Ude)]),_:1},8,["disabled"]),I("button",{class:"w4f-btn ghost small",disabled:D.value,onClick:N}," ⤓ 导出 worker 日志 ",8,Yde)])]),I("div",qde,[(E(!0),z(Me,null,dt($.value,Q=>(E(),z("div",{key:Q.seq,class:R(["log-row",x(Q.kind)])},[I("span",Gde,"#"+me(Q.seq),1),I("span",Xde,me(T(Q.at)),1),I("span",{class:R(["lg-node",{self:Q.node===t.value.selfId}])},me(r(Q.node)),3),I("span",Zde,me(k(Q.kind)),1),I("span",Jde,me(_(Q)),1)],2))),128)),$.value.length?se("",!0):(E(),z("div",Qde,"日志为空"))])])])):(E(),z("div",efe,"集群未启动(无环节点)")),Z(re,{modelValue:l.visible,"onUpdate:modelValue":L[4]||(L[4]=Q=>l.visible=Q),title:"加入集群",width:"420px"},{footer:ae(()=>[I("button",{class:"w4f-btn ghost small",onClick:L[3]||(L[3]=Q=>l.visible=!1)},"取消"),I("button",{class:"w4f-btn small",disabled:n.value||!l.addr.trim()||!l.key.trim(),onClick:P},"加入",8,ofe)]),default:ae(()=>[I("div",tfe,[L[29]||(L[29]=I("label",null,"对端地址",-1)),Z(ne,{modelValue:l.addr,"onUpdate:modelValue":L[1]||(L[1]=Q=>l.addr=Q),placeholder:"对端 IP:port(如 192.168.1.10:7500)",onKeyup:rn(P,["enter"])},null,8,["modelValue"])]),I("div",nfe,[L[30]||(L[30]=I("label",null,"加入密钥",-1)),Z(ne,{modelValue:l.key,"onUpdate:modelValue":L[2]||(L[2]=Q=>l.key=Q),placeholder:"对端节点的加入密钥(nodeKey)",onKeyup:rn(P,["enter"])},null,8,["modelValue"])]),L[31]||(L[31]=I("div",{class:"form-hint"},"填入对端节点可被本机路由到达的真实 IP:port(或域名:port),本节点将向对端请求加入并采纳其环状态,令牌到达即并入环。需提供对端节点的加入密钥以通过验证。",-1))]),_:1},8,["modelValue"])])}}}),lfe=Dl(afe,[["__scopeId","data-v-522b4320"]]),sfe={class:"users-view"},rfe={class:"card"},ife={class:"card-h"},ufe={key:1,class:"muted"},cfe={class:"card"},dfe={class:"card-h"},ffe={class:"muted"},pfe={key:1,class:"key-result"},vfe=ve({__name:"UsersView",setup(e){const t=F([]),n=F([]),o=async()=>{const T=await un.listUsers();t.value=T.users},a=async()=>{const T=await un.listApiKeys();n.value=T.apiKeys};at(async()=>{await Promise.all([o(),a()])});const l=T=>T?new Date(T*1e3).toLocaleString("zh-CN",{hour12:!1}):"—",s=T=>t.value.find(_=>_.id===T)?.username??`#${T}`,r=T=>T==="admin"?"danger":T==="write"?"warning":"info",u=F(!1),c=F(null),d=F(!1),f=F({username:"",password:"",role:"viewer",enabled:!0}),v=()=>{c.value=null,f.value={username:"",password:"",role:"viewer",enabled:!0},u.value=!0},h=T=>{c.value=T,f.value={username:T.username,password:"",role:T.role,enabled:T.enabled},u.value=!0},g=async()=>{d.value=!0;try{if(c.value){const T={role:f.value.role,enabled:f.value.enabled};f.value.password&&(T.password=f.value.password),await un.updateUser(c.value.username,T),Ht.success("已更新")}else{if(!f.value.username||!f.value.password){Ht.warning("用户名和密码必填"),d.value=!1;return}await un.createUser(f.value.username,f.value.password,f.value.role),Ht.success("已创建")}u.value=!1,await o()}catch(T){Ht.error("失败: "+(T.message||T))}finally{d.value=!1}},p=async T=>{try{await Us.confirm(`确认删除账号 ${T.username}?`,"删除账号",{type:"warning"})}catch{return}try{await un.deleteUser(T.username),Ht.success("已删除"),await o()}catch(_){Ht.error("删除失败: "+(_.message||_))}},m=F(!1),y=F(!1),b=F(""),w=F({userId:0,label:"",scope:"read"}),S=()=>{w.value={userId:t.value.find(T=>!T.system)?.id??t.value[0]?.id??0,label:"",scope:"read"},b.value="",m.value=!0},k=async()=>{if(!w.value.userId){Ht.warning("请选择归属用户");return}y.value=!0;try{const T=await un.createApiKey(w.value.userId,w.value.label,w.value.scope);b.value=T.key,await a()}catch(T){Ht.error("创建失败: "+(T.message||T))}finally{y.value=!1}},x=async()=>{try{await navigator.clipboard.writeText(b.value),Ht.success("已复制")}catch{Ht.warning("复制失败,请手动选择")}},$=async T=>{try{await Us.confirm(`确认吊销密钥 ${T.label} (${T.prefix}…)?`,"吊销密钥",{type:"warning"})}catch{return}try{await un.deleteApiKey(T.id),Ht.success("已吊销"),await a()}catch(_){Ht.error("吊销失败: "+(_.message||_))}};return(T,_)=>{const A=yt("el-button"),D=yt("el-table-column"),N=yt("el-tag"),W=yt("el-table"),V=yt("el-input"),H=yt("el-form-item"),P=yt("el-option"),O=yt("el-select"),M=yt("el-switch"),B=yt("el-form"),L=yt("el-dialog");return E(),z("div",sfe,[I("section",rfe,[I("header",ife,[_[15]||(_[15]=I("h3",null,"账号",-1)),Z(A,{type:"primary",size:"small",onClick:v},{default:ae(()=>[..._[14]||(_[14]=[Oe("+ 新建账号",-1)])]),_:1})]),Z(W,{data:t.value,size:"small",stripe:"","empty-text":"暂无账号"},{default:ae(()=>[Z(D,{prop:"username",label:"用户名","min-width":"140"}),Z(D,{label:"角色",width:"110"},{default:ae(({row:K})=>[Z(N,{size:"small",type:K.role==="admin"?"danger":"info"},{default:ae(()=>[Oe(me(K.role==="admin"?"管理员":"审计(viewer)"),1)]),_:2},1032,["type"])]),_:1}),Z(D,{label:"状态",width:"90"},{default:ae(({row:K})=>[Z(N,{size:"small",type:K.enabled?"success":"warning"},{default:ae(()=>[Oe(me(K.enabled?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),Z(D,{label:"来源",width:"110"},{default:ae(({row:K})=>[K.system?(E(),fe(N,{key:0,size:"small",type:"warning"},{default:ae(()=>[..._[16]||(_[16]=[Oe("内置(flag)",-1)])]),_:1})):(E(),z("span",ufe,"手动"))]),_:1}),Z(D,{label:"创建时间",width:"170"},{default:ae(({row:K})=>[Oe(me(l(K.createdAt)),1)]),_:1}),Z(D,{label:"最后登录",width:"170"},{default:ae(({row:K})=>[Oe(me(K.lastLoginAt?l(K.lastLoginAt):"—"),1)]),_:1}),Z(D,{label:"操作",width:"180",fixed:"right"},{default:ae(({row:K})=>[Z(A,{size:"small",onClick:X=>h(K),disabled:K.system},{default:ae(()=>[..._[17]||(_[17]=[Oe("编辑",-1)])]),_:1},8,["onClick","disabled"]),Z(A,{size:"small",type:"danger",plain:"",onClick:X=>p(K),disabled:K.system},{default:ae(()=>[..._[18]||(_[18]=[Oe(" 删除 ",-1)])]),_:1},8,["onClick","disabled"])]),_:1})]),_:1},8,["data"])]),I("section",cfe,[I("header",dfe,[_[20]||(_[20]=I("h3",null,"API 密钥",-1)),Z(A,{type:"primary",size:"small",onClick:S},{default:ae(()=>[..._[19]||(_[19]=[Oe("+ 新建密钥",-1)])]),_:1})]),Z(W,{data:n.value,size:"small",stripe:"","empty-text":"暂无密钥"},{default:ae(()=>[Z(D,{prop:"label",label:"标签","min-width":"140"}),Z(D,{label:"作用域",width:"100"},{default:ae(({row:K})=>[Z(N,{size:"small",type:r(K.scope)},{default:ae(()=>[Oe(me(K.scope),1)]),_:2},1032,["type"])]),_:1}),Z(D,{label:"归属用户",width:"140"},{default:ae(({row:K})=>[Oe(me(s(K.userId)),1)]),_:1}),Z(D,{prop:"prefix",label:"前缀",width:"120"}),Z(D,{label:"创建时间",width:"170"},{default:ae(({row:K})=>[Oe(me(l(K.createdAt)),1)]),_:1}),Z(D,{label:"最近使用",width:"170"},{default:ae(({row:K})=>[Oe(me(K.lastUsedAt?l(K.lastUsedAt):"—"),1)]),_:1}),Z(D,{label:"操作",width:"110",fixed:"right"},{default:ae(({row:K})=>[Z(A,{size:"small",type:"danger",plain:"",onClick:X=>$(K)},{default:ae(()=>[..._[21]||(_[21]=[Oe("吊销",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),Z(L,{modelValue:u.value,"onUpdate:modelValue":_[6]||(_[6]=K=>u.value=K),title:c.value?"编辑账号":"新建账号",width:"420px"},{footer:ae(()=>[Z(A,{onClick:_[5]||(_[5]=K=>u.value=!1)},{default:ae(()=>[..._[22]||(_[22]=[Oe("取消",-1)])]),_:1}),Z(A,{type:"primary",onClick:g,loading:d.value},{default:ae(()=>[..._[23]||(_[23]=[Oe("保存",-1)])]),_:1},8,["loading"])]),default:ae(()=>[Z(B,{"label-width":"86px",onSubmit:_[4]||(_[4]=Xe(()=>{},["prevent"]))},{default:ae(()=>[c.value?(E(),fe(H,{key:1,label:"用户名"},{default:ae(()=>[I("span",ffe,me(f.value.username),1)]),_:1})):(E(),fe(H,{key:0,label:"用户名"},{default:ae(()=>[Z(V,{modelValue:f.value.username,"onUpdate:modelValue":_[0]||(_[0]=K=>f.value.username=K),autocomplete:"off"},null,8,["modelValue"])]),_:1})),Z(H,{label:c.value?"新密码":"密码"},{default:ae(()=>[Z(V,{modelValue:f.value.password,"onUpdate:modelValue":_[1]||(_[1]=K=>f.value.password=K),type:"password","show-password":"",placeholder:c.value?"留空则不改":"",autocomplete:"new-password"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),Z(H,{label:"角色"},{default:ae(()=>[Z(O,{modelValue:f.value.role,"onUpdate:modelValue":_[2]||(_[2]=K=>f.value.role=K),disabled:c.value&&c.value?.system},{default:ae(()=>[Z(P,{label:"管理员 (admin)",value:"admin"}),Z(P,{label:"审计 (viewer)",value:"viewer"})]),_:1},8,["modelValue","disabled"])]),_:1}),c.value?(E(),fe(H,{key:2,label:"启用"},{default:ae(()=>[Z(M,{modelValue:f.value.enabled,"onUpdate:modelValue":_[3]||(_[3]=K=>f.value.enabled=K),disabled:c.value?.system},null,8,["modelValue","disabled"])]),_:1})):se("",!0)]),_:1})]),_:1},8,["modelValue","title"]),Z(L,{modelValue:m.value,"onUpdate:modelValue":_[13]||(_[13]=K=>m.value=K),title:"新建 API 密钥",width:"440px"},{footer:ae(()=>[Z(A,{onClick:_[12]||(_[12]=K=>m.value=!1)},{default:ae(()=>[Oe(me(b.value?"关闭":"取消"),1)]),_:1}),b.value?se("",!0):(E(),fe(A,{key:0,type:"primary",onClick:k,loading:y.value},{default:ae(()=>[..._[27]||(_[27]=[Oe("生成",-1)])]),_:1},8,["loading"]))]),default:ae(()=>[b.value?(E(),z("div",pfe,[_[25]||(_[25]=I("p",{class:"warn"},"密钥仅显示一次,请立即复制保存:",-1)),Z(V,{modelValue:b.value,"onUpdate:modelValue":_[11]||(_[11]=K=>b.value=K),readonly:""},{append:ae(()=>[Z(A,{onClick:x},{default:ae(()=>[..._[24]||(_[24]=[Oe("复制",-1)])]),_:1})]),_:1},8,["modelValue"]),_[26]||(_[26]=I("p",{class:"hint"},[Oe("使用方式:请求头 "),I("code",null,"Authorization: Bearer ")],-1))])):(E(),fe(B,{key:0,"label-width":"86px",onSubmit:_[10]||(_[10]=Xe(()=>{},["prevent"]))},{default:ae(()=>[Z(H,{label:"归属用户"},{default:ae(()=>[Z(O,{modelValue:w.value.userId,"onUpdate:modelValue":_[7]||(_[7]=K=>w.value.userId=K),placeholder:"选择用户"},{default:ae(()=>[(E(!0),z(Me,null,dt(t.value,K=>(E(),fe(P,{key:K.id,label:K.username,value:K.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),Z(H,{label:"标签"},{default:ae(()=>[Z(V,{modelValue:w.value.label,"onUpdate:modelValue":_[8]||(_[8]=K=>w.value.label=K),placeholder:"如 ci-deploy"},null,8,["modelValue"])]),_:1}),Z(H,{label:"作用域"},{default:ae(()=>[Z(O,{modelValue:w.value.scope,"onUpdate:modelValue":_[9]||(_[9]=K=>w.value.scope=K)},{default:ae(()=>[Z(P,{label:"read — 只读 + 导出",value:"read"}),Z(P,{label:"write — 改转发/worker/设置",value:"write"}),Z(P,{label:"admin — 全量 (含账号管理)",value:"admin"})]),_:1},8,["modelValue"])]),_:1})]),_:1}))]),_:1},8,["modelValue"])])}}}),hfe=Dl(vfe,[["__scopeId","data-v-35347cd7"]]),mfe={class:"app-shell"},gfe={class:"sidebar"},yfe={class:"sb-nav"},bfe=["onClick"],wfe=["innerHTML"],Sfe={class:"label"},Cfe={class:"sb-foot"},kfe={key:0,class:"sb-identity"},xfe={class:"id-name"},Efe={class:"sb-theme",role:"group","aria-label":"主题"},$fe={class:"main"},Tfe={class:"breadcrumb"},_fe={class:"crumb"},Nfe={class:"content"},Ife=ve({__name:"App",setup(e){const t=F("status");at(()=>{Die()});const n=C(()=>Gs.value==="admin"?"管理员":Gs.value==="write"?"写":"只读"),a=F(["white","blue","pink"].includes(document.documentElement.getAttribute("data-theme")||"")?document.documentElement.getAttribute("data-theme"):"white"),l=c=>{a.value=c,document.documentElement.setAttribute("data-theme",c),localStorage.setItem("w4f-theme",c)},s=[{key:"status",label:"状态",icon:''},{key:"canvas",label:"连接配置",icon:''},{key:"settings",label:"设置",icon:''},{key:"cluster",label:"集群",icon:''},{key:"users",label:"账号与密钥",adminOnly:!0,icon:''}],r=C(()=>s.filter(c=>!c.adminOnly||Im.value&&Aie.value)),u=C(()=>r.value.find(c=>c.key===t.value)?.label??"");return(c,d)=>(E(),z(Me,null,[d[4]||(d[4]=I("div",{id:"bgfx","aria-hidden":"true"},[I("i",{class:"blob b1"}),I("i",{class:"blob b2"}),I("i",{class:"blob b3"})],-1)),I("div",mfe,[I("aside",gfe,[d[3]||(d[3]=I("div",{class:"sb-brand"},[I("img",{class:"sb-logo",src:Kte,alt:"webui4frpc"}),I("span",{class:"sb-brand-text"},[I("b",null,"webui4frpc"),I("small",null,"令牌环 · 转发编排")])],-1)),I("nav",yfe,[(E(!0),z(Me,null,dt(r.value,f=>(E(),z("button",{key:f.key,class:R(["sb-i",{active:t.value===f.key}]),onClick:v=>t.value=f.key},[I("span",{class:"ic",innerHTML:f.icon},null,8,wfe),I("span",Sfe,me(f.label),1)],10,bfe))),128))]),I("div",Cfe,[i(Im)?(E(),z("div",kfe,[I("span",xfe,me(i(Nm)||"匿名"),1),I("span",{class:R(["id-level",i(Gs)])},me(n.value),3)])):se("",!0),I("div",Efe,[I("button",{class:R(["sw white",{on:a.value==="white"}]),title:"白色",onClick:d[0]||(d[0]=f=>l("white"))},null,2),I("button",{class:R(["sw blue",{on:a.value==="blue"}]),title:"蓝色",onClick:d[1]||(d[1]=f=>l("blue"))},null,2),I("button",{class:R(["sw pink",{on:a.value==="pink"}]),title:"粉色",onClick:d[2]||(d[2]=f=>l("pink"))},null,2)])])]),I("div",$fe,[I("div",Tfe,[I("span",_fe,me(u.value),1)]),I("main",Nfe,[t.value==="canvas"?(E(),fe(Gie,{key:0})):t.value==="settings"?(E(),fe(uue,{key:1})):t.value==="cluster"?(E(),fe(lfe,{key:2})):t.value==="users"?(E(),fe(hfe,{key:3})):(E(),fe(Ace,{key:4}))])])])],64))}}),Ofe=Dl(Ife,[["__scopeId","data-v-48c4803f"]]);(function(){try{const t=localStorage.getItem("w4f-theme");(t==="blue"||t==="pink")&&document.documentElement.setAttribute("data-theme",t)}catch{}})();const Qy=rk(Ofe);Qy.use(oO());Qy.use(Hte);Qy.mount("#app")});export default Mfe(); diff --git a/internal/httpapi/dist/assets/index-CL42Ur3_.css b/internal/httpapi/dist/assets/index-CL42Ur3_.css new file mode 100644 index 0000000..8c09834 --- /dev/null +++ b/internal/httpapi/dist/assets/index-CL42Ur3_.css @@ -0,0 +1 @@ +@charset "UTF-8";:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);background-color:var(--el-color-white);opacity:1;transition:opacity var(--el-transition-duration-fast);align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{flex-direction:column;gap:4px;display:flex}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;cursor:pointer;position:absolute;top:12px;right:16px}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;width:var(--el-input-width);display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{cursor:pointer;color:var(--el-text-color-regular);line-height:34px;font-size:var(--el-font-size-base);text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 20px;list-style:none;overflow:hidden}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{cursor:default;height:100px;color:var(--el-text-color-secondary);justify-content:center;align-items:center;font-size:20px;display:flex}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-avatar-group{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px;display:inline-flex}.el-avatar-group .el-avatar{border:1px solid var(--el-border-color-extra-light)}.el-avatar-group .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-item-gap)}.el-avatar-group__collapse-avatars{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px}.el-avatar-group__collapse-avatars .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-collapse-item-gap)}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);background-color:var(--el-backtop-bg-color);width:40px;height:40px;color:var(--el-backtop-text-color);box-shadow:var(--el-box-shadow-lighter);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:-moz-fit-content;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);justify-content:space-between;padding:12px 20px;display:flex}.el-calendar__title{color:var(--el-text-color);align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar__select-controller .el-select{margin-right:8px}.el-calendar__select-controller .el-calendar-select__year{width:120px}.el-calendar__select-controller .el-calendar-select__month{width:60px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);padding:12px 0;font-weight:400}.el-calendar-table:not(.is-range) td.prev,.el-calendar-table:not(.is-range) td.next{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);vertical-align:top;transition:background-color var(--el-transition-duration-fast) ease}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);color:var(--el-text-color-primary);transition:var(--el-transition-duration);flex-direction:column;display:flex;overflow:hidden}.el-card.is-always-shadow,.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding);flex-grow:1;overflow:auto}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box}.el-carousel__item{width:100%;height:100%;z-index:calc(var(--el-index-normal) - 1);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%;transition:transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage:hover .el-carousel__mask,.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{width:100%;height:50%}.el-carousel__mask{background-color:var(--el-color-white);opacity:.24;width:100%;height:100%;transition:var(--el-transition-duration-fast);position:absolute;top:0;left:0}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:#1f2d3d1c;--el-carousel-arrow-hover-background:#1f2d3d3b;--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel.is-vertical-outside{flex-direction:row;align-items:center;display:flex}.el-carousel.is-vertical-outside .el-carousel__container{flex:1}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{height:var(--el-carousel-arrow-size);width:var(--el-carousel-arrow-size);cursor:pointer;transition:var(--el-transition-duration);background-color:var(--el-carousel-arrow-background);color:#fff;z-index:10;text-align:center;font-size:var(--el-carousel-arrow-font-size);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{z-index:calc(var(--el-index-normal) + 1);margin:0;padding:0;list-style:none;position:absolute}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{top:50%;right:0;transform:translateY(-50%)}.el-carousel__indicators--outside{text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels .el-carousel__button{color:#000;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{cursor:pointer;background-color:#0000}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal);display:inline-block}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{width:var(--el-carousel-indicator-height);height:calc(var(--el-carousel-indicator-width) / 2)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{opacity:.48;width:var(--el-carousel-indicator-width);height:var(--el-carousel-indicator-height);cursor:pointer;transition:var(--el-transition-duration);background-color:#fff;border:none;outline:none;margin:0;padding:0;display:block}.el-carousel__indicators--labels .el-carousel__button{width:auto;height:auto}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%)translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%)translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);width:-moz-fit-content;width:fit-content;font-size:var(--el-cascader-menu-font-size);display:flex}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{box-sizing:border-box;min-width:180px;color:var(--el-cascader-menu-text-color);border-right:var(--el-cascader-menu-border)}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;min-height:100%;margin:0;padding:6px 0;list-style:none;position:relative}.el-cascader-menu__list.el-vl__window{margin:6px 0;padding:0}.el-cascader-menu__list.el-vl__window ul{margin:0;padding:0}.el-cascader-menu__hover-zone{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.el-cascader-menu__empty-text{color:var(--el-cascader-color-empty);align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{box-sizing:border-box;outline:none;align-items:center;height:34px;padding:0 30px 0 20px;line-height:34px;display:flex;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-selectable.in-checked-path,.el-cascader-node.is-active{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):hover,.el-cascader-node:not(.is-disabled):focus{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;overflow:hidden}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);vertical-align:middle;font-size:var(--el-font-size-base);outline:none;line-height:32px;display:inline-block;position:relative}.el-cascader:not(.is-disabled):hover .el-input__wrapper{cursor:pointer;box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:read-only{cursor:pointer}.el-cascader .el-input .el-input__inner:disabled{cursor:not-allowed}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{transition:transform var(--el-transition-duration);font-size:14px}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{z-index:calc(var(--el-index-normal) + 1);color:var(--el-disabled-text-color)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);font-size:var(--el-cascader-menu-font-size);border-radius:var(--el-cascader-menu-radius)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border);box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{text-align:left;box-sizing:border-box;flex-wrap:wrap;gap:6px;padding:4px;line-height:normal;display:flex;position:absolute;top:50%;left:0;right:30px;transform:translateY(-50%)}.el-cascader__tags .el-tag{text-overflow:ellipsis;background:var(--el-cascader-tag-background);align-items:center;max-width:100%;display:inline-flex}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{text-overflow:ellipsis;background:var(--el-fill-color);align-items:center;max-width:100%;display:inline-flex}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-wrap{max-height:204px}.el-cascader__suggestion-list{font-size:var(--el-font-size-base);color:var(--el-cascader-menu-text-color);text-align:center;margin:0;padding:6px 0;list-style:none}.el-cascader__suggestion-list.el-vl__window{margin:6px 0;padding:0}.el-cascader__suggestion-list.el-vl__window ul{margin:0;padding:0}.el-cascader__suggestion-item{text-align:left;cursor:pointer;box-sizing:border-box;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 15px;display:flex}.el-cascader__suggestion-item:hover,.el-cascader__suggestion-item:focus{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>:not(.el-icon){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__suggestion-item .el-icon{flex-shrink:0}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{min-width:60px;height:24px;color:var(--el-cascader-menu-text-color);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;margin-left:7px;padding:0}.el-cascader__search-input::placeholder{color:#0000}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;font-size:var(--el-font-size-base);line-height:var(--el-font-size-base);transition:var(--el-transition-all);padding:7px 15px;font-weight:700;display:inline-block}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{background-color:var(--el-color-success-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{background-color:var(--el-color-warning-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{background-color:var(--el-color-danger-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{background-color:var(--el-color-error-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);--el-checkbox-button-disabled-checked-fill:var(--el-border-color-extra-light);display:inline-block;position:relative}.el-checkbox-button__inner{line-height:1;font-weight:var(--el-checkbox-font-weight);white-space:nowrap;vertical-align:middle;cursor:pointer;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:var(--el-checkbox-button-checked-text-color);background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button.is-disabled.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-disabled-checked-fill)}.el-checkbox-button:first-child .el-checkbox-button__inner{border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{min-height:1px;display:block}.el-col-0{flex:0 0;max-width:0%;display:none}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6667%}.el-col-pull-4{position:relative;right:16.6667%}.el-col-push-4{position:relative;left:16.6667%}.el-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333%}.el-col-pull-5{position:relative;right:20.8333%}.el-col-push-5{position:relative;left:20.8333%}.el-col-6{flex:0 0 25%;max-width:25%;display:block}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1667%}.el-col-pull-7{position:relative;right:29.1667%}.el-col-push-7{position:relative;left:29.1667%}.el-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333%}.el-col-pull-8{position:relative;right:33.3333%}.el-col-push-8{position:relative;left:33.3333%}.el-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6667%}.el-col-pull-10{position:relative;right:41.6667%}.el-col-push-10{position:relative;left:41.6667%}.el-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333%}.el-col-pull-11{position:relative;right:45.8333%}.el-col-push-11{position:relative;left:45.8333%}.el-col-12{flex:0 0 50%;max-width:50%;display:block}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1667%}.el-col-pull-13{position:relative;right:54.1667%}.el-col-push-13{position:relative;left:54.1667%}.el-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333%}.el-col-pull-14{position:relative;right:58.3333%}.el-col-push-14{position:relative;left:58.3333%}.el-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6667%}.el-col-pull-16{position:relative;right:66.6667%}.el-col-push-16{position:relative;left:66.6667%}.el-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333%}.el-col-pull-17{position:relative;right:70.8333%}.el-col-push-17{position:relative;left:70.8333%}.el-col-18{flex:0 0 75%;max-width:75%;display:block}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1667%}.el-col-pull-19{position:relative;right:79.1667%}.el-col-push-19{position:relative;left:79.1667%}.el-col-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333%}.el-col-pull-20{position:relative;right:83.3333%}.el-col-push-20{position:relative;left:83.3333%}.el-col-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6667%}.el-col-pull-22{position:relative;right:91.6667%}.el-col-push-22{position:relative;left:91.6667%}.el-col-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333%}.el-col-pull-23{position:relative;right:95.8333%}.el-col-push-23{position:relative;left:95.8333%}.el-col-24{flex:0 0 100%;max-width:100%;display:block}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{flex:0 0;max-width:0%;display:none}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6667%}.el-col-xs-pull-4{position:relative;right:16.6667%}.el-col-xs-push-4{position:relative;left:16.6667%}.el-col-xs-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333%}.el-col-xs-pull-5{position:relative;right:20.8333%}.el-col-xs-push-5{position:relative;left:20.8333%}.el-col-xs-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1667%}.el-col-xs-pull-7{position:relative;right:29.1667%}.el-col-xs-push-7{position:relative;left:29.1667%}.el-col-xs-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333%}.el-col-xs-pull-8{position:relative;right:33.3333%}.el-col-xs-push-8{position:relative;left:33.3333%}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6667%}.el-col-xs-pull-10{position:relative;right:41.6667%}.el-col-xs-push-10{position:relative;left:41.6667%}.el-col-xs-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333%}.el-col-xs-pull-11{position:relative;right:45.8333%}.el-col-xs-push-11{position:relative;left:45.8333%}.el-col-xs-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1667%}.el-col-xs-pull-13{position:relative;right:54.1667%}.el-col-xs-push-13{position:relative;left:54.1667%}.el-col-xs-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333%}.el-col-xs-pull-14{position:relative;right:58.3333%}.el-col-xs-push-14{position:relative;left:58.3333%}.el-col-xs-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6667%}.el-col-xs-pull-16{position:relative;right:66.6667%}.el-col-xs-push-16{position:relative;left:66.6667%}.el-col-xs-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333%}.el-col-xs-pull-17{position:relative;right:70.8333%}.el-col-xs-push-17{position:relative;left:70.8333%}.el-col-xs-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1667%}.el-col-xs-pull-19{position:relative;right:79.1667%}.el-col-xs-push-19{position:relative;left:79.1667%}.el-col-xs-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333%}.el-col-xs-pull-20{position:relative;right:83.3333%}.el-col-xs-push-20{position:relative;left:83.3333%}.el-col-xs-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6667%}.el-col-xs-pull-22{position:relative;right:91.6667%}.el-col-xs-push-22{position:relative;left:91.6667%}.el-col-xs-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333%}.el-col-xs-pull-23{position:relative;right:95.8333%}.el-col-xs-push-23{position:relative;left:95.8333%}.el-col-xs-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{flex:0 0;max-width:0%;display:none}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6667%}.el-col-sm-pull-4{position:relative;right:16.6667%}.el-col-sm-push-4{position:relative;left:16.6667%}.el-col-sm-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333%}.el-col-sm-pull-5{position:relative;right:20.8333%}.el-col-sm-push-5{position:relative;left:20.8333%}.el-col-sm-6{flex:0 0 25%;max-width:25%;display:block}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1667%}.el-col-sm-pull-7{position:relative;right:29.1667%}.el-col-sm-push-7{position:relative;left:29.1667%}.el-col-sm-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333%}.el-col-sm-pull-8{position:relative;right:33.3333%}.el-col-sm-push-8{position:relative;left:33.3333%}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6667%}.el-col-sm-pull-10{position:relative;right:41.6667%}.el-col-sm-push-10{position:relative;left:41.6667%}.el-col-sm-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333%}.el-col-sm-pull-11{position:relative;right:45.8333%}.el-col-sm-push-11{position:relative;left:45.8333%}.el-col-sm-12{flex:0 0 50%;max-width:50%;display:block}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1667%}.el-col-sm-pull-13{position:relative;right:54.1667%}.el-col-sm-push-13{position:relative;left:54.1667%}.el-col-sm-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333%}.el-col-sm-pull-14{position:relative;right:58.3333%}.el-col-sm-push-14{position:relative;left:58.3333%}.el-col-sm-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6667%}.el-col-sm-pull-16{position:relative;right:66.6667%}.el-col-sm-push-16{position:relative;left:66.6667%}.el-col-sm-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333%}.el-col-sm-pull-17{position:relative;right:70.8333%}.el-col-sm-push-17{position:relative;left:70.8333%}.el-col-sm-18{flex:0 0 75%;max-width:75%;display:block}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1667%}.el-col-sm-pull-19{position:relative;right:79.1667%}.el-col-sm-push-19{position:relative;left:79.1667%}.el-col-sm-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333%}.el-col-sm-pull-20{position:relative;right:83.3333%}.el-col-sm-push-20{position:relative;left:83.3333%}.el-col-sm-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6667%}.el-col-sm-pull-22{position:relative;right:91.6667%}.el-col-sm-push-22{position:relative;left:91.6667%}.el-col-sm-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333%}.el-col-sm-pull-23{position:relative;right:95.8333%}.el-col-sm-push-23{position:relative;left:95.8333%}.el-col-sm-24{flex:0 0 100%;max-width:100%;display:block}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{flex:0 0;max-width:0%;display:none}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6667%}.el-col-md-pull-4{position:relative;right:16.6667%}.el-col-md-push-4{position:relative;left:16.6667%}.el-col-md-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333%}.el-col-md-pull-5{position:relative;right:20.8333%}.el-col-md-push-5{position:relative;left:20.8333%}.el-col-md-6{flex:0 0 25%;max-width:25%;display:block}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1667%}.el-col-md-pull-7{position:relative;right:29.1667%}.el-col-md-push-7{position:relative;left:29.1667%}.el-col-md-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333%}.el-col-md-pull-8{position:relative;right:33.3333%}.el-col-md-push-8{position:relative;left:33.3333%}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6667%}.el-col-md-pull-10{position:relative;right:41.6667%}.el-col-md-push-10{position:relative;left:41.6667%}.el-col-md-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333%}.el-col-md-pull-11{position:relative;right:45.8333%}.el-col-md-push-11{position:relative;left:45.8333%}.el-col-md-12{flex:0 0 50%;max-width:50%;display:block}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1667%}.el-col-md-pull-13{position:relative;right:54.1667%}.el-col-md-push-13{position:relative;left:54.1667%}.el-col-md-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333%}.el-col-md-pull-14{position:relative;right:58.3333%}.el-col-md-push-14{position:relative;left:58.3333%}.el-col-md-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6667%}.el-col-md-pull-16{position:relative;right:66.6667%}.el-col-md-push-16{position:relative;left:66.6667%}.el-col-md-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333%}.el-col-md-pull-17{position:relative;right:70.8333%}.el-col-md-push-17{position:relative;left:70.8333%}.el-col-md-18{flex:0 0 75%;max-width:75%;display:block}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1667%}.el-col-md-pull-19{position:relative;right:79.1667%}.el-col-md-push-19{position:relative;left:79.1667%}.el-col-md-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333%}.el-col-md-pull-20{position:relative;right:83.3333%}.el-col-md-push-20{position:relative;left:83.3333%}.el-col-md-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6667%}.el-col-md-pull-22{position:relative;right:91.6667%}.el-col-md-push-22{position:relative;left:91.6667%}.el-col-md-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333%}.el-col-md-pull-23{position:relative;right:95.8333%}.el-col-md-push-23{position:relative;left:95.8333%}.el-col-md-24{flex:0 0 100%;max-width:100%;display:block}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{flex:0 0;max-width:0%;display:none}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6667%}.el-col-lg-pull-4{position:relative;right:16.6667%}.el-col-lg-push-4{position:relative;left:16.6667%}.el-col-lg-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333%}.el-col-lg-pull-5{position:relative;right:20.8333%}.el-col-lg-push-5{position:relative;left:20.8333%}.el-col-lg-6{flex:0 0 25%;max-width:25%;display:block}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1667%}.el-col-lg-pull-7{position:relative;right:29.1667%}.el-col-lg-push-7{position:relative;left:29.1667%}.el-col-lg-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333%}.el-col-lg-pull-8{position:relative;right:33.3333%}.el-col-lg-push-8{position:relative;left:33.3333%}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6667%}.el-col-lg-pull-10{position:relative;right:41.6667%}.el-col-lg-push-10{position:relative;left:41.6667%}.el-col-lg-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333%}.el-col-lg-pull-11{position:relative;right:45.8333%}.el-col-lg-push-11{position:relative;left:45.8333%}.el-col-lg-12{flex:0 0 50%;max-width:50%;display:block}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1667%}.el-col-lg-pull-13{position:relative;right:54.1667%}.el-col-lg-push-13{position:relative;left:54.1667%}.el-col-lg-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333%}.el-col-lg-pull-14{position:relative;right:58.3333%}.el-col-lg-push-14{position:relative;left:58.3333%}.el-col-lg-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6667%}.el-col-lg-pull-16{position:relative;right:66.6667%}.el-col-lg-push-16{position:relative;left:66.6667%}.el-col-lg-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333%}.el-col-lg-pull-17{position:relative;right:70.8333%}.el-col-lg-push-17{position:relative;left:70.8333%}.el-col-lg-18{flex:0 0 75%;max-width:75%;display:block}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1667%}.el-col-lg-pull-19{position:relative;right:79.1667%}.el-col-lg-push-19{position:relative;left:79.1667%}.el-col-lg-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333%}.el-col-lg-pull-20{position:relative;right:83.3333%}.el-col-lg-push-20{position:relative;left:83.3333%}.el-col-lg-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6667%}.el-col-lg-pull-22{position:relative;right:91.6667%}.el-col-lg-push-22{position:relative;left:91.6667%}.el-col-lg-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333%}.el-col-lg-pull-23{position:relative;right:95.8333%}.el-col-lg-push-23{position:relative;left:95.8333%}.el-col-lg-24{flex:0 0 100%;max-width:100%;display:block}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{flex:0 0;max-width:0%;display:none}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6667%}.el-col-xl-pull-4{position:relative;right:16.6667%}.el-col-xl-push-4{position:relative;left:16.6667%}.el-col-xl-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333%}.el-col-xl-pull-5{position:relative;right:20.8333%}.el-col-xl-push-5{position:relative;left:20.8333%}.el-col-xl-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1667%}.el-col-xl-pull-7{position:relative;right:29.1667%}.el-col-xl-push-7{position:relative;left:29.1667%}.el-col-xl-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333%}.el-col-xl-pull-8{position:relative;right:33.3333%}.el-col-xl-push-8{position:relative;left:33.3333%}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6667%}.el-col-xl-pull-10{position:relative;right:41.6667%}.el-col-xl-push-10{position:relative;left:41.6667%}.el-col-xl-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333%}.el-col-xl-pull-11{position:relative;right:45.8333%}.el-col-xl-push-11{position:relative;left:45.8333%}.el-col-xl-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1667%}.el-col-xl-pull-13{position:relative;right:54.1667%}.el-col-xl-push-13{position:relative;left:54.1667%}.el-col-xl-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333%}.el-col-xl-pull-14{position:relative;right:58.3333%}.el-col-xl-push-14{position:relative;left:58.3333%}.el-col-xl-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6667%}.el-col-xl-pull-16{position:relative;right:66.6667%}.el-col-xl-push-16{position:relative;left:66.6667%}.el-col-xl-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333%}.el-col-xl-pull-17{position:relative;right:70.8333%}.el-col-xl-push-17{position:relative;left:70.8333%}.el-col-xl-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1667%}.el-col-xl-pull-19{position:relative;right:79.1667%}.el-col-xl-push-19{position:relative;left:79.1667%}.el-col-xl-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333%}.el-col-xl-pull-20{position:relative;right:83.3333%}.el-col-xl-push-20{position:relative;left:83.3333%}.el-col-xl-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6667%}.el-col-xl-pull-22{position:relative;right:91.6667%}.el-col-xl-push-22{position:relative;left:91.6667%}.el-col-xl-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333%}.el-col-xl-pull-23{position:relative;right:95.8333%}.el-col-xl-push-23{position:relative;left:95.8333%}.el-col-xl-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;min-height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border:none;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);transition:border-bottom-color var(--el-transition-duration);box-sizing:border-box;outline:none;align-items:center;padding:0;font-weight:500;display:flex}.el-collapse-item__arrow{transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{text-align:left;flex:auto}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:#0000}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color);overflow:hidden}.el-collapse-item__content{font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);padding-bottom:25px;line-height:1.76923}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{--el-colorpicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-colorpicker-bg-color);box-sizing:content-box;background:var(--el-colorpicker-bg-color);width:300px;padding:12px}.el-color-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{text-align:right;justify-content:space-between;margin-top:12px;display:flex}.el-color-picker-panel__footer .el-input{color:#000;width:160px;font-size:12px;line-height:26px}.el-color-picker-panel.is-disabled .el-color-svpanel,.el-color-picker-panel.is-disabled .el-color-hue-slider{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{width:280px;margin-top:8px;font-size:12px;display:flex}.el-color-predefine__colors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.el-color-predefine__color-selector{border-radius:var(--el-border-radius-base);cursor:pointer;border:none;outline:none;width:20px;height:20px;padding:0;overflow:hidden}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-predefine__color-selector>div{height:100%;display:flex}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{box-sizing:border-box;float:right;background-color:red;width:280px;height:12px;padding:0 2px;position:relative}.el-color-hue-slider__bar{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-svpanel{background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#fff0);width:280px;height:180px;position:relative}.el-color-svpanel__cursor{cursor:pointer;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006}.el-color-svpanel__cursor:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-alpha-slider{box-sizing:border-box;background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;width:280px;height:12px;position:relative}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,#fff0 0%,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(#fff0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333}.el-color-picker{outline:none;width:32px;height:32px;line-height:normal;display:inline-block;position:relative}.el-color-picker:hover:not(:-webkit-any(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:hover:not(:is(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed;background-color:var(--el-fill-color-light)}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{width:40px;height:40px}.el-color-picker--small{width:24px;height:24px}.el-color-picker--small .el-color-picker__icon,.el-color-picker--small .el-color-picker__empty{transform:scale(.8)}.el-color-picker__trigger{box-sizing:border-box;border:1px solid var(--el-border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:0;display:inline-flex;position:relative}.el-color-picker__color{box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);text-align:center;width:100%;height:100%;display:block;position:relative}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{color:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.el-color-picker__panel{border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);background-color:#fff}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker.single-panel{width:322px}.el-date-range-picker.single-panel .el-picker-panel__body{min-width:322px}.el-date-range-picker.single-panel.has-sidebar.has-time{width:434px}.el-date-range-picker.single-panel.has-sidebar{width:438px}.el-date-range-picker.single-panel .el-picker-panel__content{width:292px;margin:15px;padding:0;display:block;position:relative}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-size:14px;line-height:23px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);width:100%;height:1px;margin:24px 0;display:block}.el-divider--vertical{vertical-align:middle;border-left:1px var(--el-border-color) var(--el-border-style);width:1px;height:1em;margin:0 8px;display:inline-block;position:relative}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);padding:0 20px;font-size:14px;font-weight:500;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%)translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;box-sizing:border-box;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);transition:all var(--el-transition-duration);flex-direction:column;display:flex;position:absolute}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{color:var(--el-text-color-primary);padding:var(--el-drawer-padding-primary);align-items:center;margin-bottom:32px;padding-bottom:0;display:flex;overflow:hidden}.el-drawer__header>:first-child{flex:1}.el-drawer__title{line-height:inherit;flex:1;margin:0;font-size:16px}.el-drawer__footer{padding:var(--el-drawer-padding-primary);text-align:right;padding-top:10px;overflow:hidden}.el-drawer__close-btn{cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:#0000;border:none;outline:none;display:inline-flex}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{padding:var(--el-drawer-padding-primary);flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;user-select:none;background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:before{content:"";background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{height:100%;width:var(--el-drawer-dragger-size);cursor:ew-resize;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{width:3px;top:0;bottom:0}.el-drawer.ttb,.el-drawer.btt{width:100%;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger,.el-drawer.btt>.el-drawer__dragger{width:100%;height:var(--el-drawer-dragger-size);cursor:ns-resize;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger:before,.el-drawer.btt>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-from,.el-drawer-fade-enter-active,.el-drawer-fade-enter-to,.el-drawer-fade-leave-from,.el-drawer-fade-leave-active,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:#0000!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;user-select:none;vertical-align:top;object-fit:contain;width:100%;height:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;vertical-align:top;width:100%;height:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{font-size:var(--el-font-size-base);color:var(--el-text-color-secondary);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-form-item{--font-size:14px;margin-bottom:18px;display:flex}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{text-align:left;width:-moz-fit-content;width:fit-content;height:auto;margin-bottom:8px;padding-right:0;line-height:22px;display:block}.el-form-item__label-wrap{display:flex}.el-form-item__label{font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);box-sizing:border-box;flex:none;align-items:flex-start;height:32px;padding:0 12px 0 0;line-height:32px;display:inline-flex}.el-form-item__content{line-height:32px;font-size:var(--font-size);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);padding-top:2px;font-size:12px;line-height:1;position:absolute;top:100%;left:0}.el-form-item__error--inline{margin-left:10px;display:inline-block;position:relative;top:auto;left:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:hover,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field:focus,.el-form-item.is-error .el-form-item__content :not(.el-input-otp--underlined) .el-input-otp__input-field.is-focus,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:hover:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field:focus:after,.el-form-item.is-error .el-form-item__content .el-input-otp--underlined .el-input-otp__input-field.is-focus:after{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px #0000}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{vertical-align:middle;margin-right:32px;display:inline-flex}.el-form--inline .el-form-item:last-child{margin-right:0}.el-form--inline.el-form--label-top{flex-wrap:wrap;display:flex}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-image-viewer__wrapper{position:fixed;inset:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{z-index:1;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{width:40px;height:40px;font-size:40px;top:40px;right:40px}.el-image-viewer__canvas{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:static}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;height:44px;padding:0 23px;bottom:30px;left:50%;transform:translate(-50%)}.el-image-viewer__actions__inner{cursor:default;color:#fff;justify-content:space-around;align-items:center;gap:22px;width:100%;height:100%;padding:0 6px;font-size:23px;display:flex}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{cursor:default;color:#fff;bottom:90px;left:50%;transform:translate(-50%)}.el-image-viewer__prev{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;left:40px;transform:translateY(-50%)}.el-image-viewer__next{text-indent:2px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;right:40px;transform:translateY(-50%)}.el-image-viewer__close{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px}.el-image-viewer__mask{opacity:.5;background:#000;width:100%;height:100%;position:absolute;top:0;left:0}.el-image-viewer-parent--hidden{overflow:hidden}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{display:inline-block;position:relative;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle;justify-content:center;align-items:center;font-size:14px;display:flex}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{cursor:auto;resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translateZ(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input .el-input__clear{transition:color var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;box-sizing:border-box;cursor:pointer;font-size:var(--el-input-tag-font-size);padding:var(--el-input-tag-padding);width:var(--el-input-tag-width);min-height:var(--el-input-tag-mini-height);line-height:var(--el-input-tag-line-height);border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;display:flex;transform:translate(0)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;display:flex}.el-input-tag__suffix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:8px;display:flex}.el-input-tag__collapse-tag{line-height:1}.el-input-tag__input-tag-list{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{cursor:pointer;border-color:#0000}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;gap:var(--el-input-tag-gap);flex-wrap:wrap;flex:1;min-width:0;max-width:100%;display:flex;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;user-select:none}.el-input-tag__drop-indicator{width:1px;height:var(--el-input-tag-line-height);background-color:var(--el-color-primary);position:absolute;top:0}.el-input-tag__inner .el-tag{cursor:pointer;border-color:#0000;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:normal;overflow:hidden}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{color:var(--el-input-tag-text-color);font-size:inherit;font-family:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;padding:0}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-input-otp{--el-input-otp-text-color:var(--el-text-color-regular);--el-input-otp-field-width:calc(var(--el-input-otp-size) - 4px);--el-input-otp-gap:8px;--el-input-otp-font-size:14px;--el-input-otp-size:32px}.el-input-otp--large{--el-input-otp-gap:12px;--el-input-otp-font-size:14px;--el-input-otp-size:40px}.el-input-otp--small{--el-input-otp-gap:6px;--el-input-otp-font-size:12px;--el-input-otp-size:24px}.el-input-otp{align-items:center;column-gap:var(--el-input-otp-gap);font-size:var(--el-input-otp-font-size);height:var(--el-input-otp-size);flex-wrap:nowrap;display:inline-flex}.el-input-otp.is-disabled,.el-input-otp.is-disabled .el-input-otp__input{cursor:not-allowed}.el-input-otp__input-field{width:var(--el-input-otp-field-width,calc(var(--el-input-otp-size) - 4px));border-radius:var(--el-border-radius-base);height:100%;line-height:1;position:relative}.el-input-otp__input{text-align:center;width:100%;height:100%;line-height:1;font-size:inherit;color:var(--el-input-otp-text-color,var(--el-text-color-regular));background-color:#0000;border:none;outline:none;padding:0}.el-input-otp.is-disabled .el-input-otp__input{color:var(--el-text-color-disabled)}.el-input-otp--outlined .el-input-otp__input-field{box-shadow:0 0 0 1px var(--el-border-color) inset}@media(hover:hover){.el-input-otp--outlined .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset}}.el-input-otp--outlined .el-input-otp__input-field:focus-within{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--outlined.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}@media(hover:hover){.el-input-otp--outlined.is-disabled .el-input-otp__input-field:hover{box-shadow:0 0 0 1px var(--el-border-color) inset}}.el-input-otp--filled .el-input-otp__input-field{background-color:var(--el-fill-color)}@media(hover:hover){.el-input-otp--filled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-dark)}}.el-input-otp--filled .el-input-otp__input-field:focus-within{background-color:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-otp--filled.is-disabled .el-input-otp__input-field{background-color:var(--el-fill-color-light)}@media(hover:hover){.el-input-otp--filled.is-disabled .el-input-otp__input-field:hover{background-color:var(--el-fill-color-light)}}.el-input-otp--underlined .el-input-otp__input-field:after{content:"";background-color:var(--el-border-color);width:100%;height:1px;display:block;position:absolute;bottom:0;left:0}@media(hover:hover){.el-input-otp--underlined .el-input-otp__input-field:hover:after{background-color:var(--el-color-primary-light-5)}}.el-input-otp--underlined .el-input-otp__input-field:focus-within:after{background-color:var(--el-color-primary)}@media(hover:hover){.el-input-otp--underlined.is-disabled .el-input-otp__input-field:hover:after{background-color:var(--el-border-color)}}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);vertical-align:middle;cursor:pointer;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color);outline:none;flex-direction:row;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.el-link.is-hover-underline:hover:after{content:"";border-bottom:1px solid var(--el-link-hover-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link.is-underline:after{content:"";border-bottom:1px solid var(--el-link-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{justify-content:center;align-items:center;display:inline-flex}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:break-word;z-index:9999;display:flex;position:fixed;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{min-width:0;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);flex:1}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);color:var(--el-notification-content-color);margin:6px 0 0;line-height:24px}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size);flex-shrink:0}.el-notification .el-notification__closeBtn{cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size);position:absolute;top:18px;right:15px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification__progress{position:absolute;bottom:0;left:0;right:0}.el-notification__progress .el-progress-bar__inner{transition:width .1s linear}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{justify-content:space-between;align-items:center;line-height:24px;display:flex}.el-page-header__left{align-items:center;margin-right:40px;display:flex;position:relative}.el-page-header__back{cursor:pointer;align-items:center;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;margin-right:10px;font-size:16px;display:flex}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);align-items:center;font-weight:400;display:flex}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select{width:128px}.el-pagination .btn-prev,.el-pagination .btn-next{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pagination .btn-prev *,.el-pagination .btn-next *{pointer-events:none}.el-pagination .btn-prev:focus,.el-pagination .btn-next:focus{outline:none}.el-pagination .btn-prev:hover,.el-pagination .btn-next:hover{color:var(--el-pagination-hover-color)}.el-pagination .btn-prev.is-active,.el-pagination .btn-next.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination .btn-prev.is-active.is-disabled,.el-pagination .btn-next.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination .btn-prev:disabled,.el-pagination .btn-prev.is-disabled,.el-pagination .btn-next:disabled,.el-pagination .btn-next.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-prev:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-prev .el-icon,.el-pagination .btn-next .el-icon{width:inherit;font-size:12px;font-weight:700;display:block}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);font-weight:400}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);align-items:center;font-weight:400;display:flex}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;justify-content:flex-end;align-items:center;display:flex}.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .el-pager li:disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-prev,.el-pagination--small .btn-next,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small span:not([class*=suffix]),.el-pagination--small button{font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-prev,.el-pagination--large .btn-next,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{-webkit-user-select:none;user-select:none;align-items:center;margin:0;padding:0;font-size:0;list-style:none;display:flex}.el-pager li{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li:disabled,.el-pager li.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm{outline:none}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin-top:8px}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);min-width:150px;padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);margin-bottom:12px;line-height:1}.el-popover__reference:focus:not(.focusing),.el-popover__reference:focus:hover{outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus:active,.el-popover.el-popper:focus{outline-width:0}.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light);outline:none;display:inline-block;position:relative}.el-radio-button__inner{white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);line-height:1;font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;z-index:-1;outline:none;position:absolute}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{flex-wrap:wrap;align-items:center;font-size:0;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);cursor:pointer;white-space:nowrap;font-size:var(--el-font-size-base);-webkit-user-select:none;user-select:none;outline:none;align-items:center;height:32px;margin-right:30px;display:inline-flex;position:relative}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;vertical-align:middle;outline:none;display:inline-flex;position:relative}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%)scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);cursor:pointer;box-sizing:border-box;transition:all .3s;display:inline-block;position:relative}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";width:4px;height:4px;transition:transform .15s ease-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.el-radio__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute;inset:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);--el-rate-outline-color:var(--el-color-primary-light-5);align-items:center;height:32px;display:inline-flex}.el-rate:focus,.el-rate:active{outline:none}.el-rate:focus-visible .el-rate__item .el-rate__icon.is-focus-visible{outline:2px solid var(--el-rate-outline-color);transition:outline-offset,outline}.el-rate__item{cursor:pointer;vertical-align:middle;color:var(--el-rate-void-color);font-size:0;line-height:normal;display:inline-block;position:relative}.el-rate .el-rate__icon{font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);transition:var(--el-transition-duration);display:inline-block;position:relative}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-rate__decimal--box{position:absolute;top:0;left:0}.el-rate__text{font-size:var(--el-rate-font-size);vertical-align:middle;color:var(--el-rate-text-color)}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{cursor:not-allowed;color:var(--el-rate-disabled-void-color)}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;text-align:center;box-sizing:border-box;padding:var(--el-result-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-result__icon svg{width:var(--el-result-icon-font-size);height:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{font-size:var(--el-result-title-font-size);color:var(--el-text-color-primary);margin:0;line-height:1.3}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{font-size:var(--el-font-size-base);color:var(--el-text-color-regular);margin:0;line-height:1.3}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;flex-wrap:wrap;display:flex;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translateZ(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);width:100%;height:16px;display:inline-block}.el-skeleton__circle{width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);border-radius:50%}.el-skeleton__button{border-radius:4px;width:64px;height:40px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;border-radius:0;justify-content:center;align-items:center;display:flex}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100%}to{background-position:0}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%;animation:1.4s infinite el-skeleton-loading}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{vertical-align:top;display:inline-flex}.el-space__item{flex-wrap:wrap;display:flex}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{vertical-align:middle;display:inline-block}.el-spinner-inner{width:50px;height:50px;animation:2s linear infinite rotate}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-grow:0;flex-shrink:0;flex-basis:auto!important}.el-step:last-of-type .el-step__main,.el-step:last-of-type .el-step__description{padding-right:0}.el-step__head{width:100%;position:relative}.el-step__head.is-process{color:var(--el-text-color-primary);border-color:var(--el-text-color-primary)}.el-step__head.is-wait{color:var(--el-text-color-placeholder);border-color:var(--el-text-color-placeholder)}.el-step__head.is-success{color:var(--el-color-success);border-color:var(--el-color-success)}.el-step__head.is-error{color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-step__head.is-finish{color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-step__icon{z-index:1;box-sizing:border-box;background:var(--el-bg-color);justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .15s ease-out;display:inline-flex;position:relative}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;color:inherit;font-weight:700;line-height:1;display:inline-block}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{box-sizing:border-box;border:1px solid;width:0;height:0;transition:all .15s ease-out;display:block}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{margin-top:-5px;padding-right:10%;font-size:12px;font-weight:400;line-height:20px}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{padding-bottom:8px;line-height:24px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-vertical .el-step__description{padding-right:0}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{width:auto;padding-right:10px;font-size:0}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8)translateY(1px)}.el-step.is-simple .el-step__main{flex-grow:1;align-items:stretch;display:flex;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{overflow-wrap:break-word;max-width:50%}.el-step.is-simple .el-step__arrow{flex-grow:1;justify-content:center;align-items:center;display:flex}.el-step.is-simple .el-step__arrow:before,.el-step.is-simple .el-step__arrow:after{content:"";background:var(--el-text-color-placeholder);width:1px;height:15px;display:inline-block;position:absolute}.el-step.is-simple .el-step__arrow:before{transform-origin:0 0;transform:rotate(-45deg)translateY(-4px)}.el-step.is-simple .el-step__arrow:after{transform-origin:100% 100%;transform:rotate(45deg)translateY(4px)}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{line-height:normal;display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);vertical-align:middle;align-items:center;height:32px;font-size:14px;line-height:20px;display:inline-flex;position:relative}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);cursor:pointer;vertical-align:middle;height:20px;color:var(--el-text-color-primary);font-size:14px;font-weight:500;display:inline-block}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{font-size:14px;line-height:1;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{opacity:0;width:0;height:0;margin:0;position:absolute}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;min-width:40px;height:20px;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);border-radius:10px;outline:none;align-items:center;display:inline-flex;position:relative}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);justify-content:center;align-items:center;height:16px;padding:0 4px 0 18px;display:flex;overflow:hidden}.el-switch__core .el-switch__inner-wrapper{color:var(--el-color-white);-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:12px;display:flex;overflow:hidden}.el-switch__core .el-switch__action{border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);background-color:var(--el-color-white);width:16px;height:16px;color:var(--el-switch-off-color);justify-content:center;align-items:center;display:flex;position:absolute;left:1px}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{height:40px;font-size:14px;line-height:24px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;min-width:50px;height:24px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{height:24px;font-size:12px;line-height:16px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;min-width:30px;height:16px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s 1ms}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:2px 0 4px #0000000f}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__vertical,.el-table-v2__left .el-vl__horizontal{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-2px 0 4px #0000000f}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__vertical,.el-table-v2__right .el-vl__horizontal{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{position:relative;overflow:hidden}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{position:absolute;bottom:0;left:0;right:0;overflow:hidden}.el-table-v2__empty{position:absolute;left:0}.el-table-v2__overlay{z-index:9999;position:absolute;inset:0}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{-webkit-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color);height:100%;color:var(--el-table-header-text-color);align-items:center;padding:0 8px;font-weight:700;display:flex;overflow:hidden}.el-table-v2__header-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__header-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__sort-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__sort-icon{transition:opacity,display var(--el-transition-duration);opacity:.6;display:none}.el-table-v2__sort-icon.is-sorting{opacity:1;display:flex}.el-table-v2__row{border-bottom:var(--el-table-border);transition:background-color var(--el-transition-duration);align-items:center;display:flex}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;height:100%;padding:0 8px;display:flex;overflow:hidden}.el-table-v2__row-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__row-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__expand-icon{-webkit-user-select:none;user-select:none;margin:0 4px}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{justify-content:space-between;align-items:center;margin:0 0 15px;padding:0;display:flex;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);z-index:1;height:2px;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none;position:absolute;bottom:0;left:0}.el-tabs__active-bar.is-bottom{bottom:auto}.el-tabs__new-tab{border:1px solid var(--el-border-color);text-align:center;width:20px;height:20px;color:var(--el-text-color-primary);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:10px 0 10px 10px;font-size:12px;line-height:20px;transition:all .15s;display:flex}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:auto;margin-bottom:-1px;position:relative;overflow:hidden}.el-tabs__nav-wrap:after{content:"";background-color:var(--el-border-color-light);width:100%;height:2px;z-index:var(--el-index-normal);position:absolute;bottom:0;left:0}.el-tabs__nav-wrap.is-bottom:after{top:0;bottom:auto}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{cursor:pointer;color:var(--el-text-color-secondary);text-align:center;width:20px;font-size:12px;line-height:44px;position:absolute}.el-tabs__nav-next.is-disabled,.el-tabs__nav-prev.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1);display:flex;position:relative}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{text-align:center;flex:1}.el-tabs__item{height:var(--el-tabs-header-height);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary);justify-content:center;align-items:center;padding:0 20px;font-weight:500;list-style:none;display:flex;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border-radius:50%;margin-left:5px}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;position:relative;overflow:hidden}.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--top>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height);box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{transform-origin:100%;width:0;height:14px;font-size:12px;position:relative;right:-2px;overflow:hidden}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid #0000;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-top:-1px}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);color:var(--el-text-color-secondary);border:1px solid #0000;margin-top:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child,.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-top:10px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid #0000}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--card>.el-tabs__header.is-left,.el-tabs--card>.el-tabs__header.is-right,.el-tabs--border-card>.el-tabs__header.is-left,.el-tabs--border-card>.el-tabs__header.is-right{border-bottom:none}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-scroll{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{width:2px;height:auto;top:0;bottom:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{text-align:center;cursor:pointer;width:100%;height:30px;line-height:30px}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled{cursor:not-allowed}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{top:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{width:2px;height:100%;top:0;bottom:auto}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right-color:#fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-right:none;border-radius:4px 0 0 4px}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid #0000;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 #0000}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left-color:#fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid #0000;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 #0000}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInRight-transition,.slideInLeft-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);position:absolute;left:0;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);position:absolute;left:0;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(100%)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(-100%)}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag .el-tag__close .el-icon{display:flex}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);font-size:var(--el-text-font-size);color:var(--el-text-color);overflow-wrap:break-word;align-self:center;margin:0;padding:0}.el-text.is-truncated{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.el-text.is-line-clamp{-webkit-box-orient:vertical;display:-webkit-inline-box;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{min-width:0;margin:5px 0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{box-sizing:content-box;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__node--normal{width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline-item.is-start .el-timeline-item__wrapper{padding-left:28px}.el-timeline-item.is-start .el-timeline-item__tail{left:4px}.el-timeline-item.is-start .el-timeline-item__node--normal{left:-1px}.el-timeline-item.is-start .el-timeline-item__node--large{left:-2px}.el-timeline-item.is-end .el-timeline-item__wrapper{text-align:right;padding-right:28px}.el-timeline-item.is-end .el-timeline-item__tail{right:4px}.el-timeline-item.is-end .el-timeline-item__node--normal{right:-1px}.el-timeline-item.is-end .el-timeline-item__node--large{right:-2px}.el-timeline-item.is-alternate .el-timeline-item__tail,.el-timeline-item.is-alternate .el-timeline-item__node,.el-timeline-item.is-alternate-reverse .el-timeline-item__tail,.el-timeline-item.is-alternate-reverse .el-timeline-item__node{left:50%;transform:translate(-50%)}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{height:calc(50% - 10px);display:block}.el-timeline.is-start{padding-left:40px;padding-right:0}.el-timeline.is-end{padding-left:0;padding-right:40px}.el-timeline.is-alternate{padding-left:20px;padding-right:20px}.el-timeline.is-alternate .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline.is-alternate .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse{padding-left:20px;padding-right:20px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{vertical-align:middle;padding:0 30px;display:inline-block}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width);box-sizing:border-box;max-height:100%;display:inline-block;position:relative;overflow:hidden}.el-transfer-panel__body{height:var(--el-transfer-panel-body-height);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.el-transfer-panel__list{height:var(--el-transfer-panel-body-height);box-sizing:border-box;margin:0;padding:6px 0;list-style:none;overflow:auto}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px;display:block!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%;line-height:var(--el-transfer-item-height);padding-left:22px;display:block;overflow:hidden}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;box-sizing:border-box;padding:15px}.el-transfer-panel__filter .el-input__inner{height:var(--el-transfer-filter-height);box-sizing:border-box;width:100%;font-size:12px;display:inline-block}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:var(--el-transfer-panel-header-height);background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);align-items:center;margin:0;padding-left:15px;display:flex}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;width:100%;display:flex;position:relative}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{min-width:0;color:var(--el-text-color-primary);flex:1;align-items:center;font-size:16px;font-weight:400;display:flex}.el-transfer-panel .el-transfer-panel__header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.el-transfer-panel .el-transfer-panel__header-count{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;margin-right:15px;font-size:12px}.el-transfer-panel .el-transfer-panel__footer{height:var(--el-transfer-panel-footer-height);background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);color:var(--el-text-color-secondary);text-align:center;margin:0;padding:6px 15px 0}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);cursor:default;background:var(--el-fill-color-blank);color:var(--el-tree-text-color);font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{text-align:center;width:100%;height:100%;min-height:60px;position:relative}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;position:absolute;left:0;right:0}.el-tree-node{white-space:nowrap;outline:none}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);height:var(--el-tree-node-content-height);cursor:pointer;align-items:center;display:flex}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:var(--el-tree-expand-icon-color);transition:transform var(--el-transition-duration) ease-in-out;font-size:12px;transform:rotate(0)}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:#0000;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{font-size:var(--el-font-size-base);color:var(--el-tree-expand-icon-color);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:#0000;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{flex:1;height:20px;padding-left:0;line-height:20px;background:0 0!important}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);margin-bottom:4px;line-height:20px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);width:var(--el-tour-width);padding:var(--el-tour-padding-primary);background:var(--el-tour-bg-color);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;overflow-wrap:break-word;outline:none}.el-tour__arrow{background:var(--el-tour-bg-color);pointer-events:none;box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-tour__content[data-side^=top] .el-tour__arrow{border-top-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=right] .el-tour__arrow{border-top-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{cursor:pointer;width:40px;height:40px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size,16px))}.el-tour__title{line-height:var(--el-tour-font-line-height);font-size:var(--el-tour-title-font-size);color:var(--el-tour-title-text-color);font-weight:var(--el-tour-title-font-weight)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{padding-top:var(--el-tour-padding-primary);box-sizing:border-box;justify-content:space-between;display:flex}.el-tour__content .el-tour-indicators{flex:1;display:inline-block}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{color:var(--el-color-primary);border-color:var(--el-color-primary);background:#fff}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:#ffffff26}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-hover-color:var(--el-text-color-regular);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);opacity:0;z-index:0;border-radius:4px;position:absolute}.el-anchor.el-anchor--vertical .el-anchor__marker{width:4px;height:14px;transition:top .25s ease-in-out,opacity .25s;top:8px;left:0}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{content:"";background-color:#0505050f;width:2px;height:100%;position:absolute;left:0}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{width:20px;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;bottom:0}.el-anchor.el-anchor--horizontal .el-anchor__list{padding-bottom:4px;display:flex}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{content:"";background-color:#0505050f;width:100%;height:2px;position:absolute;bottom:0}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{flex-direction:column;display:flex}.el-anchor__link{font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);color:var(--el-anchor-color);transition:color var(--el-transition-duration);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;outline:none;max-width:100%;padding:4px 0;text-decoration:none;overflow:hidden}.el-anchor__link:hover,.el-anchor__link:focus{color:var(--el-hover-color)}.el-anchor__link:focus-visible{border-radius:var(--el-border-radius-base);outline:2px solid var(--el-color-primary)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);background:var(--el-segmented-bg-color);min-height:32px;padding:var(--el-segmented-padding);border-radius:var(--el-border-radius-base);color:var(--el-segmented-color);box-sizing:border-box;align-items:stretch;font-size:14px;display:inline-flex}.el-segmented__group{align-items:stretch;width:100%;display:flex;position:relative}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);pointer-events:none;width:10px;height:100%;transition:all .3s;position:absolute;top:0;left:0}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{content:"";border-radius:inherit;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;inset:0}.el-segmented__item{cursor:pointer;border-radius:calc(var(--el-border-radius-base) - 2px);flex:1;align-items:center;padding:0 11px;display:flex}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{color:var(--el-segmented-item-hover-color);background:var(--el-segmented-item-hover-bg-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{cursor:not-allowed;color:var(--el-segmented-item-disabled-color)}.el-segmented__item-input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.el-segmented__item-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:1;flex:1;line-height:normal;transition:color .3s;overflow:hidden}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);min-height:40px;font-size:16px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);min-height:24px;font-size:14px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px);padding:0 7px}.el-mention{width:100%;position:relative}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{font-size:var(--el-mention-font-size);white-space:nowrap;text-overflow:ellipsis;color:var(--el-mention-option-color);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);box-sizing:border-box;min-width:var(--el-mention-option-min-width);cursor:pointer;padding:0 20px;position:relative;overflow:hidden}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:700}.el-mention-dropdown__item.is-disabled{color:var(--el-mention-option-disabled-color);cursor:not-allowed;background-color:unset}.el-mention-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-mention-dropdown__loading{text-align:center;color:var(--el-mention-option-loading-color);min-width:var(--el-mention-option-min-width);margin:0;padding:10px 0;font-size:12px}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{padding:var(--el-mention-padding);box-sizing:border-box;margin:0;list-style:none}.el-mention-dropdown__header{padding:var(--el-mention-header-padding);border-bottom:var(--el-mention-border)}.el-mention-dropdown__footer{padding:var(--el-mention-footer-padding);border-top:var(--el-mention-border)}.el-splitter{width:100%;height:100%;margin:0;padding:0;display:flex;position:relative}.el-splitter__mask{z-index:999;position:absolute;inset:0}.el-splitter__mask-horizontal{cursor:ew-resize}.el-splitter__mask-vertical{cursor:ns-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{-webkit-user-select:none;user-select:none;flex:none;position:relative}.el-splitter-bar__dragger{z-index:1;background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:before,.el-splitter-bar__dragger:after{content:"";background-color:var(--el-border-color-light);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:not(.is-disabled):before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:before,.el-splitter-bar__dragger-horizontal:after{width:2px;height:100%}.el-splitter-bar__dragger-vertical:before,.el-splitter-bar__dragger-vertical:after{width:100%;height:2px}.el-splitter-bar__dragger-active:before,.el-splitter-bar__dragger-active:after{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{background:var(--el-border-color-light);cursor:pointer;opacity:0;z-index:9;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute}.el-splitter-bar__collapse-icon:hover{opacity:1;background-color:var(--el-color-primary-light-5)}.el-splitter-bar__horizontal-collapse-icon-start{width:16px;height:24px;top:50%;left:-12px;transform:translate(-50%,-50%)}.el-splitter-bar__horizontal-collapse-icon-end{width:16px;height:24px;top:50%;left:12px;transform:translate(-50%,-50%)}.el-splitter-bar__vertical-collapse-icon-start{width:24px;height:16px;top:-12px;right:50%;transform:translate(50%,-50%)}.el-splitter-bar__vertical-collapse-icon-end{width:24px;height:16px;top:12px;right:50%;transform:translate(50%,-50%)}.el-splitter-panel{scrollbar-width:thin;box-sizing:border-box;flex-grow:0;overflow:auto}:root{--w4f-primary: #5b6478;--w4f-primary-h: #3f4654;--w4f-primary-50: #f1f3f7;--w4f-primary-100: #e3e7ef;--w4f-primary-200: #cdd4e0;--w4f-primary-300: #a7b1c3;--w4f-secondary: #8a93a8;--w4f-secondary-h: #5b6478;--w4f-secondary-50: #f4f6f9;--w4f-secondary-200: #c8ced9;--w4f-danger: #d6495f;--w4f-danger-50: #fdecef;--w4f-warning: #b7791f;--w4f-warning-50: #fdf3e3;--w4f-info: #3f6ef5;--w4f-ok: #17a964;--w4f-bg-1: #f4f5f7;--w4f-bg-2: #ffffff;--w4f-bg-3: #eef0f3;--w4f-bg-soft: #f8f9fb;--w4f-bg-muted: #f4f5f7;--w4f-bg-hover: #eef0f3;--w4f-bg-active: #e3e7ef;--w4f-fg: #2b2f3a;--w4f-fg-2: #5a6072;--w4f-muted: #6b7280;--w4f-faint: #9ca3af;--w4f-card: rgba(255, 255, 255, .66);--w4f-card-solid: #ffffff;--w4f-card-2: rgba(255, 255, 255, .46);--w4f-line: rgba(91, 100, 120, .16);--w4f-line-2: rgba(91, 100, 120, .1);--w4f-line-3: rgba(91, 100, 120, .06);--w4f-line-strong: rgba(60, 70, 90, .22);--w4f-blob1: rgba(160, 170, 190, .3);--w4f-blob2: rgba(200, 210, 225, .28);--w4f-blob3: rgba(150, 160, 180, .22);--w4f-sh-sm: 0 1px 2px rgba(40, 50, 70, .06), inset 0 1px 0 rgba(255, 255, 255, .6);--w4f-sh-md: 0 6px 20px rgba(40, 50, 70, .12);--w4f-sh-lg: 0 18px 46px rgba(40, 50, 70, .2);--w4f-glass: 18px;--w4f-radius: 16px;--w4f-radius-sm: 12px;--w4f-radius-xs: 10px;--w4f-radius-pill: 99px;--w4f-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--w4f-ease: cubic-bezier(.4, 0, .2, 1);--w4f-font: "Quicksand", "Nunito", "Inter", "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--w4f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--w4f-glow: rgba(91, 100, 120, .3);--w4f-danger-glow: rgba(214, 73, 95, .3);--w4f-glow-soft: rgba(91, 100, 120, .18);--w4f-thumb: rgba(120, 130, 150, .4);--w4f-thumb-hover: rgba(91, 100, 120, .6);--w4f-selection: #cdd4e0;--el-color-primary: #5b6478;--el-color-primary-light-3: #a7b1c3;--el-color-primary-light-5: #b9c1cf;--el-color-primary-light-7: #cdd4e0;--el-color-primary-light-8: #e3e7ef;--el-color-primary-light-9: #f1f3f7;--el-color-primary-dark-2: #3f4654;--el-color-success: #17a964;--el-color-warning: #b7791f;--el-color-danger: #d6495f;--el-color-info: #6b7280;--el-border-radius-base: 12px;--el-border-radius-small: 8px;--el-font-family: var(--w4f-font);--w4f-ok-50: color-mix(in srgb, var(--w4f-ok) 7%, var(--w4f-card-solid));--w4f-ok-100: color-mix(in srgb, var(--w4f-ok) 13%, var(--w4f-card-solid));--w4f-ok-border: color-mix(in srgb, var(--w4f-ok) 40%, transparent);--w4f-ok-glow: color-mix(in srgb, var(--w4f-ok) 20%, transparent);--w4f-ok-text: color-mix(in srgb, var(--w4f-ok) 48%, var(--w4f-fg));--w4f-warn-50: color-mix(in srgb, var(--w4f-warning) 9%, var(--w4f-card-solid));--w4f-warn-100: color-mix(in srgb, var(--w4f-warning) 15%, var(--w4f-card-solid));--w4f-warn-border: color-mix(in srgb, var(--w4f-warning) 42%, transparent);--w4f-warn-glow: color-mix(in srgb, var(--w4f-warning) 20%, transparent);--w4f-warn-text: color-mix(in srgb, var(--w4f-warning) 52%, var(--w4f-fg))}[data-theme=blue]{--w4f-primary: #3b82f6;--w4f-primary-h: #2563eb;--w4f-primary-50: #eff6ff;--w4f-primary-100: #dbeafe;--w4f-primary-200: #bfdbfe;--w4f-primary-300: #93c5fd;--w4f-secondary: #06b6d4;--w4f-secondary-h: #0891b2;--w4f-secondary-50: #ecfeff;--w4f-secondary-200: #a5f3fc;--w4f-danger: #ef4444;--w4f-danger-50: #fee2e2;--w4f-warning: #b7791f;--w4f-warning-50: #fdf3e3;--w4f-info: #3f6ef5;--w4f-ok: #17a964;--w4f-bg-1: #eff6ff;--w4f-bg-2: #ffffff;--w4f-bg-3: #dbeafe;--w4f-bg-soft: #f5f9ff;--w4f-bg-muted: #eff6ff;--w4f-bg-hover: #e0ebfd;--w4f-bg-active: #dbeafe;--w4f-fg: #1e293b;--w4f-fg-2: #475569;--w4f-muted: #64748b;--w4f-faint: #94a3b8;--w4f-card: rgba(255, 255, 255, .66);--w4f-card-solid: #ffffff;--w4f-card-2: rgba(255, 255, 255, .46);--w4f-line: rgba(59, 130, 246, .16);--w4f-line-2: rgba(59, 130, 246, .1);--w4f-line-3: rgba(59, 130, 246, .06);--w4f-line-strong: rgba(30, 64, 175, .22);--w4f-blob1: rgba(59, 130, 246, .4);--w4f-blob2: rgba(6, 182, 212, .36);--w4f-blob3: rgba(99, 102, 241, .26);--w4f-sh-sm: 0 1px 2px rgba(30, 58, 138, .06), inset 0 1px 0 rgba(255, 255, 255, .6);--w4f-sh-md: 0 6px 20px rgba(30, 58, 138, .13);--w4f-sh-lg: 0 18px 46px rgba(30, 58, 138, .22);--w4f-glow: rgba(59, 130, 246, .32);--w4f-danger-glow: rgba(239, 68, 68, .3);--w4f-glow-soft: rgba(59, 130, 246, .18);--w4f-thumb: rgba(59, 130, 246, .4);--w4f-thumb-hover: rgba(37, 99, 235, .6);--w4f-selection: #bfdbfe;--el-color-primary: #3b82f6;--el-color-primary-light-3: #93c5fd;--el-color-primary-light-5: #a5c8fb;--el-color-primary-light-7: #bfdbfe;--el-color-primary-light-8: #d6e8fd;--el-color-primary-light-9: #eff6ff;--el-color-primary-dark-2: #2563eb;--el-color-success: #17a964;--el-color-warning: #b7791f;--el-color-danger: #ef4444;--el-color-info: #64748b}[data-theme=pink]{--w4f-primary: #FF7FAC;--w4f-primary-h: #F33B7C;--w4f-primary-50: #FFF0F5;--w4f-primary-100: #FFE4E9;--w4f-primary-200: #FFCDD9;--w4f-primary-300: #FF9EB5;--w4f-secondary: #88C0D0;--w4f-secondary-h: #4C8DAE;--w4f-secondary-50: #F0F9FC;--w4f-secondary-200: #AEE1F2;--w4f-danger: #DB3694;--w4f-danger-50: #FEEAF6;--w4f-warning: #b7791f;--w4f-warning-50: #fdf3e3;--w4f-info: #3f6ef5;--w4f-ok: #17a964;--w4f-bg-1: #eef2ff;--w4f-bg-2: #ffffff;--w4f-bg-3: #ffe9f0;--w4f-bg-soft: #f8f6fb;--w4f-bg-muted: #f4f1f7;--w4f-bg-hover: #f5eef3;--w4f-bg-active: #ffe4e9;--w4f-fg: #3b3350;--w4f-fg-2: #5a5470;--w4f-muted: #7c7a95;--w4f-faint: #9c98b0;--w4f-card: rgba(255, 255, 255, .6);--w4f-card-solid: #ffffff;--w4f-card-2: rgba(255, 255, 255, .42);--w4f-line: rgba(255, 127, 172, .18);--w4f-line-2: rgba(255, 127, 172, .12);--w4f-line-3: rgba(255, 127, 172, .06);--w4f-line-strong: rgba(120, 90, 150, .22);--w4f-blob1: rgba(255, 127, 172, .45);--w4f-blob2: rgba(136, 192, 208, .42);--w4f-blob3: rgba(244, 114, 182, .3);--w4f-sh-sm: 0 1px 2px rgba(70, 50, 110, .06), inset 0 1px 0 rgba(255, 255, 255, .6);--w4f-sh-md: 0 6px 20px rgba(120, 90, 160, .13);--w4f-sh-lg: 0 18px 46px rgba(120, 90, 160, .22);--w4f-glow: rgba(255, 127, 172, .35);--w4f-danger-glow: rgba(219, 54, 148, .3);--w4f-glow-soft: rgba(255, 127, 172, .18);--w4f-thumb: rgba(255, 182, 193, .45);--w4f-thumb-hover: rgba(255, 127, 172, .7);--w4f-selection: #ffcdba;--el-color-primary: #FF7FAC;--el-color-primary-light-3: #FF9EB5;--el-color-primary-light-5: #ffb3c4;--el-color-primary-light-7: #ffcdd9;--el-color-primary-light-8: #ffe4e9;--el-color-primary-light-9: #fff0f5;--el-color-primary-dark-2: #f33b7c;--el-color-success: #17a964;--el-color-warning: #b7791f;--el-color-danger: #db3694;--el-color-info: #7c7a95}html,body,#app{margin:0;height:100%}html,body{overflow:hidden}body{font:14px/1.55 var(--w4f-font);color:var(--w4f-fg);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--w4f-selection);color:#fff}a{color:var(--w4f-primary-h)}#bgfx{position:fixed;inset:0;z-index:-10;overflow:hidden;background:linear-gradient(135deg,var(--w4f-bg-1),var(--w4f-bg-2) 45%,var(--w4f-bg-3))}#bgfx .blob{position:absolute;border-radius:50%;filter:blur(64px);will-change:transform;opacity:.6}#bgfx .b1{top:-10%;left:-8%;width:560px;height:560px;background:var(--w4f-blob1);animation:drift1 30s ease-in-out infinite alternate}#bgfx .b2{top:16%;right:-10%;width:440px;height:440px;background:var(--w4f-blob2);animation:drift2 36s ease-in-out infinite alternate}#bgfx .b3{bottom:-12%;left:24%;width:620px;height:620px;background:var(--w4f-blob3);animation:drift3 42s ease-in-out infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.05)}}@keyframes drift2{0%{transform:translate(0) scale(1)}to{transform:translate(-25px,18px) scale(1.03)}}@keyframes drift3{0%{transform:translate(0) scale(1)}to{transform:translate(18px,25px) scale(1.04)}}@media(prefers-reduced-motion:reduce){#bgfx .blob{animation:none;opacity:.35}}.w4f-card{position:relative;background:var(--w4f-card);border:1px solid var(--w4f-line);border-radius:var(--w4f-radius);box-shadow:var(--w4f-sh-md);backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);-webkit-backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);animation:cardIn .32s var(--w4f-ease-spring) both}@media(prefers-reduced-motion:reduce){.w4f-card{backdrop-filter:none;-webkit-backdrop-filter:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.w4f-kpi{background:var(--w4f-card);border:1px solid var(--w4f-line);border-radius:var(--w4f-radius);padding:16px 18px;display:flex;flex-direction:column;box-shadow:var(--w4f-sh-md);backdrop-filter:blur(var(--w4f-glass)) saturate(1.6);-webkit-backdrop-filter:blur(var(--w4f-glass)) saturate(1.6);transition:transform .25s var(--w4f-ease-spring),box-shadow .25s var(--w4f-ease-spring),border-color .25s var(--w4f-ease-spring);animation:cardIn .32s var(--w4f-ease-spring) both}.w4f-kpi:hover{transform:translateY(-2px);box-shadow:var(--w4f-sh-lg);border-color:var(--w4f-primary-200)}.w4f-kpi .k-hdr{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.w4f-kpi .k-lab{font-size:12px;color:var(--w4f-muted);font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap}.w4f-kpi .k-val{font-size:27px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:.3px}.w4f-kpi .k-sub{font-size:11.5px;color:var(--w4f-muted);margin-top:4px}.w4f-kpi .k-ic{width:26px;height:26px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h)}.w4f-dot{width:7px;height:7px;border-radius:50%;background:var(--w4f-ok);display:inline-block;animation:blink 1.6s infinite}.w4f-dot.err{background:var(--w4f-danger)}.w4f-dot.pending{background:var(--w4f-secondary)}@keyframes blink{50%{opacity:.25}}.w4f-bar{height:5px;border-radius:3px;background:var(--w4f-card-2);overflow:hidden;min-width:60px}.w4f-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--w4f-primary),var(--w4f-secondary));border-radius:3px}.w4f-bar.ok i{background:var(--w4f-ok)}.w4f-bar.err i{background:var(--w4f-danger)}.w4f-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--w4f-radius-pill);font-size:12px;font-weight:600;margin:2px 3px 2px 0}.w4f-tag-ok{background:#17a9641f;color:var(--w4f-ok)}.w4f-tag-danger{background:var(--w4f-danger-50);color:var(--w4f-danger)}.w4f-tag-info{background:var(--w4f-secondary-50);color:var(--w4f-secondary-h)}.w4f-tag-warn{background:#b7791f24;color:var(--w4f-warning)}.w4f-tag-primary{background:var(--w4f-primary-50);color:var(--w4f-primary-h)}.w4f-btn{background:linear-gradient(135deg,var(--w4f-primary),var(--w4f-danger));color:#fff;border:0;border-radius:11px;padding:8px 16px;cursor:pointer;font:inherit;font-weight:600;transition:all .18s var(--w4f-ease-spring)}.w4f-btn:hover{background:linear-gradient(135deg,var(--w4f-primary-h),var(--w4f-danger));transform:translateY(-1px);box-shadow:0 8px 20px var(--w4f-glow)}.w4f-btn:active{transform:translateY(0)}.w4f-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.w4f-btn.ghost{background:transparent;border:1px solid var(--w4f-line-strong);color:var(--w4f-muted)}.w4f-btn.ghost:hover{border-color:var(--w4f-primary);color:var(--w4f-primary-h);box-shadow:var(--w4f-sh-sm);transform:none;background:transparent}.w4f-btn.danger{background:transparent;border:1px solid var(--w4f-danger);color:var(--w4f-danger)}.w4f-btn.danger:hover{background:var(--w4f-danger);color:#fff;box-shadow:0 8px 20px var(--w4f-danger-glow);transform:translateY(-1px)}.w4f-btn.small{padding:5px 12px;font-size:12px;border-radius:var(--w4f-radius-pill)}*{scrollbar-width:thin;scrollbar-color:var(--w4f-line-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--w4f-thumb);border-radius:4px;transition:background .3s}*::-webkit-scrollbar-thumb:hover{background:var(--w4f-thumb-hover)}.el-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.el-dialog{border-radius:var(--w4f-radius)!important;box-shadow:var(--w4f-sh-lg)!important}.el-message{border-radius:var(--w4f-radius-sm)!important;box-shadow:var(--w4f-sh-lg)!important}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.local-node[data-v-2cf42f62]{min-width:240px;border-radius:14px 14px 14px 4px;background:var(--w4f-ok-50);border:2px solid var(--w4f-ok);box-shadow:0 2px 8px var(--w4f-ok-glow);padding:8px 10px}.local-node.selected[data-v-2cf42f62]{border-color:var(--w4f-warning);box-shadow:0 0 0 3px var(--w4f-warn-glow)}.local-node.conflicted[data-v-2cf42f62]{border-color:var(--w4f-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--w4f-danger) 40%,transparent);animation:conflict-pulse-2cf42f62 1.2s ease-in-out infinite}@keyframes conflict-pulse-2cf42f62{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--w4f-danger) 40%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--w4f-danger) 70%,transparent)}}.node-head[data-v-2cf42f62]{display:flex;align-items:center;gap:6px}.node-head .node-icon[data-v-2cf42f62]{color:var(--w4f-ok);font-size:16px}.name-input[data-v-2cf42f62]{flex:1;min-width:0;border:none;background:transparent;font-weight:600;font-size:14px;color:var(--w4f-ok-text)}.name-input[data-v-2cf42f62]:focus{outline:1px solid var(--w4f-ok)}.del-btn[data-v-2cf42f62]{border:none;background:transparent;color:var(--w4f-faint);font-size:16px;cursor:pointer;line-height:1}.del-btn[data-v-2cf42f62]:hover{color:var(--w4f-danger)}.adv .adv-body label input[data-v-2cf42f62],.adv .adv-body label select[data-v-2cf42f62],.fields label input[data-v-2cf42f62],.fields label select[data-v-2cf42f62]{flex:1;min-width:0;border:1px solid var(--w4f-ok-border);border-radius:6px;padding:2px 6px;font-size:12px;background:var(--w4f-card-solid);color:var(--w4f-fg)}.adv .adv-body label input[data-v-2cf42f62]:focus,.adv .adv-body label select[data-v-2cf42f62]:focus,.fields label input[data-v-2cf42f62]:focus,.fields label select[data-v-2cf42f62]:focus{outline:none;border-color:var(--w4f-ok)}.fields[data-v-2cf42f62]{display:flex;flex-direction:column;gap:4px;margin-top:6px}.fields label[data-v-2cf42f62]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--w4f-ok-text)}.fields label input[type=number][data-v-2cf42f62]{width:64px;flex:0 0 64px}.adv[data-v-2cf42f62]{margin-top:6px}.adv .adv-toggle[data-v-2cf42f62]{border:1px dashed var(--w4f-ok-border);background:transparent;color:var(--w4f-ok-text);font-size:11px;border-radius:6px;padding:2px 8px;cursor:pointer}.adv .adv-body[data-v-2cf42f62]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;padding:8px;background:var(--w4f-ok-100);border-radius:8px}.adv .adv-body label[data-v-2cf42f62]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--w4f-ok-text)}.adv .adv-body .adv-check[data-v-2cf42f62]{flex-direction:row;align-items:center;gap:4px}.adv .adv-body .adv-sep[data-v-2cf42f62],.adv .adv-body .adv-wide[data-v-2cf42f62]{grid-column:1/-1}.adv .adv-body .adv-sep[data-v-2cf42f62]{margin:4px 0 2px;font-size:11px;font-weight:600;color:var(--w4f-ok-text);border-top:1px dashed var(--w4f-ok-border);padding-top:4px}.remote-node[data-v-b77096cd]{min-width:200px;border-radius:14px 14px 4px;background:var(--w4f-warn-50);border:2px solid var(--w4f-warning);box-shadow:0 2px 8px var(--w4f-warn-glow);padding:8px 10px}.remote-node.selected[data-v-b77096cd]{border-color:var(--w4f-warning);box-shadow:0 0 0 3px var(--w4f-warn-glow)}.remote-node.conflicted[data-v-b77096cd]{border-color:var(--w4f-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--w4f-danger) 40%,transparent);animation:conflict-pulse-b77096cd 1.2s ease-in-out infinite}@keyframes conflict-pulse-b77096cd{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--w4f-danger) 40%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--w4f-danger) 70%,transparent)}}.node-head[data-v-b77096cd]{display:flex;align-items:center;gap:6px}.node-head .node-icon[data-v-b77096cd]{color:var(--w4f-warning);font-size:16px}.name-input[data-v-b77096cd]{flex:1;min-width:0;border:none;background:transparent;font-weight:600;font-size:14px;color:var(--w4f-warn-text)}.name-input[data-v-b77096cd]:focus{outline:1px solid var(--w4f-warning)}.enabled[data-v-b77096cd]{display:inline-flex;align-items:center;gap:2px;font-size:10px;color:var(--w4f-warn-text)}.del-btn[data-v-b77096cd]{border:none;background:transparent;color:var(--w4f-faint);font-size:16px;cursor:pointer;line-height:1}.del-btn[data-v-b77096cd]:hover{color:var(--w4f-danger)}.fields[data-v-b77096cd]{display:flex;flex-direction:column;gap:4px;margin-top:6px}.fields label[data-v-b77096cd]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--w4f-warn-text)}.fields label input[data-v-b77096cd]{flex:1;min-width:0;border:1px solid var(--w4f-warn-border);border-radius:6px;padding:2px 6px;font-size:12px;background:var(--w4f-card-solid);color:var(--w4f-fg)}.fields label input[data-v-b77096cd]:focus{outline:none;border-color:var(--w4f-warning)}.fields label input[type=number][data-v-b77096cd]{width:64px;flex:0 0 64px}.fields .adv[data-v-b77096cd]{margin-top:6px}.fields .adv .adv-toggle[data-v-b77096cd]{border:1px dashed var(--w4f-warn-border);background:transparent;color:var(--w4f-warn-text);font-size:11px;border-radius:6px;padding:2px 8px;cursor:pointer}.fields .adv .adv-body[data-v-b77096cd]{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px;background:var(--w4f-warn-100);border-radius:8px}.fields .adv .adv-body label[data-v-b77096cd]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--w4f-warn-text)}.fields .adv .adv-body label input[data-v-b77096cd],.fields .adv .adv-body label select[data-v-b77096cd]{flex:1;min-width:0;border:1px solid var(--w4f-warn-border);border-radius:6px;padding:2px 6px;font-size:12px;background:var(--w4f-card-solid);color:var(--w4f-fg)}.fields .adv .adv-body label input[data-v-b77096cd]:focus,.fields .adv .adv-body label select[data-v-b77096cd]:focus{outline:none;border-color:var(--w4f-warning)}.fields .adv .adv-body .adv-check[data-v-b77096cd]{font-size:11px}.port-edge-path.selected[data-v-095ff33f]{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--w4f-primary) 60%,transparent))}.port-edge-path.conflicted[data-v-095ff33f]{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--w4f-danger) 80%,transparent));animation:conflict-pulse-095ff33f 1.2s ease-in-out infinite}@keyframes conflict-pulse-095ff33f{0%,to{opacity:1}50%{opacity:.55}}.port-label[data-v-095ff33f]{background:color-mix(in srgb,var(--w4f-card-solid) 90%,transparent);color:var(--w4f-fg);border:1px solid var(--w4f-line);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;font-family:inherit;white-space:nowrap;box-shadow:var(--w4f-sh-sm);-webkit-user-select:none;user-select:none;transition:box-shadow .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1)),transform .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.port-label.dragging[data-v-095ff33f]{cursor:grabbing;box-shadow:var(--w4f-sh-md)}.port-label .port-toggle[data-v-095ff33f]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:6px;padding:0 4px;margin-right:6px;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--el-color-success) 18%,transparent);color:var(--el-color-success);cursor:pointer;transition:background .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1)),color .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.port-label .port-toggle.off[data-v-095ff33f]{background:color-mix(in srgb,var(--el-color-info) 18%,transparent);color:var(--el-color-info)}.port-label .port-group[data-v-095ff33f]{margin-left:6px;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:600;background:color-mix(in srgb,var(--w4f-secondary) 16%,transparent);color:var(--w4f-secondary-h);cursor:pointer;transition:background .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.canvas-editor[data-v-fc819dfb]{height:100%;display:flex;flex-direction:column;background:var(--w4f-bg-soft)}.toolbar[data-v-fc819dfb]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--w4f-bg-2);border-bottom:1px solid var(--w4f-line);z-index:20}.toolbar-left[data-v-fc819dfb],.toolbar-right[data-v-fc819dfb]{display:flex;align-items:center;gap:8px}.toolbar-title[data-v-fc819dfb]{font-weight:600;font-size:16px;margin-right:8px}.btn[data-v-fc819dfb]{border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1));background:var(--w4f-bg-muted);color:var(--w4f-fg)}.btn[data-v-fc819dfb]:hover{background:var(--w4f-bg-hover)}.btn[data-v-fc819dfb]:disabled{opacity:.5;cursor:default}.btn.local-add[data-v-fc819dfb]{background:var(--w4f-ok);color:#fff}.btn.local-add[data-v-fc819dfb]:hover{background:color-mix(in srgb,var(--w4f-ok) 82%,var(--w4f-fg))}.btn.remote-add[data-v-fc819dfb]{background:var(--w4f-warning);color:#fff}.btn.remote-add[data-v-fc819dfb]:hover{background:color-mix(in srgb,var(--w4f-warning) 82%,var(--w4f-fg))}.btn.warn[data-v-fc819dfb]{background:var(--w4f-secondary);color:#fff}.btn.warn[data-v-fc819dfb]:hover{background:var(--w4f-secondary-h)}.btn.save[data-v-fc819dfb]{background:var(--w4f-primary);color:#fff}.btn.save[data-v-fc819dfb]:hover{background:var(--w4f-primary-h)}.btn.ghost[data-v-fc819dfb]{background:transparent;color:var(--w4f-muted);border:1px solid var(--w4f-line-strong)}.btn.ghost[data-v-fc819dfb]:hover:not(:disabled){background:var(--w4f-card-2);color:var(--w4f-fg)}.btn.ghost[data-v-fc819dfb]:disabled{opacity:.5;cursor:not-allowed}.hidden-input[data-v-fc819dfb]{position:absolute;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none}.save-hint[data-v-fc819dfb]{font-size:13px;color:var(--w4f-muted)}.flow-wrap[data-v-fc819dfb]{flex:1;position:relative;min-height:0}.flow-canvas[data-v-fc819dfb]{width:100%;height:100%;background:var(--w4f-bg-muted)}.dlg-row[data-v-fc819dfb]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dlg-row label[data-v-fc819dfb]{min-width:70px;font-size:14px;color:var(--w4f-fg-2)}.dlg-value[data-v-fc819dfb]{font-weight:500}.dlg-hint[data-v-fc819dfb]{font-size:13px;color:var(--w4f-muted)}[data-v-fc819dfb] .vue-flow__edge-label{background:color-mix(in srgb,var(--w4f-fg) 75%,transparent);color:var(--w4f-bg-2);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;cursor:pointer}[data-v-fc819dfb] .vue-flow__handle{width:12px;height:12px;border:2px solid var(--w4f-card-solid)}[data-v-fc819dfb] .vue-flow__node{cursor:grab}[data-v-fc819dfb] .vue-flow__node.dragging{cursor:grabbing}.settings-page[data-v-8b757323]{height:100%;display:flex;flex-direction:column;overflow-y:auto}.page-top[data-v-8b757323]{flex-shrink:0;padding:24px 32px;border-bottom:1px solid var(--w4f-line)}.page-header .page-title[data-v-8b757323]{margin:0}.page-header .page-subtitle[data-v-8b757323]{margin:4px 0 0;color:var(--w4f-muted);font-size:14px}.page-content[data-v-8b757323]{padding:24px 32px;display:flex;flex-direction:column;gap:24px;max-width:760px}.panel[data-v-8b757323]{border:1px solid var(--w4f-line);border-radius:16px;padding:24px}.panel-title[data-v-8b757323]{margin:0 0 4px;font-size:16px;font-weight:600}.panel-desc[data-v-8b757323]{margin:0 0 12px;color:var(--w4f-muted);font-size:13px}.binary-row[data-v-8b757323]{display:flex;gap:8px}.binary-input[data-v-8b757323]{flex:1}.btn[data-v-8b757323]{border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1));white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.install-btn[data-v-8b757323]{background:var(--w4f-primary);color:#fff}.install-btn[data-v-8b757323]:hover{background:var(--w4f-primary-h)}.install-btn[data-v-8b757323]:disabled{opacity:.6;cursor:default}.spin[data-v-8b757323]{animation:rotate-8b757323 1s linear infinite}@keyframes rotate-8b757323{to{transform:rotate(360deg)}}.binary-info[data-v-8b757323]{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.binary-info .info-label[data-v-8b757323]{color:var(--w4f-muted);font-size:13px}.binary-info .info-value[data-v-8b757323]{background:var(--w4f-bg-muted);border-radius:6px;padding:2px 8px;font-size:13px;word-break:break-all}.binary-info .info-version[data-v-8b757323]{background:var(--w4f-primary-50);color:var(--w4f-primary-h);border-radius:10px;padding:2px 8px;font-size:13px}.setting-row[data-v-8b757323]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--w4f-line-2)}.setting-row[data-v-8b757323]:last-child{border-bottom:none}.setting-text[data-v-8b757323]{display:flex;flex-direction:column}.setting-label[data-v-8b757323]{font-size:14px;font-weight:500}.setting-hint[data-v-8b757323]{font-size:13px;color:var(--w4f-muted)}.status-page[data-v-3b790b1b]{height:100%;display:flex;flex-direction:column;overflow:hidden;gap:14px}.topbar[data-v-3b790b1b]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.tb-left[data-v-3b790b1b]{display:flex;flex-direction:column;gap:3px}.page-title[data-v-3b790b1b]{margin:0;font-size:17px;font-weight:800}.page-sub[data-v-3b790b1b]{font-size:12px;color:var(--w4f-muted)}.tb-right[data-v-3b790b1b]{display:flex;gap:8px}.kpis[data-v-3b790b1b]{flex-shrink:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px}.status-body[data-v-3b790b1b]{flex:1;display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding-right:4px}.section[data-v-3b790b1b]{display:flex;flex-direction:column}.section-title[data-v-3b790b1b]{margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--w4f-muted);letter-spacing:.02em;display:flex;align-items:center;gap:10px}.section-title .k-ic[data-v-3b790b1b]{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:13px;background:linear-gradient(135deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h)}.card-grid[data-v-3b790b1b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.node-card[data-v-3b790b1b]{padding:16px 18px;border-left:4px solid var(--w4f-danger)}.node-card.healthy[data-v-3b790b1b]{border-left-color:var(--w4f-ok)}.nc-head[data-v-3b790b1b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nc-name[data-v-3b790b1b]{font-weight:800;font-size:15px;margin-right:auto}.nc-actions[data-v-3b790b1b]{display:flex;gap:6px;flex-wrap:wrap}.nc-cluster-note[data-v-3b790b1b]{font-size:11.5px;color:var(--w4f-muted);padding:3px 9px;border-radius:99px;background:var(--w4f-card-2);cursor:help;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-meta[data-v-3b790b1b]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.meta-pill[data-v-3b790b1b]{font-size:11.5px;padding:2px 9px;border-radius:99px;background:var(--w4f-card-2);color:var(--w4f-muted);font-family:var(--w4f-mono);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-pill.warn[data-v-3b790b1b]{background:var(--w4f-warning-50);color:var(--w4f-warning)}.meta-pill.err[data-v-3b790b1b]{background:var(--w4f-danger-50);color:var(--w4f-danger)}.meta-pill.info[data-v-3b790b1b]{background:var(--w4f-secondary-50);color:var(--w4f-secondary-h)}.nc-forwards[data-v-3b790b1b]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.nc-groups[data-v-3b790b1b]{margin-top:6px}.nc-proxies[data-v-3b790b1b]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.nc-proxy[data-v-3b790b1b]{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 10px;border-radius:10px;background:var(--w4f-card-2);border:1px solid var(--w4f-line)}.nc-proxy.ok[data-v-3b790b1b]{border-left:3px solid var(--w4f-ok)}.nc-proxy.pending[data-v-3b790b1b]{border-left:3px solid var(--w4f-secondary)}.nc-proxy.err[data-v-3b790b1b]{border-left:3px solid var(--w4f-danger)}.nc-proxy .w4f-bar[data-v-3b790b1b]{width:60px}.np-name[data-v-3b790b1b]{font-weight:700}.np-status[data-v-3b790b1b]{font-size:11px;color:var(--w4f-fg-2)}.np-addr[data-v-3b790b1b]{margin-left:auto;font-size:11px;color:var(--w4f-muted);font-family:var(--w4f-mono)}.np-err[data-v-3b790b1b]{margin-left:auto;font-size:11px;color:var(--w4f-danger);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-proxies-empty[data-v-3b790b1b]{margin-top:8px;font-size:12px;color:var(--w4f-muted)}.fwd-card[data-v-3b790b1b]{padding:12px 14px;border-left:4px solid var(--w4f-muted);transition:border-color .18s var(--w4f-ease-spring)}.fwd-card.active[data-v-3b790b1b]{border-left-color:var(--w4f-ok)}.fwd-card.stopped[data-v-3b790b1b]{border-left-color:var(--w4f-danger);opacity:.78}.fwd-head[data-v-3b790b1b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fwd-kind[data-v-3b790b1b]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;color:var(--w4f-muted);background:var(--w4f-card-2)}.fwd-kind.local[data-v-3b790b1b]{color:var(--w4f-ok-h, #fff);background:var(--w4f-ok-50, var(--w4f-primary-50))}.fwd-kind.remote[data-v-3b790b1b]{color:var(--w4f-secondary-h);background:var(--w4f-secondary-50)}.fwd-dot[data-v-3b790b1b]{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--w4f-muted);box-shadow:0 0 0 3px var(--w4f-card-2)}.fwd-dot.on[data-v-3b790b1b]{background:var(--w4f-ok);box-shadow:0 0 0 3px var(--w4f-ok-50, var(--w4f-primary-50))}.fwd-route[data-v-3b790b1b]{font-size:13.5px;display:flex;align-items:center;gap:5px;margin-right:auto}.fwd-ip[data-v-3b790b1b]{font-size:11.5px;color:var(--w4f-muted);font-family:var(--w4f-mono)}.fwd-arrow[data-v-3b790b1b]{color:var(--w4f-primary);font-weight:800}.fwd-port[data-v-3b790b1b]{font-family:var(--w4f-mono);color:var(--w4f-fg-2)}.fwd-owner[data-v-3b790b1b]{font-size:11.5px;color:var(--w4f-muted);padding:2px 8px;border-radius:99px;background:var(--w4f-card-2);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fwd-actions[data-v-3b790b1b]{display:flex;gap:6px}.grp-count[data-v-3b790b1b]{font-size:12px;color:var(--w4f-muted);font-weight:600}.grp-actions[data-v-3b790b1b]{margin-left:auto;display:flex;gap:6px}.group-chip[data-v-3b790b1b]{cursor:pointer;transition:background .18s var(--w4f-ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.group-chip[data-v-3b790b1b]:hover{background:color-mix(in srgb,var(--w4f-info) 30%,transparent)}.local-card[data-v-3b790b1b]{padding:14px 16px}.lc-head[data-v-3b790b1b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-name[data-v-3b790b1b]{font-weight:800;font-size:14px}.lc-addr[data-v-3b790b1b]{font-size:12px;color:var(--w4f-fg-2);font-family:var(--w4f-mono)}.lc-targets[data-v-3b790b1b]{margin-top:10px;display:flex;flex-direction:column;gap:6px}.lc-target[data-v-3b790b1b]{display:flex;align-items:center;gap:6px;font-size:13px}.lc-arrow[data-v-3b790b1b]{color:var(--w4f-primary);font-weight:700}.lc-remote[data-v-3b790b1b]{font-weight:600}.lc-port[data-v-3b790b1b]{color:var(--w4f-fg-2);font-family:var(--w4f-mono);margin-right:auto}.lc-none[data-v-3b790b1b]{font-size:12px;color:var(--w4f-faint)}.empty[data-v-3b790b1b]{grid-column:1/-1;color:var(--w4f-muted);font-size:13px;padding:18px;text-align:center}.form-row[data-v-3b790b1b]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-row label[data-v-3b790b1b]{width:72px;font-size:13px;color:var(--w4f-fg-2);flex-shrink:0}.cluster-page[data-v-522b4320]{height:100%;display:flex;flex-direction:column;overflow-y:auto;padding:4px 0 40px;gap:14px}.hero[data-v-522b4320]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px}.hero-left[data-v-522b4320]{display:flex;flex-direction:column;gap:4px}.page-title[data-v-522b4320]{margin:0;font-size:18px;font-weight:800}.page-sub[data-v-522b4320]{color:var(--w4f-muted);font-size:12px}.hero-stats[data-v-522b4320]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hero-stats .w4f-tag b[data-v-522b4320]{color:var(--w4f-fg);font-weight:800}.crown[data-v-522b4320]{color:var(--w4f-primary-h)}.nodekey-bar[data-v-522b4320]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--w4f-line);width:100%}.nk-label[data-v-522b4320]{font-size:12px;color:var(--w4f-muted);white-space:nowrap}.nk-value[data-v-522b4320]{font-family:var(--w4f-mono);font-size:12px;background:var(--w4f-card-2);border:1px solid var(--w4f-line);border-radius:10px;padding:3px 8px;-webkit-user-select:all;user-select:all;letter-spacing:.02em}.nk-hint[data-v-522b4320]{font-size:11px;color:var(--w4f-faint)}.kpis[data-v-522b4320]{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px}.toolbar[data-v-522b4320]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px}.act-hint[data-v-522b4320]{font-size:12px;color:var(--w4f-muted)}.cluster-body[data-v-522b4320]{display:flex;flex-direction:column;gap:14px}.section[data-v-522b4320]{padding:18px 20px}.section-title[data-v-522b4320]{margin:0 0 12px;font-size:13.5px;font-weight:700;color:var(--w4f-muted);letter-spacing:.02em;display:flex;align-items:center;gap:10px}.section-title .k-ic[data-v-522b4320]{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:13px;background:linear-gradient(135deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h)}.ring-line[data-v-522b4320]{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.ring-node[data-v-522b4320]{position:relative;border:1px solid var(--w4f-line);border-radius:16px;padding:12px 14px;min-width:168px;background:var(--w4f-card-2);box-shadow:var(--w4f-sh-sm)}.ring-node.leader[data-v-522b4320]{border-color:var(--w4f-secondary);background:var(--w4f-secondary-50)}.ring-node.self[data-v-522b4320]{outline:2px solid rgba(255,127,172,.45);box-shadow:0 0 0 4px #ff7fac24;border-color:var(--w4f-primary)}.ring-node.dead[data-v-522b4320]{border-color:var(--w4f-danger);background:var(--w4f-danger-50);opacity:.72}.rn-top[data-v-522b4320]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rn-id[data-v-522b4320]{font-weight:800;font-size:13px;font-family:var(--w4f-mono)}.rn-load-row[data-v-522b4320]{display:flex;align-items:center;gap:8px;margin-top:8px}.rn-load-label[data-v-522b4320]{font-size:11px;color:var(--w4f-muted);white-space:nowrap}.rn-load-row .w4f-bar[data-v-522b4320]{flex:1;min-width:50px}.rn-addr[data-v-522b4320]{font-size:11px;color:var(--w4f-muted);font-family:var(--w4f-mono);margin-top:4px}.rn-remove[data-v-522b4320]{margin-top:8px}.ring-arrow[data-v-522b4320]{align-self:center;color:var(--w4f-primary);font-size:18px;font-weight:700}.task-list[data-v-522b4320],.topo-list[data-v-522b4320],.log-list[data-v-522b4320]{display:flex;flex-direction:column;gap:6px}.log-list[data-v-522b4320]{max-height:340px;overflow-y:auto;padding-right:2px}.task-row[data-v-522b4320],.topo-row[data-v-522b4320]{display:flex;align-items:center;gap:8px;border:1px solid var(--w4f-line);border-radius:10px;padding:8px 11px;font-size:13px;background:var(--w4f-card-2);box-shadow:var(--w4f-sh-sm)}.task-row.pending[data-v-522b4320]{background:var(--w4f-primary-50);border-color:#ff7fac40}.task-row.revoke[data-v-522b4320],.task-row.remove[data-v-522b4320]{background:var(--w4f-danger-50);border-color:#db369440}.tk-id[data-v-522b4320],.tp-id[data-v-522b4320]{font-weight:700;color:var(--w4f-fg-2);font-size:12px;font-family:var(--w4f-mono)}.tk-name[data-v-522b4320],.tp-name[data-v-522b4320]{font-weight:600}.tk-arrow[data-v-522b4320]{color:var(--w4f-primary);font-weight:700}.tk-port[data-v-522b4320],.tp-port[data-v-522b4320]{color:var(--w4f-muted);font-family:var(--w4f-mono)}.tp-owner[data-v-522b4320]{margin-left:auto;font-size:11px;color:var(--w4f-secondary-h)}.tp-owner.self[data-v-522b4320]{color:var(--w4f-primary-h);font-weight:700}.log-row[data-v-522b4320]{display:flex;align-items:center;gap:10px;font-size:12px;font-family:var(--w4f-mono);border-bottom:1px dashed var(--w4f-line);padding:4px 2px;flex-wrap:wrap}.log-row.add .lg-kind[data-v-522b4320]{color:var(--w4f-ok);font-weight:700}.log-row.remove .lg-kind[data-v-522b4320]{color:var(--w4f-danger);font-weight:700}.log-row.join .lg-kind[data-v-522b4320]{color:var(--w4f-info);font-weight:700}.log-row.leave .lg-kind[data-v-522b4320]{color:var(--w4f-warning);font-weight:700}.log-row.leader .lg-kind[data-v-522b4320]{color:var(--w4f-secondary-h);font-weight:700}.lg-seq[data-v-522b4320]{color:var(--w4f-muted);flex:0 0 auto}.lg-time[data-v-522b4320]{color:var(--w4f-faint);font-size:11.5px;flex:0 0 auto}.lg-node[data-v-522b4320]{color:var(--w4f-faint);flex:0 0 auto}.lg-node.self[data-v-522b4320]{color:var(--w4f-primary-h);font-weight:700}.lg-kind[data-v-522b4320]{color:var(--w4f-fg-2);flex:0 0 auto;font-weight:600}.lg-detail[data-v-522b4320]{margin-left:auto;color:var(--w4f-fg-2);font-size:11.5px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.log-count[data-v-522b4320]{font-size:11px;font-weight:600;color:var(--w4f-muted)}.title-actions[data-v-522b4320]{margin-left:auto;display:flex;align-items:center;gap:6px}.empty[data-v-522b4320]{color:var(--w4f-muted);font-size:13px;padding:10px}.empty-page[data-v-522b4320]{color:var(--w4f-muted);font-size:14px;padding:40px;text-align:center}.form-row[data-v-522b4320]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.form-row label[data-v-522b4320]{width:72px;font-size:13px;color:var(--w4f-fg-2);flex-shrink:0}.form-hint[data-v-522b4320]{font-size:12px;color:var(--w4f-muted)}.users-view[data-v-35347cd7]{display:flex;flex-direction:column;gap:20px}.card[data-v-35347cd7]{background:var(--w4f-card);border:1px solid var(--w4f-line);border-radius:16px;padding:16px 18px;box-shadow:var(--w4f-sh-sm)}.card-h[data-v-35347cd7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-h h3[data-v-35347cd7]{margin:0;font-size:15px;font-weight:700}.muted[data-v-35347cd7]{color:var(--w4f-muted)}.key-result[data-v-35347cd7]{display:flex;flex-direction:column;gap:10px}.key-result .warn[data-v-35347cd7]{color:var(--w4f-primary-h, #d97706);font-weight:600;margin:0}.key-result .hint[data-v-35347cd7]{margin:0;font-size:12px;color:var(--w4f-muted)}.key-result code[data-v-35347cd7]{background:var(--w4f-card-2);padding:1px 5px;border-radius:4px;font-size:12px}.app-shell[data-v-48c4803f]{height:100%;display:flex;font-family:var(--w4f-font);color:var(--w4f-fg)}.sidebar[data-v-48c4803f]{flex:0 0 246px;width:246px;padding:18px 14px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;background:var(--w4f-card);border-right:1px solid var(--w4f-line);backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);-webkit-backdrop-filter:blur(calc(var(--w4f-glass) * .7)) saturate(1.3);box-shadow:var(--w4f-sh-md);z-index:30}@media(prefers-reduced-motion:reduce){.sidebar[data-v-48c4803f]{backdrop-filter:none;-webkit-backdrop-filter:none}}.sb-brand[data-v-48c4803f]{display:flex;align-items:center;gap:11px;padding:6px 8px 18px}.sb-logo[data-v-48c4803f]{width:40px;height:40px;border-radius:13px;flex:0 0 auto;object-fit:contain;box-shadow:0 6px 18px var(--w4f-glow)}.sb-brand-text b[data-v-48c4803f]{font-size:16.5px;letter-spacing:.2px;display:block;line-height:1.1}.sb-brand-text small[data-v-48c4803f]{display:block;font-size:11px;color:var(--w4f-muted);margin-top:3px}.sb-nav[data-v-48c4803f]{display:flex;flex-direction:column;gap:3px;flex:1}.sb-i[data-v-48c4803f]{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 13px;border-radius:13px;cursor:pointer;color:var(--w4f-muted);font-weight:600;font-size:13.5px;font-family:inherit;background:transparent;border:1px solid transparent;transition:background .18s var(--w4f-ease-spring),color .18s var(--w4f-ease-spring),border-color .18s var(--w4f-ease-spring),box-shadow .18s var(--w4f-ease-spring)}.sb-i .ic[data-v-48c4803f]{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;opacity:.85}.sb-i[data-v-48c4803f]:hover{background:var(--w4f-card-2);color:var(--w4f-fg)}.sb-i:hover .ic[data-v-48c4803f]{opacity:1}.sb-i.active[data-v-48c4803f]{background:linear-gradient(120deg,var(--w4f-primary-50),var(--w4f-secondary-50));color:var(--w4f-primary-h);border-color:var(--w4f-line);box-shadow:var(--w4f-sh-sm)}.sb-i.active .ic[data-v-48c4803f]{opacity:1}.sb-foot[data-v-48c4803f]{margin-top:auto;padding-top:16px}.sb-identity[data-v-48c4803f]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin-bottom:12px;border-radius:10px;background:var(--w4f-card-2);border:1px solid var(--w4f-line);font-size:12.5px}.sb-identity .id-name[data-v-48c4803f]{font-weight:600;color:var(--w4f-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-identity .id-level[data-v-48c4803f]{flex:0 0 auto;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;color:var(--w4f-muted);background:var(--w4f-card)}.sb-identity .id-level.admin[data-v-48c4803f]{color:#fff;background:linear-gradient(135deg,var(--w4f-primary),var(--w4f-secondary))}.sb-identity .id-level.write[data-v-48c4803f]{color:var(--w4f-warning);background:var(--w4f-warning-50)}.sb-identity .id-level.read[data-v-48c4803f]{color:var(--w4f-muted)}.sb-theme[data-v-48c4803f]{display:flex;gap:6px;margin-bottom:12px}.sb-theme .sw[data-v-48c4803f]{width:26px;height:26px;border-radius:8px;border:2px solid var(--w4f-line);cursor:pointer;padding:0;transition:transform .15s var(--w4f-ease-spring),box-shadow .15s var(--w4f-ease-spring)}.sb-theme .sw[data-v-48c4803f]:hover{transform:translateY(-1px)}.sb-theme .sw.on[data-v-48c4803f]{border-color:var(--w4f-primary);box-shadow:0 0 0 3px var(--w4f-glow-soft)}.sb-theme .sw.white[data-v-48c4803f]{background:linear-gradient(135deg,#fff,#cdd4e0)}.sb-theme .sw.blue[data-v-48c4803f]{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.sb-theme .sw.pink[data-v-48c4803f]{background:linear-gradient(135deg,#ff7fac,#f33b7c)}.main[data-v-48c4803f]{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.breadcrumb[data-v-48c4803f]{display:flex;align-items:center;gap:8px;padding:16px 24px 6px;font-weight:700;font-size:15px}.breadcrumb .crumb[data-v-48c4803f]{opacity:1;color:var(--w4f-fg)}.content[data-v-48c4803f]{flex:1;overflow-y:auto;padding:8px 24px 40px}@media(max-width:900px){.sidebar[data-v-48c4803f]{flex:0 0 210px;width:210px}.breadcrumb[data-v-48c4803f]{padding:12px 16px 6px}.content[data-v-48c4803f]{padding:8px 14px 32px}} diff --git a/internal/httpapi/dist/assets/index-CXBf2fLP.js b/internal/httpapi/dist/assets/index-CXBf2fLP.js deleted file mode 100644 index b66f75e..0000000 --- a/internal/httpapi/dist/assets/index-CXBf2fLP.js +++ /dev/null @@ -1,76 +0,0 @@ -var $N=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}};var Ide=$N((Ho,Ko)=>{(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const l of a)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&o(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const l={};return a.integrity&&(l.integrity=a.integrity),a.referrerPolicy&&(l.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?l.credentials="include":a.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function o(a){if(a.ep)return;a.ep=!0;const l=n(a);fetch(a.href,l)}})();function Tm(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const yn={},Or=[],ht=()=>{},PS=()=>!1,Rf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Af=e=>e.startsWith("onUpdate:"),zn=Object.assign,Nm=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},TN=Object.prototype.hasOwnProperty,Ft=(e,t)=>TN.call(e,t),xe=Array.isArray,Pr=e=>Yu(e)==="[object Map]",mi=e=>Yu(e)==="[object Set]",ts=e=>Yu(e)==="[object Date]",je=e=>typeof e=="function",Ve=e=>typeof e=="string",jo=e=>typeof e=="symbol",lt=e=>e!==null&&typeof e=="object",ns=e=>(lt(e)||je(e))&&je(e.then)&&je(e.catch),RS=Object.prototype.toString,Yu=e=>RS.call(e),NN=e=>Yu(e).slice(8,-1),uu=e=>Yu(e)==="[object Object]",Df=e=>Ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,qi=Tm(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Lf=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},_N=/-\w/g,Xn=Lf(e=>e.replace(_N,t=>t.slice(1).toUpperCase())),IN=/\B([A-Z])/g,Nl=Lf(e=>e.replace(IN,"-$1").toLowerCase()),Uu=Lf(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ds=Lf(e=>e?`on${Uu(e)}`:""),ca=(e,t)=>!Object.is(e,t),ld=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Bf=e=>{const t=parseFloat(e);return isNaN(t)?e:t},MN=e=>{const t=Ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Zy;const Vf=()=>Zy||(Zy=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fe(e){if(xe(e)){const t={};for(let n=0;n{if(n){const o=n.split(PN);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function A(e){let t="";if(Ve(e))t=e;else if(xe(e))for(let n=0;nos(n,t))}const LS=e=>!!(e&&e.__v_isRef===!0),ye=e=>Ve(e)?e:e==null?"":xe(e)||lt(e)&&(e.toString===RS||!je(e.toString))?LS(e)?ye(e.value):JSON.stringify(e,BS,2):String(e),BS=(e,t)=>LS(t)?BS(e,t.value):Pr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],l)=>(n[Kp(o,l)+" =>"]=a,n),{})}:mi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Kp(n))}:jo(t)?Kp(t):lt(t)&&!xe(t)&&!uu(t)?String(t):t,Kp=(e,t="")=>{var n;return jo(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Wn;class VS{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&&Wn&&(Wn.active?(this.parent=Wn,this.index=(Wn.scopes||(Wn.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 o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Wn===this)Wn=this.prevScope;else{let t=Wn;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,o;for(n=0,o=this.effects.length;n0)return;if(Xi){let t=Xi;for(Xi=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Gi;){let t=Gi;for(Gi=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function KS(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function WS(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),Om(o),VN(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function Gv(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(jS(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function jS(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===cu)||(e.globalVersion=cu,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Gv(e))))return;e.flags|=2;const t=e.dep,n=Sn,o=pa;Sn=e,pa=!0;try{KS(e);const a=e.fn(e._value);(t.version===0||ca(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Sn=n,pa=o,WS(e),e.flags&=-3}}function Om(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)Om(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function VN(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let pa=!0;const YS=[];function Sl(){YS.push(pa),pa=!1}function Cl(){const e=YS.pop();pa=e===void 0?!0:e}function Jy(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Sn;Sn=void 0;try{t()}finally{Sn=n}}}let cu=0;class FN{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 zf{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(!Sn||!pa||Sn===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Sn)n=this.activeLink=new FN(Sn,this),Sn.deps?(n.prevDep=Sn.depsTail,Sn.depsTail.nextDep=n,Sn.depsTail=n):Sn.deps=Sn.depsTail=n,US(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Sn.depsTail,n.nextDep=void 0,Sn.depsTail.nextDep=n,Sn.depsTail=n,Sn.deps===n&&(Sn.deps=o)}return n}trigger(t){this.version++,cu++,this.notify(t)}notify(t){Im();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Mm()}}}function US(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)US(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ld=new WeakMap,Ls=Symbol(""),Xv=Symbol(""),du=Symbol("");function ao(e,t,n){if(pa&&Sn){let o=Ld.get(e);o||Ld.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new zf),a.map=o,a.key=n),a.track()}}function ul(e,t,n,o,a,l){const s=Ld.get(e);if(!s){cu++;return}const r=u=>{u&&u.trigger()};if(Im(),t==="clear")s.forEach(r);else{const u=xe(e),c=u&&Df(n);if(u&&n==="length"){const d=Number(o);s.forEach((f,v)=>{(v==="length"||v===du||!jo(v)&&v>=d)&&r(f)})}else switch((n!==void 0||s.has(void 0))&&r(s.get(n)),c&&r(s.get(du)),t){case"add":u?c&&r(s.get("length")):(r(s.get(Ls)),Pr(e)&&r(s.get(Xv)));break;case"delete":u||(r(s.get(Ls)),Pr(e)&&r(s.get(Xv)));break;case"set":Pr(e)&&r(s.get(Ls));break}}Mm()}function zN(e,t){const n=Ld.get(e);return n&&n.get(t)}function yr(e){const t=en(e);return t===e?t:(ao(t,"iterate",du),Wo(e)?t:t.map(ga))}function Hf(e){return ao(e=en(e),"iterate",du),e}function Pa(e,t){return kl(e)?Yr(Bs(e)?ga(t):t):ga(t)}const HN={__proto__:null,[Symbol.iterator](){return jp(this,Symbol.iterator,e=>Pa(this,e))},concat(...e){return yr(this).concat(...e.map(t=>xe(t)?yr(t):t))},entries(){return jp(this,"entries",e=>(e[1]=Pa(this,e[1]),e))},every(e,t){return al(this,"every",e,t,void 0,arguments)},filter(e,t){return al(this,"filter",e,t,n=>n.map(o=>Pa(this,o)),arguments)},find(e,t){return al(this,"find",e,t,n=>Pa(this,n),arguments)},findIndex(e,t){return al(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return al(this,"findLast",e,t,n=>Pa(this,n),arguments)},findLastIndex(e,t){return al(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return al(this,"forEach",e,t,void 0,arguments)},includes(...e){return Yp(this,"includes",e)},indexOf(...e){return Yp(this,"indexOf",e)},join(e){return yr(this).join(e)},lastIndexOf(...e){return Yp(this,"lastIndexOf",e)},map(e,t){return al(this,"map",e,t,void 0,arguments)},pop(){return Ei(this,"pop")},push(...e){return Ei(this,"push",e)},reduce(e,...t){return Qy(this,"reduce",e,t)},reduceRight(e,...t){return Qy(this,"reduceRight",e,t)},shift(){return Ei(this,"shift")},some(e,t){return al(this,"some",e,t,void 0,arguments)},splice(...e){return Ei(this,"splice",e)},toReversed(){return yr(this).toReversed()},toSorted(e){return yr(this).toSorted(e)},toSpliced(...e){return yr(this).toSpliced(...e)},unshift(...e){return Ei(this,"unshift",e)},values(){return jp(this,"values",e=>Pa(this,e))}};function jp(e,t,n){const o=Hf(e),a=o[t]();return o!==e&&!Wo(e)&&(a._next=a.next,a.next=()=>{const l=a._next();return l.done||(l.value=n(l.value)),l}),a}const KN=Array.prototype;function al(e,t,n,o,a,l){const s=Hf(e),r=s!==e&&!Wo(e),u=s[t];if(u!==KN[t]){const f=u.apply(e,l);return r?ga(f):f}let c=n;s!==e&&(r?c=function(f,v){return n.call(this,Pa(e,f),v,e)}:n.length>2&&(c=function(f,v){return n.call(this,f,v,e)}));const d=u.call(s,c,o);return r&&a?a(d):d}function Qy(e,t,n,o){const a=Hf(e),l=a!==e&&!Wo(e);let s=n,r=!1;a!==e&&(l?(r=o.length===0,s=function(c,d,f){return r&&(r=!1,c=Pa(e,c)),n.call(this,c,Pa(e,d),f,e)}):n.length>3&&(s=function(c,d,f){return n.call(this,c,d,f,e)}));const u=a[t](s,...o);return r?Pa(e,u):u}function Yp(e,t,n){const o=en(e);ao(o,"iterate",du);const a=o[t](...n);return(a===-1||a===!1)&&jf(n[0])?(n[0]=en(n[0]),o[t](...n)):a}function Ei(e,t,n=[]){Sl(),Im();const o=en(e)[t].apply(e,n);return Mm(),Cl(),o}const WN=Tm("__proto__,__v_isRef,__isVue"),qS=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jo));function jN(e){jo(e)||(e=String(e));const t=en(this);return ao(t,"has",e),t.hasOwnProperty(e)}class GS{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return l;if(n==="__v_raw")return o===(a?l?tC:eC:l?QS:JS).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const s=xe(t);if(!a){let u;if(s&&(u=HN[n]))return u;if(n==="hasOwnProperty")return jN}const r=Reflect.get(t,n,gt(t)?t:o);if((jo(n)?qS.has(n):WN(n))||(a||ao(t,"get",n),l))return r;if(gt(r)){const u=s&&Df(n)?r:r.value;return a&<(u)?qs(u):u}return lt(r)?a?qs(r):zt(r):r}}class XS extends GS{constructor(t=!1){super(!1,t)}set(t,n,o,a){let l=t[n];const s=xe(t)&&Df(n);if(!this._isShallow){const c=kl(l);if(!Wo(o)&&!kl(o)&&(l=en(l),o=en(o)),!s&>(l)&&!gt(o))return c||(l.value=o),!0}const r=s?Number(n)e,Ec=e=>Reflect.getPrototypeOf(e);function XN(e,t,n){return function(...o){const a=this.__v_raw,l=en(a),s=Pr(l),r=e==="entries"||e===Symbol.iterator&&s,u=e==="keys"&&s,c=a[e](...o),d=n?Zv:t?Yr:ga;return!t&&ao(l,"iterate",u?Xv:Ls),zn(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:r?[d(f[0]),d(f[1])]:d(f),done:v}}})}}function $c(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ZN(e,t){const n={get(a){const l=this.__v_raw,s=en(l),r=en(a);e||(ca(a,r)&&ao(s,"get",a),ao(s,"get",r));const{has:u}=Ec(s),c=t?Zv:e?Yr:ga;if(u.call(s,a))return c(l.get(a));if(u.call(s,r))return c(l.get(r));l!==s&&l.get(a)},get size(){const a=this.__v_raw;return!e&&ao(en(a),"iterate",Ls),a.size},has(a){const l=this.__v_raw,s=en(l),r=en(a);return e||(ca(a,r)&&ao(s,"has",a),ao(s,"has",r)),a===r?l.has(a):l.has(a)||l.has(r)},forEach(a,l){const s=this,r=s.__v_raw,u=en(r),c=t?Zv:e?Yr:ga;return!e&&ao(u,"iterate",Ls),r.forEach((d,f)=>a.call(l,c(d),c(f),s))}};return zn(n,e?{add:$c("add"),set:$c("set"),delete:$c("delete"),clear:$c("clear")}:{add(a){const l=en(this),s=Ec(l),r=en(a),u=!t&&!Wo(a)&&!kl(a)?r:a;return s.has.call(l,u)||ca(a,u)&&s.has.call(l,a)||ca(r,u)&&s.has.call(l,r)||(l.add(u),ul(l,"add",u,u)),this},set(a,l){!t&&!Wo(l)&&!kl(l)&&(l=en(l));const s=en(this),{has:r,get:u}=Ec(s);let c=r.call(s,a);c||(a=en(a),c=r.call(s,a));const d=u.call(s,a);return s.set(a,l),c?ca(l,d)&&ul(s,"set",a,l):ul(s,"add",a,l),this},delete(a){const l=en(this),{has:s,get:r}=Ec(l);let u=s.call(l,a);u||(a=en(a),u=s.call(l,a)),r&&r.call(l,a);const c=l.delete(a);return u&&ul(l,"delete",a,void 0),c},clear(){const a=en(this),l=a.size!==0,s=a.clear();return l&&ul(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=XN(a,e,t)}),n}function Kf(e,t){const n=ZN(e,t);return(o,a,l)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(Ft(n,a)&&a in o?n:o,a,l)}const JN={get:Kf(!1,!1)},QN={get:Kf(!1,!0)},e_={get:Kf(!0,!1)},t_={get:Kf(!0,!0)},JS=new WeakMap,QS=new WeakMap,eC=new WeakMap,tC=new WeakMap;function n_(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zt(e){return kl(e)?e:Wf(e,!1,YN,JN,JS)}function Pm(e){return Wf(e,!1,qN,QN,QS)}function qs(e){return Wf(e,!0,UN,e_,eC)}function Rm(e){return Wf(e,!0,GN,t_,tC)}function Wf(e,t,n,o,a){if(!lt(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=a.get(e);if(l)return l;const s=n_(NN(e));if(s===0)return e;const r=new Proxy(e,s===2?o:n);return a.set(e,r),r}function Bs(e){return kl(e)?Bs(e.__v_raw):!!(e&&e.__v_isReactive)}function kl(e){return!!(e&&e.__v_isReadonly)}function Wo(e){return!!(e&&e.__v_isShallow)}function jf(e){return e?!!e.__v_raw:!1}function en(e){const t=e&&e.__v_raw;return t?en(t):e}function yo(e){return!Ft(e,"__v_skip")&&Object.isExtensible(e)&&AS(e,"__v_skip",!0),e}const ga=e=>lt(e)?zt(e):e,Yr=e=>lt(e)?qs(e):e;function gt(e){return e?e.__v_isRef===!0:!1}function B(e){return nC(e,!1)}function Ct(e){return nC(e,!0)}function nC(e,t){return gt(e)?e:new o_(e,t)}class o_{constructor(t,n){this.dep=new zf,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:en(t),this._value=n?t:ga(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Wo(t)||kl(t);t=o?t:en(t),ca(t,n)&&(this._rawValue=t,this._value=o?t:ga(t),this.dep.trigger())}}function sd(e){e.dep&&e.dep.trigger()}function i(e){return gt(e)?e.value:e}function Nt(e){return je(e)?e():i(e)}const a_={get:(e,t,n)=>t==="__v_raw"?e:i(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return gt(a)&&!gt(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function oC(e){return Bs(e)?e:new Proxy(e,a_)}class l_{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new zf,{get:o,set:a}=t(n.track.bind(n),n.trigger.bind(n));this._get=o,this._set=a}get value(){return this._value=this._get()}set value(t){this._set(t)}}function s_(e){return new l_(e)}function Rn(e){const t=xe(e)?new Array(e.length):{};for(const n in e)t[n]=aC(e,n);return t}class r_{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=jo(n)?n:String(n),this._raw=en(t);let a=!0,l=t;if(!xe(t)||jo(this._key)||!Df(this._key))do a=!jf(l)||Wo(l);while(a&&(l=l.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=i(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&>(this._raw[this._key])){const n=this._object[this._key];if(gt(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return zN(this._raw,this._key)}}class i_{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 bt(e,t,n){return gt(e)?e:je(e)?new i_(e):lt(e)&&arguments.length>1?aC(e,t,n):B(e)}function aC(e,t,n){return new r_(e,t,n)}class u_{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new zf(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=cu-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Sn!==this)return HS(this,!0),!0}get value(){const t=this.dep.track();return jS(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function c_(e,t,n=!1){let o,a;return je(e)?o=e:(o=e.get,a=e.set),new u_(o,a,n)}const Tc={},Bd=new WeakMap;let Cs;function d_(e,t=!1,n=Cs){if(n){let o=Bd.get(n);o||Bd.set(n,o=[]),o.push(e)}}function f_(e,t,n=yn){const{immediate:o,deep:a,once:l,scheduler:s,augmentJob:r,call:u}=n,c=S=>a?S:Wo(S)||a===!1||a===0?cl(S,1):cl(S);let d,f,v,h,g=!1,p=!1;if(gt(e)?(f=()=>e.value,g=Wo(e)):Bs(e)?(f=()=>c(e),g=!0):xe(e)?(p=!0,g=e.some(S=>Bs(S)||Wo(S)),f=()=>e.map(S=>{if(gt(S))return S.value;if(Bs(S))return c(S);if(je(S))return u?u(S,2):S()})):je(e)?t?f=u?()=>u(e,2):e:f=()=>{if(v){Sl();try{v()}finally{Cl()}}const S=Cs;Cs=d;try{return u?u(e,3,[h]):e(h)}finally{Cs=S}}:f=ht,t&&a){const S=f,k=a===!0?1/0:a;f=()=>cl(S(),k)}const m=qu(),y=()=>{d.stop(),m&&m.active&&Nm(m.effects,d)};if(l&&t){const S=t;t=(...k)=>{const x=S(...k);return y(),x}}let b=p?new Array(e.length).fill(Tc):Tc;const w=S=>{if(!(!(d.flags&1)||!d.dirty&&!S))if(t){const k=d.run();if(S||a||g||(p?k.some((x,N)=>ca(x,b[N])):ca(k,b))){v&&v();const x=Cs;Cs=d;try{const N=[k,b===Tc?void 0:p&&b[0]===Tc?[]:b,h];b=k,u?u(t,3,N):t(...N)}finally{Cs=x}}}else d.run()};return r&&r(w),d=new FS(f),d.scheduler=s?()=>s(w,!1):w,h=S=>d_(S,!1,d),v=d.onStop=()=>{const S=Bd.get(d);if(S){if(u)u(S,4);else for(const k of S)k();Bd.delete(d)}},t?o?w(!0):b=d.run():s?s(w.bind(null,!0),!0):d.run(),y.pause=d.pause.bind(d),y.resume=d.resume.bind(d),y.stop=y,y}function cl(e,t=1/0,n){if(t<=0||!lt(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,gt(e))cl(e.value,t,n);else if(xe(e))for(let o=0;o{cl(o,t,n)});else if(uu(e)){for(const o in e)cl(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&cl(e[o],t,n)}return e}function Gu(e,t,n,o){try{return o?e(...o):e()}catch(a){Yf(a,t,n)}}function ta(e,t,n,o){if(je(e)){const a=Gu(e,t,n,o);return a&&ns(a)&&a.catch(l=>{Yf(l,t,n)}),a}if(xe(e)){const a=[];for(let l=0;l>>1,a=ho[o],l=fu(a);l=fu(n)?ho.push(e):ho.splice(v_(t),0,e),e.flags|=1,sC()}}function sC(){Vd||(Vd=lC.then(iC))}function h_(e){if(!xe(e))Ul&&e.id===-1?Ul.splice(Tr+1,0,e):e.flags&1||(Ar.push(e),e.flags|=1);else for(let t=0;tfu(n)-fu(o));if(Ar.length=0,Ul){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function iC(e){try{for(Ma=0;Ma{o._d&&Wd(-1);const l=Fd(t),s=gl.length;let r;try{r=e(...a)}finally{for(let u=gl.length;u>s;u--)Ym();Fd(l),o._d&&Wd(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function Ue(e,t){if(eo===null)return e;const n=Zf(eo),o=e.dirs||(e.dirs=[]);for(let a=0;a1)return n&&je(t)?t.call(o&&o.proxy):t}}function cC(){return!!(ct()||Vs)}const m_=Symbol.for("v-scx"),g_=()=>Be(m_);function uo(e,t){return Dm(e,null,t)}function pe(e,t,n){return Dm(e,t,n)}function Dm(e,t,n=yn){const{immediate:o,deep:a,flush:l,once:s}=n,r=zn({},n),u=t&&o||!t&&l!=="post";let c;if(hu){if(l==="sync"){const h=g_();c=h.__watcherHandles||(h.__watcherHandles=[])}else if(!u){const h=()=>{};return h.stop=ht,h.resume=ht,h.pause=ht,h}}const d=lo;r.call=(h,g,p)=>ta(h,d,g,p);let f=!1;l==="post"?r.scheduler=h=>{vo(h,d&&d.suspense)}:l!=="sync"&&(f=!0,r.scheduler=(h,g)=>{g?h():Am(h)}),r.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,d&&(h.id=d.uid,h.i=d))};const v=f_(e,t,r);return hu&&(c?c.push(v):u&&v()),v}function y_(e,t,n){const o=this.proxy,a=Ve(e)?e.includes(".")?dC(o,e):()=>o[e]:e.bind(o,o);let l;je(t)?l=t:(l=t.handler,n=t);const s=Ju(this),r=Dm(a,l.bind(o),n);return s(),r}function dC(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,xs=e=>e&&(e.disabled||e.disabled===""),b_=e=>e&&(e.defer||e.defer===""),tb=e=>typeof SVGElement<"u"&&e instanceof SVGElement,nb=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Jv=(e,t)=>{const n=e&&e.to;return Ve(n)?t?t(n):null:n},w_={name:"Teleport",__isTeleport:!0,process(e,t,n,o,a,l,s,r,u,c){const{mc:d,pc:f,pbc:v,o:{insert:h,querySelector:g,createText:p,createComment:m,parentNode:y}}=c,b=xs(t.props);let{dynamicChildren:w}=t;const S=(N,$,T)=>{N.shapeFlag&16&&d(N.children,$,T,a,l,s,r,u)},k=(N=t)=>{const $=xs(N.props),T=N.target=Jv(N.props,g),I=Qv(T,N,p,h);T&&(s!=="svg"&&tb(T)?s="svg":s!=="mathml"&&nb(T)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(T),$||(S(N,T,I),Li(N,!1)))},x=N=>{const $=()=>{if(Fl.get(N)===$){if(Fl.delete(N),xs(N.props)){const T=y(N.el)||n;S(N,T,N.anchor),Li(N,!0)}k(N)}};Fl.set(N,$),vo($,l)};if(e==null){const N=t.el=p(""),$=t.anchor=p("");if(h(N,n,o),h($,n,o),b_(t.props)||l&&l.pendingBranch){x(t);return}b&&(S(t,n,$),Li(t,!0)),k()}else{t.el=e.el;const N=t.anchor=e.anchor,$=Fl.get(e);if($){$.flags|=8,Fl.delete(e),x(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,I=t.targetAnchor=e.targetAnchor,P=xs(e.props),_=P?n:T,H=P?N:I;if(s==="svg"||tb(T)?s="svg":(s==="mathml"||nb(T))&&(s="mathml"),w?(v(e.dynamicChildren,w,_,a,l,s,r),jm(e,t,!0)):u||f(e,t,_,H,a,l,s,r,!1),b)P?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Nc(t,n,N,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const L=Jv(t.props,g);L&&(t.target=L,Nc(t,L,null,c,0))}else P&&Nc(t,T,I,c,1);Li(t,b)}},remove(e,t,n,{um:o,o:{remove:a}},l){const{shapeFlag:s,children:r,anchor:u,targetStart:c,targetAnchor:d,target:f,props:v}=e,h=xs(v),g=l||!h,p=Fl.get(e);if(p&&(p.flags|=8,Fl.delete(e)),f&&(a(c),a(d)),l&&a(u),!p&&(h||f)&&s&16)for(let m=0;m{e.isMounted=!0}),Ht(()=>{e.isUnmounting=!0}),e}const qo=[Function,Array],vC={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:qo,onEnter:qo,onAfterEnter:qo,onEnterCancelled:qo,onBeforeLeave:qo,onLeave:qo,onAfterLeave:qo,onLeaveCancelled:qo,onBeforeAppear:qo,onAppear:qo,onAfterAppear:qo,onAppearCancelled:qo},hC=e=>{const t=e.subTree;return t.component?hC(t.component):t},C_={name:"BaseTransition",props:vC,setup(e,{slots:t}){const n=ct(),o=pC();return()=>{const a=t.default&&Lm(t.default(),!0),l=a&&a.length?mC(a):n.subTree?se():void 0;if(!l)return;const s=en(e),{mode:r}=s;if(o.isLeaving)return Up(l);const u=zd(l);if(!u)return Up(l);let c=pu(u,s,o,n,f=>c=f);u.type!==$n&&Gs(u,c);let d=n.subTree&&zd(n.subTree);if(d&&d.type!==$n&&!Es(d,u)&&hC(n).type!==$n){let f=pu(d,s,o,n);if(Gs(d,f),r==="out-in"&&u.type!==$n)return o.isLeaving=!0,f.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,d=void 0},Up(l);r==="in-out"&&u.type!==$n?f.delayLeave=(v,h,g)=>{const p=gC(o,d);p[String(d.key)]=d,v[Zo]=()=>{h(),v[Zo]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{g(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return l}}};function mC(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==$n){t=n;break}}return t}const k_=C_;function gC(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function pu(e,t,n,o,a){const{appear:l,mode:s,persisted:r=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:v,onLeave:h,onAfterLeave:g,onLeaveCancelled:p,onBeforeAppear:m,onAppear:y,onAfterAppear:b,onAppearCancelled:w}=t,S=String(e.key),k=gC(n,e),x=(T,I)=>{T&&ta(T,o,9,I)},N=(T,I)=>{const P=I[1];x(T,I),xe(T)?T.every(_=>_.length<=1)&&P():T.length<=1&&P()},$={mode:s,persisted:r,beforeEnter(T){let I=u;if(!n.isMounted)if(l)I=m||u;else return;T[Zo]&&T[Zo](!0);const P=k[S];P&&Es(e,P)&&P.el[Zo]&&P.el[Zo](),x(I,[T])},enter(T){if(k[S]===e)return;let I=c,P=d,_=f;if(!n.isMounted)if(l)I=y||c,P=b||d,_=w||f;else return;let H=!1;T[$i]=z=>{H||(H=!0,z?x(_,[T]):x(P,[T]),$.delayedLeave&&$.delayedLeave(),T[$i]=void 0)};const L=T[$i].bind(null,!1);I?N(I,[T,L]):L()},leave(T,I){const P=String(e.key);if(T[$i]&&T[$i](!0),n.isUnmounting)return I();x(v,[T]);let _=!1;T[Zo]=L=>{_||(_=!0,I(),L?x(p,[T]):x(g,[T]),T[Zo]=void 0,k[P]===e&&delete k[P])};const H=T[Zo].bind(null,!1);k[P]=e,h?N(h,[T,H]):H()},clone(T){const I=pu(T,t,n,o,a);return a&&a(I),I}};return $}function Up(e){if(qf(e))return e=ya(e),e.children=null,e}function zd(e){if(!qf(e))return Uf(e.type)&&e.children?mC(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&&je(n.default))return n.default()}}function Gs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Gs(Uf(n.type)&&zd(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 Lm(e,t=!1,n){let o=[],a=0;for(let l=0;l1)for(let l=0;lZi(p,t&&(xe(t)?t[m]:t),n,o,a));return}if(Dr(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Zi(e,t,n,o.component.subTree);return}const l=o.shapeFlag&4?Zf(o.component):o.el,s=a?null:l,{i:r,r:u}=e,c=t&&t.r,d=r.refs===yn?r.refs={}:r.refs,f=r.setupState,v=en(f),h=f===yn?PS:p=>ob(d,p)?!1:Ft(v,p),g=(p,m)=>!(m&&ob(d,m));if(c!=null&&c!==u){if(ab(t),Ve(c))d[c]=null,h(c)&&(f[c]=null);else if(gt(c)){const p=t;g(c,p.k)&&(c.value=null),p.k&&(d[p.k]=null)}}if(je(u))Gu(u,r,12,[s,d]);else{const p=Ve(u),m=gt(u);if(p||m){const y=()=>{if(e.f){const b=p?h(u)?f[u]:d[u]:g()||!e.k?u.value:d[e.k];if(a)xe(b)&&Nm(b,l);else if(xe(b))b.includes(l)||b.push(l);else if(p)d[u]=[l],h(u)&&(f[u]=d[u]);else{const w=[l];g(u,e.k)&&(u.value=w),e.k&&(d[e.k]=w)}}else p?(d[u]=s,h(u)&&(f[u]=s)):m&&(g(u,e.k)&&(u.value=s),e.k&&(d[e.k]=s))};if(s){const b=()=>{y(),Hd.delete(e)};b.id=-1,Hd.set(e,b),vo(b,n)}else ab(e),y()}}}function ab(e){const t=Hd.get(e);t&&(t.flags|=8,Hd.delete(e))}Vf().requestIdleCallback;Vf().cancelIdleCallback;const Dr=e=>!!e.type.__asyncLoader,qf=e=>e.type.__isKeepAlive;function Xu(e,t){bC(e,"a",t)}function Bm(e,t){bC(e,"da",t)}function bC(e,t,n=lo){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Gf(t,o,n),n){let a=n.parent;for(;a&&a.parent;)qf(a.parent.vnode)&&x_(o,t,n,a),a=a.parent}}function x_(e,t,n,o){const a=Gf(t,e,o,!0);ur(()=>{Nm(o[t],a)},n)}function Gf(e,t,n=lo,o=!1){if(n){const a=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{Sl();const r=Ju(n),u=ta(t,n,e,s);return r(),Cl(),u});return o?a.unshift(l):a.push(l),l}}const _l=e=>(t,n=lo)=>{(!hu||e==="sp")&&Gf(e,(...o)=>t(...o),n)},Zu=_l("bm"),st=_l("m"),Vm=_l("bu"),Sa=_l("u"),Ht=_l("bum"),ur=_l("um"),E_=_l("sp"),$_=_l("rtg"),T_=_l("rtc");function N_(e,t=lo){Gf("ec",e,t)}const Fm="components",__="directives";function Ot(e,t){return Hm(Fm,e,!0,t)||e}const wC=Symbol.for("v-ndc");function dt(e){return Ve(e)?Hm(Fm,e,!1)||e:e||wC}function zm(e){return Hm(__,e)}function Hm(e,t,n=!0,o=!1){const a=eo||lo;if(a){const l=a.type;if(e===Fm){const r=dI(l,!1);if(r&&(r===t||r===Xn(t)||r===Uu(Xn(t))))return l}const s=lb(a[e]||l[e],t)||lb(a.appContext[e],t);return!s&&o?l:s}}function lb(e,t){return e&&(e[t]||e[Xn(t)]||e[Uu(Xn(t))])}function mt(e,t,n,o){let a;const l=n&&n[o],s=xe(e);if(s||Ve(e)){const r=s&&Bs(e);let u=!1,c=!1;r&&(u=!Wo(e),c=kl(e),e=Hf(e)),a=new Array(e.length);for(let d=0,f=e.length;dt(r,u,void 0,l&&l[u]));else{const r=Object.keys(e);a=new Array(r.length);for(let u=0,c=r.length;u{const l=o.fn(...a);return l&&(l.key=o.key),l}:o.fn)}return e}function ue(e,t,n,o,a,l){if(n==null&&(n={}),eo.ce||eo.parent&&Dr(eo.parent)&&eo.parent.ce){const c=n,d=Object.keys(c).length>0;return t!=="default"&&(c.name=t),E(),de(Oe,null,[ee("slot",c,o&&o())],d?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const r=gl.length;E();let u;try{const c=s&&SC(s(n)),d=n.key||l||c&&c.key;u=de(Oe,{key:(d&&!jo(d)?d:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let d=gl.length;d>r;d--)Ym();throw c}finally{s&&s._c&&(s._d=!0)}return u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),u}function SC(e){return e.some(t=>Qt(t)?!(t.type===$n||t.type===Oe&&!SC(t.children)):!0)?e:null}function I_(e,t){const n={};for(const o in e)n[Ds(o)]=e[o];return n}const eh=e=>e?zC(e)?Zf(e):eh(e.parent):null,Ji=zn(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=>eh(e.parent),$root:e=>eh(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xC(e),$forceUpdate:e=>e.f||(e.f=()=>{Am(e.update)}),$nextTick:e=>e.n||(e.n=Pe.bind(e.proxy)),$watch:e=>y_.bind(e)}),qp=(e,t)=>e!==yn&&!e.__isScriptSetup&&Ft(e,t),M_={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:l,accessCache:s,type:r,appContext:u}=e;if(t[0]!=="$"){const v=s[t];if(v!==void 0)switch(v){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return l[t]}else{if(qp(o,t))return s[t]=1,o[t];if(a!==yn&&Ft(a,t))return s[t]=2,a[t];if(Ft(l,t))return s[t]=3,l[t];if(n!==yn&&Ft(n,t))return s[t]=4,n[t];th&&(s[t]=0)}}const c=Ji[t];let d,f;if(c)return t==="$attrs"&&ao(e.attrs,"get",""),c(e);if((d=r.__cssModules)&&(d=d[t]))return d;if(n!==yn&&Ft(n,t))return s[t]=4,n[t];if(f=u.config.globalProperties,Ft(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:l}=e;return qp(a,t)?(a[t]=n,!0):o!==yn&&Ft(o,t)?(o[t]=n,!0):Ft(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:l,type:s}},r){let u;return!!(n[r]||e!==yn&&r[0]!=="$"&&Ft(e,r)||qp(t,r)||Ft(l,r)||Ft(o,r)||Ft(Ji,r)||Ft(a.config.globalProperties,r)||(u=s.__cssModules)&&u[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Ft(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function mn(){return CC().slots}function Za(){return CC().attrs}function CC(e){const t=ct();return t.setupContext||(t.setupContext=KC(t))}function sb(e){return xe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function O_(e,t){const n={};for(const o in e)t.includes(o)||Object.defineProperty(n,o,{enumerable:!0,get:()=>e[o]});return n}let th=!0;function P_(e){const t=xC(e),n=e.proxy,o=e.ctx;th=!1,t.beforeCreate&&rb(t.beforeCreate,e,"bc");const{data:a,computed:l,methods:s,watch:r,provide:u,inject:c,created:d,beforeMount:f,mounted:v,beforeUpdate:h,updated:g,activated:p,deactivated:m,beforeDestroy:y,beforeUnmount:b,destroyed:w,unmounted:S,render:k,renderTracked:x,renderTriggered:N,errorCaptured:$,serverPrefetch:T,expose:I,inheritAttrs:P,components:_,directives:H,filters:L}=t;if(c&&R_(c,o,null),s)for(const R in s){const D=s[R];je(D)&&(o[R]=D.bind(n))}if(a){const R=a.call(n,n);lt(R)&&(e.data=zt(R))}if(th=!0,l)for(const R in l){const D=l[R],K=je(D)?D.bind(n,n):je(D.get)?D.get.bind(n,n):ht,V=!je(D)&&je(D.set)?D.set.bind(n):ht,Y=C({get:K,set:V});Object.defineProperty(o,R,{enumerable:!0,configurable:!0,get:()=>Y.value,set:G=>Y.value=G})}if(r)for(const R in r)kC(r[R],o,n,R);if(u){const R=je(u)?u.call(n):u;Reflect.ownKeys(R).forEach(D=>{kt(D,R[D])})}d&&rb(d,e,"c");function O(R,D){xe(D)?D.forEach(K=>R(K.bind(n))):D&&R(D.bind(n))}if(O(Zu,f),O(st,v),O(Vm,h),O(Sa,g),O(Xu,p),O(Bm,m),O(N_,$),O(T_,x),O($_,N),O(Ht,b),O(ur,S),O(E_,T),xe(I))if(I.length){const R=e.exposed||(e.exposed={});I.forEach(D=>{Object.defineProperty(R,D,{get:()=>n[D],set:K=>n[D]=K,enumerable:!0})})}else e.exposed||(e.exposed={});k&&e.render===ht&&(e.render=k),P!=null&&(e.inheritAttrs=P),_&&(e.components=_),H&&(e.directives=H),T&&yC(e)}function R_(e,t,n=ht){xe(e)&&(e=nh(e));for(const o in e){const a=e[o];let l;lt(a)?"default"in a?l=Be(a.from||o,a.default,!0):l=Be(a.from||o):l=Be(a),gt(l)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[o]=l}}function rb(e,t,n){ta(xe(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function kC(e,t,n,o){let a=o.includes(".")?dC(n,o):()=>n[o];if(Ve(e)){const l=t[e];je(l)&&pe(a,l)}else if(je(e))pe(a,e.bind(n));else if(lt(e))if(xe(e))e.forEach(l=>kC(l,t,n,o));else{const l=je(e.handler)?e.handler.bind(n):t[e.handler];je(l)&&pe(a,l,e)}}function xC(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,r=l.get(t);let u;return r?u=r:!a.length&&!n&&!o?u=t:(u={},a.length&&a.forEach(c=>Kd(u,c,s,!0)),Kd(u,t,s)),lt(t)&&l.set(t,u),u}function Kd(e,t,n,o=!1){const{mixins:a,extends:l}=t;l&&Kd(e,l,n,!0),a&&a.forEach(s=>Kd(e,s,n,!0));for(const s in t)if(!(o&&s==="expose")){const r=A_[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}const A_={data:ib,props:ub,emits:ub,methods:Bi,computed:Bi,beforeCreate:po,created:po,beforeMount:po,mounted:po,beforeUpdate:po,updated:po,beforeDestroy:po,beforeUnmount:po,destroyed:po,unmounted:po,activated:po,deactivated:po,errorCaptured:po,serverPrefetch:po,components:Bi,directives:Bi,watch:L_,provide:ib,inject:D_};function ib(e,t){return t?e?function(){return zn(je(e)?e.call(this,this):e,je(t)?t.call(this,this):t)}:t:e}function D_(e,t){return Bi(nh(e),nh(t))}function nh(e){if(xe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Xn(t)}Modifiers`]||e[`${Nl(t)}Modifiers`];function z_(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||yn;let a=n;const l=t.startsWith("update:"),s=l&&F_(o,t.slice(7));s&&(s.trim&&(a=n.map(d=>Ve(d)?d.trim():d)),s.number&&(a=n.map(Bf)));let r,u=o[r=Ds(t)]||o[r=Ds(Xn(t))];!u&&l&&(u=o[r=Ds(Nl(t))]),u&&ta(u,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ta(c,e,6,a)}}const H_=new WeakMap;function $C(e,t,n=!1){const o=n?H_:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const l=e.emits;let s={},r=!1;if(!je(e)){const u=c=>{const d=$C(c,t,!0);d&&(r=!0,zn(s,d))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!l&&!r?(lt(e)&&o.set(e,null),null):(xe(l)?l.forEach(u=>s[u]=null):zn(s,l),lt(e)&&o.set(e,s),s)}function Xf(e,t){return!e||!Rf(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ft(e,t[0].toLowerCase()+t.slice(1))||Ft(e,Nl(t))||Ft(e,t))}function cb(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[l],slots:s,attrs:r,emit:u,render:c,renderCache:d,props:f,data:v,setupState:h,ctx:g,inheritAttrs:p}=e,m=Fd(e);let y,b;try{if(n.shapeFlag&4){const S=a||o,k=S;y=Ra(c.call(k,S,d,f,h,v,g)),b=r}else{const S=t;y=Ra(S.length>1?S(f,{attrs:r,slots:s,emit:u}):S(f,null)),b=t.props?r:K_(r)}}catch(S){gl.length=0,Yf(S,e,1),y=ee($n)}let w=y;if(b&&p!==!1){const S=Object.keys(b),{shapeFlag:k}=w;S.length&&k&7&&(l&&S.some(Af)&&(b=W_(b,l)),w=ya(w,b,!1,!0))}if(n.dirs&&(w=ya(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition){const S=Uf(w.type)&&zd(w)||w;Gs(S,n.transition)}return y=w,Fd(m),y}const K_=e=>{let t;for(const n in e)(n==="class"||n==="style"||Rf(n))&&((t||(t={}))[n]=e[n]);return t},W_=(e,t)=>{const n={};for(const o in e)(!Af(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function j_(e,t,n){const{props:o,children:a,component:l}=e,{props:s,children:r,patchFlag:u}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return o?db(o,s,c):!!s;if(u&8){const d=t.dynamicProps;for(let f=0;fObject.create(NC),IC=e=>Object.getPrototypeOf(e)===NC;function U_(e,t,n,o=!1){const a={},l=_C();e.propsDefaults=Object.create(null),MC(e,t,a,l);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);n?e.props=o?a:Pm(a):e.type.props?e.props=a:e.props=l,e.attrs=l}function q_(e,t,n,o){const{props:a,attrs:l,vnode:{patchFlag:s}}=e,r=en(a),[u]=e.propsOptions;let c=!1;if((o||s>0)&&!(s&16)){if(s&8){const d=e.vnode.dynamicProps;for(let f=0;f{u=!0;const[v,h]=OC(f,t,!0);zn(s,v),h&&r.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!u)return lt(e)&&o.set(e,Or),Or;if(xe(l))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Wm=e=>xe(e)?e.map(Ra):[Ra(e)],X_=(e,t,n)=>{if(t._n)return t;const o=ie((...a)=>Wm(t(...a)),n);return o._c=!1,o},PC=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Km(a))continue;const l=e[a];if(je(l))t[a]=X_(a,l,o);else if(l!=null){const s=Wm(l);t[a]=()=>s}}},RC=(e,t)=>{const n=Wm(t);e.slots.default=()=>n},AC=(e,t,n)=>{for(const o in t)(n||!Km(o))&&(e[o]=t[o])},Z_=(e,t,n)=>{const o=e.slots=_C();if(e.vnode.shapeFlag&32){const a=t._;a?(AC(o,t,n),n&&AS(o,"_",a,!0)):PC(t,o)}else t&&RC(e,t)},J_=(e,t,n)=>{const{vnode:o,slots:a}=e;let l=!0,s=yn;if(o.shapeFlag&32){const r=t._;r?n&&r===1?l=!1:AC(a,t,n):(l=!t.$stable,PC(t,a)),s=t}else t&&(RC(e,t),s={default:1});if(l)for(const r in a)!Km(r)&&s[r]==null&&delete a[r]},vo=oI;function Q_(e){return eI(e)}function eI(e,t){const n=Vf();n.__VUE__=!0;const{insert:o,remove:a,patchProp:l,createElement:s,createText:r,createComment:u,setText:c,setElementText:d,parentNode:f,nextSibling:v,setScopeId:h=ht,insertStaticContent:g}=e,p=(W,te,j,U=null,Q=null,le=null,ce=void 0,Ce=null,we=!!te.dynamicChildren)=>{if(W===te)return;W&&!Es(W,te)&&(U=ae(W),G(W,Q,le,!0),W=null),te.patchFlag===-2&&(we=!1,te.dynamicChildren=null);const{type:he,ref:be,shapeFlag:ge}=te;switch(he){case gi:m(W,te,j,U);break;case $n:y(W,te,j,U);break;case Xp:W==null&&b(te,j,U,ce);break;case Oe:_(W,te,j,U,Q,le,ce,Ce,we);break;default:ge&1?k(W,te,j,U,Q,le,ce,Ce,we):ge&6?H(W,te,j,U,Q,le,ce,Ce,we):(ge&64||ge&128)&&he.process(W,te,j,U,Q,le,ce,Ce,we,oe)}be!=null&&Q?Zi(be,W&&W.ref,le,te||W,!te):be==null&&W&&W.ref!=null&&Zi(W.ref,null,le,W,!0)},m=(W,te,j,U)=>{if(W==null)o(te.el=r(te.children),j,U);else{const Q=te.el=W.el;te.children!==W.children&&c(Q,te.children)}},y=(W,te,j,U)=>{W==null?o(te.el=u(te.children||""),j,U):te.el=W.el},b=(W,te,j,U)=>{[W.el,W.anchor]=g(W.children,te,j,U,W.el,W.anchor)},w=({el:W,anchor:te},j,U)=>{let Q;for(;W&&W!==te;)Q=v(W),o(W,j,U),W=Q;o(te,j,U)},S=({el:W,anchor:te})=>{let j;for(;W&&W!==te;)j=v(W),a(W),W=j;a(te)},k=(W,te,j,U,Q,le,ce,Ce,we)=>{if(te.type==="svg"?ce="svg":te.type==="math"&&(ce="mathml"),W==null)x(te,j,U,Q,le,ce,Ce,we);else{const he=W.el&&W.el._isVueCE?W.el:null;try{he&&he._beginPatch(),T(W,te,Q,le,ce,Ce,we)}finally{he&&he._endPatch()}}},x=(W,te,j,U,Q,le,ce,Ce)=>{let we,he;const{props:be,shapeFlag:ge,transition:$e,dirs:Me}=W;if(we=W.el=s(W.type,le,be&&be.is,be),ge&8?d(we,W.children):ge&16&&$(W.children,we,null,U,Q,Gp(W,le),ce,Ce),Me&&gs(W,null,U,"created"),N(we,W,W.scopeId,ce,U),be){for(const tt in be)tt!=="value"&&!qi(tt)&&l(we,tt,null,be[tt],le,U);"value"in be&&l(we,"value",null,be.value,le),(he=be.onVnodeBeforeMount)&&Na(he,U,W)}Me&&gs(W,null,U,"beforeMount");const Qe=tI(Q,$e);Qe&&$e.beforeEnter(we),o(we,te,j),((he=be&&be.onVnodeMounted)||Qe||Me)&&vo(()=>{he&&Na(he,U,W),Qe&&$e.enter(we),Me&&gs(W,null,U,"mounted")},Q)},N=(W,te,j,U,Q)=>{if(j&&h(W,j),U)for(let le=0;le{for(let he=we;he{const Ce=te.el=W.el;let{patchFlag:we,dynamicChildren:he,dirs:be}=te;we|=W.patchFlag&16;const ge=W.props||yn,$e=te.props||yn;let Me;if(j&&ys(j,!1),(Me=$e.onVnodeBeforeUpdate)&&Na(Me,j,te,W),be&&gs(te,W,j,"beforeUpdate"),j&&ys(j,!0),he&&(!W.dynamicChildren||W.dynamicChildren.length!==he.length)&&(we=0,ce=!1,he=null),(ge.innerHTML&&$e.innerHTML==null||ge.textContent&&$e.textContent==null)&&d(Ce,""),he?I(W.dynamicChildren,he,Ce,j,U,Gp(te,Q),le):ce||D(W,te,Ce,null,j,U,Gp(te,Q),le,!1),we>0){if(we&16)P(Ce,ge,$e,j,Q);else if(we&2&&ge.class!==$e.class&&l(Ce,"class",null,$e.class,Q),we&4&&l(Ce,"style",ge.style,$e.style,Q),we&8){const Qe=te.dynamicProps;for(let tt=0;tt{Me&&Na(Me,j,te,W),be&&gs(te,W,j,"updated")},U)},I=(W,te,j,U,Q,le,ce)=>{for(let Ce=0;Ce{if(te!==j){if(te!==yn)for(const le in te)!qi(le)&&!(le in j)&&l(W,le,te[le],null,Q,U);for(const le in j){if(qi(le))continue;const ce=j[le],Ce=te[le];ce!==Ce&&le!=="value"&&l(W,le,Ce,ce,Q,U)}"value"in j&&l(W,"value",te.value,j.value,Q)}},_=(W,te,j,U,Q,le,ce,Ce,we)=>{const he=te.el=W?W.el:r(""),be=te.anchor=W?W.anchor:r("");let{patchFlag:ge,dynamicChildren:$e,slotScopeIds:Me}=te;Me&&(Ce=Ce?Ce.concat(Me):Me),W==null?(o(he,j,U),o(be,j,U),$(te.children||[],j,be,Q,le,ce,Ce,we)):ge>0&&ge&64&&$e&&W.dynamicChildren&&W.dynamicChildren.length===$e.length?(I(W.dynamicChildren,$e,j,Q,le,ce,Ce),(te.key!=null||Q&&te===Q.subTree)&&jm(W,te,!0)):D(W,te,j,be,Q,le,ce,Ce,we)},H=(W,te,j,U,Q,le,ce,Ce,we)=>{te.slotScopeIds=Ce,W==null?te.shapeFlag&512?Q.ctx.activate(te,j,U,ce,we):L(te,j,U,Q,le,ce,we):z(W,te,we)},L=(W,te,j,U,Q,le,ce)=>{const Ce=W.component=rI(W,U,Q);if(qf(W)&&(Ce.ctx.renderer=oe),iI(Ce,!1,ce),Ce.asyncDep){if(Q&&Q.registerDep(Ce,O,ce),!W.el){const we=Ce.subTree=ee($n);y(null,we,te,j),W.placeholder=we.el}}else O(Ce,W,te,j,Q,le,ce)},z=(W,te,j)=>{const U=te.component=W.component;if(j_(W,te,j))if(U.asyncDep&&!U.asyncResolved){R(U,te,j);return}else U.next=te,U.update();else te.el=W.el,U.vnode=te},O=(W,te,j,U,Q,le,ce)=>{const Ce=()=>{if(W.isMounted){let{next:ge,bu:$e,u:Me,parent:Qe,vnode:tt}=W;{const Rt=DC(W);if(Rt){ge&&(ge.el=tt.el,R(W,ge,ce)),Rt.asyncDep.then(()=>{vo(()=>{W.isUnmounted||he()},Q)});return}}let qe=ge,Et;ys(W,!1),ge?(ge.el=tt.el,R(W,ge,ce)):ge=tt,$e&&ld($e),(Et=ge.props&&ge.props.onVnodeBeforeUpdate)&&Na(Et,Qe,ge,tt),ys(W,!0);const At=cb(W),Kt=W.subTree;W.subTree=At,p(Kt,At,f(Kt.el),ae(Kt),W,Q,le),ge.el=At.el,qe===null&&Y_(W,At.el),Me&&vo(Me,Q),(Et=ge.props&&ge.props.onVnodeUpdated)&&vo(()=>Na(Et,Qe,ge,tt),Q)}else{let ge;const{el:$e,props:Me}=te,{bm:Qe,m:tt,parent:qe,root:Et,type:At}=W,Kt=Dr(te);ys(W,!1),Qe&&ld(Qe),!Kt&&(ge=Me&&Me.onVnodeBeforeMount)&&Na(ge,qe,te),ys(W,!0);{Et.ce&&Et.ce._hasShadowRoot()&&Et.ce._injectChildStyle(At,W.parent?W.parent.type:void 0);const Rt=W.subTree=cb(W);p(null,Rt,j,U,W,Q,le),te.el=Rt.el}if(tt&&vo(tt,Q),!Kt&&(ge=Me&&Me.onVnodeMounted)){const Rt=te;vo(()=>Na(ge,qe,Rt),Q)}(te.shapeFlag&256||qe&&Dr(qe.vnode)&&qe.vnode.shapeFlag&256)&&W.a&&vo(W.a,Q),W.isMounted=!0,te=j=U=null}};W.scope.on();const we=W.effect=new FS(Ce);W.scope.off();const he=W.update=we.run.bind(we),be=W.job=we.runIfDirty.bind(we);be.i=W,be.id=W.uid,we.scheduler=()=>Am(be),ys(W,!0),he()},R=(W,te,j)=>{te.component=W;const U=W.vnode.props;W.vnode=te,W.next=null,q_(W,te.props,U,j),J_(W,te.children,j),Sl(),eb(W),Cl()},D=(W,te,j,U,Q,le,ce,Ce,we=!1)=>{const he=W&&W.children,be=W?W.shapeFlag:0,ge=te.children,{patchFlag:$e,shapeFlag:Me}=te;if($e>0){if($e&128){V(he,ge,j,U,Q,le,ce,Ce,we);return}else if($e&256){K(he,ge,j,U,Q,le,ce,Ce,we);return}}Me&8?(be&16&&J(he,Q,le),ge!==he&&d(j,ge)):be&16?Me&16?V(he,ge,j,U,Q,le,ce,Ce,we):J(he,Q,le,!0):(be&8&&d(j,""),Me&16&&$(ge,j,U,Q,le,ce,Ce,we))},K=(W,te,j,U,Q,le,ce,Ce,we)=>{W=W||Or,te=te||Or;const he=W.length,be=te.length,ge=Math.min(he,be);let $e;for($e=0;$ebe?J(W,Q,le,!0,!1,ge):$(te,j,U,Q,le,ce,Ce,we,ge)},V=(W,te,j,U,Q,le,ce,Ce,we)=>{let he=0;const be=te.length;let ge=W.length-1,$e=be-1;for(;he<=ge&&he<=$e;){const Me=W[he],Qe=te[he]=we?rl(te[he]):Ra(te[he]);if(Es(Me,Qe))p(Me,Qe,j,null,Q,le,ce,Ce,we);else break;he++}for(;he<=ge&&he<=$e;){const Me=W[ge],Qe=te[$e]=we?rl(te[$e]):Ra(te[$e]);if(Es(Me,Qe))p(Me,Qe,j,null,Q,le,ce,Ce,we);else break;ge--,$e--}if(he>ge){if(he<=$e){const Me=$e+1,Qe=Me$e)for(;he<=ge;)G(W[he],Q,le,!0),he++;else{const Me=he,Qe=he,tt=new Map;for(he=Qe;he<=$e;he++){const _e=te[he]=we?rl(te[he]):Ra(te[he]);_e.key!=null&&tt.set(_e.key,he)}let qe,Et=0;const At=$e-Qe+1;let Kt=!1,Rt=0;const Ut=new Array(At);for(he=0;he=At){G(_e,Q,le,!0);continue}let Ze;if(_e.key!=null)Ze=tt.get(_e.key);else for(qe=Qe;qe<=$e;qe++)if(Ut[qe-Qe]===0&&Es(_e,te[qe])){Ze=qe;break}Ze===void 0?G(_e,Q,le,!0):(Ut[Ze-Qe]=he+1,Ze>=Rt?Rt=Ze:Kt=!0,p(_e,te[Ze],j,null,Q,le,ce,Ce,we),Et++)}const Se=Kt?nI(Ut):Or;for(qe=Se.length-1,he=At-1;he>=0;he--){const _e=Qe+he,Ze=te[_e],Ne=te[_e+1],Ge=_e+1{const{el:le,type:ce,transition:Ce,children:we,shapeFlag:he}=W;if(he&6){Y(W.component.subTree,te,j,U);return}if(he&128){W.suspense.move(te,j,U);return}if(he&64){ce.move(W,te,j,oe);return}if(ce===Oe){o(le,te,j);for(let ge=0;geCe.enter(le),Q));else{const{leave:ge,delayLeave:$e,afterLeave:Me}=Ce,Qe=()=>{W.ctx.isUnmounted?a(le):o(le,te,j)},tt=()=>{const qe=le._isLeaving||!!le[Zo];le._isLeaving&&le[Zo](!0),Ce.persisted&&!qe?Qe():ge(le,()=>{Qe(),Me&&Me()})};$e?$e(le,Qe,tt):tt()}else o(le,te,j)},G=(W,te,j,U=!1,Q=!1)=>{const{type:le,props:ce,ref:Ce,children:we,dynamicChildren:he,shapeFlag:be,patchFlag:ge,dirs:$e,cacheIndex:Me,memo:Qe}=W;if(ge===-2&&(Q=!1),Ce!=null&&(Sl(),Zi(Ce,null,j,W,!0),Cl()),Me!=null&&(te.renderCache[Me]=void 0),be&256){te.ctx.deactivate(W);return}const tt=be&1&&$e,qe=!Dr(W);let Et;if(qe&&(Et=ce&&ce.onVnodeBeforeUnmount)&&Na(Et,te,W),be&6)Z(W.component,j,U);else{if(be&128){W.suspense.unmount(j,U);return}tt&&gs(W,null,te,"beforeUnmount"),be&64?W.type.remove(W,te,j,oe,U):he&&!he.hasOnce&&(le!==Oe||ge>0&&ge&64)?J(he,te,j,!1,!0):(le===Oe&&ge&384||!Q&&be&16)&&J(we,te,j),U&&q(W)}const At=Qe!=null&&Me==null;(qe&&(Et=ce&&ce.onVnodeUnmounted)||tt||At)&&vo(()=>{Et&&Na(Et,te,W),tt&&gs(W,null,te,"unmounted"),At&&(W.el=null)},j)},q=W=>{const{type:te,el:j,anchor:U,transition:Q}=W;if(te===Oe){X(j,U);return}if(te===Xp){S(W);return}const le=()=>{a(j),Q&&!Q.persisted&&Q.afterLeave&&Q.afterLeave()};if(W.shapeFlag&1&&Q&&!Q.persisted){const{leave:ce,delayLeave:Ce}=Q,we=()=>ce(j,le);Ce?Ce(W.el,le,we):we()}else le()},X=(W,te)=>{let j;for(;W!==te;)j=v(W),a(W),W=j;a(te)},Z=(W,te,j)=>{const{bum:U,scope:Q,job:le,subTree:ce,um:Ce,m:we,a:he}=W;pb(we),pb(he),U&&ld(U),Q.stop(),le&&(le.flags|=8,G(ce,W,te,j)),Ce&&vo(Ce,te),vo(()=>{W.isUnmounted=!0},te)},J=(W,te,j,U=!1,Q=!1,le=0)=>{for(let ce=le;ce{if(W.shapeFlag&6)return ae(W.component.subTree);if(W.shapeFlag&128)return W.suspense.next();const te=v(W.anchor||W.el),j=te&&te[fC];return j?v(j):te};let ve=!1;const me=(W,te,j)=>{let U;W==null?te._vnode&&(G(te._vnode,null,null,!0),U=te._vnode.component):p(te._vnode||null,W,te,null,null,null,j),te._vnode=W,ve||(ve=!0,eb(U),rC(),ve=!1)},oe={p,um:G,m:Y,r:q,mt:L,mc:$,pc:D,pbc:I,n:ae,o:e};return{render:me,hydrate:void 0,createApp:V_(me)}}function Gp({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 ys({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function tI(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function jm(e,t,n=!1){const o=e.children,a=t.children;if(xe(o)&&xe(a))for(let l=0;l>1,e[n[r]]0&&(t[o]=n[l-1]),n[l]=o)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}function DC(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:DC(t)}function pb(e){if(e)for(let t=0;te.__isSuspense;function oI(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):h_(e)}const Oe=Symbol.for("v-fgt"),gi=Symbol.for("v-txt"),$n=Symbol.for("v-cmt"),Xp=Symbol.for("v-stc"),gl=[];let go=null;function E(e=!1){gl.push(go=e?null:[])}function Ym(){gl.pop(),go=gl[gl.length-1]||null}let Ur=1;function Wd(e,t=!1){Ur+=e,e<0&&go&&t&&(go.hasOnce=!0)}function VC(e){return e.dynamicChildren=Ur>0?go||Or:null,Ym(),Ur>0&&go&&go.push(e),e}function F(e,t,n,o,a,l){return VC(M(e,t,n,o,a,l,!0))}function de(e,t,n,o,a){return VC(ee(e,t,n,o,a,!0))}function Qt(e){return e?e.__v_isVNode===!0:!1}function Es(e,t){return e.type===t.type&&e.key===t.key}const FC=({key:e})=>e??null,rd=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ve(e)||gt(e)||je(e)?{i:eo,r:e,k:t,f:!!n}:e:null);function M(e,t=null,n=null,o=0,a=null,l=e===Oe?0:1,s=!1,r=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&FC(t),ref:t&&rd(t),scopeId:uC,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:l,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:eo};return r?(jd(u,n),l&128&&e.normalize(u)):n&&(u.shapeFlag|=Ve(n)?8:16),Ur>0&&!s&&go&&(u.patchFlag>0||l&6)&&u.patchFlag!==32&&go.push(u),u}const ee=aI;function aI(e,t=null,n=null,o=0,a=null,l=!1){if((!e||e===wC)&&(e=$n),Qt(e)){const r=ya(e,t,!0);return n&&jd(r,n),Ur>0&&!l&&go&&(r.shapeFlag&6?go[go.indexOf(e)]=r:go.push(r)),r.patchFlag=-2,r}if(fI(e)&&(e=e.__vccOpts),t){t=yl(t);let{class:r,style:u}=t;r&&!Ve(r)&&(t.class=A(r)),lt(u)&&(jf(u)&&!xe(u)&&(u=zn({},u)),t.style=Fe(u))}const s=Ve(e)?1:BC(e)?128:Uf(e)?64:lt(e)?4:je(e)?2:0;return M(e,t,n,o,a,s,l,!0)}function yl(e){return e?jf(e)||IC(e)?zn({},e):e:null}function ya(e,t,n=!1,o=!1){const{props:a,ref:l,patchFlag:s,children:r,transition:u}=e,c=t?ft(a||{},t):a,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&FC(c),ref:t&&t.ref?n&&l?xe(l)?l.concat(rd(t)):[l,rd(t)]:rd(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Oe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ya(e.ssContent),ssFallback:e.ssFallback&&ya(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&o&&Gs(d,u.clone(d)),d}function ze(e=" ",t=0){return ee(gi,null,e,t)}function se(e="",t=!1){return t?(E(),de($n,null,e)):ee($n,null,e)}function Ra(e){return e==null||typeof e=="boolean"?ee($n):xe(e)?ee(Oe,null,e.slice()):Qt(e)?rl(e):ee(gi,null,String(e))}function rl(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ya(e)}function jd(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(xe(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),jd(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!IC(t)?t._ctx=eo:a===3&&eo&&(eo.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(je(t)){if(o&65){jd(e,{default:t});return}t={default:t,_ctx:eo},n=32}else t=String(t),o&64?(n=16,t=[ze(t)]):n=8;e.children=t,e.shapeFlag|=n}function ft(...e){const t={};for(let n=0;nlo||eo;let Yd,vu;{const e=Vf(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),l=>{a.length>1?a.forEach(s=>s(l)):a[0](l)}};Yd=t("__VUE_INSTANCE_SETTERS__",n=>lo=n),vu=t("__VUE_SSR_SETTERS__",n=>hu=n)}const Ju=e=>{const t=lo;return Yd(e),e.scope.on(),()=>{e.scope.off(),Yd(t)}},vb=()=>{lo&&lo.scope.off(),Yd(null)};function zC(e){return e.vnode.shapeFlag&4}let hu=!1;function iI(e,t=!1,n=!1){t&&vu(t);const{props:o,children:a}=e.vnode,l=zC(e);U_(e,o,l,t),Z_(e,a,n||t);const s=l?uI(e,t):void 0;return t&&vu(!1),s}function uI(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,M_);const{setup:o}=n;if(o){Sl();const a=e.setupContext=o.length>1?KC(e):null,l=Ju(e),s=Gu(o,e,0,[e.props,a]),r=ns(s);if(Cl(),l(),(r||e.sp)&&!Dr(e)&&yC(e),r){if(s.then(vb,vb),t)return s.then(u=>{vu(!0);try{hb(e,u,t)}finally{vu(!1)}}).catch(u=>{Yf(u,e,0)});e.asyncDep=s}else hb(e,s)}else HC(e)}function hb(e,t,n){je(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:lt(t)&&(e.setupState=oC(t)),HC(e)}function HC(e,t,n){const o=e.type;e.render||(e.render=o.render||ht);{const a=Ju(e);Sl();try{P_(e)}finally{Cl(),a()}}}const cI={get(e,t){return ao(e,"get",""),e[t]}};function KC(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,cI),slots:e.slots,emit:e.emit,expose:t}}function Zf(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(oC(yo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ji)return Ji[n](e)},has(t,n){return n in t||n in Ji}})):e.proxy}function dI(e,t=!0){return je(e)?e.displayName||e.name:e.name||t&&e.__name}function fI(e){return je(e)&&"__vccOpts"in e}const C=(e,t)=>c_(e,t,hu);function De(e,t,n){try{Wd(-1);const o=arguments.length;return o===2?lt(t)&&!xe(t)?Qt(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Qt(n)&&(n=[n]),ee(e,t,n))}finally{Wd(1)}}function pI(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let o=0;o0&&go&&go.push(e),!0}const vI="3.5.41",hI=ht;let ah;const mb=typeof window<"u"&&window.trustedTypes;if(mb)try{ah=mb.createPolicy("vue",{createHTML:e=>e})}catch{}const WC=ah?e=>ah.createHTML(e):e=>e,mI="http://www.w3.org/2000/svg",gI="http://www.w3.org/1998/Math/MathML",sl=typeof document<"u"?document:null,gb=sl&&sl.createElement("template"),yI={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?sl.createElementNS(mI,e):t==="mathml"?sl.createElementNS(gI,e):n?sl.createElement(e,{is:n}):sl.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>sl.createTextNode(e),createComment:e=>sl.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>sl.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,l){const s=n?n.previousSibling:t.lastChild;if(a&&(a===l||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===l||!(a=a.nextSibling)););else{gb.innerHTML=WC(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=gb.content;if(o==="svg"||o==="mathml"){const u=r.firstChild;for(;u.firstChild;)r.appendChild(u.firstChild);r.removeChild(u)}t.insertBefore(r,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Bl="transition",Ti="animation",qr=Symbol("_vtc"),jC={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},YC=zn({},vC,jC),bI=e=>(e.displayName="Transition",e.props=YC,e),Zn=bI((e,{slots:t})=>De(k_,UC(e),t)),bs=(e,t=[])=>{xe(e)?e.forEach(n=>n(...t)):e&&e(...t)},yb=e=>e?xe(e)?e.some(t=>t.length>1):e.length>1:!1;function UC(e){const t={};for(const _ in e)_ in jC||(t[_]=e[_]);if(e.css===!1)return t;const{name:n="v",type:o,duration:a,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:r=`${n}-enter-to`,appearFromClass:u=l,appearActiveClass:c=s,appearToClass:d=r,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,g=wI(a),p=g&&g[0],m=g&&g[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:w,onLeave:S,onLeaveCancelled:k,onBeforeAppear:x=y,onAppear:N=b,onAppearCancelled:$=w}=t,T=(_,H,L,z)=>{_._enterCancelled=z,zl(_,H?d:r),zl(_,H?c:s),L&&L()},I=(_,H)=>{_._isLeaving=!1,zl(_,f),zl(_,h),zl(_,v),H&&H()},P=_=>(H,L)=>{const z=_?N:b,O=()=>T(H,_,L);bs(z,[H,O]),bb(()=>{zl(H,_?u:l),Ia(H,_?d:r),yb(z)||wb(H,o,p,O)})};return zn(t,{onBeforeEnter(_){bs(y,[_]),Ia(_,l),Ia(_,s)},onBeforeAppear(_){bs(x,[_]),Ia(_,u),Ia(_,c)},onEnter:P(!1),onAppear:P(!0),onLeave(_,H){_._isLeaving=!0;const L=()=>I(_,H);Ia(_,f),_._enterCancelled?(Ia(_,v),lh(_)):(lh(_),Ia(_,v)),bb(()=>{_._isLeaving&&(zl(_,f),Ia(_,h),yb(S)||wb(_,o,m,L))}),bs(S,[_,L])},onEnterCancelled(_){T(_,!1,void 0,!0),bs(w,[_])},onAppearCancelled(_){T(_,!0,void 0,!0),bs($,[_])},onLeaveCancelled(_){I(_),bs(k,[_])}})}function wI(e){if(e==null)return null;if(lt(e))return[Zp(e.enter),Zp(e.leave)];{const t=Zp(e);return[t,t]}}function Zp(e){return MN(e)}function Ia(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[qr]||(e[qr]=new Set)).add(t)}function zl(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[qr];n&&(n.delete(t),n.size||(e[qr]=void 0))}function bb(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let SI=0;function wb(e,t,n,o){const a=e._endId=++SI,l=()=>{a===e._endId&&o()};if(n!=null)return setTimeout(l,n);const{type:s,timeout:r,propCount:u}=qC(e,t);if(!s)return o();const c=s+"end";let d=0;const f=()=>{e.removeEventListener(c,v),l()},v=h=>{h.target===e&&++d>=u&&f()};setTimeout(()=>{d(n[g]||"").split(", "),a=o(`${Bl}Delay`),l=o(`${Bl}Duration`),s=Sb(a,l),r=o(`${Ti}Delay`),u=o(`${Ti}Duration`),c=Sb(r,u);let d=null,f=0,v=0;t===Bl?s>0&&(d=Bl,f=s,v=l.length):t===Ti?c>0&&(d=Ti,f=c,v=u.length):(f=Math.max(s,c),d=f>0?s>c?Bl:Ti:null,v=d?d===Bl?l.length:u.length:0);const h=d===Bl&&/\b(?:transform|all)(?:,|$)/.test(o(`${Bl}Property`).toString());return{type:d,timeout:f,propCount:v,hasTransform:h}}function Sb(e,t){for(;e.lengthCb(n)+Cb(e[o])))}function Cb(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function lh(e){return(e?e.ownerDocument:document).body.offsetHeight}function CI(e,t,n){const o=e[qr];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ud=Symbol("_vod"),Um=Symbol("_vsh"),Vt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ud]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ni(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Ni(e,!0),o.enter(e)):o.leave(e,()=>{Ni(e,!1)}):Ni(e,t))},beforeUnmount(e,{value:t}){Ni(e,t)}};function Ni(e,t){e.style.display=t?e[Ud]:"none",e[Um]=!t}const kI=Symbol(""),xI=/(?:^|;)\s*display\s*:/;function EI(e,t,n){const o=e.style,a=Ve(n);let l=!1;if(n&&!a){if(t)if(Ve(t))for(const s of t.split(";")){const r=s.slice(0,s.indexOf(":")).trim();n[r]==null&&Vi(o,r,"")}else for(const s in t)n[s]==null&&Vi(o,s,"");for(const s in n){s==="display"&&(l=!0);const r=n[s];r!=null?TI(e,s,!Ve(t)&&t?t[s]:void 0,r)||Vi(o,s,r):Vi(o,s,"")}}else if(a){if(t!==n){const s=o[kI];s&&(n+=";"+s),o.cssText=n,l=xI.test(n)}}else t&&e.removeAttribute("style");Ud in e&&(e[Ud]=l?o.display:"",e[Um]&&(o.display="none"))}const kb=/\s*!important$/;function Vi(e,t,n){if(xe(n))n.forEach(o=>Vi(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=$I(e,t);kb.test(n)?e.setProperty(Nl(o),n.replace(kb,""),"important"):e[o]=n}}const xb=["Webkit","Moz","ms"],Jp={};function $I(e,t){const n=Jp[t];if(n)return n;let o=Xn(t);if(o!=="filter"&&o in e)return Jp[t]=o;o=Uu(o);for(let a=0;aQp||(PI.then(()=>Qp=0),Qp=Date.now());function AI(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(xe(a)){const l=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{l.call(o),o._stopped=!0};const s=a.slice(),r=[o];for(let u=0;ue.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,DI=(e,t,n,o,a,l)=>{const s=a==="svg";t==="class"?CI(e,o,s):t==="style"?EI(e,n,o):Rf(t)?Af(t)||_I(e,t,n,o,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):LI(e,t,o,s))?(Tb(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$b(e,t,o,s,l,t!=="value")):e._isVueCE&&(BI(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ve(o)))?Tb(e,Xn(t),o,l,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),$b(e,t,o,s))};function LI(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&_b(t)&&je(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 a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return _b(t)&&Ve(n)?!1:t in e}function BI(e,t){const n=e._def.props;if(!n)return!1;const o=Xn(t);return Array.isArray(n)?n.some(a=>Xn(a)===o):Object.keys(n).some(a=>Xn(a)===o)}const GC=new WeakMap,XC=new WeakMap,qd=Symbol("_moveCb"),Ib=Symbol("_enterCb"),VI=e=>(delete e.props.mode,e),FI=VI({name:"TransitionGroup",props:zn({},YC,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ct(),o=pC();let a,l;return Sa(()=>{if(!a.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!WI(a[0].el,n.vnode.el,s)){a=[];return}a.forEach(zI),a.forEach(HI);const r=a.filter(KI);lh(n.vnode.el),r.forEach(u=>{const c=u.el,d=c.style;Ia(c,s),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[qd]=v=>{v&&v.target!==c||(!v||v.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[qd]=null,zl(c,s))};c.addEventListener("transitionend",f)}),a=[]}),()=>{const s=en(e),r=UC(s);let u=s.tag||Oe;if(a=[],l)for(let c=0;c{r.split(/\s+/).forEach(u=>u&&o.classList.remove(u))}),n.split(/\s+/).forEach(r=>r&&o.classList.add(r)),o.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(o);const{hasTransform:s}=qC(o);return l.removeChild(o),s}const as=e=>{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?n=>ld(t,n):t};function jI(e){e.target.composing=!0}function Mb(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Bo=Symbol("_assign"),_c=Symbol("_initialValue");function ev(e,t,n){return t&&(e=e.trim()),n&&(e=Bf(e)),e}const an={created(e,{modifiers:{lazy:t,trim:n,number:o}},a){e.parentNode&&(e.type==="text"?e[_c]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[_c]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Bo]=as(a);const l=o||a.props&&a.props.type==="number";dl(e,t?"change":"input",s=>{s.target.composing||e[Bo](ev(e.value,n,l))}),(n||l)&&dl(e,"change",()=>{e.value=ev(e.value,n,l)}),t||(dl(e,"compositionstart",jI),dl(e,"compositionend",Mb),dl(e,"change",Mb))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const a=t??"",l=e[_c];delete e[_c],l!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==l?e[Bo](ev(e.value,n,o)):e.value=a},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:a,number:l}},s){if(e[Bo]=as(s),e.composing)return;const r=(l||e.type==="number")&&!/^0\d/.test(e.value)?Bf(e.value):e.value,u=t??"";if(r===u)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||a&&e.value.trim()===u)||(e.value=u)}},Fs={deep:!0,created(e,t,n){e[Bo]=as(n),dl(e,"change",()=>{const o=e._modelValue,a=Gr(e),l=e.checked,s=e[Bo];if(xe(o)){const r=_m(o,a),u=r!==-1;if(l&&!u)s(o.concat(a));else if(!l&&u){const c=[...o];c.splice(r,1),s(c)}}else if(mi(o)){const r=new Set(o);l?r.add(a):r.delete(a),s(r)}else s(ek(e,l))})},mounted:Ob,beforeUpdate(e,t,n){e[Bo]=as(n),Ob(e,t,n)}};function Ob(e,{value:t,oldValue:n},o){e._modelValue=t;let a;if(xe(t))a=_m(t,o.props.value)>-1;else if(mi(t))a=t.has(o.props.value);else{if(t===n)return;a=os(t,ek(e,!0))}e.checked!==a&&(e.checked=a)}const QC={created(e,{value:t},n){e.checked=os(t,n.props.value),e[Bo]=as(n),dl(e,"change",()=>{e[Bo](Gr(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e[Bo]=as(o),t!==n&&(e.checked=os(t,o.props.value))}},sh={deep:!0,created(e,{value:t,modifiers:{number:n}},o){e._modelValue=t,dl(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>n?Bf(Gr(l)):Gr(l));e[Bo](e.multiple?mi(e._modelValue)?new Set(a):a:a[0]),e._assigning=!0,Pe(()=>{e._assigning=!1})}),e[Bo]=as(o)},mounted(e,{value:t}){Pb(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Bo]=as(n)},updated(e,{value:t}){e._assigning||Pb(e,t)}};function Pb(e,t){const n=e.multiple,o=xe(t);if(!(n&&!o&&!mi(t))){for(let a=0,l=e.options.length;aString(c)===String(r)):s.selected=_m(t,r)>-1}else s.selected=t.has(r);else if(os(Gr(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Gr(e){return"_value"in e?e._value:e.value}function ek(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const YI=["ctrl","shift","alt","meta"],UI={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)=>YI.some(n=>e[`${n}Key`]&&!t.includes(n))},et=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=((a,...l)=>{for(let s=0;s{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=(a=>{if(!("key"in a))return;const l=Nl(a.key);if(t.some(s=>s===l||qI[s]===l))return e(a)}))},GI=zn({patchProp:DI},yI);let Rb;function tk(){return Rb||(Rb=Q_(GI))}const ls=((...e)=>{tk().render(...e)}),nk=((...e)=>{const t=tk().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ZI(o);if(!a)return;const l=t._component;!je(l)&&!l.render&&!l.template&&(l.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=n(a,!1,XI(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t});function XI(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ZI(e){return Ve(e)?document.querySelector(e):e}const JI=Symbol();var Ab;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ab||(Ab={}));function QI(){const e=Ff(!0),t=e.run(()=>B({}));let n=[],o=[];const a=yo({install(l){a._a=l,l.provide(JI,a),l.config.globalProperties.$pinia=a,o.forEach(s=>n.push(s)),o=[]},use(l){return this._a?n.push(l):o.push(l),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const Ee={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},eM=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],tv=["sun","mon","tue","wed","thu","fri","sat"],at="update:modelValue",xt="change",Tn="input",Db=Symbol("INSTALLED_KEY"),Ca=["","default","small","large"],Lb=["left","center","right"];var ok=typeof global=="object"&&global&&global.Object===Object&&global,tM=typeof self=="object"&&self&&self.Object===Object&&self,ka=ok||tM||Function("return this")(),na=ka.Symbol,ak=Object.prototype,nM=ak.hasOwnProperty,oM=ak.toString,_i=na?na.toStringTag:void 0;function aM(e){var t=nM.call(e,_i),n=e[_i];try{e[_i]=void 0;var o=!0}catch{}var a=oM.call(e);return o&&(t?e[_i]=n:delete e[_i]),a}var lM=Object.prototype,sM=lM.toString;function rM(e){return sM.call(e)}var iM="[object Null]",uM="[object Undefined]",Bb=na?na.toStringTag:void 0;function cr(e){return e==null?e===void 0?uM:iM:Bb&&Bb in Object(e)?aM(e):rM(e)}function Wa(e){return e!=null&&typeof e=="object"}var cM="[object Symbol]";function Jf(e){return typeof e=="symbol"||Wa(e)&&cr(e)==cM}function qm(e,t){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n0){if(++t>=BM)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function HM(e){return function(){return e}}var Gd=(function(){try{var e=fr(Object,"defineProperty");return e({},"",{}),e}catch{}})(),KM=Gd?function(e,t){return Gd(e,"toString",{configurable:!0,enumerable:!1,value:HM(t),writable:!0})}:Gm,rk=zM(KM);function WM(e,t){for(var n=-1,o=e==null?0:e.length;++n-1}var GM=9007199254740991,XM=/^(?:0|[1-9]\d*)$/;function Qf(e,t){var n=typeof e;return t=t??GM,!!t&&(n=="number"||n!="symbol"&&XM.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=QM}function bi(e){return e!=null&&Jm(e.length)&&!Xm(e)}function eO(e,t,n){if(!So(n))return!1;var o=typeof t;return(o=="number"?bi(n)&&Qf(t,n.length):o=="string"&&t in n)?Qu(n[t],e):!1}function tO(e){return ck(function(t,n){var o=-1,a=n.length,l=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(l=e.length>3&&typeof l=="function"?(a--,l):void 0,s&&eO(n[0],n[1],s)&&(l=a<3?void 0:l,a=1),t=Object(t);++o-1}function dP(e,t){var n=this.__data__,o=tp(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function Il(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(r)?t>1?nc(r,t-1,n,o,a):og(a,r):o||(a[a.length]=r)}return a}function Xd(e){var t=e==null?0:e.length;return t?nc(e,1):[]}function mk(e){return rk(uk(e,void 0,Xd),e+"")}var ag=hk(Object.getPrototypeOf,Object),$P="[object Object]",TP=Function.prototype,NP=Object.prototype,gk=TP.toString,_P=NP.hasOwnProperty,IP=gk.call(Object);function lg(e){if(!Wa(e)||cr(e)!=$P)return!1;var t=ag(e);if(t===null)return!0;var n=_P.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&gk.call(n)==IP}function MP(e,t,n){var o=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var l=Array(a);++o=t?e:t)),e}function To(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=Qi(n),n=n===n?n:0),t!==void 0&&(t=Qi(t),t=t===t?t:0),OP(Qi(e),t,n)}function PP(){this.__data__=new Il,this.size=0}function RP(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function AP(e){return this.__data__.get(e)}function DP(e){return this.__data__.has(e)}var LP=200;function BP(e,t){var n=this.__data__;if(n instanceof Il){var o=n.__data__;if(!bu||o.lengthr))return!1;var c=l.get(e),d=l.get(t);if(c&&d)return c==t&&d==e;var f=-1,v=!0,h=n&f4?new wu:void 0;for(l.set(e,t),l.set(t,e);++f=t||N<0||f&&$>=l}function y(){var x=lv();if(m(x))return b(x);r=setTimeout(y,p(x))}function b(x){return r=void 0,v&&o?h(x):(o=a=void 0,s)}function w(){r!==void 0&&clearTimeout(r),c=0,o=u=a=r=void 0}function S(){return r===void 0?s:b(lv())}function k(){var x=lv(),N=m(x);if(o=arguments,a=this,u=x,N){if(r===void 0)return g(u);if(f)return clearTimeout(r),r=setTimeout(y,t),h(u)}return r===void 0&&(r=setTimeout(y,t)),s}return k.cancel=w,k.flush=S,k}function dh(e,t,n){(n!==void 0&&!Qu(e[t],n)||n===void 0&&!(t in e))&&ep(e,t,n)}function Dk(e){return Wa(e)&&bi(e)}function fh(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function tR(e){return yi(e,tc(e))}function nR(e,t,n,o,a,l,s){var r=fh(e,n),u=fh(t,n),c=s.get(u);if(c){dh(e,n,c);return}var d=l?l(r,u,n+"",e,t,s):void 0,f=d===void 0;if(f){var v=wo(u),h=!v&&gu(u),g=!v&&!h&&tg(u);d=u,v||h||g?wo(r)?d=r:Dk(r)?d=sk(r):h?(f=!1,d=bk(u,!0)):g?(f=!1,d=xk(u,!0)):d=[]:lg(u)||mu(u)?(d=r,mu(r)?d=tR(r):(!So(r)||Xm(r))&&(d=Ek(u))):f=!1}f&&(s.set(u,d),a(d,u,o,l,s),s.delete(u)),dh(e,n,d)}function Lk(e,t,n,o,a){e!==t&&Ak(t,function(l,s){if(a||(a=new va),So(l))nR(e,t,s,n,Lk,o,a);else{var r=o?o(fh(e,s),l,s+"",e,t,a):void 0;r===void 0&&(r=l),dh(e,s,r)}},tc)}function oR(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function Bk(e,t,n){var o=e==null?0:e.length;if(!o)return-1;var a=o-1;return ik(e,Rk(t),a,!0)}function aR(e,t){var n=-1,o=bi(e)?Array(e.length):[];return Z4(e,function(a,l,s){o[++n]=t(a,l,s)}),o}function lR(e,t){var n=wo(e)?qm:aR;return n(e,Rk(t))}function Vk(e,t){return nc(lR(e,t),1)}var sR=1/0;function rR(e){var t=e==null?0:e.length;return t?nc(e,sR):[]}function Zr(e){for(var t=-1,n=e==null?0:e.length,o={};++t1),l}),yi(e,kk(e),n),o&&(n=tu(n,pR|vR|hR,fR));for(var a=t.length;a--;)dR(n,t[a]);return n});function Hk(e,t,n,o){if(!So(e))return e;t=wi(t,e);for(var a=-1,l=t.length,s=l-1,r=e;r!=null&&++a=CR){var c=SR(e);if(c)return ig(c);s=!1,a=_k,u=new wu}else u=r;e:for(;++oe===void 0,qt=e=>typeof e=="boolean",We=e=>typeof e=="number",mo=e=>!e&&e!==0||xe(e)&&e.length===0||lt(e)&&!Object.keys(e).length,No=e=>typeof Element>"u"?!1:e instanceof Element,Vo=e=>hn(e),xR=e=>Ve(e)?!Number.isNaN(Number(e)):!1,oc=e=>e===window,Su=e=>Object.keys(e),Kk=e=>Object.entries(e),Ql=(e,t,n)=>({get value(){return Cn(e,t,n)},set value(o){yR(e,t,o)}}),ER="__epPropKey",ne=e=>e,$R=e=>lt(e)&&!!e.__epPropKey,xa=(e,t)=>{if(!lt(e)||$R(e))return e;const{values:n,required:o,default:a,type:l,validator:s}=e,r={type:l,required:!!o,validator:n||s?u=>{let c=!1,d=[];if(n&&(d=Array.from(n),Ft(e,"default")&&d.push(a),c||=d.includes(u)),s&&(c||=s(u)),!c&&d.length>0){const f=[...new Set(d)].map(v=>JSON.stringify(v)).join(", ");hI(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${f}], got value ${JSON.stringify(u)}.`)}return c}:void 0,[ER]:!0};return Ft(e,"default")&&(r.default=a),r},Te=e=>Zr(Object.entries(e).map(([t,n])=>[t,xa(n,t)])),TR=Te({zIndex:{type:ne([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"},teleported:Boolean,appendTo:{type:ne([String,Object]),default:"body"}}),NR={scroll:({scrollTop:e,fixed:t})=>We(e)&&qt(t),[xt]:e=>qt(e)};var Wk=class extends Error{constructor(e){super(e),this.name="ElementPlusError"}};function rn(e,t){throw new Wk(`[${e}] ${t}`)}function Yt(e,t){{const n=Ve(e)?new Wk(`[${e}] ${t}`):e;console.warn(n)}}const _R=["class","style"],IR=/^on[A-Z]/,rp=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,o=C(()=>(n?.value||[]).concat(_R)),a=ct();return a?C(()=>Zr(Object.entries(a.proxy?.$attrs).filter(([l])=>!o.value.includes(l)&&!(t&&IR.test(l))))):(Yt("use-attrs","getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),C(()=>({})))};function jk(e,t){var n;const o=Ct();return uo(()=>{o.value=e()},{...t,flush:(n=t?.flush)!==null&&n!==void 0?n:"sync"}),qs(o)}function ss(e,t){return qu()?(Rr(e,t),!0):!1}const rv=new WeakMap,MR=(...e)=>{var t;const n=e[0],o=(t=ct())===null||t===void 0?void 0:t.proxy,a=o??qu();if(a==null&&!cC())throw new Error("injectLocal must be called in setup");return a&&rv.has(a)&&n in rv.get(a)?rv.get(a)[n]:Be(...e)},Lt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const OR=e=>typeof e<"u",Yk=e=>e!=null,PR=Object.prototype.toString,RR=e=>PR.call(e)==="[object Object]",ip=(e,t,n)=>Math.min(n,Math.max(t,e)),$o=()=>{},Jr=AR();function AR(){var e,t,n;return Lt&&!!(!((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function Uk(e,t){function n(...o){return new Promise((a,l)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(a).catch(l)})}return n}function DR(e,t={}){let n,o,a=$o;const l=u=>{clearTimeout(u),a(),a=$o};let s;return u=>{const c=Nt(e),d=Nt(t.maxWait);return n&&l(n),c<=0||d!==void 0&&d<=0?(o&&(l(o),o=void 0),Promise.resolve(u())):new Promise((f,v)=>{a=t.rejectOnCancel?v:f,s=u,d&&!o&&(o=setTimeout(()=>{n&&l(n),o=void 0,f(s())},d)),n=setTimeout(()=>{o&&l(o),o=void 0,f(u())},c)})}}function LR(...e){let t=0,n,o=!0,a=$o,l,s,r,u,c;!gt(e[0])&&typeof e[0]=="object"?{delay:s,trailing:r=!0,leading:u=!0,rejectOnCancel:c=!1}=e[0]:[s,r=!0,u=!0,c=!1]=e;const d=()=>{n&&(clearTimeout(n),n=void 0,a(),a=$o)};return v=>{const h=Nt(s),g=Date.now()-t,p=()=>l=v();return d(),h<=0?(t=Date.now(),p()):(g>h?(t=Date.now(),(u||!o)&&p()):r&&(l=new Promise((m,y)=>{a=c?y:m,n=setTimeout(()=>{t=Date.now(),o=!0,m(p()),d()},Math.max(0,h-g))})),!u&&!n&&(n=setTimeout(()=>o=!0,h)),o=!1,l)}}function p0(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function Br(e){return Array.isArray(e)?e:[e]}function BR(e){return ct()}function VR(e){return zt(gt(e)?new Proxy({},{get(t,n,o){return i(Reflect.get(e.value,n,o))},set(t,n,o){return gt(e.value[n])&&!gt(o)?e.value[n].value=o:e.value[n]=o,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function FR(e){return VR(C(e))}function ac(e,t=200,n={}){return Uk(DR(t,n),e)}function zR(e,t=200,n={}){const o=B(Nt(e)),a=ac(()=>{o.value=e.value},t,n);return pe(e,()=>a()),Rm(o)}function qk(e,t=200,n=!1,o=!0,a=!1){return Uk(LR(t,n,o,a),e)}function ug(e,t=!0,n){BR()?st(e,n):t?e():Pe(e)}function HR(e,t=1e3,n={}){const{immediate:o=!0,immediateCallback:a=!1}=n;let l=null;const s=Ct(!1);function r(){l&&(clearInterval(l),l=null)}function u(){s.value=!1,r()}function c(){const d=Nt(t);d<=0||(s.value=!0,a&&e(),r(),s.value&&(l=setInterval(e,d)))}return o&&Lt&&c(),(gt(t)||typeof t=="function")&&ss(pe(t,()=>{s.value&&Lt&&c()})),ss(u),{isActive:Rm(s),pause:u,resume:c}}function Qr(e,t,n={}){const{immediate:o=!0,immediateCallback:a=!1}=n,l=Ct(!1);let s;function r(){s&&(clearTimeout(s),s=void 0)}function u(){l.value=!1,r()}function c(...d){a&&e(),r(),l.value=!0,s=setTimeout(()=>{l.value=!1,s=void 0,e(...d)},Nt(t))}return o&&(l.value=!0,Lt&&c()),ss(u),{isPending:Rm(l),start:c,stop:u}}function KR(e,t,n){return pe(e,t,{...n,immediate:!0})}const ra=Lt?window:void 0,WR=Lt?window.document:void 0;function Mn(e){var t;const n=Nt(e);return(t=n?.$el)!==null&&t!==void 0?t:n}function Wt(...e){const t=(o,a,l,s)=>(o.addEventListener(a,l,s),()=>o.removeEventListener(a,l,s)),n=C(()=>{const o=Br(Nt(e[0])).filter(a=>a!=null);return o.every(a=>typeof a!="string")?o:void 0});return KR(()=>{var o,a;return[(o=(a=n.value)===null||a===void 0?void 0:a.map(l=>Mn(l)))!==null&&o!==void 0?o:[ra].filter(l=>l!=null),Br(Nt(n.value?e[1]:e[0])),Br(i(n.value?e[2]:e[1])),Nt(n.value?e[3]:e[2])]},([o,a,l,s],r,u)=>{if(!o?.length||!a?.length||!l?.length)return;const c=RR(s)?{...s}:s,d=o.flatMap(f=>a.flatMap(v=>l.map(h=>t(f,v,h,c))));u(()=>{d.forEach(f=>f())})},{flush:"post"})}let v0=!1;function cg(e,t,n={}){const{window:o=ra,ignore:a=[],capture:l=!0,detectIframe:s=!1,controls:r=!1}=n;if(!o)return r?{stop:$o,cancel:$o,trigger:$o}:$o;if(Jr&&!v0){v0=!0;const m={passive:!0};Array.from(o.document.body.children).forEach(y=>y.addEventListener("click",$o,m)),o.document.documentElement.addEventListener("click",$o,m)}let u=!0;const c=m=>Nt(a).some(y=>{if(typeof y=="string")return Array.from(o.document.querySelectorAll(y)).some(b=>b===m.target||m.composedPath().includes(b));{const b=Mn(y);return b&&(m.target===b||m.composedPath().includes(b))}});function d(m){const y=Nt(m);return y&&y.$.subTree.shapeFlag===16}function f(m,y){const b=Nt(m),w=b.$.subTree&&b.$.subTree.children;return w==null||!Array.isArray(w)?!1:w.some(S=>S.el===y.target||y.composedPath().includes(S.el))}const v=m=>{const y=Mn(e);if(m.target!=null&&!(!(y instanceof Element)&&d(e)&&f(e,m))&&!(!y||y===m.target||m.composedPath().includes(y))){if("detail"in m&&m.detail===0&&(u=!c(m)),!u){u=!0;return}t(m)}};let h=!1;const g=[Wt(o,"click",m=>{h||(h=!0,setTimeout(()=>{h=!1},0),v(m))},{passive:!0,capture:l}),Wt(o,"pointerdown",m=>{const y=Mn(e);u=!c(m)&&!!(y&&!m.composedPath().includes(y))},{passive:!0}),s&&Wt(o,"blur",m=>{setTimeout(()=>{const y=Mn(e);let b=o.document.activeElement;for(;b?.shadowRoot;)b=b.shadowRoot.activeElement;b?.tagName==="IFRAME"&&!y?.contains(o.document.activeElement)&&t(m)},0)},{passive:!0})].filter(Boolean),p=()=>g.forEach(m=>m());return r?{stop:p,cancel:()=>{u=!1},trigger:m=>{u=!0,v(m),u=!1}}:p}function jR(){const e=Ct(!1),t=ct();return t&&st(()=>{e.value=!0},t),e}function up(e){const t=jR();return C(()=>(t.value,!!e()))}function lc(e,t,n={}){const{window:o=ra,...a}=n;let l;const s=up(()=>o&&"MutationObserver"in o),r=()=>{l&&(l.disconnect(),l=void 0)},u=pe(C(()=>{const f=Br(Nt(e)).map(Mn).filter(Yk);return new Set(f)}),f=>{r(),s.value&&f.size&&(l=new MutationObserver(t),f.forEach(v=>l.observe(v,a)))},{immediate:!0,flush:"post"}),c=()=>l?.takeRecords(),d=()=>{u(),r()};return ss(d),{isSupported:s,stop:d,takeRecords:c}}function YR(e,t,n={}){const{window:o=ra,document:a=o?.document,flush:l="sync"}=n;if(!o||!a)return $o;let s;const r=d=>{s?.(),s=d},u=uo(()=>{const d=Mn(e);if(d){const{stop:f}=lc(a,v=>{v.map(h=>[...h.removedNodes]).flat().some(h=>h===d||h.contains(d))&&t(v)},{window:o,childList:!0,subtree:!0});r(f)}},{flush:l}),c=()=>{u(),r()};return ss(c),c}function UR(e={}){var t;const{window:n=ra,deep:o=!0,triggerOnRemoval:a=!1}=e,l=(t=e.document)!==null&&t!==void 0?t:n?.document,s=()=>{let c=l?.activeElement;if(o)for(var d;c?.shadowRoot;)c=c==null||(d=c.shadowRoot)===null||d===void 0?void 0:d.activeElement;return c},r=Ct(),u=()=>{r.value=s()};if(n){const c={capture:!0,passive:!0};Wt(n,"blur",d=>{d.relatedTarget===null&&u()},c),Wt(n,"focus",u,c)}return a&&YR(r,u,{document:l}),u(),r}const qR=Symbol("vueuse-ssr-width");function GR(){const e=cC()?MR(qR,null):null;return typeof e=="number"?e:void 0}function XR(e,t={}){const{window:n=ra,ssrWidth:o=GR()}=t,a=up(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),l=Ct(typeof o=="number"),s=Ct(),r=Ct(!1),u=c=>{r.value=c.matches};return uo(()=>{if(l.value){l.value=!a.value,r.value=Nt(e).split(",").some(c=>{const d=c.includes("not all"),f=c.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),v=c.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let h=!!(f||v);return f&&h&&(h=o>=p0(f[1])),v&&h&&(h=o<=p0(v[1])),d?!h:h});return}a.value&&(s.value=n.matchMedia(Nt(e)),r.value=s.value.matches)}),Wt(s,"change",u,{passive:!0}),C(()=>r.value)}function ZR(e){return JSON.parse(JSON.stringify(e))}function JR(e,t,n={}){const{window:o=ra,initialValue:a,observe:l=!1}=n,s=Ct(a),r=C(()=>{var c;return Mn(t)||(o==null||(c=o.document)===null||c===void 0?void 0:c.documentElement)});function u(){const c=Nt(e),d=Nt(r);if(d&&o&&c){var f;s.value=((f=o.getComputedStyle(d).getPropertyValue(c))===null||f===void 0?void 0:f.trim())||s.value||a}}return l&&lc(r,u,{attributeFilter:["style","class"],window:o}),pe([r,()=>Nt(e)],(c,d)=>{d[0]&&d[1]&&d[0].style.removeProperty(d[1]),u()},{immediate:!0}),pe([s,r],([c,d])=>{const f=Nt(e);d?.style&&f&&(c==null?d.style.removeProperty(f):d.style.setProperty(f,c))},{immediate:!0}),s}function QR(e={}){const{document:t=WR}=e;if(!t)return Ct("visible");const n=Ct(t.visibilityState);return Wt(t,"visibilitychange",()=>{n.value=t.visibilityState},{passive:!0}),n}function ln(e,t,n={}){const{window:o=ra,...a}=n;let l;const s=up(()=>o&&"ResizeObserver"in o),r=()=>{l&&(l.disconnect(),l=void 0)},u=pe(C(()=>{const d=Nt(e);return Array.isArray(d)?d.map(f=>Mn(f)):[Mn(d)]}),d=>{if(r(),s.value&&o){l=new ResizeObserver(t);for(const f of d)f&&l.observe(f,a)}},{immediate:!0,flush:"post"}),c=()=>{r(),u()};return ss(c),{isSupported:s,stop:c}}function h0(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:a=!0,immediate:l=!0,updateTiming:s="sync"}=t,r=Ct(0),u=Ct(0),c=Ct(0),d=Ct(0),f=Ct(0),v=Ct(0),h=Ct(0),g=Ct(0);function p(){const y=Mn(e);if(!y){n&&(r.value=0,u.value=0,c.value=0,d.value=0,f.value=0,v.value=0,h.value=0,g.value=0);return}const b=y.getBoundingClientRect();r.value=b.height,u.value=b.bottom,c.value=b.left,d.value=b.right,f.value=b.top,v.value=b.width,h.value=b.x,g.value=b.y}function m(){s==="sync"?p():s==="next-frame"&&requestAnimationFrame(()=>p())}return ln(e,m),pe(()=>Mn(e),y=>!y&&m()),lc(e,m,{attributeFilter:["style","class"]}),a&&Wt("scroll",m,{capture:!0,passive:!0}),o&&Wt("resize",m,{passive:!0}),ug(()=>{l&&m()}),{height:r,bottom:u,left:c,right:d,top:f,width:v,x:h,y:g,update:m}}function Jd(e,t={width:0,height:0},n={}){const{window:o=ra,box:a="content-box"}=n,l=C(()=>{var f;return(f=Mn(e))===null||f===void 0||(f=f.namespaceURI)===null||f===void 0?void 0:f.includes("svg")}),s=Ct(t.width),r=Ct(t.height),{stop:u}=ln(e,([f])=>{const v=a==="border-box"?f.borderBoxSize:a==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&l.value){const h=Mn(e);if(h){const g=h.getBoundingClientRect();s.value=g.width,r.value=g.height}}else if(v){const h=Br(v);s.value=h.reduce((g,{inlineSize:p})=>g+p,0),r.value=h.reduce((g,{blockSize:p})=>g+p,0)}else s.value=f.contentRect.width,r.value=f.contentRect.height},n);ug(()=>{const f=Mn(e);f&&(s.value="offsetWidth"in f?f.offsetWidth:t.width,r.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=pe(()=>Mn(e),f=>{s.value=f?t.width:0,r.value=f?t.height:0});function d(){u(),c()}return{width:s,height:r,stop:d}}function eA(e,t,n={}){const{root:o,rootMargin:a,threshold:l=0,window:s=ra,immediate:r=!0}=n,u=up(()=>s&&"IntersectionObserver"in s),c=C(()=>Br(Nt(e)).map(Mn).filter(Yk));let d=$o;const f=Ct(r),v=u.value?pe(()=>[c.value,Mn(o),Nt(a),f.value],([g,p,m])=>{if(d(),!f.value||!g.length)return;const y=new IntersectionObserver(t,{root:Mn(p),rootMargin:m,threshold:l});g.forEach(b=>b&&y.observe(b)),d=()=>{y.disconnect(),d=$o}},{immediate:r,flush:"post"}):$o,h=()=>{d(),v(),f.value=!1};return ss(h),{isSupported:u,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:h}}function tA(e,t,n,o={}){var a,l;const{clone:s=!1,passive:r=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:f}=o,v=ct(),h=v?.emit||(v==null||(a=v.$emit)===null||a===void 0?void 0:a.bind(v))||(v==null||(l=v.proxy)===null||l===void 0||(l=l.$emit)===null||l===void 0?void 0:l.bind(v?.proxy));let g=u;g=g||`update:${t.toString()}`;const p=b=>s?typeof s=="function"?s(b):ZR(b):b,m=()=>OR(e[t])?p(e[t]):d,y=b=>{f?f(b)&&h(g,b):h(g,b)};if(r){const b=B(m());let w=!1;return pe(()=>e[t],S=>{w||(w=!0,b.value=p(S),Pe(()=>w=!1))}),pe(b,S=>{!w&&(S!==e[t]||c)&&y(S)},{deep:c}),b}else return C({get(){return m()},set(b){y(b)}})}function nA(e={}){const{window:t=ra}=e;if(!t)return Ct(!1);const n=Ct(t.document.hasFocus()),o={passive:!0};return Wt(t,"blur",()=>{n.value=!1},o),Wt(t,"focus",()=>{n.value=!0},o),n}function dg(e={}){const{window:t=ra,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:o=Number.POSITIVE_INFINITY,listenOrientation:a=!0,includeScrollbar:l=!0,type:s="inner"}=e,r=Ct(n),u=Ct(o),c=()=>{if(t)if(s==="outer")r.value=t.outerWidth,u.value=t.outerHeight;else if(s==="visual"&&t.visualViewport){const{width:f,height:v,scale:h}=t.visualViewport;r.value=Math.round(f*h),u.value=Math.round(v*h)}else l?(r.value=t.innerWidth,u.value=t.innerHeight):(r.value=t.document.documentElement.clientWidth,u.value=t.document.documentElement.clientHeight)};c(),ug(c);const d={passive:!0};return Wt("resize",c,d),t&&s==="visual"&&t.visualViewport&&Wt(t.visualViewport,"resize",c,d),a&&pe(XR("(orientation: portrait)"),()=>c()),{width:r,height:u}}function fg(){const e=Ct(),t=B(0),n=C(()=>({minWidth:`${Math.max(t.value,11)}px`}));return ln(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}const Va=({from:e,replacement:t,scope:n,version:o,ref:a,type:l="API"},s)=>{pe(()=>i(s),r=>{r&&Yt(n,`[${l}] ${e} is about to be deprecated in version ${o}, please use ${t} instead. -For more detail, please visit: ${a} -`)},{immediate:!0})},oA='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',Gk=e=>typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot,m0=e=>typeof Element>"u"?!1:e instanceof Element,aA=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,g0=e=>Array.from(e.querySelectorAll(oA)).filter(t=>Js(t)&&aA(t)),Js=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},id=function(e,t,...n){let o;t.includes("mouse")||t.includes("click")?o="MouseEvents":t.includes("key")?o="KeyboardEvent":o="HTMLEvents";const a=document.createEvent(o);return a.initEvent(t,...n),e.dispatchEvent(a),e},Xk=e=>!e.getAttribute("aria-owns"),Zk=(e,t,n)=>{const{parentNode:o}=e;if(!o)return null;const a=o.querySelectorAll(n);return a[Array.prototype.indexOf.call(a,e)+t]||null},sc=(e,t)=>{if(!e||!e.focus)return;let n=!1;m0(e)&&!Js(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),m0(e)&&n&&e.removeAttribute("tabindex")},Vr=e=>{e&&(sc(e),!Xk(e)&&e.click())},cp=()=>Lt&&/firefox/i.test(window.navigator.userAgent),Jk=()=>Lt&&/android/i.test(window.navigator.userAgent),pg=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),iv=e=>Uu(e),lA="utils/dom/style",Qk=(e="")=>e.split(" ").filter(t=>!!t.trim()),Fa=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Jo=(e,t)=>{!e||!t.trim()||e.classList.add(...Qk(t))},ro=(e,t)=>{!e||!t.trim()||e.classList.remove(...Qk(t))},fl=(e,t)=>{if(!Lt||!e||!t||Gk(e))return"";let n=Xn(t);n==="float"&&(n="cssFloat");try{const o=e.style[n];if(o)return o;const a=document.defaultView?.getComputedStyle(e,"");return a?a[n]:""}catch{return e.style[n]}},e2=(e,t,n)=>{if(!(!e||!t))if(lt(t))Kk(t).forEach(([o,a])=>e2(e,o,a));else{const o=Xn(t);e.style[o]=n}};function pn(e,t="px"){if(!e&&e!==0)return"";if(We(e)||xR(e))return`${e}${t}`;if(Ve(e))return e;Yt(lA,"binding value must be a string or number")}const t2=(e,t,n,o)=>{const a={offsetX:0,offsetY:0},l=B(!1),s=(v,h)=>{if(e.value){const{offsetX:g,offsetY:p}=a,m=e.value.getBoundingClientRect(),y=Math.max(m.left,0),b=Math.max(m.top,0),w=m.width,S=m.height,k=document.documentElement.clientWidth,x=document.documentElement.clientHeight,N=-y+g,$=-b+p,T=k-y-w+g,I=x-b-(S{const h=v.clientX,g=v.clientY,{offsetX:p,offsetY:m}=a,y=w=>{l.value||(l.value=!0),s(p+w.clientX-h,m+w.clientY-g)},b=()=>{l.value=!1,document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",y),document.addEventListener("mouseup",b)},u=()=>{t.value&&e.value&&(t.value.addEventListener("mousedown",r),window.addEventListener("resize",f))},c=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",r),window.removeEventListener("resize",f))},d=()=>{a.offsetX=0,a.offsetY=0,e.value&&(e.value.style.transform="")},f=()=>{const{offsetX:v,offsetY:h}=a;s(v,h)};return st(()=>{uo(()=>{n.value?u():c()})}),Ht(()=>{c()}),{isDragging:l,resetPosition:d,updatePosition:f}};var sA={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value",alphaDescription:"alpha {alpha}, current color is {color}",hueLabel:"pick hue value",hueDescription:"hue {hue}, current color is {color}",svLabel:"pick saturation and brightness value",svDescription:"saturation {saturation}, brightness {brightness}, current color is {color}",predefineDescription:"select {value} as the color"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum",selectAllLabel:"Select all rows",selectRowLabel:"Select this row",expandRowLabel:"Expand this row",collapseRowLabel:"Collapse this row",sortLabel:"Sort by {column}",filterLabel:"Filter by {column}"},tag:{close:"Close this tag"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"},inputOTP:{groupLabel:"OTP Input",defaultLabel:"Please enter OTP character {index}"}}};const rA=e=>(t,n)=>iA(t,n,i(e)),iA=(e,t,n)=>Cn(n,e,e).replace(/\{(\w+)\}/g,(o,a)=>`${t?.[a]??`{${a}}`}`),uA=e=>({lang:C(()=>i(e).name),locale:gt(e)?e:B(e),t:rA(e)}),n2=Symbol("localeContextKey"),Tt=e=>{const t=e||Be(n2,B());return uA(C(()=>t.value||sA))},cA="is-",ws=(e,t,n,o,a)=>{let l=`${e}-${t}`;return n&&(l+=`-${n}`),o&&(l+=`__${o}`),a&&(l+=`--${a}`),l},o2=Symbol("namespaceContextKey"),vg=e=>{const t=e||(ct()?Be(o2,B("el")):B("el"));return C(()=>i(t)||"el")},ke=(e,t)=>{const n=vg(t);return{namespace:n,b:(p="")=>ws(n.value,e,p,"",""),e:p=>p?ws(n.value,e,"",p,""):"",m:p=>p?ws(n.value,e,"","",p):"",be:(p,m)=>p&&m?ws(n.value,e,p,m,""):"",em:(p,m)=>p&&m?ws(n.value,e,"",p,m):"",bm:(p,m)=>p&&m?ws(n.value,e,p,"",m):"",bem:(p,m,y)=>p&&m&&y?ws(n.value,e,p,m,y):"",is:(p,...m)=>{const y=m.length>=1?m[0]:!0;return p&&y?`${cA}${p}`:""},cssVar:p=>{const m={};for(const y in p)p[y]&&(m[`--${n.value}-${y}`]=p[y]);return m},cssVarName:p=>`--${n.value}-${p}`,cssVarBlock:p=>{const m={};for(const y in p)p[y]&&(m[`--${n.value}-${e}-${y}`]=p[y]);return m},cssVarBlockName:p=>`--${n.value}-${e}-${p}`}};function dA(e,t,n,o){const a=n-t;return e/=o/2,e<1?a/2*e*e*e+t:a/2*((e-=2)*e*e+2)+t}const Po=e=>Lt?window.requestAnimationFrame(e):setTimeout(e,16),ba=e=>Lt?window.cancelAnimationFrame(e):clearTimeout(e),fA=(e,t)=>{if(!Lt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],o=fl(e,n);return["scroll","auto","overlay"].some(a=>o.includes(a))},hg=(e,t)=>{if(!Lt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(fA(n,t))return n;Gk(n)?n=n.host:n=n.parentNode}return n};let Mc;const a2=e=>{if(!Lt)return 0;if(Mc!==void 0)return Mc;const t=document.createElement("div");t.className=`${e}-scrollbar__wrap`,t.style.visibility="hidden",t.style.width="100px",t.style.position="absolute",t.style.top="-9999px",document.body.appendChild(t);const n=t.offsetWidth;t.style.overflow="scroll";const o=document.createElement("div");o.style.width="100%",t.appendChild(o);const a=o.offsetWidth;return t.parentNode?.removeChild(t),Mc=n-a,Mc};function mg(e,t){if(!Lt)return;if(!t){e.scrollTop=0;return}const n=[];let o=t.offsetParent;for(;o!==null&&e!==o&&e.contains(o);)n.push(o),o=o.offsetParent;const a=t.offsetTop+n.reduce((u,c)=>u+c.offsetTop,0),l=a+t.offsetHeight,s=e.scrollTop,r=s+e.clientHeight;ar&&(e.scrollTop=l-e.clientHeight)}function pA(e,t,n,o,a){const l=Date.now();let s;const r=()=>{const u=Date.now()-l,c=dA(u>o?o:u,t,n,o);oc(e)?e.scrollTo(window.pageXOffset,c):e.scrollTop=c,u{s&&ba(s)}}const y0=(e,t)=>oc(t)?e.ownerDocument.documentElement:t,b0=e=>oc(e)?window.scrollY:e.scrollTop,dp=(e,t={})=>{gt(e)||rn("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||ke("popup"),o=C(()=>n.bm("parent","hidden"));let a=0,l=!1,s="0",r=!1;const u=()=>{r||(r=!0,setTimeout(()=>{typeof document>"u"||l&&document&&(document.body.style.width=s,ro(document.body,o.value))},200))};pe(e,c=>{if(!c){u();return}r=!1,l=!Fa(document.body,o.value),l&&(s=document.body.style.width,Jo(document.body,o.value)),a=a2(n.namespace.value);const d=document.documentElement.clientHeight0&&(d||f==="scroll")&&l&&(document.body.style.width=`calc(100% - ${a}px)`)}),Rr(()=>u())},Ln=(e,t,{checkForDefaultPrevented:n=!0}={})=>a=>{const l=e?.(a);if(n===!1||!l)return t?.(a)},w0=e=>t=>t.pointerType==="mouse"?e(t):void 0,Xt=e=>{if(e.code&&e.code!=="Unidentified")return e.code;const t=l2(e);return t?Object.values(Ee).includes(t)?t:t===" "?Ee.space:"":""},l2=e=>{let t=e.key&&e.key!=="Unidentified"?e.key:"";if(!t&&e.type==="keyup"&&Jk()){const n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},vA=xa({type:ne(Boolean),default:null}),hA=xa({type:ne(Function)}),mA=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,o=[t],a={[e]:vA,[n]:hA};return{useModelToggle:({indicator:s,toggleReason:r,shouldHideWhenRouteChanges:u,shouldProceed:c,onShow:d,onHide:f})=>{const v=ct(),{emit:h}=v,g=v.props,p=C(()=>je(g[n])),m=C(()=>g[e]===null),y=N=>{s.value!==!0&&(s.value=!0,r&&(r.value=N),je(d)&&d(N))},b=N=>{s.value!==!1&&(s.value=!1,r&&(r.value=N),je(f)&&f(N))},w=N=>{if(g.disabled===!0||je(c)&&!c())return;const $=p.value&≪$&&h(t,!0),(m.value||!$)&&y(N)},S=N=>{if(g.disabled===!0||!Lt)return;const $=p.value&≪$&&h(t,!1),(m.value||!$)&&b(N)},k=N=>{qt(N)&&(g.disabled&&N?p.value&&h(t,!1):s.value!==N&&(N?y():b()))},x=()=>{s.value?S():w()};return pe(()=>g[e],k),u&&v.appContext.config.globalProperties.$route!==void 0&&pe(()=>({...v.proxy.$route}),()=>{u.value&&s.value&&S()}),st(()=>{k(g[e])}),{hide:S,show:w,toggle:x,hasUpdateHandler:p}},useModelToggleProps:a,useModelToggleEmits:o}},s2=e=>{const t=ct();return C(()=>t?.proxy?.$props?.[e])};var Io="top",oa="bottom",aa="right",Mo="left",gg="auto",rc=[Io,oa,aa,Mo],ei="start",Cu="end",gA="clippingParents",r2="viewport",Ii="popper",yA="reference",S0=rc.reduce(function(e,t){return e.concat([t+"-"+ei,t+"-"+Cu])},[]),Ja=[].concat(rc,[gg]).reduce(function(e,t){return e.concat([t,t+"-"+ei,t+"-"+Cu])},[]),bA="beforeRead",wA="read",SA="afterRead",CA="beforeMain",kA="main",xA="afterMain",EA="beforeWrite",$A="write",TA="afterWrite",NA=[bA,wA,SA,CA,kA,xA,EA,$A,TA];function Ua(e){return e?(e.nodeName||"").toLowerCase():null}function Yo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Qs(e){var t=Yo(e).Element;return e instanceof t||e instanceof Element}function ea(e){var t=Yo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function yg(e){if(typeof ShadowRoot>"u")return!1;var t=Yo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function _A(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},a=t.attributes[n]||{},l=t.elements[n];!ea(l)||!Ua(l)||(Object.assign(l.style,o),Object.keys(a).forEach(function(s){var r=a[s];r===!1?l.removeAttribute(s):l.setAttribute(s,r===!0?"":r)}))})}function IA(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],l=t.attributes[o]||{},s=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),r=s.reduce(function(u,c){return u[c]="",u},{});!ea(a)||!Ua(a)||(Object.assign(a.style,r),Object.keys(l).forEach(function(u){a.removeAttribute(u)}))})}}var i2={name:"applyStyles",enabled:!0,phase:"write",fn:_A,effect:IA,requires:["computeStyles"]};function za(e){return e.split("-")[0]}var zs=Math.max,Qd=Math.min,ti=Math.round;function ph(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function u2(){return!/^((?!chrome|android).)*safari/i.test(ph())}function ni(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var o=e.getBoundingClientRect(),a=1,l=1;t&&ea(e)&&(a=e.offsetWidth>0&&ti(o.width)/e.offsetWidth||1,l=e.offsetHeight>0&&ti(o.height)/e.offsetHeight||1);var s=Qs(e)?Yo(e):window,r=s.visualViewport,u=!u2()&&n,c=(o.left+(u&&r?r.offsetLeft:0))/a,d=(o.top+(u&&r?r.offsetTop:0))/l,f=o.width/a,v=o.height/l;return{width:f,height:v,top:d,right:c+f,bottom:d+v,left:c,x:c,y:d}}function bg(e){var t=ni(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function c2(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&yg(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function xl(e){return Yo(e).getComputedStyle(e)}function MA(e){return["table","td","th"].indexOf(Ua(e))>=0}function vs(e){return((Qs(e)?e.ownerDocument:e.document)||window.document).documentElement}function fp(e){return Ua(e)==="html"?e:e.assignedSlot||e.parentNode||(yg(e)?e.host:null)||vs(e)}function C0(e){return!ea(e)||xl(e).position==="fixed"?null:e.offsetParent}function OA(e){var t=/firefox/i.test(ph()),n=/Trident/i.test(ph());if(n&&ea(e)){var o=xl(e);if(o.position==="fixed")return null}var a=fp(e);for(yg(a)&&(a=a.host);ea(a)&&["html","body"].indexOf(Ua(a))<0;){var l=xl(a);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||t&&l.willChange==="filter"||t&&l.filter&&l.filter!=="none")return a;a=a.parentNode}return null}function ic(e){for(var t=Yo(e),n=C0(e);n&&MA(n)&&xl(n).position==="static";)n=C0(n);return n&&(Ua(n)==="html"||Ua(n)==="body"&&xl(n).position==="static")?t:n||OA(e)||t}function wg(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function nu(e,t,n){return zs(e,Qd(t,n))}function PA(e,t,n){var o=nu(e,t,n);return o>n?n:o}function d2(){return{top:0,right:0,bottom:0,left:0}}function f2(e){return Object.assign({},d2(),e)}function p2(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var RA=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,f2(typeof e!="number"?e:p2(e,rc))};function AA(e){var t,n=e.state,o=e.name,a=e.options,l=n.elements.arrow,s=n.modifiersData.popperOffsets,r=za(n.placement),u=wg(r),c=[Mo,aa].indexOf(r)>=0,d=c?"height":"width";if(!(!l||!s)){var f=RA(a.padding,n),v=bg(l),h=u==="y"?Io:Mo,g=u==="y"?oa:aa,p=n.rects.reference[d]+n.rects.reference[u]-s[u]-n.rects.popper[d],m=s[u]-n.rects.reference[u],y=ic(l),b=y?u==="y"?y.clientHeight||0:y.clientWidth||0:0,w=p/2-m/2,S=f[h],k=b-v[d]-f[g],x=b/2-v[d]/2+w,N=nu(S,x,k),$=u;n.modifiersData[o]=(t={},t[$]=N,t.centerOffset=N-x,t)}}function DA(e){var t=e.state,n=e.options,o=n.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||c2(t.elements.popper,a)&&(t.elements.arrow=a))}var LA={name:"arrow",enabled:!0,phase:"main",fn:AA,effect:DA,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function oi(e){return e.split("-")[1]}var BA={top:"auto",right:"auto",bottom:"auto",left:"auto"};function VA(e,t){var n=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:ti(n*a)/a||0,y:ti(o*a)/a||0}}function k0(e){var t,n=e.popper,o=e.popperRect,a=e.placement,l=e.variation,s=e.offsets,r=e.position,u=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,v=s.x,h=v===void 0?0:v,g=s.y,p=g===void 0?0:g,m=typeof d=="function"?d({x:h,y:p}):{x:h,y:p};h=m.x,p=m.y;var y=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),w=Mo,S=Io,k=window;if(c){var x=ic(n),N="clientHeight",$="clientWidth";if(x===Yo(n)&&(x=vs(n),xl(x).position!=="static"&&r==="absolute"&&(N="scrollHeight",$="scrollWidth")),x=x,a===Io||(a===Mo||a===aa)&&l===Cu){S=oa;var T=f&&x===k&&k.visualViewport?k.visualViewport.height:x[N];p-=T-o.height,p*=u?1:-1}if(a===Mo||(a===Io||a===oa)&&l===Cu){w=aa;var I=f&&x===k&&k.visualViewport?k.visualViewport.width:x[$];h-=I-o.width,h*=u?1:-1}}var P=Object.assign({position:r},c&&BA),_=d===!0?VA({x:h,y:p},Yo(n)):{x:h,y:p};if(h=_.x,p=_.y,u){var H;return Object.assign({},P,(H={},H[S]=b?"0":"",H[w]=y?"0":"",H.transform=(k.devicePixelRatio||1)<=1?"translate("+h+"px, "+p+"px)":"translate3d("+h+"px, "+p+"px, 0)",H))}return Object.assign({},P,(t={},t[S]=b?p+"px":"",t[w]=y?h+"px":"",t.transform="",t))}function FA(e){var t=e.state,n=e.options,o=n.gpuAcceleration,a=o===void 0?!0:o,l=n.adaptive,s=l===void 0?!0:l,r=n.roundOffsets,u=r===void 0?!0:r,c={placement:za(t.placement),variation:oi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,k0(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,k0(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var v2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:FA,data:{}},Oc={passive:!0};function zA(e){var t=e.state,n=e.instance,o=e.options,a=o.scroll,l=a===void 0?!0:a,s=o.resize,r=s===void 0?!0:s,u=Yo(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return l&&c.forEach(function(d){d.addEventListener("scroll",n.update,Oc)}),r&&u.addEventListener("resize",n.update,Oc),function(){l&&c.forEach(function(d){d.removeEventListener("scroll",n.update,Oc)}),r&&u.removeEventListener("resize",n.update,Oc)}}var h2={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:zA,data:{}},HA={left:"right",right:"left",bottom:"top",top:"bottom"};function ud(e){return e.replace(/left|right|bottom|top/g,function(t){return HA[t]})}var KA={start:"end",end:"start"};function x0(e){return e.replace(/start|end/g,function(t){return KA[t]})}function Sg(e){var t=Yo(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function Cg(e){return ni(vs(e)).left+Sg(e).scrollLeft}function WA(e,t){var n=Yo(e),o=vs(e),a=n.visualViewport,l=o.clientWidth,s=o.clientHeight,r=0,u=0;if(a){l=a.width,s=a.height;var c=u2();(c||!c&&t==="fixed")&&(r=a.offsetLeft,u=a.offsetTop)}return{width:l,height:s,x:r+Cg(e),y:u}}function jA(e){var t,n=vs(e),o=Sg(e),a=(t=e.ownerDocument)==null?void 0:t.body,l=zs(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=zs(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),r=-o.scrollLeft+Cg(e),u=-o.scrollTop;return xl(a||n).direction==="rtl"&&(r+=zs(n.clientWidth,a?a.clientWidth:0)-l),{width:l,height:s,x:r,y:u}}function kg(e){var t=xl(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)}function m2(e){return["html","body","#document"].indexOf(Ua(e))>=0?e.ownerDocument.body:ea(e)&&kg(e)?e:m2(fp(e))}function ou(e,t){var n;t===void 0&&(t=[]);var o=m2(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),l=Yo(o),s=a?[l].concat(l.visualViewport||[],kg(o)?o:[]):o,r=t.concat(s);return a?r:r.concat(ou(fp(s)))}function vh(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function YA(e,t){var n=ni(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function E0(e,t,n){return t===r2?vh(WA(e,n)):Qs(t)?YA(t,n):vh(jA(vs(e)))}function UA(e){var t=ou(fp(e)),n=["absolute","fixed"].indexOf(xl(e).position)>=0,o=n&&ea(e)?ic(e):e;return Qs(o)?t.filter(function(a){return Qs(a)&&c2(a,o)&&Ua(a)!=="body"}):[]}function qA(e,t,n,o){var a=t==="clippingParents"?UA(e):[].concat(t),l=[].concat(a,[n]),s=l[0],r=l.reduce(function(u,c){var d=E0(e,c,o);return u.top=zs(d.top,u.top),u.right=Qd(d.right,u.right),u.bottom=Qd(d.bottom,u.bottom),u.left=zs(d.left,u.left),u},E0(e,s,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function g2(e){var t=e.reference,n=e.element,o=e.placement,a=o?za(o):null,l=o?oi(o):null,s=t.x+t.width/2-n.width/2,r=t.y+t.height/2-n.height/2,u;switch(a){case Io:u={x:s,y:t.y-n.height};break;case oa:u={x:s,y:t.y+t.height};break;case aa:u={x:t.x+t.width,y:r};break;case Mo:u={x:t.x-n.width,y:r};break;default:u={x:t.x,y:t.y}}var c=a?wg(a):null;if(c!=null){var d=c==="y"?"height":"width";switch(l){case ei:u[c]=u[c]-(t[d]/2-n[d]/2);break;case Cu:u[c]=u[c]+(t[d]/2-n[d]/2);break}}return u}function ku(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=o===void 0?e.placement:o,l=n.strategy,s=l===void 0?e.strategy:l,r=n.boundary,u=r===void 0?gA:r,c=n.rootBoundary,d=c===void 0?r2:c,f=n.elementContext,v=f===void 0?Ii:f,h=n.altBoundary,g=h===void 0?!1:h,p=n.padding,m=p===void 0?0:p,y=f2(typeof m!="number"?m:p2(m,rc)),b=v===Ii?yA:Ii,w=e.rects.popper,S=e.elements[g?b:v],k=qA(Qs(S)?S:S.contextElement||vs(e.elements.popper),u,d,s),x=ni(e.elements.reference),N=g2({reference:x,element:w,placement:a}),$=vh(Object.assign({},w,N)),T=v===Ii?$:x,I={top:k.top-T.top+y.top,bottom:T.bottom-k.bottom+y.bottom,left:k.left-T.left+y.left,right:T.right-k.right+y.right},P=e.modifiersData.offset;if(v===Ii&&P){var _=P[a];Object.keys(I).forEach(function(H){var L=[aa,oa].indexOf(H)>=0?1:-1,z=[Io,oa].indexOf(H)>=0?"y":"x";I[H]+=_[z]*L})}return I}function GA(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=n.boundary,l=n.rootBoundary,s=n.padding,r=n.flipVariations,u=n.allowedAutoPlacements,c=u===void 0?Ja:u,d=oi(o),f=d?r?S0:S0.filter(function(g){return oi(g)===d}):rc,v=f.filter(function(g){return c.indexOf(g)>=0});v.length===0&&(v=f);var h=v.reduce(function(g,p){return g[p]=ku(e,{placement:p,boundary:a,rootBoundary:l,padding:s})[za(p)],g},{});return Object.keys(h).sort(function(g,p){return h[g]-h[p]})}function XA(e){if(za(e)===gg)return[];var t=ud(e);return[x0(e),t,x0(t)]}function ZA(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=n.mainAxis,l=a===void 0?!0:a,s=n.altAxis,r=s===void 0?!0:s,u=n.fallbackPlacements,c=n.padding,d=n.boundary,f=n.rootBoundary,v=n.altBoundary,h=n.flipVariations,g=h===void 0?!0:h,p=n.allowedAutoPlacements,m=t.options.placement,y=za(m),b=y===m,w=u||(b||!g?[ud(m)]:XA(m)),S=[m].concat(w).reduce(function(X,Z){return X.concat(za(Z)===gg?GA(t,{placement:Z,boundary:d,rootBoundary:f,padding:c,flipVariations:g,allowedAutoPlacements:p}):Z)},[]),k=t.rects.reference,x=t.rects.popper,N=new Map,$=!0,T=S[0],I=0;I=0,z=L?"width":"height",O=ku(t,{placement:P,boundary:d,rootBoundary:f,altBoundary:v,padding:c}),R=L?H?aa:Mo:H?oa:Io;k[z]>x[z]&&(R=ud(R));var D=ud(R),K=[];if(l&&K.push(O[_]<=0),r&&K.push(O[R]<=0,O[D]<=0),K.every(function(X){return X})){T=P,$=!1;break}N.set(P,K)}if($)for(var V=g?3:1,Y=function(X){var Z=S.find(function(J){var ae=N.get(J);if(ae)return ae.slice(0,X).every(function(ve){return ve})});if(Z)return T=Z,"break"},G=V;G>0;G--){var q=Y(G);if(q==="break")break}t.placement!==T&&(t.modifiersData[o]._skip=!0,t.placement=T,t.reset=!0)}}var JA={name:"flip",enabled:!0,phase:"main",fn:ZA,requiresIfExists:["offset"],data:{_skip:!1}};function $0(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function T0(e){return[Io,aa,oa,Mo].some(function(t){return e[t]>=0})}function QA(e){var t=e.state,n=e.name,o=t.rects.reference,a=t.rects.popper,l=t.modifiersData.preventOverflow,s=ku(t,{elementContext:"reference"}),r=ku(t,{altBoundary:!0}),u=$0(s,o),c=$0(r,a,l),d=T0(u),f=T0(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}var eD={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:QA};function tD(e,t,n){var o=za(e),a=[Mo,Io].indexOf(o)>=0?-1:1,l=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=l[0],r=l[1];return s=s||0,r=(r||0)*a,[Mo,aa].indexOf(o)>=0?{x:r,y:s}:{x:s,y:r}}function nD(e){var t=e.state,n=e.options,o=e.name,a=n.offset,l=a===void 0?[0,0]:a,s=Ja.reduce(function(d,f){return d[f]=tD(f,t.rects,l),d},{}),r=s[t.placement],u=r.x,c=r.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=s}var oD={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:nD};function aD(e){var t=e.state,n=e.name;t.modifiersData[n]=g2({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var y2={name:"popperOffsets",enabled:!0,phase:"read",fn:aD,data:{}};function lD(e){return e==="x"?"y":"x"}function sD(e){var t=e.state,n=e.options,o=e.name,a=n.mainAxis,l=a===void 0?!0:a,s=n.altAxis,r=s===void 0?!1:s,u=n.boundary,c=n.rootBoundary,d=n.altBoundary,f=n.padding,v=n.tether,h=v===void 0?!0:v,g=n.tetherOffset,p=g===void 0?0:g,m=ku(t,{boundary:u,rootBoundary:c,padding:f,altBoundary:d}),y=za(t.placement),b=oi(t.placement),w=!b,S=wg(y),k=lD(S),x=t.modifiersData.popperOffsets,N=t.rects.reference,$=t.rects.popper,T=typeof p=="function"?p(Object.assign({},t.rects,{placement:t.placement})):p,I=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),P=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,_={x:0,y:0};if(x){if(l){var H,L=S==="y"?Io:Mo,z=S==="y"?oa:aa,O=S==="y"?"height":"width",R=x[S],D=R+m[L],K=R-m[z],V=h?-$[O]/2:0,Y=b===ei?N[O]:$[O],G=b===ei?-$[O]:-N[O],q=t.elements.arrow,X=h&&q?bg(q):{width:0,height:0},Z=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d2(),J=Z[L],ae=Z[z],ve=nu(0,N[O],X[O]),me=w?N[O]/2-V-ve-J-I.mainAxis:Y-ve-J-I.mainAxis,oe=w?-N[O]/2+V+ve+ae+I.mainAxis:G+ve+ae+I.mainAxis,re=t.elements.arrow&&ic(t.elements.arrow),W=re?S==="y"?re.clientTop||0:re.clientLeft||0:0,te=(H=P?.[S])!=null?H:0,j=R+me-te-W,U=R+oe-te,Q=nu(h?Qd(D,j):D,R,h?zs(K,U):K);x[S]=Q,_[S]=Q-R}if(r){var le,ce=S==="x"?Io:Mo,Ce=S==="x"?oa:aa,we=x[k],he=k==="y"?"height":"width",be=we+m[ce],ge=we-m[Ce],$e=[Io,Mo].indexOf(y)!==-1,Me=(le=P?.[k])!=null?le:0,Qe=$e?be:we-N[he]-$[he]-Me+I.altAxis,tt=$e?we+N[he]+$[he]-Me-I.altAxis:ge,qe=h&&$e?PA(Qe,we,tt):nu(h?Qe:be,we,h?tt:ge);x[k]=qe,_[k]=qe-we}t.modifiersData[o]=_}}var rD={name:"preventOverflow",enabled:!0,phase:"main",fn:sD,requiresIfExists:["offset"]};function iD(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function uD(e){return e===Yo(e)||!ea(e)?Sg(e):iD(e)}function cD(e){var t=e.getBoundingClientRect(),n=ti(t.width)/e.offsetWidth||1,o=ti(t.height)/e.offsetHeight||1;return n!==1||o!==1}function dD(e,t,n){n===void 0&&(n=!1);var o=ea(t),a=ea(t)&&cD(t),l=vs(t),s=ni(e,a,n),r={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!n)&&((Ua(t)!=="body"||kg(l))&&(r=uD(t)),ea(t)?(u=ni(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):l&&(u.x=Cg(l))),{x:s.left+r.scrollLeft-u.x,y:s.top+r.scrollTop-u.y,width:s.width,height:s.height}}function fD(e){var t=new Map,n=new Set,o=[];e.forEach(function(l){t.set(l.name,l)});function a(l){n.add(l.name);var s=[].concat(l.requires||[],l.requiresIfExists||[]);s.forEach(function(r){if(!n.has(r)){var u=t.get(r);u&&a(u)}}),o.push(l)}return e.forEach(function(l){n.has(l.name)||a(l)}),o}function pD(e){var t=fD(e);return NA.reduce(function(n,o){return n.concat(t.filter(function(a){return a.phase===o}))},[])}function vD(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function hD(e){var t=e.reduce(function(n,o){var a=n[o.name];return n[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var N0={placement:"bottom",modifiers:[],strategy:"absolute"};function _0(){for(var e=arguments.length,t=new Array(e),n=0;n{const o={name:"updateState",enabled:!0,phase:"write",fn:({state:u})=>{const c=wD(u);Object.assign(s.value,c)},requires:["computeStyles"]},a=C(()=>{const{onFirstUpdate:u,placement:c,strategy:d,modifiers:f}=i(n);return{onFirstUpdate:u,placement:c||"bottom",strategy:d||"absolute",modifiers:[...f||[],o,{name:"applyStyles",enabled:!1}]}}),l=Ct(),s=B({styles:{popper:{position:i(a).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),r=()=>{l.value&&(l.value.destroy(),l.value=void 0)};return pe(a,u=>{const c=i(l);c&&c.setOptions(u)},{deep:!0}),pe([e,t],([u,c])=>{r(),!(!u||!c)&&(l.value=yD(u,c,i(a)))}),Ht(()=>{r()}),{state:C(()=>({...i(l)?.state||{}})),styles:C(()=>i(s).styles),attributes:C(()=>i(s).attributes),update:()=>i(l)?.update(),forceUpdate:()=>i(l)?.forceUpdate(),instanceRef:C(()=>i(l))}};function wD(e){const t=Object.keys(e.elements);return{styles:Zr(t.map(n=>[n,e.styles[n]||{}])),attributes:Zr(t.map(n=>[n,e.attributes[n]]))}}const Eg=e=>{if(!e)return{onClick:ht,onMousedown:ht,onMouseup:ht};let t=!1,n=!1;return{onClick:s=>{t&&n&&e(s),t=n=!1},onMousedown:s=>{t=s.target===s.currentTarget},onMouseup:s=>{n=s.target===s.currentTarget}}},SD=(e,t=0)=>{if(t===0)return e;const n=B(lt(t)&&!!t.initVal);let o=null;const a=s=>{if(_t(s)){n.value=e.value;return}o&&clearTimeout(o),o=setTimeout(()=>{n.value=e.value},s)},l=s=>{s==="leading"?We(t)?a(t):a(t.leading):lt(t)?a(t.trailing):n.value=!1};return st(()=>l("leading")),pe(()=>e.value,s=>{l(s?"leading":"trailing")}),n};function I0(){let e;const t=(o,a)=>{n(),e=globalThis.setTimeout(o,a)},n=()=>{e!==void 0&&(globalThis.clearTimeout(e),e=void 0)};return ss(()=>n()),{registerTimeout:t,cancelTimeout:n}}const hh={prefix:Math.floor(Math.random()*1e4),current:0},CD=Symbol("elIdInjection"),$g=()=>ct()?Be(CD,hh):hh,Jn=e=>{const t=$g();!Lt&&t===hh&&Yt("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed -usage: app.provide(ID_INJECTION_KEY, { - prefix: number, - current: number, -})`);const n=vg();return jk(()=>i(e)||`${n.value}-id-${t.prefix}-${t.current++}`)};let Nr=[];const M0=e=>{Xt(e)===Ee.esc&&Nr.forEach(t=>t(e))},kD=e=>{st(()=>{Nr.length===0&&document.addEventListener("keydown",M0),Lt&&Nr.push(e)}),Ht(()=>{Nr=Nr.filter(t=>t!==e),Nr.length===0&&Lt&&document.removeEventListener("keydown",M0)})},b2=()=>{const e=vg(),t=$g(),n=C(()=>`${e.value}-popper-container-${t.prefix}`);return{id:n,selector:C(()=>`#${n.value}`)}},xD=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},ED=()=>{const{id:e,selector:t}=b2();return Zu(()=>{Lt&&(document.body.querySelector(t.value)||xD(e.value))}),{id:e,selector:t}},$D=Te({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),TD={showAfter:0,hideAfter:200,autoClose:0},ND=({showAfter:e,hideAfter:t,autoClose:n,open:o,close:a})=>{const{registerTimeout:l}=I0(),{registerTimeout:s,cancelTimeout:r}=I0();return{onOpen:(d,f=i(e))=>{l(()=>{o(d);const v=i(n);We(v)&&v>0&&s(()=>{a(d)},v)},f)},onClose:(d,f=i(t))=>{r(),l(()=>{a(d)},f)}}},w2=Symbol("elForwardRef"),_D=e=>{kt(w2,{setForwardRef:(n=>{e.value=n})})},ID=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),O0={current:0},P0=B(0),S2=2e3,R0=Symbol("elZIndexContextKey"),C2=Symbol("zIndexContextKey"),uc=e=>{const t=ct()?Be(R0,O0):O0,n=e||(ct()?Be(C2,void 0):void 0),o=C(()=>{const s=i(n);return We(s)?s:S2}),a=C(()=>o.value+P0.value),l=()=>(t.current++,P0.value=t.current,a.value);return!Lt&&!Be(R0)&&Yt("ZIndexInjection",`Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed -usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:o,currentZIndex:a,nextZIndex:l}},ai=Math.min,Hs=Math.max,ef=Math.round,Pc=Math.floor,bl=e=>({x:e,y:e}),MD={left:"right",right:"left",bottom:"top",top:"bottom"};function k2(e,t,n){return Hs(e,ai(t,n))}function cc(e,t){return typeof e=="function"?e(t):e}function li(e){return e.split("-")[0]}function dc(e){return e.split("-")[1]}function x2(e){return e==="x"?"y":"x"}function Tg(e){return e==="y"?"height":"width"}function Xl(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function Ng(e){return x2(Xl(e))}function OD(e,t,n){n===void 0&&(n=!1);const o=dc(e),a=Ng(e),l=Tg(a);let s=a==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[l]>t.floating[l]&&(s=tf(s)),[s,tf(s)]}function PD(e){const t=tf(e);return[mh(e),t,mh(t)]}function mh(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const A0=["left","right"],D0=["right","left"],RD=["top","bottom"],AD=["bottom","top"];function DD(e,t,n){switch(e){case"top":case"bottom":return n?t?D0:A0:t?A0:D0;case"left":case"right":return t?RD:AD;default:return[]}}function LD(e,t,n,o){const a=dc(e);let l=DD(li(e),n==="start",o);return a&&(l=l.map(s=>s+"-"+a),t&&(l=l.concat(l.map(mh)))),l}function tf(e){const t=li(e);return MD[t]+e.slice(t.length)}function BD(e){var t,n,o,a;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(o=e.bottom)!=null?o:0,left:(a=e.left)!=null?a:0}}function E2(e){return typeof e!="number"?BD(e):{top:e,right:e,bottom:e,left:e}}function nf(e){const{x:t,y:n,width:o,height:a}=e;return{width:o,height:a,top:n,left:t,right:t+o,bottom:n+a,x:t,y:n}}function L0(e,t,n){let{reference:o,floating:a}=e;const l=Xl(t),s=Ng(t),r=Tg(s),u=li(t),c=l==="y",d=o.x+o.width/2-a.width/2,f=o.y+o.height/2-a.height/2,v=o[r]/2-a[r]/2;let h;switch(u){case"top":h={x:d,y:o.y-a.height};break;case"bottom":h={x:d,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:f};break;case"left":h={x:o.x-a.width,y:f};break;default:h={x:o.x,y:o.y}}const g=dc(t);return g&&(h[s]+=v*(g==="end"?1:-1)*(n&&c?-1:1)),h}async function $2(e,t){var n;t===void 0&&(t={});const{x:o,y:a,platform:l,rects:s,elements:r,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:v=!1,padding:h=0}=cc(t,e),g=E2(h),m=r[v?f==="floating"?"reference":"floating":f],y=nf(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(m)))==null||n?m:m.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:u})),b=f==="floating"?{x:o,y:a,width:s.floating.width,height:s.floating.height}:s.reference,w=await(l.getOffsetParent==null?void 0:l.getOffsetParent(r.floating)),S=await(l.isElement==null?void 0:l.isElement(w))&&await(l.getScale==null?void 0:l.getScale(w))||{x:1,y:1},k=nf(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:b,offsetParent:w,strategy:u}):b);return{top:(y.top-k.top+g.top)/S.y,bottom:(k.bottom-y.bottom+g.bottom)/S.y,left:(y.left-k.left+g.left)/S.x,right:(k.right-y.right+g.right)/S.x}}const VD=50,FD=async(e,t,n)=>{const{placement:o="bottom",strategy:a="absolute",middleware:l=[],platform:s}=n,r=s.detectOverflow?s:{...s,detectOverflow:$2},u=await(s.isRTL==null?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:f}=L0(c,o,u),v=o,h=0;const g={};for(let p=0;p({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:a,rects:l,platform:s,elements:r,middlewareData:u}=t,{element:c,padding:d=0}=cc(e,t)||{};if(c==null)return{};const f=E2(d),v={x:n,y:o},h=Ng(a),g=Tg(h),p=await s.getDimensions(c),m=h==="y",y=m?"top":"left",b=m?"bottom":"right",w=m?"clientHeight":"clientWidth",S=l.reference[g]+l.reference[h]-v[h]-l.floating[g],k=v[h]-l.reference[h],x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c));let N=x?x[w]:0;(!N||!await(s.isElement==null?void 0:s.isElement(x)))&&(N=r.floating[w]||l.floating[g]);const $=S/2-k/2,T=N/2-p[g]/2-1,I=ai(f[y],T),P=ai(f[b],T),_=N-p[g]-P,H=N/2-p[g]/2+$,L=k2(I,H,_),z=!u.arrow&&dc(a)!=null&&H!==L&&l.reference[g]/2-(HL<=0)){var P,_;const L=(((P=l.flip)==null?void 0:P.index)||0)+1,z=N[L];if(z&&(!(f==="alignment"?b!==Xl(z):!1)||I.every(D=>Xl(D.placement)===b?D.overflows[0]>0:!0)))return{data:{index:L,overflows:I},reset:{placement:z}};let O=(_=I.filter(R=>R.overflows[0]<=0).sort((R,D)=>R.overflows[1]-D.overflows[1])[0])==null?void 0:_.placement;if(!O)switch(h){case"bestFit":{var H;const R=(H=I.filter(D=>{if(x){const K=Xl(D.placement);return K===b||K==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(K=>K>0).reduce((K,V)=>K+V,0)]).sort((D,K)=>D[1]-K[1])[0])==null?void 0:H[0];R&&(O=R);break}case"initialPlacement":O=r;break}if(a!==O)return{reset:{placement:O}}}return{}}}},KD=new Set(["left","top"]);async function WD(e,t){const{placement:n,platform:o,elements:a}=e,l=await(o.isRTL==null?void 0:o.isRTL(a.floating)),s=li(n),r=dc(n),u=Xl(n)==="y",c=KD.has(s)?-1:1,d=l&&u?-1:1,f=cc(t,e);let{mainAxis:v,crossAxis:h,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return r&&typeof g=="number"&&(h=r==="end"?g*-1:g),u?{x:h*d,y:v*c}:{x:v*c,y:h*d}}const jD=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:a,y:l,placement:s,middlewareData:r}=t,u=await WD(t,e);return s===((n=r.offset)==null?void 0:n.placement)&&(o=r.arrow)!=null&&o.alignmentOffset?{}:{x:a+u.x,y:l+u.y,data:{...u,placement:s}}}}},YD=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:a,platform:l}=t,{mainAxis:s=!0,crossAxis:r=!1,limiter:u={fn:b=>{let{x:w,y:S}=b;return{x:w,y:S}}},...c}=cc(e,t),d={x:n,y:o},f=await l.detectOverflow(t,c),v=Xl(a),h=x2(v);let g=d[h],p=d[v];const m=(b,w)=>k2(w+f[b==="y"?"top":"left"],w,w-f[b==="y"?"bottom":"right"]);s&&(g=m(h,g)),r&&(p=m(v,p));const y=u.fn({...t,[h]:g,[v]:p});return{...y,data:{x:y.x-n,y:y.y-o,enabled:{[h]:s,[v]:r}}}}}};function pp(){return typeof window<"u"}function Si(e){return T2(e)?(e.nodeName||"").toLowerCase():"#document"}function Oo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ol(e){var t;return(t=(T2(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function T2(e){return pp()?e instanceof Node||e instanceof Oo(e).Node:!1}function qa(e){return pp()?e instanceof Element||e instanceof Oo(e).Element:!1}function hs(e){return pp()?e instanceof HTMLElement||e instanceof Oo(e).HTMLElement:!1}function B0(e){return!pp()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Oo(e).ShadowRoot}function vp(e){const{overflow:t,overflowX:n,overflowY:o,display:a}=Ga(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&a!=="inline"&&a!=="contents"}function UD(e){return/^(table|td|th)$/.test(Si(e))}function hp(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const qD=/transform|translate|scale|rotate|perspective|filter/,GD=/paint|layout|strict|content/,Ss=e=>!!e&&e!=="none";let uv;function _g(e){const t=qa(e)?Ga(e):e;return Ss(t.transform)||Ss(t.translate)||Ss(t.scale)||Ss(t.rotate)||Ss(t.perspective)||!Ig()&&(Ss(t.backdropFilter)||Ss(t.filter))||qD.test(t.willChange||"")||GD.test(t.contain||"")}function XD(e){let t=er(e);for(;hs(t)&&!xu(t);){if(_g(t))return t;if(hp(t))return null;t=er(t)}return null}function Ig(){return uv==null&&(uv=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),uv}function xu(e){return/^(html|body|#document)$/.test(Si(e))}function Ga(e){return Oo(e).getComputedStyle(e)}function mp(e){return qa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function er(e){if(Si(e)==="html")return e;const t=e.assignedSlot||e.parentNode||B0(e)&&e.host||Ol(e);return B0(t)?t.host:t}function N2(e){const t=er(e);return xu(t)?(e.ownerDocument||e).body:hs(t)&&vp(t)?t:N2(t)}function Eu(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=N2(e),l=a===((o=e.ownerDocument)==null?void 0:o.body),s=Oo(a);if(l){const r=gh(s);return t.concat(s,s.visualViewport||[],vp(a)?a:[],r&&n?Eu(r):[])}else return t.concat(a,Eu(a,[],n))}function gh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function _2(e){const t=Ga(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const a=hs(e),l=a?e.offsetWidth:n,s=a?e.offsetHeight:o,r=ef(n)!==l||ef(o)!==s;return r&&(n=l,o=s),{width:n,height:o,$:r}}function Mg(e){return qa(e)?e:e.contextElement}function Fr(e){const t=Mg(e);if(!hs(t))return bl(1);const n=t.getBoundingClientRect(),{width:o,height:a,$:l}=_2(t);let s=(l?ef(n.width):n.width)/o,r=(l?ef(n.height):n.height)/a;return(!s||!Number.isFinite(s))&&(s=1),(!r||!Number.isFinite(r))&&(r=1),{x:s,y:r}}const ZD=bl(0);function I2(e){const t=Oo(e);return!Ig()||!t.visualViewport?ZD:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function JD(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Oo(e)}function tr(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),l=Mg(e);let s=bl(1);t&&(o?qa(o)&&(s=Fr(o)):s=Fr(e));const r=JD(l,n,o)?I2(l):bl(0);let u=(a.left+r.x)/s.x,c=(a.top+r.y)/s.y,d=a.width/s.x,f=a.height/s.y;if(l&&o){const v=Oo(l),h=qa(o)?Oo(o):o;let g=v,p=gh(g);for(;p&&h!==g;){const m=Fr(p),y=p.getBoundingClientRect(),b=Ga(p),w=y.left+(p.clientLeft+parseFloat(b.paddingLeft))*m.x,S=y.top+(p.clientTop+parseFloat(b.paddingTop))*m.y;u*=m.x,c*=m.y,d*=m.x,f*=m.y,u+=w,c+=S,g=Oo(p),p=gh(g)}}return nf({width:d,height:f,x:u,y:c})}function gp(e,t){const n=mp(e).scrollLeft;return t?t.left+n:tr(Ol(e)).left+n}function M2(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-gp(e,n),a=n.top+t.scrollTop;return{x:o,y:a}}function QD(e){let{elements:t,rect:n,offsetParent:o,strategy:a}=e;const l=a==="fixed",s=Ol(o),r=t?hp(t.floating):!1;if(o===s||r&&l)return n;let u={scrollLeft:0,scrollTop:0},c=bl(1);const d=bl(0),f=hs(o);if((f||!l)&&((Si(o)!=="body"||vp(s))&&(u=mp(o)),f)){const h=tr(o);c=Fr(o),d.x=h.x+o.clientLeft,d.y=h.y+o.clientTop}const v=s&&!f&&!l?M2(s,u):bl(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+v.x,y:n.y*c.y-u.scrollTop*c.y+d.y+v.y}}function eL(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function tL(e){const t=mp(e),n=e.ownerDocument.body,o=Hs(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),a=Hs(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let l=-t.scrollLeft+gp(e);const s=-t.scrollTop;return Ga(n).direction==="rtl"&&(l+=Hs(e.clientWidth,n.clientWidth)-o),{width:o,height:a,x:l,y:s}}const nL=25;function oL(e,t,n){n===void 0&&(n="viewport");const o=n==="layoutViewport",a=Oo(e),l=Ol(e),s=a.visualViewport;let r=l.clientWidth,u=l.clientHeight,c=0,d=0;if(s){const v=!Ig()||t==="fixed";o?v||(c=-s.offsetLeft,d=-s.offsetTop):(r=s.width,u=s.height,v&&(c=s.offsetLeft,d=s.offsetTop))}if(gp(l)<=0){const v=l.ownerDocument,h=v.body,g=getComputedStyle(h),p=v.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,m=Math.abs(l.clientWidth-h.clientWidth-p),y=getComputedStyle(l).scrollbarGutter==="stable both-edges"?m/2:m;y<=nL&&(r-=y)}return{width:r,height:u,x:c,y:d}}function aL(e,t){const n=tr(e,!0,t==="fixed"),o=n.top+e.clientTop,a=n.left+e.clientLeft,l=Fr(e),s=e.clientWidth*l.x,r=e.clientHeight*l.y,u=a*l.x,c=o*l.y;return{width:s,height:r,x:u,y:c}}function V0(e,t,n){let o;if(t==="viewport"||t==="layoutViewport")o=oL(e,n,t);else if(t==="document")o=tL(Ol(e));else if(qa(t))o=aL(t,n);else{const a=I2(e);o={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return nf(o)}function lL(e,t){const n=t.get(e);if(n)return n;let o=Eu(e,[],!1).filter(r=>qa(r)&&Si(r)!=="body"),a=null;const l=Ga(e).position==="fixed";let s=l?er(e):e;for(;qa(s)&&!xu(s);){const r=Ga(s),u=_g(s),c=a?a.position:l?"fixed":"";!u&&(c==="fixed"||c==="absolute"&&r.position==="static")?o=o.filter(f=>f!==s):a=r,s=er(s)}return t.set(e,o),o}function sL(e){let{element:t,boundary:n,rootBoundary:o,strategy:a}=e;const s=[...n==="clippingAncestors"?hp(t)?[]:lL(t,this._c):[].concat(n),o],r=V0(t,s[0],a);let u=r.top,c=r.right,d=r.bottom,f=r.left;for(let v=1;v{r(!1,1e-7)},1e3)}N=!1}try{o=new IntersectionObserver($,{...x,root:l.ownerDocument})}catch{o=new IntersectionObserver($,x)}o.observe(e)}const u=Oo(e),c=()=>r(n);return u.addEventListener("resize",c),r(!0),()=>{u.removeEventListener("resize",c),s()}}function pL(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:a=!0,ancestorResize:l=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:u=!1}=o,c=Mg(e),d=a||l?[...c?Eu(c):[],...t?Eu(t):[]]:[];d.forEach(y=>{a&&y.addEventListener("scroll",n),l&&y.addEventListener("resize",n)});const f=c&&r?fL(c,n,l):null;let v=-1,h=null;s&&(h=new ResizeObserver(y=>{let[b]=y;b&&b.target===c&&h&&t&&(h.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var w;(w=h)==null||w.observe(t)})),n()}),c&&!u&&h.observe(c),t&&h.observe(t));let g,p=u?tr(e):null;u&&m();function m(){const y=tr(e);p&&!P2(p,y)&&n(),p=y,g=requestAnimationFrame(m)}return n(),()=>{var y;d.forEach(b=>{a&&b.removeEventListener("scroll",n),l&&b.removeEventListener("resize",n)}),f?.(),(y=h)==null||y.disconnect(),h=null,u&&cancelAnimationFrame(g)}}const vL=$2,hL=jD,mL=YD,gL=HD,yL=zD,bL=(e,t,n)=>{const o=new Map,a=n??{},l={...dL,...a.platform,_c:o};return FD(e,t,{...a,platform:l})};function wL(e){let t;function n(){if(e.value==null)return;const{selectionStart:a,selectionEnd:l,value:s}=e.value;a==null||l==null||(t={selectionStart:a,selectionEnd:l,value:s,beforeTxt:s.slice(0,Math.max(0,a)),afterTxt:s.slice(Math.max(0,l))})}function o(){if(e.value==null||t==null)return;const{value:a}=e.value,{beforeTxt:l,afterTxt:s,selectionStart:r}=t;if(l==null||s==null||r==null)return;let u=a.length;if(a.endsWith(s))u=a.length-s.length;else if(a.startsWith(l))u=l.length;else{const c=l[r-1],d=a.indexOf(c,r-1);d!==-1&&(u=d+1)}e.value.setSelectionRange(u,u)}return[n,o]}const SL="utils/vue/vnode";function yh(e){return Qt(e)&&e.type===Oe}function R2(e){return Qt(e)&&e.type===$n}function CL(e){return Qt(e)&&!yh(e)&&!R2(e)}const kL=e=>{if(!Qt(e))return Yt(SL,"[getNormalizedProps] must be a VNode"),{};const t=e.props||{},n=(Qt(e.type)?e.type.props:void 0)||{},o={};return Object.keys(n).forEach(a=>{Ft(n[a],"default")&&(o[a]=n[a].default)}),Object.keys(t).forEach(a=>{o[Xn(a)]=t[a]}),o},Fo=e=>{const t=xe(e)?e:[e],n=[];return t.forEach(o=>{xe(o)?n.push(...Fo(o)):Qt(o)&&o.component?.subTree?n.push(o,...Fo(o.component.subTree)):Qt(o)&&xe(o.children)?n.push(...Fo(o.children)):Qt(o)&&o.shapeFlag===2?n.push(...Fo(o.type())):n.push(o)}),n},xL=(e,t,n)=>Fo(e.subTree).filter(o=>Qt(o)&&o.type?.name===t&&!!o.component).map(o=>o.component.uid).map(o=>n[o]).filter(o=>!!o),yp=(e,t)=>{const n=Ct({}),o=Ct([]),a=new WeakMap,l=c=>{n.value[c.uid]=c,sd(n),st(()=>{const d=c.getVnode().el,f=d.parentNode;if(!a.has(f)){a.set(f,[]);const v=f.insertBefore.bind(f);f.insertBefore=(h,g)=>(a.get(f).some(p=>h===p||g===p)&&sd(n),v(h,g))}a.get(f).push(d)})},s=c=>{delete n.value[c.uid],sd(n);const d=c.getVnode().el,f=d.parentNode,v=a.get(f),h=v.indexOf(d);v.splice(h,1)},r=()=>{o.value=xL(e,t,n.value)},u=c=>c.render();return{children:o,addChild:l,removeChild:s,ChildrenSorter:fe({setup(c,{slots:d}){return()=>(r(),d.default?De(u,{render:d.default}):null)}})}},On=xa({type:String,values:Ca,required:!1}),A2=Symbol("size"),D2=()=>{const e=Be(A2,{});return C(()=>i(e.size)||"")};function Pl(e,{disabled:t,beforeFocus:n,afterFocus:o,beforeBlur:a,afterBlur:l}={}){const{emit:s}=ct(),r=Ct(),u=B(!1),c=v=>{const h=je(n)?n(v):!1;i(t)||u.value||h||(u.value=!0,s("focus",v),o?.())},d=v=>{const h=je(a)?a(v):!1;i(t)||v.relatedTarget&&r.value?.contains(v.relatedTarget)||h||(u.value=!1,s("blur",v),l?.())},f=v=>{i(t)||Js(v.target)||r.value?.contains(document.activeElement)&&r.value!==document.activeElement||e.value?.focus()};return pe([r,()=>i(t)],([v,h])=>{v&&(h?v.removeAttribute("tabindex"):v.setAttribute("tabindex","-1"))}),Wt(r,"focus",c,!0),Wt(r,"blur",d,!0),Wt(r,"click",f,!0),{isFocused:u,wrapperRef:r,handleFocus:c,handleBlur:d}}function fc({afterComposition:e,emit:t}){const n=B(!1),o=r=>{t?.("compositionstart",r),n.value=!0},a=r=>{t?.("compositionupdate",r),n.value=!0},l=r=>{t?.("compositionend",r),n.value&&(n.value=!1,Pe(()=>e(r)))};return{isComposing:n,handleComposition:r=>{r.type==="compositionend"?l(r):a(r)},handleCompositionStart:o,handleCompositionUpdate:a,handleCompositionEnd:l}}const L2=Symbol("emptyValuesContextKey"),EL="use-empty-values",$L=["",void 0,null],vr=Te({emptyValues:Array,valueOnClear:{type:ne([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=je(e)?e():e,xe(e)?e.every(t=>!t):!e)}}),pc=(e,t)=>{const n=ct()?Be(L2,B({})):B({}),o=C(()=>e.emptyValues||n.value.emptyValues||$L),a=C(()=>je(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:je(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:t!==void 0?t:void 0),l=s=>{let r=!0;return xe(s)?r=o.value.some(u=>dn(s,u)):r=o.value.includes(s),r};return l(a.value)||Yt(EL,"value-on-clear should be a value of empty-values"),{emptyValues:o,valueOnClear:a,isEmptyValue:l}},TL=Te({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),co=e=>Ya(TL,e),B2=e=>{const t=e.props,n=xe(t)?Zr(t.map(o=>[o,{}])):t;e.setPropsDefaults=o=>{if(n){for(const[a,l]of Object.entries(o)){const s=n[a];if(Ft(n,a)){if(lg(s)){n[a]={...s,default:l};continue}n[a]={type:s,default:l}}}e.props=n}}},ut=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t??{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return B2(e),e},V2=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),NL=(e,t)=>(e.install=n=>{n.directive(t,e)},e),un=e=>(e.install=ht,B2(e),e),z0="ElAffix";var _L=fe({name:z0,__name:"affix",props:TR,emits:NR,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("affix"),s=Ct(),r=Ct(),u=Ct(),{height:c}=dg(),{height:d,width:f,top:v,bottom:h,left:g,update:p}=h0(r,{windowScroll:!1}),m=h0(s),y=B(!1),b=B(0),w=B(0),S=C(()=>!o.teleported||!y.value),k=C(()=>({display:"flow-root",height:y.value?`${d.value}px`:"",width:y.value?`${f.value}px`:""})),x=C(()=>{if(!y.value)return{};const I=pn(o.offset);return{height:`${d.value}px`,width:`${f.value}px`,top:o.position==="top"?I:"",bottom:o.position==="bottom"?I:"",left:o.teleported?`${g.value}px`:"",transform:w.value?`translateY(${w.value}px)`:"",zIndex:o.zIndex}}),N=()=>{if(!u.value)return;b.value=u.value instanceof Window?document.documentElement.scrollTop:u.value.scrollTop||0;const{position:I,target:P,offset:_}=o,H=_+d.value;if(I==="top")if(P){const L=m.bottom.value-H;y.value=_>v.value&&m.bottom.value>0,w.value=L<0?L:0}else y.value=_>v.value;else if(P){const L=c.value-m.top.value-H;y.value=c.value-_m.top.value,w.value=L<0?-L:0}else y.value=c.value-_{if(!y.value){p();return}y.value=!1,await Pe(),p(),y.value=!0},T=async()=>{p(),await Pe(),a("scroll",{scrollTop:b.value,fixed:y.value})};return pe(y,I=>a(xt,I)),st(()=>{o.target?(s.value=document.querySelector(o.target)??void 0,s.value||rn(z0,`Target does not exist: ${o.target}`)):s.value=document.documentElement,u.value=hg(r.value,!0),p()}),Xu(()=>{Pe($)}),Bm(()=>{y.value=!1}),Wt(u,"scroll",T),uo(N),t({update:N,updateRoot:$}),(I,P)=>(E(),F("div",{ref_key:"root",ref:r,class:A(i(l).b()),style:Fe(k.value)},[(E(),de(ir,{disabled:S.value,to:e.appendTo},[M("div",{class:A({[i(l).m("fixed")]:y.value}),style:Fe(x.value)},[ue(I.$slots,"default")],6)],8,["disabled","to"]))],6))}}),IL=_L;const ML=ut(IL);var OL=fe({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}}),Qa=OL,PL=fe({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),El=PL,RL=fe({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),io=RL,AL=fe({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),bp=AL,DL=fe({name:"Back",__name:"back",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),M("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),LL=DL,BL=fe({name:"Calendar",__name:"calendar",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),VL=BL,FL=fe({name:"CaretRight",__name:"caret-right",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),F2=FL,zL=fe({name:"CaretTop",__name:"caret-top",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),HL=zL,KL=fe({name:"Check",__name:"check",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),si=KL,WL=fe({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),jL=WL,YL=fe({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),M("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),Og=YL,UL=fe({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),Pg=UL,qL=fe({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),M("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),el=qL,GL=fe({name:"Clock",__name:"clock",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),M("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),M("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),z2=GL,XL=fe({name:"Close",__name:"close",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),la=XL,ZL=fe({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}}),rs=ZL,JL=fe({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}}),is=JL,QL=fe({name:"Delete",__name:"delete",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),eB=QL,tB=fe({name:"Document",__name:"document",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),nB=tB,oB=fe({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),aB=oB,lB=fe({name:"Hide",__name:"hide",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),M("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),sB=lB,rB=fe({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),$u=rB,iB=fe({name:"Loading",__name:"loading",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),sa=iB,uB=fe({name:"Minus",__name:"minus",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),cB=uB,dB=fe({name:"MoreFilled",__name:"more-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),H0=dB,fB=fe({name:"More",__name:"more",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),pB=fB,vB=fe({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),hB=vB,mB=fe({name:"Plus",__name:"plus",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),H2=mB,gB=fe({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"})]))}}),yB=gB,bB=fe({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),wB=bB,SB=fe({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}}),CB=SB,kB=fe({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),xB=kB,EB=fe({name:"Search",__name:"search",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),$B=EB,TB=fe({name:"SortDown",__name:"sort-down",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),NB=TB,_B=fe({name:"SortUp",__name:"sort-up",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),IB=_B,MB=fe({name:"StarFilled",__name:"star-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M313.6 924.48a70.4 70.4 0 0 1-74.152-5.365 70.4 70.4 0 0 1-27.992-68.875l37.888-220.928L88.96 472.96a70.4 70.4 0 0 1 3.788-104.225A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 100.246-28.595 70.4 70.4 0 0 1 25.962 28.595l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),Rc=MB,OB=fe({name:"Star",__name:"star",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),PB=OB,RB=fe({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),K2=RB,AB=fe({name:"View",__name:"view",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),DB=AB,LB=fe({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),wp=LB,BB=fe({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),W2=BB,VB=fe({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(E(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[M("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),FB=VB;const Gt=ne([String,Object,Function]),j2={Close:la},Rg={Close:la,SuccessFilled:K2,InfoFilled:$u,WarningFilled:wp,CircleCloseFilled:Pg},us={primary:$u,success:K2,warning:wp,error:Pg,info:$u},Sp={validating:sa,success:Og,error:el},zB=["light","dark"],HB=Te({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Su(us),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:zB,default:"light"}}),KB={close:e=>e instanceof MouseEvent},WB=Te({size:{type:ne([Number,String])},color:{type:String}});var jB=fe({name:"ElIcon",inheritAttrs:!1,__name:"icon",props:WB,setup(e){const t=e,n=ke("icon"),o=C(()=>{const{size:a,color:l}=t,s=pn(a);return!s&&!l?{}:{fontSize:s,"--color":l}});return(a,l)=>(E(),F("i",ft({class:i(n).b(),style:o.value},a.$attrs),[ue(a.$slots,"default")],16))}}),YB=jB;const He=ut(YB);var UB=fe({name:"ElAlert",__name:"alert",props:HB,emits:KB,setup(e,{emit:t}){const{Close:n}=Rg,o=e,a=t,l=mn(),s=ke("alert"),r=B(!0),u=C(()=>us[o.type]),c=C(()=>{if(o.description)return!0;const f=l.default?.();return f?Fo(f).some(v=>!R2(v)):!1}),d=f=>{r.value=!1,a("close",f)};return(f,v)=>(E(),de(Zn,{name:i(s).b("fade"),persisted:""},{default:ie(()=>[Ue(M("div",{class:A([i(s).b(),i(s).m(e.type),i(s).is("center",e.center),i(s).is(e.effect)]),role:"alert"},[e.showIcon&&(f.$slots.icon||u.value)?(E(),de(i(He),{key:0,class:A([i(s).e("icon"),i(s).is("big",c.value)])},{default:ie(()=>[ue(f.$slots,"icon",{},()=>[(E(),de(dt(u.value)))])]),_:3},8,["class"])):se("v-if",!0),M("div",{class:A(i(s).e("content"))},[e.title||f.$slots.title?(E(),F("span",{key:0,class:A([i(s).e("title"),{"with-description":c.value}])},[ue(f.$slots,"title",{},()=>[ze(ye(e.title),1)])],2)):se("v-if",!0),c.value?(E(),F("p",{key:1,class:A(i(s).e("description"))},[ue(f.$slots,"default",{},()=>[ze(ye(e.description),1)])],2)):se("v-if",!0),e.closable?(E(),F(Oe,{key:2},[e.closeText?(E(),F("div",{key:0,class:A([i(s).e("close-btn"),i(s).is("customed")]),onClick:d},ye(e.closeText),3)):(E(),de(i(He),{key:1,class:A(i(s).e("close-btn")),onClick:d},{default:ie(()=>[ee(i(n))]),_:1},8,["class"]))],64)):se("v-if",!0)],2)],2),[[Vt,r.value]])]),_:3},8,["name"]))}}),qB=UB;const GB=ut(qB),Y2=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],U2=Te({role:{type:String,values:Y2,default:"tooltip"}}),Ag=Symbol("popper"),q2=Symbol("popperContent");var XB=fe({name:"ElPopperArrow",inheritAttrs:!1,__name:"arrow",setup(e,{expose:t}){const n=ke("popper"),{arrowRef:o,arrowStyle:a}=Be(q2,void 0);return Ht(()=>{o.value=void 0}),t({arrowRef:o}),(l,s)=>(E(),F("span",{ref_key:"arrowRef",ref:o,class:A(i(n).e("arrow")),style:Fe(i(a)),"data-popper-arrow":""},null,6))}}),ZB=XB;const G2=Te({virtualRef:{type:ne(Object)},virtualTriggering:Boolean,onMouseenter:{type:ne(Function)},onMouseleave:{type:ne(Function)},onClick:{type:ne(Function)},onKeydown:{type:ne(Function)},onFocus:{type:ne(Function)},onBlur:{type:ne(Function)},onContextmenu:{type:ne(Function)},id:String,open:Boolean}),dv="ElOnlyChild",X2=fe({name:dv,setup(e,{slots:t,attrs:n}){const o=ID(Be(w2)?.setForwardRef??ht);return()=>{const a=t.default?.(n);if(!a)return null;const[l,s]=Z2(a);return l?(s>1&&Yt(dv,"requires exact only one valid child."),Ue(ya(l,n),[[o]])):(Yt(dv,"no valid child node found"),null)}}});function Z2(e){if(!e)return[null,0];const t=e,n=t.filter(o=>o.type!==$n).length;for(const o of t){if(lt(o))switch(o.type){case $n:continue;case gi:case"svg":return[K0(o),n];case Oe:return Z2(o.children);default:return[o,n]}return[K0(o),n]}return[null,0]}function K0(e){return ee("span",{class:ke("only-child").e("content")},[e])}var JB=fe({name:"ElPopperTrigger",inheritAttrs:!1,__name:"trigger",props:G2,setup(e,{expose:t}){const n=e,{role:o,triggerRef:a}=Be(Ag,void 0);_D(a);const l=C(()=>r.value?n.id:void 0),s=C(()=>{if(o&&o.value==="tooltip")return n.open&&n.id?n.id:void 0}),r=C(()=>{if(o&&o.value!=="tooltip")return o.value}),u=C(()=>r.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return st(()=>{pe(()=>n.virtualRef,f=>{f&&(a.value=Mn(f))},{immediate:!0}),pe(a,(f,v)=>{c?.(),c=void 0,No(v)&&d.forEach(h=>{const g=n[h];g&&v.removeEventListener(h.slice(2).toLowerCase(),g,["onFocus","onBlur"].includes(h))}),No(f)&&(d.forEach(h=>{const g=n[h];g&&f.addEventListener(h.slice(2).toLowerCase(),g,["onFocus","onBlur"].includes(h))}),Js(f)&&(c=pe([l,s,r,u],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((g,p)=>{hn(h[p])?f.removeAttribute(g):f.setAttribute(g,h[p])})},{immediate:!0}))),No(v)&&Js(v)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>v.removeAttribute(h))},{immediate:!0})}),Ht(()=>{if(c?.(),c=void 0,a.value&&No(a.value)){const f=a.value;d.forEach(v=>{const h=n[v];h&&f.removeEventListener(v.slice(2).toLowerCase(),h,["onFocus","onBlur"].includes(v))}),a.value=void 0}}),t({triggerRef:a}),(f,v)=>e.virtualTriggering?se("v-if",!0):(E(),de(i(X2),ft({key:0},f.$attrs,{"aria-controls":l.value,"aria-describedby":s.value,"aria-expanded":u.value,"aria-haspopup":r.value}),{default:ie(()=>[ue(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}}),QB=JB;const J2=Te({arrowOffset:{type:Number,default:5}}),eV={arrowOffset:5},tV=Te({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:ne(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Ja,default:"bottom"},popperOptions:{type:ne(Object),default:()=>({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),Q2=Te({...tV,...J2,id:String,style:{type:ne([String,Array,Object,Boolean]),default:void 0},className:{type:ne([String,Array,Object,Boolean])},effect:{type:ne(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:ne([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},referenceEl:{type:ne(Object)},triggerTargetEl:{type:ne(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...co(["ariaLabel"]),loop:Boolean}),nV={boundariesPadding:0,gpuAcceleration:!0,offset:12,placement:"bottom",popperOptions:()=>({}),strategy:"absolute"},oV={...nV,...eV,effect:"dark",enterable:!0,stopPopperMouseEvent:!0,visible:!1,pure:!1,focusOnShow:!1,trapping:!1,virtualTriggering:!1,loop:!1,style:void 0,popperStyle:void 0,popperClass:void 0},aV={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},lV=Te({size:{type:String,values:Ca},disabled:Boolean}),sV=Te({...lV,model:Object,rules:{type:ne(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:ne([Object,Boolean]),default:!0}}),rV={validate:(e,t,n)=>(xe(e)||Ve(e))&&qt(t)&&Ve(n)},hr=Symbol("formContextKey"),Xa=Symbol("formItemContextKey"),Nn=(e,t={})=>{const n=B(void 0),o=t.prop?n:s2("size"),a=t.global?n:D2(),l=t.form?{size:void 0}:Be(hr,void 0),s=t.formItem?{size:void 0}:Be(Xa,void 0);return C(()=>o.value||i(e)||s?.size||l?.size||a.value||"")},cn=e=>{const t=s2("disabled"),n=Be(hr,void 0);return C(()=>t.value??i(e)??n?.disabled??!1)},Kn=()=>({form:Be(hr,void 0),formItem:Be(Xa,void 0)}),Ro=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=B(!1)),o||(o=B(!1));const a=ct(),l=()=>{let c=a?.parent;for(;c;){if(c.type.name==="ElFormItem")return!1;if(c.type.name==="ElLabelWrap")return!0;c=c.parent}return!1},s=B();let r;const u=C(()=>!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&t.inputIds?.length<=1));return st(()=>{r=pe([bt(e,"id"),n],([c,d])=>{const f=c??(d?void 0:Jn().value);f!==s.value&&(t?.removeInputId&&!l()&&(s.value&&t.removeInputId(s.value),!o?.value&&!d&&f&&t.addInputId(f)),s.value=f)},{immediate:!0})}),ur(()=>{r&&r(),t?.removeInputId&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:u,inputId:s}},iV=["","error","validating","success"],uV=Te({label:String,labelWidth:{type:[String,Number]},labelPosition:{type:String,values:["left","right","top",""],default:""},prop:{type:ne([String,Array])},required:{type:Boolean,default:void 0},rules:{type:ne([Object,Array])},error:String,validateStatus:{type:String,values:iV},for:String,inlineMessage:{type:Boolean,default:void 0},showMessage:{type:Boolean,default:!0},size:{type:String,values:Ca}}),W0=e=>[...new Set(e)],Mi=e=>xe(e)?e[0]:e,so=e=>!e&&e!==0?[]:xe(e)?e:[e],cV="ElForm";function dV(){const e=B([]),t=C(()=>{if(!e.value.length)return"0";const l=Math.max(...e.value);return l?`${l}px`:""});function n(l){const s=e.value.indexOf(l);return s===-1&&t.value==="0"&&Yt(cV,`unexpected width ${l}`),s}function o(l,s){if(l&&s){const r=n(s);e.value.splice(r,1,l)}else l&&e.value.push(l)}function a(l){const s=n(l);s>-1&&e.value.splice(s,1)}return{autoLabelWidth:t,registerLabelWidth:o,deregisterLabelWidth:a}}const Ac=(e,t)=>{const n=Bn(t).map(o=>xe(o)?o.join("."):o);return n.length>0?e.filter(o=>o.propString&&n.includes(o.propString)):e},br="ElForm";var fV=fe({name:br,__name:"form",props:sV,emits:rV,setup(e,{expose:t,emit:n}){const o=e,a=n,l=B(),s=zt([]),r=new Map,u=Nn(),c=ke("form"),d=C(()=>{const{labelPosition:N,inline:$}=o;return[c.b(),c.m(u.value||"default"),{[c.m(`label-${N}`)]:N,[c.m("inline")]:$}]}),f=N=>Ac(s,[N])[0],v=N=>{s.includes(N)||s.push(N),N.propString&&(r.has(N.propString)?N.setInitialValue(r.get(N.propString)):r.set(N.propString,La(N.fieldValue)))},h=(N,$)=>{if($){r.delete($);return}const T=s.indexOf(N);T>-1&&(s.splice(T,1),N.propString&&r.set(N.propString,La(N.getInitialValue())))},g=N=>{if(!o.model){Yt(br,"model is required for setInitialValues to work.");return}if(!N){Yt(br,"initModel is required for setInitialValues to work.");return}for(const $ of r.keys())r.set($,La(Ql(N,$).value));s.forEach($=>{$.prop&&$.setInitialValue(Ql(N,$.prop).value)})},p=(N=[])=>{if(!o.model){Yt(br,"model is required for resetFields to work.");return}Ac(s,N).forEach(I=>I.resetField());const $=new Set(s.map(I=>I.propString).filter(Boolean)),T=N.length>0?Bn(N).map(I=>xe(I)?I.join("."):I):[...r.keys()];for(const I of T)!$.has(I)&&r.has(I)&&(Ql(o.model,I).value=La(r.get(I)))},m=(N=[])=>{Ac(s,N).forEach($=>$.clearValidate())},y=C(()=>{const N=!!o.model;return N||Yt(br,"model is required for validate to work."),N}),b=N=>{if(s.length===0)return[];const $=Ac(s,N);return $.length?$:(Yt(br,"please pass correct props!"),[])},w=async N=>k(void 0,N),S=async(N=[])=>{if(!y.value)return!1;const $=b(N);if($.length===0)return!0;let T={};for(const I of $)try{await I.validate(""),I.validateState==="error"&&!I.error&&I.resetField()}catch(P){T={...T,...P}}return Object.keys(T).length===0?!0:Promise.reject(T)},k=async(N=[],$)=>{let T=!1;const I=!je($);try{return T=await S(N),T===!0&&await $?.(T),T}catch(P){if(P instanceof Error)throw P;const _=P;return o.scrollToError&&l.value&&l.value.querySelector(`.${c.b()}-item.is-error`)?.scrollIntoView(o.scrollIntoViewOptions),!T&&await $?.(!1,_),I&&Promise.reject(_)}},x=N=>{const $=f(N);$&&$.$el?.scrollIntoView(o.scrollIntoViewOptions)};return pe(()=>o.rules,()=>{o.validateOnRuleChange&&w().catch(ht)},{deep:!0,flush:"post"}),kt(hr,zt({...Rn(o),emit:a,resetFields:p,clearValidate:m,validateField:k,getField:f,addField:v,removeField:h,setInitialValues:g,...dV()})),t({validate:w,validateField:k,resetFields:p,clearValidate:m,scrollToField:x,getField:f,fields:s,setInitialValues:g}),(N,$)=>(E(),F("form",{ref_key:"formRef",ref:l,class:A(d.value)},[ue(N.$slots,"default")],2))}}),pV=fV;const j0="ElLabelWrap";var vV=fe({name:j0,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(e,{slots:t}){const n=Be(hr,void 0),o=Be(Xa);o||rn(j0,"usage: ");const a=ke("form"),l=B(),s=B(0),r=()=>{if(l.value?.firstElementChild){const d=window.getComputedStyle(l.value.firstElementChild).width;return Math.ceil(Number.parseFloat(d))}else return 0},u=(d="update")=>{Pe(()=>{t.default&&e.isAutoWidth&&(d==="update"?s.value=r():d==="remove"&&n?.deregisterLabelWidth(s.value))})},c=()=>u("update");return st(()=>{c()}),Ht(()=>{u("remove")}),Sa(()=>c()),pe(s,(d,f)=>{e.updateAll&&n?.registerLabelWidth(d,f)}),ln(C(()=>l.value?.firstElementChild??null),c),()=>{if(!t)return null;const{isAutoWidth:d}=e;if(d){const f=n?.autoLabelWidth,v=o?.hasLabel,h={};if(v&&f&&f!=="auto"){const g=Math.max(0,Number.parseInt(f,10)-s.value),p=(o.labelPosition||n.labelPosition)==="left"?"marginRight":"marginLeft";g&&(h[p]=`${g}px`)}return ee("div",{ref:l,class:[a.be("item","label-wrap")],style:h},[t.default?.()])}else return ee(Oe,{ref:l},[t.default?.()])}}});function Ms(){return Ms=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function cd(e,t,n){return mV()?cd=Reflect.construct.bind():cd=function(a,l,s){var r=[null];r.push.apply(r,l);var u=Function.bind.apply(a,r),c=new u;return s&&Tu(c,s.prototype),c},cd.apply(null,arguments)}function gV(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function wh(e){var t=typeof Map=="function"?new Map:void 0;return wh=function(o){if(o===null||!gV(o))return o;if(typeof o!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(o))return t.get(o);t.set(o,a)}function a(){return cd(o,arguments,bh(this).constructor)}return a.prototype=Object.create(o.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Tu(a,o)},wh(e)}var yV=/%[sdj%]/g,bV=function(){};function Sh(e){if(!e||!e.length)return null;var t={};return e.forEach(function(n){var o=n.field;t[o]=t[o]||[],t[o].push(n)}),t}function zo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o=l)return r;switch(r){case"%s":return String(n[a++]);case"%d":return Number(n[a++]);case"%j":try{return JSON.stringify(n[a++])}catch{return"[Circular]"}break;default:return r}});return s}return e}function wV(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function Yn(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||wV(t)&&typeof e=="string"&&!e)}function SV(e,t,n){var o=[],a=0,l=e.length;function s(r){o.push.apply(o,r||[]),a++,a===l&&n(o)}e.forEach(function(r){t(r,s)})}function Y0(e,t,n){var o=0,a=e.length;function l(s){if(s&&s.length){n(s);return}var r=o;o=o+1,r()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Fi={integer:function(t){return Fi.number(t)&&parseInt(t,10)===t},float:function(t){return Fi.number(t)&&!Fi.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!Fi.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(X0.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(TV())},hex:function(t){return typeof t=="string"&&!!t.match(X0.hex)}},NV=function(t,n,o,a,l){if(t.required&&n===void 0){ex(t,n,o,a,l);return}var s=["integer","float","array","regexp","object","method","email","number","date","url","hex"],r=t.type;s.indexOf(r)>-1?Fi[r](n)||a.push(zo(l.messages.types[r],t.fullField,t.type)):r&&typeof n!==t.type&&a.push(zo(l.messages.types[r],t.fullField,t.type))},_V=function(t,n,o,a,l){var s=typeof t.len=="number",r=typeof t.min=="number",u=typeof t.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,d=n,f=null,v=typeof n=="number",h=typeof n=="string",g=Array.isArray(n);if(v?f="number":h?f="string":g&&(f="array"),!f)return!1;g&&(d=n.length),h&&(d=n.replace(c,"_").length),s?d!==t.len&&a.push(zo(l.messages[f].len,t.fullField,t.len)):r&&!u&&dt.max?a.push(zo(l.messages[f].max,t.fullField,t.max)):r&&u&&(dt.max)&&a.push(zo(l.messages[f].range,t.fullField,t.min,t.max))},wr="enum",IV=function(t,n,o,a,l){t[wr]=Array.isArray(t[wr])?t[wr]:[],t[wr].indexOf(n)===-1&&a.push(zo(l.messages[wr],t.fullField,t[wr].join(", ")))},MV=function(t,n,o,a,l){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||a.push(zo(l.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var s=new RegExp(t.pattern);s.test(n)||a.push(zo(l.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},tn={required:ex,whitespace:$V,type:NV,range:_V,enum:IV,pattern:MV},OV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n,"string")&&!t.required)return o();tn.required(t,n,a,s,l,"string"),Yn(n,"string")||(tn.type(t,n,a,s,l),tn.range(t,n,a,s,l),tn.pattern(t,n,a,s,l),t.whitespace===!0&&tn.whitespace(t,n,a,s,l))}o(s)},PV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&tn.type(t,n,a,s,l)}o(s)},RV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(n===""&&(n=void 0),Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&(tn.type(t,n,a,s,l),tn.range(t,n,a,s,l))}o(s)},AV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&tn.type(t,n,a,s,l)}o(s)},DV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),Yn(n)||tn.type(t,n,a,s,l)}o(s)},LV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&(tn.type(t,n,a,s,l),tn.range(t,n,a,s,l))}o(s)},BV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&(tn.type(t,n,a,s,l),tn.range(t,n,a,s,l))}o(s)},VV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(n==null&&!t.required)return o();tn.required(t,n,a,s,l,"array"),n!=null&&(tn.type(t,n,a,s,l),tn.range(t,n,a,s,l))}o(s)},FV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&tn.type(t,n,a,s,l)}o(s)},zV="enum",HV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l),n!==void 0&&tn[zV](t,n,a,s,l)}o(s)},KV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n,"string")&&!t.required)return o();tn.required(t,n,a,s,l),Yn(n,"string")||tn.pattern(t,n,a,s,l)}o(s)},WV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n,"date")&&!t.required)return o();if(tn.required(t,n,a,s,l),!Yn(n,"date")){var u;n instanceof Date?u=n:u=new Date(n),tn.type(t,u,a,s,l),u&&tn.range(t,u.getTime(),a,s,l)}}o(s)},jV=function(t,n,o,a,l){var s=[],r=Array.isArray(n)?"array":typeof n;tn.required(t,n,a,s,l,r),o(s)},fv=function(t,n,o,a,l){var s=t.type,r=[],u=t.required||!t.required&&a.hasOwnProperty(t.field);if(u){if(Yn(n,s)&&!t.required)return o();tn.required(t,n,a,r,l,s),Yn(n,s)||tn.type(t,n,a,r,l)}o(r)},YV=function(t,n,o,a,l){var s=[],r=t.required||!t.required&&a.hasOwnProperty(t.field);if(r){if(Yn(n)&&!t.required)return o();tn.required(t,n,a,s,l)}o(s)},au={string:OV,method:PV,number:RV,boolean:AV,regexp:DV,integer:LV,float:BV,array:VV,object:FV,enum:HV,pattern:KV,date:WV,url:fv,hex:fv,email:fv,required:jV,any:YV};function Ch(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var kh=Ch(),vc=(function(){function e(n){this.rules=null,this._messages=kh,this.define(n)}var t=e.prototype;return t.define=function(o){var a=this;if(!o)throw new Error("Cannot configure a schema with no rules");if(typeof o!="object"||Array.isArray(o))throw new Error("Rules must be an object");this.rules={},Object.keys(o).forEach(function(l){var s=o[l];a.rules[l]=Array.isArray(s)?s:[s]})},t.messages=function(o){return o&&(this._messages=G0(Ch(),o)),this._messages},t.validate=function(o,a,l){var s=this;a===void 0&&(a={}),l===void 0&&(l=function(){});var r=o,u=a,c=l;if(typeof u=="function"&&(c=u,u={}),!this.rules||Object.keys(this.rules).length===0)return c&&c(null,r),Promise.resolve(r);function d(p){var m=[],y={};function b(S){if(Array.isArray(S)){var k;m=(k=m).concat.apply(k,S)}else m.push(S)}for(var w=0;wn.labelPosition||a?.labelPosition),y=C(()=>m.value==="top"?{}:{width:pn(n.labelWidth??a?.labelWidth)}),b=C(()=>{if(m.value==="top"||a?.inline)return{};if(!n.label&&!n.labelWidth&&I)return{};const oe=pn(n.labelWidth??a?.labelWidth);return!n.label&&!o.label?{marginLeft:oe}:{}}),w=C(()=>[r.b(),r.m(s.value),r.is("error",d.value==="error"),r.is("validating",d.value==="validating"),r.is("success",d.value==="success"),r.is("required",z.value||n.required),r.is("no-asterisk",a?.hideRequiredAsterisk),a?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[r.m("feedback")]:a?.statusIcon,[r.m(`label-${m.value}`)]:m.value}]),S=C(()=>qt(n.inlineMessage)?n.inlineMessage:a?.inlineMessage||!1),k=C(()=>[r.e("error"),{[r.em("error","inline")]:S.value}]),x=C(()=>n.prop?xe(n.prop)?n.prop.join("."):n.prop:""),N=C(()=>!!(n.label||o.label)),$=C(()=>n.for??(c.value.length===1?c.value[0]:void 0)),T=C(()=>!$.value&&N.value),I=!!l,P=C(()=>{const oe=a?.model;if(!(!oe||!n.prop))return Ql(oe,n.prop).value}),_=C(()=>{const{required:oe}=n,re=[];n.rules&&re.push(...Bn(n.rules));const W=a?.rules;if(W&&n.prop){const te=Ql(W,n.prop).value;te&&re.push(...Bn(te))}if(oe!==void 0){const te=re.map((j,U)=>[j,U]).filter(([j])=>"required"in j);if(te.length>0)for(const[j,U]of te)j.required!==oe&&(re[U]={...j,required:oe});else re.push({required:oe})}return re}),H=C(()=>_.value.length>0),L=oe=>_.value.filter(re=>!re.trigger||!oe?!0:xe(re.trigger)?re.trigger.includes(oe):re.trigger===oe).map(({trigger:re,...W})=>W),z=C(()=>_.value.some(oe=>oe.required)),O=C(()=>f.value==="error"&&n.showMessage&&(a?.showMessage??!0)),R=C(()=>`${n.label||""}${a?.labelSuffix||""}`),D=oe=>{d.value=oe},K=oe=>{const{errors:re,fields:W}=oe;(!re||!W)&&console.error(oe),D("error"),v.value=re?re?.[0]?.message??`${n.prop} is required`:"",a?.emit("validate",n.prop,!1,v.value)},V=()=>{D("success"),a?.emit("validate",n.prop,!0,"")},Y=async oe=>{const re=x.value;return new vc({[re]:oe}).validate({[re]:P.value},{firstFields:!0}).then(()=>(V(),!0)).catch(W=>(K(W),Promise.reject(W)))},G=async(oe,re)=>{if(p||!n.prop)return!1;const W=je(re);if(!H.value)return re?.(!1),!1;const te=L(oe);return te.length===0?(re?.(!0),!0):(D("validating"),Y(te).then(()=>(re?.(!0),!0)).catch(j=>{const{fields:U}=j;return re?.(!1,U),W?!1:Promise.reject(U)}))},q=()=>{D(""),v.value="",p=!1},X=async()=>{const oe=a?.model;if(!oe||!n.prop)return;const re=Ql(oe,n.prop);p=!0,re.value=La(g),await Pe(),q(),p=!1},Z=oe=>{c.value.includes(oe)||c.value.push(oe)},J=oe=>{c.value=c.value.filter(re=>re!==oe)},ae=oe=>{g=La(oe)},ve=()=>g;pe(()=>n.error,oe=>{v.value=oe||"",D(oe?"error":"")},{immediate:!0}),pe(()=>n.validateStatus,oe=>D(oe||""));const me=zt({...Rn(n),$el:h,size:s,validateMessage:v,validateState:d,labelId:u,inputIds:c,isGroup:T,hasLabel:N,fieldValue:P,addInputId:Z,removeInputId:J,resetField:X,clearValidate:q,validate:G,propString:x,setInitialValue:ae,getInitialValue:ve});return kt(Xa,me),pe(x,(oe,re)=>{!a||!re||(a.removeField(me,re),oe&&(ae(P.value),a.addField(me)))}),st(()=>{n.prop&&(ae(P.value),a?.addField(me))}),Ht(()=>{a?.removeField(me)}),t({size:s,validateMessage:v,validateState:d,validate:G,clearValidate:q,resetField:X,setInitialValue:ae}),(oe,re)=>(E(),F("div",{ref_key:"formItemRef",ref:h,class:A(w.value),role:T.value?"group":void 0,"aria-labelledby":T.value?i(u):void 0},[ee(i(vV),{"is-auto-width":y.value.width==="auto","update-all":i(a)?.labelWidth==="auto"},{default:ie(()=>[e.label||oe.$slots.label?(E(),de(dt($.value?"label":"div"),{key:0,id:i(u),for:$.value,class:A(i(r).e("label")),style:Fe(y.value)},{default:ie(()=>[ue(oe.$slots,"label",{label:R.value},()=>[ze(ye(R.value),1)])]),_:3},8,["id","for","class","style"])):se("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),M("div",{class:A(i(r).e("content")),style:Fe(b.value)},[ue(oe.$slots,"default"),ee(ZC,{name:`${i(r).namespace.value}-zoom-in-top`},{default:ie(()=>[O.value?ue(oe.$slots,"error",{key:0,error:v.value},()=>[M("div",{class:A(k.value)},ye(v.value),3)]):se("v-if",!0)]),_:3},8,["name"])],6)],10,UV))}}),tx=qV;const GV=ut(pV,{FormItem:tx}),XV=un(tx),pv="focus-trap.focus-after-trapped",vv="focus-trap.focus-after-released",ZV="focus-trap.focusout-prevented",Z0={cancelable:!0,bubbles:!1},JV={cancelable:!0,bubbles:!1},J0="focusAfterTrapped",Q0="focusAfterReleased",nx=Symbol("elFocusTrap"),Dg=B(),Cp=B(0),Lg=B(0);let Lc=0;const ox=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const a=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||a?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},e1=(e,t)=>{for(const n of e)if(!QV(n,t))return n},QV=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},e8=e=>{const t=ox(e);return[e1(t,e),e1(t.reverse(),e)]},t8=e=>e instanceof HTMLInputElement&&"select"in e,Hl=(e,t)=>{if(e){const n=document.activeElement;sc(e,{preventScroll:!0}),Lg.value=window.performance.now(),e!==n&&t8(e)&&t&&e.select()}};function t1(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const n8=()=>{let e=[];return{push:o=>{const a=e[0];a&&o!==a&&a.pause(),e=t1(e,o),e.unshift(o)},remove:o=>{e=t1(e,o),e[0]?.resume?.()}}},o8=(e,t=!1)=>{const n=document.activeElement;for(const o of e)if(Hl(o,t),document.activeElement!==n)return},n1=n8(),a8=()=>Cp.value>Lg.value,Bc=()=>{Dg.value="pointer",Cp.value=window.performance.now()},o1=()=>{Dg.value="keyboard",Cp.value=window.performance.now()},l8=()=>(st(()=>{Lc===0&&(document.addEventListener("mousedown",Bc),document.addEventListener("touchstart",Bc),document.addEventListener("keydown",o1)),Lc++}),Ht(()=>{Lc--,Lc<=0&&(document.removeEventListener("mousedown",Bc),document.removeEventListener("touchstart",Bc),document.removeEventListener("keydown",o1))}),{focusReason:Dg,lastUserFocusTimestamp:Cp,lastAutomatedFocusTimestamp:Lg}),Vc=e=>new CustomEvent(ZV,{...JV,detail:e});var s8=fe({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[J0,Q0,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=B();let o,a;const{focusReason:l}=l8();kD(g=>{e.trapped&&!s.paused&&t("release-requested",g)});const s={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},r=g=>{if(!e.loop&&!e.trapped||s.paused)return;const{altKey:p,ctrlKey:m,metaKey:y,currentTarget:b,shiftKey:w}=g,{loop:S}=e,k=Xt(g)===Ee.tab&&!p&&!m&&!y,x=document.activeElement;if(k&&x){const N=b,[$,T]=e8(N);if($&&T){if(!w&&x===T){const I=Vc({focusReason:l.value});t("focusout-prevented",I),I.defaultPrevented||(g.preventDefault(),S&&Hl($,!0))}else if(w&&[$,N].includes(x)){const I=Vc({focusReason:l.value});t("focusout-prevented",I),I.defaultPrevented||(g.preventDefault(),S&&Hl(T,!0))}}else if(x===N){const I=Vc({focusReason:l.value});t("focusout-prevented",I),I.defaultPrevented||g.preventDefault()}}};kt(nx,{focusTrapRef:n,onKeydown:r}),pe(()=>e.focusTrapEl,g=>{g&&(n.value=g)},{immediate:!0}),pe([n],([g],[p])=>{g&&(g.addEventListener("keydown",r),g.addEventListener("focusin",d),g.addEventListener("focusout",f)),p&&(p.removeEventListener("keydown",r),p.removeEventListener("focusin",d),p.removeEventListener("focusout",f))});const u=g=>{t(J0,g)},c=g=>t(Q0,g),d=g=>{const p=i(n);if(!p)return;const m=g.target,y=g.relatedTarget,b=m&&p.contains(m);e.trapped||y&&p.contains(y)||(o=y),b&&t("focusin",g),!s.paused&&e.trapped&&(b?a=m:Hl(a,!0))},f=g=>{const p=i(n);if(!(s.paused||!p))if(e.trapped){const m=g.relatedTarget;!hn(m)&&!p.contains(m)&&setTimeout(()=>{if(!s.paused&&e.trapped){const y=Vc({focusReason:l.value});t("focusout-prevented",y),y.defaultPrevented||Hl(a,!0)}},0)}else{const m=g.target;m&&p.contains(m)||t("focusout",g)}};async function v(){await Pe();const g=i(n);if(g){n1.push(s);const p=g.contains(document.activeElement)?o:document.activeElement;if(o=p,!g.contains(p)){const m=new Event(pv,Z0);g.addEventListener(pv,u),g.dispatchEvent(m),m.defaultPrevented||Pe(()=>{let y=e.focusStartEl;Ve(y)||(Hl(y),document.activeElement!==y&&(y="first")),y==="first"&&o8(ox(g),!0),(document.activeElement===p||y==="container")&&Hl(g)})}}}function h(){const g=i(n);if(g){g.removeEventListener(pv,u);const p=new CustomEvent(vv,{...Z0,detail:{focusReason:l.value}});g.addEventListener(vv,c),g.dispatchEvent(p),!p.defaultPrevented&&(l.value=="keyboard"||!a8()||g.contains(document.activeElement))&&Hl(o??document.body),g.removeEventListener(vv,c),n1.remove(s),o=null,a=null}}return st(()=>{e.trapped&&v(),pe(()=>e.trapped,g=>{g?v():h()})}),Ht(()=>{e.trapped&&h(),n.value&&(n.value.removeEventListener("keydown",r),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",f),n.value=void 0),o=null,a=null}),{onKeydown:r}}}),An=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n};function r8(e,t,n,o,a,l){return ue(e.$slots,"default",{handleKeydown:e.onKeydown})}var i8=An(s8,[["render",r8]]),Ci=i8;const u8=(e,t=[])=>{const{placement:n,strategy:o,popperOptions:a}=e,l={placement:n,strategy:o,...a,modifiers:[...d8(e),...t]};return f8(l,a?.modifiers),l},c8=e=>{if(Lt)return Mn(e)};function d8(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function f8(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const p8=0,v8=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:o,role:a}=Be(Ag,void 0),l=B(),s=C(()=>e.arrowOffset),r=C(()=>({name:"eventListeners",enabled:!!e.visible})),u=C(()=>{const b=i(l),w=i(s)??p8;return{name:"arrow",enabled:!Fk(b),options:{element:b,padding:w}}}),c=C(()=>({onFirstUpdate:()=>{g()},...u8(e,[i(u),i(r)])})),d=C(()=>c8(e.referenceEl)||i(o)),{attributes:f,state:v,styles:h,update:g,forceUpdate:p,instanceRef:m}=bD(d,n,c);pe(m,b=>t.value=b,{flush:"sync"}),st(()=>{pe(()=>i(d)?.getBoundingClientRect?.(),()=>{g()})});let y;return pe(()=>e.visible,b=>{y?.(),y=void 0,b&&(y=ln(n,g).stop)}),Ht(()=>{t.value=void 0,y?.(),y=void 0}),{attributes:f,arrowRef:l,contentRef:n,instanceRef:m,state:v,styles:h,role:a,forceUpdate:p,update:g}},h8=(e,{attributes:t,styles:n,role:o})=>{const{nextZIndex:a}=uc(),l=ke("popper"),s=C(()=>i(t).popper),r=B(We(e.zIndex)?e.zIndex:a()),u=C(()=>[l.b(),l.is("pure",e.pure),l.is(e.effect),e.popperClass]),c=C(()=>[{zIndex:i(r)},i(n).popper,e.popperStyle||{}]),d=C(()=>o.value==="dialog"?"false":void 0),f=C(()=>i(n).arrow||{});return{ariaModal:d,arrowStyle:f,contentAttrs:s,contentClass:u,contentStyle:c,contentZIndex:r,updateZIndex:()=>{r.value=We(e.zIndex)?e.zIndex:a()}}},m8=(e,t)=>{const n=B(!1),o=B(),a=()=>{t("focus")},l=c=>{c.detail?.focusReason!=="pointer"&&(o.value="first",t("blur"))},s=c=>{e.visible&&!n.value&&(c.target&&(o.value=c.target),n.value=!0)},r=c=>{e.trapping||(c.detail.focusReason==="pointer"&&c.preventDefault(),n.value=!1)},u=()=>{n.value=!1,t("close")};return Ht(()=>{o.value=void 0}),{focusStartRef:o,trapped:n,onFocusAfterReleased:l,onFocusAfterTrapped:a,onFocusInTrap:s,onFocusoutPrevented:r,onReleaseRequested:u}};var g8=fe({name:"ElPopperContent",__name:"content",props:Q2,emits:aV,setup(e,{expose:t,emit:n}){const o=n,a=e,{focusStartRef:l,trapped:s,onFocusAfterReleased:r,onFocusAfterTrapped:u,onFocusInTrap:c,onFocusoutPrevented:d,onReleaseRequested:f}=m8(a,o),{attributes:v,arrowRef:h,contentRef:g,styles:p,instanceRef:m,role:y,update:b}=v8(a),{ariaModal:w,arrowStyle:S,contentAttrs:k,contentClass:x,contentStyle:N,updateZIndex:$}=h8(a,{styles:p,attributes:v,role:y}),T=Be(Xa,void 0);kt(q2,{arrowStyle:S,arrowRef:h}),T&&kt(Xa,{...T,addInputId:ht,removeInputId:ht});let I;const P=(H=!0)=>{b(),H&&$()},_=()=>{P(!1),a.visible&&a.focusOnShow?s.value=!0:a.visible===!1&&(s.value=!1)};return st(()=>{pe(()=>a.triggerTargetEl,(H,L)=>{I?.(),I=void 0;const z=i(H||g.value),O=i(L||g.value);No(z)&&(I=pe([y,()=>a.ariaLabel,w,()=>a.id],R=>{["role","aria-label","aria-modal","id"].forEach((D,K)=>{hn(R[K])?z.removeAttribute(D):z.setAttribute(D,R[K])})},{immediate:!0})),O!==z&&No(O)&&["role","aria-label","aria-modal","id"].forEach(R=>{O.removeAttribute(R)})},{immediate:!0}),pe(()=>a.visible,_,{immediate:!0})}),Ht(()=>{I?.(),I=void 0,g.value=void 0}),t({popperContentRef:g,popperInstanceRef:m,updatePopper:P,contentStyle:N}),(H,L)=>(E(),F("div",ft({ref_key:"contentRef",ref:g},i(k),{style:i(N),class:i(x),tabindex:"-1",onMouseenter:L[0]||(L[0]=z=>H.$emit("mouseenter",z)),onMouseleave:L[1]||(L[1]=z=>H.$emit("mouseleave",z))}),[ee(i(Ci),{loop:e.loop,trapped:i(s),"trap-on-focus-in":!0,"focus-trap-el":i(g),"focus-start-el":i(l),onFocusAfterTrapped:i(u),onFocusAfterReleased:i(r),onFocusin:i(c),onFocusoutPrevented:i(d),onReleaseRequested:i(f)},{default:ie(()=>[ue(H.$slots,"default")]),_:3},8,["loop","trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}}),y8=g8,b8=fe({name:"ElPopper",inheritAttrs:!1,__name:"popper",props:U2,setup(e,{expose:t}){const n=e,o={triggerRef:B(),popperInstanceRef:B(),contentRef:B(),referenceRef:B(),role:C(()=>n.role)};return t(o),kt(Ag,o),(a,l)=>ue(a.$slots,"default")}}),w8=b8;const ax=ut(w8),S8={...TD,...oV,content:"",visible:null,teleported:!0},on=Te({...$D,...Q2,appendTo:{type:ne([String,Object])},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:ne(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...co(["ariaLabel"])}),Ks=Te({...G2,disabled:Boolean,trigger:{type:ne([String,Array]),default:"hover"},triggerKeys:{type:ne(Array),default:()=>[Ee.enter,Ee.numpadEnter,Ee.space]},focusOnTarget:Boolean}),{useModelToggleProps:C8,useModelToggleEmits:k8,useModelToggle:x8}=mA("visible"),zi=Te({...U2,...C8,...on,...Ks,...J2,showArrow:{type:Boolean,default:!0}}),E8=[...k8,"before-show","before-hide","show","hide","open","close"],Bg=Symbol("elTooltip"),xh=(e,t)=>xe(e)?e.includes(t):e===t,Sr=(e,t,n)=>o=>{xh(i(e),t)&&n(o)};var $8=fe({name:"ElTooltipTrigger",__name:"trigger",props:Ks,setup(e,{expose:t}){const n=e,o=ke("tooltip"),{controlled:a,id:l,open:s,onOpen:r,onClose:u,onToggle:c}=Be(Bg,void 0),d=B(null),f=()=>{if(i(a)||n.disabled)return!0},v=bt(n,"trigger"),h=Ln(f,Sr(v,"hover",S=>{r(S),n.focusOnTarget&&S.target&&Pe(()=>{sc(S.target,{preventScroll:!0})})})),g=Ln(f,Sr(v,"hover",u)),p=Ln(f,Sr(v,"click",S=>{S.button===0&&c(S)})),m=Ln(f,Sr(v,"focus",r)),y=Ln(f,Sr(v,"focus",u)),b=Ln(f,Sr(v,"contextmenu",S=>{S.preventDefault(),c(S)})),w=Ln(f,S=>{const k=Xt(S);n.triggerKeys.includes(k)&&(S.preventDefault(),c(S))});return t({triggerRef:d}),(S,k)=>(E(),de(i(QB),{id:i(l),"virtual-ref":e.virtualRef,open:i(s),"virtual-triggering":e.virtualTriggering,class:A(i(o).e("trigger")),onBlur:i(y),onClick:i(p),onContextmenu:i(b),onFocus:i(m),onMouseenter:i(h),onMouseleave:i(g),onKeydown:i(w)},{default:ie(()=>[ue(S.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}}),T8=$8,N8=fe({name:"ElTooltipContent",inheritAttrs:!1,__name:"content",props:on,setup(e,{expose:t}){const n=e,{selector:o}=b2(),a=ke("tooltip"),l=B(),s=jk(()=>l.value?.popperContentRef);let r;const{controlled:u,id:c,open:d,trigger:f,onClose:v,onOpen:h,onShow:g,onHide:p,onBeforeShow:m,onBeforeHide:y}=Be(Bg,void 0),b=C(()=>n.transition||`${a.namespace.value}-fade-in-linear`),w=C(()=>n.persistent);Ht(()=>{r?.()});const S=C(()=>i(w)?!0:i(d)),k=C(()=>n.disabled?!1:i(d)),x=C(()=>n.appendTo||o.value),N=C(()=>n.style??{}),$=B(!0),T=()=>{p(),R()&&sc(document.body,{preventScroll:!0}),$.value=!0},I=()=>{if(i(u))return!0},P=Ln(I,()=>{n.enterable&&xh(i(f),"hover")&&h()}),_=Ln(I,()=>{xh(i(f),"hover")&&v()}),H=()=>{l.value?.updatePopper?.(),m?.()},L=()=>{y?.()},z=()=>{g()},O=()=>{n.virtualTriggering||v()},R=D=>{const K=l.value?.popperContentRef,V=D?.relatedTarget||document.activeElement;return K?.contains(V)};return pe(()=>i(d),D=>{D?($.value=!1,r=cg(s,()=>{i(u)||so(i(f)).every(K=>K!=="hover"&&K!=="focus")&&v()},{detectIframe:!0})):r?.()},{flush:"post"}),t({contentRef:l,isFocusInsideContent:R}),(D,K)=>(E(),de(ir,{disabled:!e.teleported,to:x.value},[S.value||!$.value?(E(),de(Zn,{key:0,name:b.value,appear:!w.value,onAfterLeave:T,onBeforeEnter:H,onAfterEnter:z,onBeforeLeave:L,persisted:""},{default:ie(()=>[Ue(ee(i(y8),ft({id:i(c),ref_key:"contentRef",ref:l},D.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":$.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,N.value],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:k.value,"z-index":e.zIndex,loop:e.loop,onMouseenter:i(P),onMouseleave:i(_),onBlur:O,onClose:i(v)}),{default:ie(()=>[ue(D.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","loop","onMouseenter","onMouseleave","onClose"]),[[Vt,k.value]])]),_:3},8,["name","appear"])):se("v-if",!0)],8,["disabled","to"]))}}),_8=N8;const I8=["innerHTML"],M8={key:1};var O8=fe({name:"ElTooltip",__name:"tooltip",props:zi,emits:E8,setup(e,{expose:t,emit:n}){const o=e,a=n;ED();const l=ke("tooltip"),s=Jn(),r=B(),u=B(),c=()=>{const S=i(r);S&&S.popperInstanceRef?.update()},d=B(!1),f=B(),{show:v,hide:h,hasUpdateHandler:g}=x8({indicator:d,toggleReason:f}),{onOpen:p,onClose:m}=ND({showAfter:bt(o,"showAfter"),hideAfter:bt(o,"hideAfter"),autoClose:bt(o,"autoClose"),open:v,close:h}),y=C(()=>qt(o.visible)&&!g.value),b=C(()=>[l.b(),o.popperClass]);kt(Bg,{controlled:y,id:s,open:qs(d),trigger:bt(o,"trigger"),onOpen:p,onClose:m,onToggle:S=>{i(d)?m(S):p(S)},onShow:()=>{a("show",f.value)},onHide:()=>{a("hide",f.value)},onBeforeShow:()=>{a("before-show",f.value)},onBeforeHide:()=>{a("before-hide",f.value)},updatePopper:c}),pe(()=>o.disabled,S=>{S&&d.value&&(d.value=!1),!S&&qt(o.visible)&&(d.value=o.visible)});const w=S=>u.value?.isFocusInsideContent(S);return Bm(()=>d.value&&h()),Ht(()=>{f.value=void 0}),t({popperRef:r,contentRef:u,isFocusInsideContent:w,updatePopper:c,onOpen:p,onClose:m,hide:h}),(S,k)=>(E(),de(i(ax),{ref_key:"popperRef",ref:r,role:e.role},{default:ie(()=>[ee(T8,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:ie(()=>[S.$slots.default?ue(S.$slots,"default",{key:0}):se("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),ee(_8,{ref_key:"contentRef",ref:u,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":b.value,"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo,loop:e.loop},{default:ie(()=>[ue(S.$slots,"content",{},()=>[e.rawContent?(E(),F("span",{key:0,innerHTML:e.content},null,8,I8)):(E(),F("span",M8,ye(e.content),1))]),e.showArrow?(E(),de(i(ZB),{key:0})):se("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to","loop"])]),_:3},8,["role"]))}}),P8=O8;const Hn=ut(P8),fn=e=>e,Vg=Te({id:{type:String,default:void 0},size:On,disabled:{type:Boolean,default:void 0},modelValue:{type:ne([String,Number,Object]),default:""},modelModifiers:{type:ne(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:ne(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:ne([Boolean,Object]),default:!1},autocomplete:{type:ne(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Gt,default:el},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:Gt},prefixIcon:{type:Gt},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:ne([Object,Array,String,Boolean]),default:()=>fn({})},countGraphemes:{type:ne(Function)},autofocus:Boolean,rows:{type:Number,default:2},...co(["ariaLabel"]),inputmode:{type:ne(String),default:void 0},name:String}),R8={[at]:e=>Ve(e),input:e=>Ve(e),change:(e,t)=>Ve(e)&&(t instanceof Event||t===void 0),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:e=>e===void 0||e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent};yo(el);let Go;const A8={height:"0",visibility:"hidden",overflow:cp()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},D8=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],a1=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function L8(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),a=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:D8.map(l=>[l,t.getPropertyValue(l)]),paddingSize:o,borderSize:a,boxSizing:n}}function l1(e,t=1,n){if(!Go){Go=document.createElement("textarea");let d=document.body;!cp()&&e.parentNode&&(d=e.parentNode),d.appendChild(Go)}const{paddingSize:o,borderSize:a,boxSizing:l,contextStyle:s}=L8(e);s.forEach(([d,f])=>Go?.style.setProperty(d,f)),Object.entries(A8).forEach(([d,f])=>Go?.style.setProperty(d,f,"important")),Go.value=e.value||e.placeholder||"";let r=Go.scrollHeight;const u={};l==="border-box"?r=r+a:l==="content-box"&&(r=r-o),Go.value="";const c=Go.scrollHeight-o;if(We(t)){let d=c*t;l==="border-box"&&(d=d+o+a),r=Math.max(d,r),u.minHeight=`${d}px`}if(We(n)){let d=c*n;l==="border-box"&&(d=d+o+a),r=Math.min(d,r)}return u.height=`${r}px`,Go.parentNode?.removeChild(Go),Go=void 0,u}const B8=["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode"],V8=["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","inputmode"],s1="ElInput";var F8=fe({name:s1,inheritAttrs:!1,__name:"input",props:Vg,emits:R8,setup(e,{expose:t,emit:n}){const o=e,a=n,l=Za(),s=mn(),r=C(()=>[o.type==="textarea"?y.b():m.b(),m.m(g.value),m.is("disabled",p.value),m.is("exceed",me.value),{[m.b("group")]:s.prepend||s.append,[m.m("prefix")]:s.prefix||o.prefixIcon,[m.m("suffix")]:s.suffix||o.suffixIcon||o.clearable||o.showPassword,[m.bm("suffix","password-clear")]:Z.value&&J.value,[m.b("hidden")]:o.type==="hidden"},l.class]),u=C(()=>[m.e("wrapper"),m.is("focus",L.value)]),c=rp(),d=C(()=>o.maxlength?.toString()),{form:f,formItem:v}=Kn(),{inputId:h}=Ro(o,{formItemContext:v}),g=Nn(),p=cn(),m=ke("input"),y=ke("textarea"),b=Ct(),w=Ct(),S=B(!1),k=B(!1),x=B(),N=B(),$=Ct(o.inputStyle),T=B("");let I;const P=B(),_=C(()=>b.value||w.value),{wrapperRef:H,isFocused:L,handleFocus:z,handleBlur:O}=Pl(_,{disabled:p,afterFocus(){o.showPassword&&(I=_.value?.value)},beforeBlur(Se){if(o.showPassword){const _e=_.value;if(Se.relatedTarget&&_e?.parentElement?.contains(Se.relatedTarget))return;const Ze=_e?.value;!hn(Ze)&&!hn(I)&&Ze!==I&&_e?.dispatchEvent(new Event("change",{bubbles:!0})),I=void 0}},afterBlur(){o.validateEvent&&v?.validate?.("blur").catch(ht)}}),R=C(()=>f?.statusIcon??!1),D=C(()=>v?.validateState||""),K=C(()=>D.value&&Sp[D.value]),V=C(()=>k.value?DB:sB),Y=C(()=>[l.style]),G=C(()=>[o.inputStyle,$.value,{resize:o.resize},P.value?{height:P.value}:void 0]),q=C(()=>hn(o.modelValue)?"":String(o.modelValue)),X=C(()=>o.clearable&&!p.value&&!o.readonly),Z=C(()=>X.value&&!!q.value&&(L.value||S.value)),J=C(()=>o.showPassword&&!p.value&&!!q.value),ae=C(()=>o.showWordLimit&&!!d.value&&(o.type==="text"||o.type==="textarea")&&!p.value&&!o.readonly&&!o.showPassword),ve=C(()=>o.countGraphemes&&o.showWordLimit?o.countGraphemes(q.value):q.value.length),me=C(()=>!!ae.value&&ve.value>Number(d.value)),oe=C(()=>!!s.suffix||!!o.suffixIcon||o.clearable||o.showPassword||ae.value||!!D.value&&R.value),re=C(()=>!!Object.keys(o.modelModifiers).length),[W,te]=wL(b);let j;ln(w,Se=>{if(le(),!ae.value&&!X.value||o.resize!=="both"&&o.resize!=="horizontal")return;const{width:_e}=Se[0].target.getBoundingClientRect(),Ze=()=>{j=void 0,x.value={right:`calc(100% - ${_e-10}px)`},N.value={right:`calc(100% - ${_e-11}px)`}};j&&ba(j),j=Po(Ze)});const U=()=>{const{type:Se,autosize:_e}=o;if(!(!Lt||Se!=="textarea"||!w.value))if(_e){const Ze=lt(_e)?_e.minRows:void 0,Ne=lt(_e)?_e.maxRows:void 0,Ge=l1(w.value,Ze,Ne);$.value={overflowY:"hidden",...Ge},Pe(()=>{w.value.offsetHeight,$.value=Ge})}else $.value={minHeight:l1(w.value).minHeight}},le=(Se=>{let _e=!1;return()=>{if(_e||!o.autosize){o.resize!=="none"&&setTimeout(()=>{P.value=w.value?.style.height});return}w.value?.offsetParent!==null&&(setTimeout(Se),_e=!0)}})(U),ce=()=>{const Se=_.value,_e=o.formatter?o.formatter(q.value):q.value;!Se||Se.value===_e||o.type==="file"||(Se.value=_e)},Ce=Se=>{const{trim:_e,number:Ze}=o.modelModifiers;return _e&&(Se=Se.trim()),Ze&&(Se=`${a1(Se)}`),o.formatter&&o.parser&&(Se=o.parser(Se)),Se},we=async Se=>{if(be.value)return;const{lazy:_e}=o.modelModifiers;let{value:Ze}=Se.target,Ne=!1;if(_e){a(Tn,Ze);return}if(Ze=Ce(Ze),o.countGraphemes&&d.value!=null){const Ge=Number(d.value),Le=o.countGraphemes(Ze),nt=o.countGraphemes(T.value);if(Le>Ge&&Le>nt)if(nt>Ge)Ze=T.value,Ne=!0;else{const vt=T.value,rt=Ze;let St=0;for(;StSt&&pt>St&&vt[It-1]===rt[pt-1];)It--,pt--;const Jt=rt.slice(0,St),vn=vt.slice(St,It),Ke=rt.slice(St,pt),Je=rt.slice(pt),it=nt-o.countGraphemes(vn),Ie=Math.max(0,Ge-it);let Xe="";if(Ie>0)if(typeof Intl<"u"&&"Segmenter"in Intl){const Ye=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(const{segment:Bt}of Ye.segment(Ke)){const Zt=Xe+Bt;if(o.countGraphemes(Zt)>Ie)break;Xe=Zt}}else for(const Ye of Array.from(Ke)){const Bt=Xe+Ye;if(o.countGraphemes(Bt)>Ie)break;Xe=Bt}Ze=Jt+Xe+Je,Ne=!0}}if(String(Ze)===q.value){if(o.formatter||Ne){const Ge=Se.target,Le=Ge.value,nt=Ge.selectionStart,vt=Ge.selectionEnd;if(ce(),Ne&&_.value&&nt!=null&&vt!=null){const rt=_.value.value,St=Le.slice(Math.max(0,vt));let It=Math.min(nt,rt.length);St&&rt.endsWith(St)&&(It=rt.length-St.length),_.value.setSelectionRange(It,It)}}return}T.value=Ze,W(),a(at,Ze),a(Tn,Ze),await Pe(),(o.formatter&&o.parser||!re.value)&&ce(),te()},he=async Se=>{let{value:_e}=Se.target;o.showPassword&&(I=_e),_e=Ce(_e),o.modelModifiers.lazy&&a(at,_e),a(xt,_e,Se),await Pe(),ce()},{isComposing:be,handleCompositionStart:ge,handleCompositionUpdate:$e,handleCompositionEnd:Me}=fc({emit:a,afterComposition:we}),Qe=()=>{k.value=!k.value},tt=()=>_.value?.focus(),qe=()=>_.value?.blur(),Et=Se=>{S.value=!1,a("mouseleave",Se)},At=Se=>{S.value=!0,a("mouseenter",Se)},Kt=Se=>{a("keydown",Se)},Rt=()=>{_.value?.select()},Ut=Se=>{a(at,""),I="",a(xt,""),a("clear",Se),a(Tn,"")};return pe(()=>o.modelValue,()=>{Pe(()=>{U(),o.autosize&&(P.value=void 0)}),o.validateEvent&&v?.validate?.("change").catch(ht)}),pe(()=>q.value,Se=>{T.value=Se},{immediate:!0}),pe(q,Se=>{if(!_.value)return;const{trim:_e,number:Ze}=o.modelModifiers,Ne=_.value.value,Ge=(Ze||o.type==="number")&&!/^0\d/.test(Ne)?`${a1(Ne)}`:Ne;Ge!==Se&&(document.activeElement===_.value&&_.value.type!=="range"&&_e&&Ge.trim()===Se||ce())}),pe(()=>o.type,async()=>{await Pe(),ce(),U()}),st(()=>{!o.formatter&&o.parser&&Yt(s1,"If you set the parser, you also need to set the formatter."),ce(),Pe(U)}),Ht(()=>{j&&ba(j)}),t({input:b,textarea:w,ref:_,textareaStyle:G,autosize:bt(o,"autosize"),isComposing:be,passwordVisible:k,focus:tt,blur:qe,select:Rt,clear:Ut,resizeTextarea:U}),(Se,_e)=>(E(),F("div",{class:A([r.value,{[i(m).bm("group","append")]:Se.$slots.append,[i(m).bm("group","prepend")]:Se.$slots.prepend}]),style:Fe(Y.value),onMouseenter:At,onMouseleave:Et},[se(" input "),e.type!=="textarea"?(E(),F(Oe,{key:0},[se(" prepend slot "),Se.$slots.prepend?(E(),F("div",{key:0,class:A(i(m).be("group","prepend"))},[ue(Se.$slots,"prepend")],2)):se("v-if",!0),M("div",{ref_key:"wrapperRef",ref:H,class:A(u.value)},[se(" prefix slot "),Se.$slots.prefix||e.prefixIcon?(E(),F("span",{key:0,class:A(i(m).e("prefix"))},[M("span",{class:A(i(m).e("prefix-inner"))},[ue(Se.$slots,"prefix"),e.prefixIcon?(E(),de(i(He),{key:0,class:A(i(m).e("icon"))},{default:ie(()=>[(E(),de(dt(e.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0),M("input",ft({id:i(h),ref_key:"input",ref:b,class:i(m).e("inner")},i(c),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:d.value,type:e.showPassword?k.value?"text":"password":e.type,disabled:i(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:_e[0]||(_e[0]=(...Ze)=>i(ge)&&i(ge)(...Ze)),onCompositionupdate:_e[1]||(_e[1]=(...Ze)=>i($e)&&i($e)(...Ze)),onCompositionend:_e[2]||(_e[2]=(...Ze)=>i(Me)&&i(Me)(...Ze)),onInput:we,onChange:he,onKeydown:Kt}),null,16,B8),se(" suffix slot "),oe.value?(E(),F("span",{key:1,class:A(i(m).e("suffix"))},[M("span",{class:A(i(m).e("suffix-inner"))},[X.value?(E(),de(i(He),{key:0,class:A([i(m).e("icon"),i(m).e("clear")]),style:Fe({visibility:Z.value?"visible":"hidden"}),onMousedown:et(i(ht),["prevent"]),onClick:Ut},{default:ie(()=>[(E(),de(dt(e.clearIcon)))]),_:1},8,["class","style","onMousedown"])):se("v-if",!0),!Z.value||!J.value||!ae.value?(E(),F(Oe,{key:1},[ue(Se.$slots,"suffix"),e.suffixIcon?(E(),de(i(He),{key:0,class:A(i(m).e("icon"))},{default:ie(()=>[(E(),de(dt(e.suffixIcon)))]),_:1},8,["class"])):se("v-if",!0)],64)):se("v-if",!0),J.value?(E(),de(i(He),{key:2,class:A([i(m).e("icon"),i(m).e("password")]),onClick:Qe,onMousedown:et(i(ht),["prevent"]),onMouseup:et(i(ht),["prevent"])},{default:ie(()=>[ue(Se.$slots,"password-icon",{visible:k.value},()=>[(E(),de(dt(V.value)))])]),_:3},8,["class","onMousedown","onMouseup"])):se("v-if",!0),ae.value?(E(),F("span",{key:3,class:A([i(m).e("count"),i(m).is("outside",e.wordLimitPosition==="outside")])},[M("span",{class:A(i(m).e("count-inner"))},ye(ve.value)+" / "+ye(d.value),3)],2)):se("v-if",!0),D.value&&K.value&&R.value?(E(),de(i(He),{key:4,class:A([i(m).e("icon"),i(m).e("validateIcon"),i(m).is("loading",D.value==="validating")])},{default:ie(()=>[(E(),de(dt(K.value)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)):se("v-if",!0)],2),se(" append slot "),Se.$slots.append?(E(),F("div",{key:1,class:A(i(m).be("group","append"))},[ue(Se.$slots,"append")],2)):se("v-if",!0)],64)):(E(),F(Oe,{key:1},[se(" textarea "),M("textarea",ft({id:i(h),ref_key:"textarea",ref:w,class:[i(y).e("inner"),i(m).is("focus",i(L)),i(y).is("clearable",e.clearable)]},i(c),{name:e.name,minlength:e.countGraphemes?void 0:e.minlength,maxlength:e.countGraphemes?void 0:d.value,tabindex:e.tabindex,disabled:i(p),readonly:e.readonly,autocomplete:e.autocomplete,style:G.value,"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:_e[3]||(_e[3]=(...Ze)=>i(ge)&&i(ge)(...Ze)),onCompositionupdate:_e[4]||(_e[4]=(...Ze)=>i($e)&&i($e)(...Ze)),onCompositionend:_e[5]||(_e[5]=(...Ze)=>i(Me)&&i(Me)(...Ze)),onInput:we,onFocus:_e[6]||(_e[6]=(...Ze)=>i(z)&&i(z)(...Ze)),onBlur:_e[7]||(_e[7]=(...Ze)=>i(O)&&i(O)(...Ze)),onChange:he,onKeydown:Kt}),null,16,V8),Z.value?(E(),de(i(He),{key:0,class:A([i(y).e("icon"),i(y).e("clear")]),style:Fe(N.value),onMousedown:et(i(ht),["prevent"]),onClick:Ut},{default:ie(()=>[(E(),de(dt(e.clearIcon)))]),_:1},8,["class","style","onMousedown"])):se("v-if",!0),ae.value?(E(),F("span",{key:1,style:Fe(x.value),class:A([i(m).e("count"),i(m).is("outside",e.wordLimitPosition==="outside")])},ye(ve.value)+" / "+ye(d.value),7)):se("v-if",!0)],64))],38))}}),z8=F8;const Gn=ut(z8),H8=Te({...Vg,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:ne(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:ne([Function,Array]),default:ht},popperClass:on.popperClass,popperStyle:on.popperStyle,popperOptions:on.popperOptions,showArrow:{type:Boolean,default:!0},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:on.teleported,appendTo:on.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),K8={[at]:e=>Ve(e)||We(e),[Tn]:e=>Ve(e)||We(e),[xt]:e=>Ve(e)||We(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>lt(e)},W8=Te({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:ne([String,Object,Array,Boolean]),default:""},wrapClass:{type:ne([String,Array,Object,Boolean]),default:""},viewClass:{type:ne([String,Array,Object,Boolean]),default:""},viewStyle:{type:ne([String,Object,Array,Boolean]),default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...co(["ariaLabel","ariaOrientation"])}),Nu={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(We)},lx={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},j8=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),Y8=Te({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),Fg=Symbol("scrollbarContextKey");function Ha(e,t,n=.03){return e-t>n}const U8=Te({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),q8="Thumb";var G8=fe({__name:"thumb",props:Y8,setup(e){const t=e,n=Be(Fg),o=ke("scrollbar");n||rn(q8,"can not inject scrollbar context");const a=B(),l=B(),s=B({}),r=B(!1);let u=!1,c=!1,d=0,f=0,v=Lt?document.onselectstart:null;const h=C(()=>lx[t.vertical?"vertical":"horizontal"]),g=C(()=>j8({size:t.size,move:t.move,bar:h.value})),p=C(()=>a.value[h.value.offset]**2/n.wrapElement[h.value.scrollSize]/t.ratio/l.value[h.value.offset]),m=$=>{if($.stopPropagation(),$.ctrlKey||[1,2].includes($.button))return;window.getSelection()?.removeAllRanges(),b($);const T=$.currentTarget;T&&(s.value[h.value.axis]=T[h.value.offset]-($[h.value.client]-T.getBoundingClientRect()[h.value.direction]))},y=$=>{if(!l.value||!a.value||!n.wrapElement)return;const T=(Math.abs($.target.getBoundingClientRect()[h.value.direction]-$[h.value.client])-l.value[h.value.offset]/2)*100*p.value/a.value[h.value.offset];n.wrapElement[h.value.scroll]=T*n.wrapElement[h.value.scrollSize]/100},b=$=>{$.stopImmediatePropagation(),u=!0,d=n.wrapElement.scrollHeight,f=n.wrapElement.scrollWidth,document.addEventListener("mousemove",w),document.addEventListener("mouseup",S),v=document.onselectstart,document.onselectstart=()=>!1},w=$=>{if(!a.value||!l.value||u===!1)return;const T=s.value[h.value.axis];if(!T)return;const I=((a.value.getBoundingClientRect()[h.value.direction]-$[h.value.client])*-1-(l.value[h.value.offset]-T))*100*p.value/a.value[h.value.offset];h.value.scroll==="scrollLeft"?n.wrapElement[h.value.scroll]=I*f/100:n.wrapElement[h.value.scroll]=I*d/100},S=()=>{u=!1,s.value[h.value.axis]=0,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",S),N(),c&&(r.value=!1)},k=()=>{c=!1,r.value=!!t.size},x=()=>{c=!0,r.value=u};Ht(()=>{N(),document.removeEventListener("mouseup",S)});const N=()=>{document.onselectstart!==v&&(document.onselectstart=v)};return Wt(bt(n,"scrollbarElement"),"mousemove",k),Wt(bt(n,"scrollbarElement"),"mouseleave",x),($,T)=>(E(),de(Zn,{name:i(o).b("fade"),persisted:""},{default:ie(()=>[Ue(M("div",{ref_key:"instance",ref:a,class:A([i(o).e("bar"),i(o).is(h.value.key)]),onMousedown:y,onClick:T[0]||(T[0]=et(()=>{},["stop"]))},[M("div",{ref_key:"thumb",ref:l,class:A(i(o).e("thumb")),style:Fe(g.value),onMousedown:m},null,38)],34),[[Vt,e.always||r.value]])]),_:1},8,["name"]))}}),r1=G8,X8=fe({__name:"bar",props:U8,setup(e,{expose:t}){const n=e,o=Be(Fg),a=B(0),l=B(0),s=B(""),r=B(""),u=B(1),c=B(1);return t({handleScroll:v=>{if(v){const h=v.offsetHeight-4,g=v.offsetWidth-4;l.value=v.scrollTop*100/h*u.value,a.value=v.scrollLeft*100/g*c.value}},update:()=>{const v=o?.wrapElement;if(!v)return;const h=v.offsetHeight-4,g=v.offsetWidth-4,p=h**2/v.scrollHeight,m=g**2/v.scrollWidth,y=Math.max(p,n.minSize),b=Math.max(m,n.minSize);u.value=p/(h-p)/(y/(h-y)),c.value=m/(g-m)/(b/(g-b)),r.value=y+4(E(),F(Oe,null,[ee(r1,{move:a.value,ratio:c.value,size:s.value,always:e.always},null,8,["move","ratio","size","always"]),ee(r1,{move:l.value,ratio:u.value,size:r.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}}),Z8=X8;const J8=["tabindex"],hv="ElScrollbar";var Q8=fe({name:hv,__name:"scrollbar",props:W8,emits:Nu,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("scrollbar");let s,r,u,c=0,d=0,f=0,v="";const h={bottom:!1,top:!1,right:!1,left:!1},g=B(),p=B(),m=B(),y=B(),b=C(()=>{const L={},z=pn(o.height),O=pn(o.maxHeight);return z&&(L.height=z),O&&(L.maxHeight=O),[o.wrapStyle,L]}),w=C(()=>[o.wrapClass,l.e("wrap"),{[l.em("wrap","hidden-default")]:!o.native}]),S=C(()=>[l.e("view"),o.viewClass]),k=L=>h[L]??!1,x={top:"bottom",bottom:"top",left:"right",right:"left"},N=L=>{const z=x[v];if(!z)return;const O=L[v],R=L[z];O&&!h[v]&&(h[v]=!0),!R&&h[z]&&(h[z]=!1)},$=()=>{if(p.value){y.value?.handleScroll(p.value);const L=d,z=f;d=p.value.scrollTop,f=p.value.scrollLeft;const O={bottom:!Ha(p.value.scrollHeight-o.distance,p.value.clientHeight+d),top:d<=o.distance&&L!==0,right:!Ha(p.value.scrollWidth-o.distance,p.value.clientWidth+f)&&z!==f,left:f<=o.distance&&z!==0};if(a("scroll",{scrollTop:d,scrollLeft:f}),L!==d&&(v=d>L?"bottom":"top"),z!==f&&(v=f>z?"right":"left"),o.distance>0){if(k(v))return;N(O)}O[v]&&a("end-reached",v)}};function T(L,z){lt(L)?p.value.scrollTo(L):We(L)&&We(z)&&p.value.scrollTo(L,z)}const I=L=>{if(!We(L)){Yt(hv,"value must be a number");return}p.value.scrollTop=L},P=L=>{if(!We(L)){Yt(hv,"value must be a number");return}p.value.scrollLeft=L},_=()=>{y.value?.update(),h[v]=!1,p.value&&y.value?.handleScroll(p.value)},H=()=>{c||(c=requestAnimationFrame(()=>{c=0,p.value&&(y.value?.update(),y.value?.handleScroll(p.value))}))};return pe(()=>o.noresize,L=>{L?(s?.(),r?.(),u?.()):({stop:s}=ln(m,_),{stop:r}=ln(p,_),u=Wt("resize",_))},{immediate:!0}),pe(()=>[o.maxHeight,o.height],()=>{o.native||Pe(()=>{_()})}),kt(Fg,zt({scrollbarElement:g,wrapElement:p})),Xu(()=>{p.value&&(p.value.scrollTop=d,p.value.scrollLeft=f)}),st(()=>{o.native||Pe(()=>{_()})}),Sa(()=>_()),t({wrapRef:p,update:_,scrollTo:T,setScrollTop:I,setScrollLeft:P,handleScroll:$}),(L,z)=>(E(),F("div",{ref_key:"scrollbarRef",ref:g,class:A(i(l).b())},[M("div",{ref_key:"wrapRef",ref:p,class:A(w.value),style:Fe(b.value),tabindex:e.tabindex,onScroll:$,onTransitionend:H,onAnimationend:H},[(E(),de(dt(e.tag),{id:e.id,ref_key:"resizeRef",ref:m,class:A(S.value),style:Fe(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:ie(()=>[ue(L.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,J8),e.native?se("v-if",!0):(E(),de(Z8,{key:0,ref_key:"barRef",ref:y,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}}),e6=Q8;const wa=ut(e6),t6=["aria-expanded","aria-owns"],n6={key:0},o6=["id","aria-selected","onClick"],i1="ElAutocomplete";var a6=fe({name:i1,inheritAttrs:!1,__name:"autocomplete",props:H8,emits:K8,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const oe=Gn.props??[];return Ya(o,xe(oe)?oe:Object.keys(oe))}),s=Za(),r=cn(),u=ke("autocomplete"),c=B(),d=B(),f=B(),v=B();let h=!1,g=!1;const p=B([]),m=B(-1),y=B(""),b=B(!1),w=B(!1),S=B(!1),k=Jn(),x=C(()=>s.style),N=C(()=>(p.value.length>0||S.value)&&b.value),$=C(()=>!o.hideLoading&&S.value),T=C(()=>c.value?Array.from(c.value.$el.querySelectorAll("input")):[]),I=()=>{N.value&&(y.value=`${c.value.$el.offsetWidth}px`)},P=()=>{m.value=-1},_=async oe=>{if(w.value)return;const re=W=>{S.value=!1,!w.value&&(xe(W)?(p.value=W,m.value=o.highlightFirstItem?0:-1):rn(i1,"autocomplete suggestions must be an array"))};if(S.value=!0,xe(o.fetchSuggestions))re(o.fetchSuggestions);else{const W=await o.fetchSuggestions(oe,re);xe(W)&&re(W)}},H=ac(_,C(()=>o.debounce)),L=oe=>{const re=!!oe;if(a(Tn,oe),a(at,oe),w.value=!1,b.value||=re,!o.triggerOnFocus&&!oe){w.value=!0,p.value=[];return}H(oe)},z=oe=>{r.value||(oe.target?.tagName!=="INPUT"||T.value.includes(document.activeElement))&&(b.value=!0)},O=oe=>{a(xt,oe)},R=oe=>{if(g)g=!1;else{b.value=!0,a("focus",oe);const re=o.modelValue??"";o.triggerOnFocus&&!h&&(p.value=[],m.value=-1,H(String(re)))}},D=oe=>{setTimeout(()=>{if(f.value?.isFocusInsideContent()){g=!0;return}b.value&&G(),a("blur",oe)})},K=()=>{b.value=!1,a(at,""),a("clear")},V=async()=>{c.value?.isComposing||(N.value&&m.value>=0&&m.value{N.value&&(oe.preventDefault(),oe.stopPropagation(),G())},G=()=>{b.value=!1},q=()=>{c.value?.focus()},X=()=>{c.value?.blur()},Z=async oe=>{a(Tn,oe[o.valueKey]),a(at,oe[o.valueKey]),a("select",oe),p.value=[],m.value=-1},J=oe=>{if(!N.value||S.value)return;if(oe<0){if(!o.loopNavigation){m.value=-1;return}oe=p.value.length-1}oe>=p.value.length&&(oe=o.loopNavigation?0:p.value.length-1);const[re,W]=ae(),te=W[oe],j=re.scrollTop,{offsetTop:U,scrollHeight:Q}=te;U+Q>j+re.clientHeight&&(re.scrollTop=U+Q-re.clientHeight),U{const oe=d.value.querySelector(`.${u.be("suggestion","wrap")}`);return[oe,oe.querySelectorAll(`.${u.be("suggestion","list")} li`)]},ve=cg(v,oe=>{if(f.value?.isFocusInsideContent())return;const re=g;g=!1,N.value&&(re?D(new FocusEvent("blur",oe)):G())}),me=oe=>{switch(Xt(oe)){case Ee.up:oe.preventDefault(),J(m.value-1);break;case Ee.down:oe.preventDefault(),J(m.value+1);break;case Ee.enter:case Ee.numpadEnter:oe.preventDefault(),V();break;case Ee.tab:G();break;case Ee.esc:Y(oe);break;case Ee.home:oe.preventDefault(),J(0);break;case Ee.end:oe.preventDefault(),J(p.value.length-1);break;case Ee.pageUp:oe.preventDefault(),J(Math.max(0,m.value-10));break;case Ee.pageDown:oe.preventDefault(),J(Math.min(p.value.length-1,m.value+10));break}};return Ht(()=>{ve?.()}),st(()=>{const oe=c.value?.ref;oe&&([{key:"role",value:"textbox"},{key:"aria-autocomplete",value:"list"},{key:"aria-controls",value:k.value},{key:"aria-activedescendant",value:`${k.value}-item-${m.value}`}].forEach(({key:re,value:W})=>oe.setAttribute(re,W)),h=oe.hasAttribute("readonly"))}),t({highlightedIndex:m,activated:b,loading:S,inputRef:c,popperRef:f,suggestions:p,handleSelect:Z,handleKeyEnter:V,focus:q,blur:X,close:G,highlight:J,getData:_}),(oe,re)=>(E(),de(i(Hn),{ref_key:"popperRef",ref:f,visible:N.value,placement:e.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[i(u).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"show-arrow":e.showArrow,teleported:e.teleported,"append-to":e.appendTo,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${i(u).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:I,onHide:P},{content:ie(()=>[M("div",{ref_key:"regionRef",ref:d,class:A([i(u).b("suggestion"),i(u).is("loading",$.value)]),style:Fe({[e.fitInputWidth?"width":"minWidth"]:y.value,outline:"none"}),role:"region"},[oe.$slots.header?(E(),F("div",{key:0,class:A(i(u).be("suggestion","header")),onClick:re[0]||(re[0]=et(()=>{},["stop"]))},[ue(oe.$slots,"header")],2)):se("v-if",!0),ee(i(wa),{id:i(k),tag:"ul","wrap-class":i(u).be("suggestion","wrap"),"view-class":i(u).be("suggestion","list"),role:"listbox"},{default:ie(()=>[$.value?(E(),F("li",n6,[ue(oe.$slots,"loading",{},()=>[ee(i(He),{class:A(i(u).is("loading"))},{default:ie(()=>[ee(i(sa))]),_:1},8,["class"])])])):(E(!0),F(Oe,{key:1},mt(p.value,(W,te)=>(E(),F("li",{id:`${i(k)}-item-${te}`,key:te,class:A({highlighted:m.value===te}),role:"option","aria-selected":m.value===te,onClick:j=>Z(W)},[ue(oe.$slots,"default",{item:W},()=>[ze(ye(W[e.valueKey]),1)])],10,o6))),128))]),_:3},8,["id","wrap-class","view-class"]),oe.$slots.footer?(E(),F("div",{key:1,class:A(i(u).be("suggestion","footer")),onClick:re[1]||(re[1]=et(()=>{},["stop"]))},[ue(oe.$slots,"footer")],2)):se("v-if",!0)],6)]),default:ie(()=>[M("div",{ref_key:"listboxRef",ref:v,class:A([i(u).b(),oe.$attrs.class]),style:Fe(x.value),role:"combobox","aria-haspopup":"listbox","aria-expanded":N.value,"aria-owns":i(k)},[ee(i(Gn),ft({ref_key:"inputRef",ref:c},ft(l.value,oe.$attrs),{"model-value":e.modelValue,disabled:i(r),onInput:L,onChange:O,onFocus:R,onBlur:D,onClear:K,onKeydown:me,onMousedown:z}),bo({_:2},[oe.$slots.prepend?{name:"prepend",fn:ie(()=>[ue(oe.$slots,"prepend")]),key:"0"}:void 0,oe.$slots.append?{name:"append",fn:ie(()=>[ue(oe.$slots,"append")]),key:"1"}:void 0,oe.$slots.prefix?{name:"prefix",fn:ie(()=>[ue(oe.$slots,"prefix")]),key:"2"}:void 0,oe.$slots.suffix?{name:"suffix",fn:ie(()=>[ue(oe.$slots,"suffix")]),key:"3"}:void 0]),1040,["model-value","disabled"])],14,t6)]),_:3},8,["visible","placement","popper-class","popper-style","popper-options","show-arrow","teleported","append-to","transition"]))}}),l6=a6;const s6=ut(l6),r6=Te({size:{type:[Number,String],values:Ca,validator:e=>We(e)},shape:{type:String,values:["circle","square"]},icon:{type:Gt},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:ne(String),default:"cover"}}),i6={error:e=>e instanceof Event},sx=Symbol("avatarGroupContextKey"),u6={size:{type:ne([Number,String]),values:Ca,validator:e=>We(e)},shape:{type:ne(String),values:["circle","square"]},collapseAvatars:Boolean,collapseAvatarsTooltip:Boolean,maxCollapseAvatars:{type:Number,default:1},effect:{type:ne(String),default:"light"},placement:{type:ne(String),values:Ja,default:"top"},popperClass:on.popperClass,popperStyle:on.popperStyle,collapseClass:{type:ne([String,Array,Object,Boolean]),default:void 0},collapseStyle:{type:ne([String,Array,Object,Boolean]),default:void 0}},c6=["src","alt","srcset"];var d6=fe({name:"ElAvatar",__name:"avatar",props:r6,emits:i6,setup(e,{emit:t}){const n=e,o=t,a=Be(sx,void 0),l=ke("avatar"),s=B(!1),r=C(()=>n.size??a?.size),u=C(()=>n.shape??a?.shape??"circle"),c=C(()=>{const{icon:h}=n,g=[l.b()];return Ve(r.value)&&g.push(l.m(r.value)),h&&g.push(l.m("icon")),u.value&&g.push(l.m(u.value)),g}),d=C(()=>We(r.value)?l.cssVarBlock({size:pn(r.value)}):void 0),f=C(()=>({objectFit:n.fit}));pe(()=>[n.src,n.srcSet],()=>s.value=!1);function v(h){s.value=!0,o("error",h)}return(h,g)=>(E(),F("span",{class:A(c.value),style:Fe(d.value)},[(e.src||e.srcSet)&&!s.value?(E(),F("img",{key:0,src:e.src,alt:e.alt,srcset:e.srcSet,style:Fe(f.value),onError:v},null,44,c6)):e.icon?(E(),de(i(He),{key:1},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1})):ue(h.$slots,"default",{key:2})],6))}}),rx=d6,ix=fe({name:"ElAvatarGroup",props:u6,setup(e,{slots:t}){const n=ke("avatar-group");return kt(sx,zt({size:bt(e,"size"),shape:bt(e,"shape")})),()=>{const o=Fo(t.default?.()??[]);let a=o;if(e.collapseAvatars&&o.length>e.maxCollapseAvatars){a=o.slice(0,e.maxCollapseAvatars);const l=o.slice(e.maxCollapseAvatars);a.push(ee(Hn,{popperClass:e.popperClass,popperStyle:e.popperStyle,placement:e.placement,effect:e.effect,disabled:!e.collapseAvatarsTooltip},{default:()=>ee(rx,{size:e.size,shape:e.shape,class:e.collapseClass,style:e.collapseStyle},{default:()=>[ze("+ "),l.length]}),content:()=>ee("div",{class:n.e("collapse-avatars")},[l.map((s,r)=>Qt(s)?ya(s,{key:s.key??r}):s)])}))}return ee("div",{class:n.b()},[a])}}});const f6=ut(rx,{AvatarGroup:ix}),p6=un(ix),v6={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},h6={click:e=>e instanceof MouseEvent},m6=(e,t,n)=>{const o=Ct(),a=Ct(),l=B(!1),s=()=>{o.value&&(l.value=o.value.scrollTop>=e.visibilityHeight)},r=u=>{o.value?.scrollTo({top:0,behavior:"smooth"}),t("click",u)};return Wt(a,"scroll",qk(s,300,!0)),st(()=>{a.value=document,o.value=document.documentElement,e.target&&(o.value=document.querySelector(e.target)??void 0,o.value||rn(n,`target does not exist: ${e.target}`),a.value=o.value),s()}),{visible:l,handleClick:r}},u1="ElBacktop";var g6=fe({name:u1,__name:"backtop",props:v6,emits:h6,setup(e,{emit:t}){const n=e,o=t,a=ke("backtop"),{handleClick:l,visible:s}=m6(n,o,u1),r=C(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(u,c)=>(E(),de(Zn,{name:`${i(a).namespace.value}-fade-in`},{default:ie(()=>[i(s)?(E(),F("div",{key:0,style:Fe(r.value),class:A(i(a).b()),onClick:c[0]||(c[0]=et((...d)=>i(l)&&i(l)(...d),["stop"]))},[ue(u.$slots,"default",{},()=>[ee(i(He),{class:A(i(a).e("icon"))},{default:ie(()=>[ee(i(HL))]),_:1},8,["class"])])],6)):se("v-if",!0)]),_:3},8,["name"]))}}),y6=g6;const b6=ut(y6),w6=Te({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:ne([String,Object,Array,Boolean]),default:void 0},offset:{type:ne(Array),default:()=>[0,0]},badgeClass:{type:ne([String,Array,Object,Boolean]),default:void 0}});var S6=fe({name:"ElBadge",__name:"badge",props:w6,setup(e,{expose:t}){const n=e,o=ke("badge"),a=C(()=>n.isDot?"":We(n.value)&&We(n.max)?n.max[{backgroundColor:n.color,marginRight:pn(-n.offset[0]),marginTop:pn(n.offset[1])},n.badgeStyle??{}]);return t({content:a}),(s,r)=>(E(),F("div",{class:A(i(o).b())},[ue(s.$slots,"default"),ee(Zn,{name:`${i(o).namespace.value}-zoom-in-center`},{default:ie(()=>[!e.hidden&&(a.value||e.isDot||s.$slots.content)?(E(),F("sup",{key:0,class:A([i(o).e("content"),i(o).em("content",e.type),i(o).is("fixed",!!s.$slots.default),i(o).is("dot",e.isDot),i(o).is("hide-zero",!e.showZero&&e.value===0),e.badgeClass]),style:Fe(l.value)},[ue(s.$slots,"content",{value:a.value},()=>[ze(ye(a.value),1)])],6)):se("v-if",!0)]),_:3},8,["name"])],2))}}),C6=S6;const ux=ut(C6),k6=Te({separator:{type:String,default:"/"},separatorIcon:{type:Gt}}),cx=Symbol("breadcrumbKey"),x6=Te({to:{type:ne([String,Object]),default:""},replace:Boolean}),E6=["aria-label"];var $6=fe({name:"ElBreadcrumb",__name:"breadcrumb",props:k6,setup(e){const{t}=Tt(),n=e,o=ke("breadcrumb"),a=B();return kt(cx,n),st(()=>{const l=a.value.querySelectorAll(`.${o.e("item")}`);l.length&&l[l.length-1].setAttribute("aria-current","page")}),(l,s)=>(E(),F("div",{ref_key:"breadcrumb",ref:a,class:A(i(o).b()),"aria-label":i(t)("el.breadcrumb.label"),role:"navigation"},[ue(l.$slots,"default")],10,E6))}}),T6=$6,N6=fe({name:"ElBreadcrumbItem",__name:"breadcrumb-item",props:x6,setup(e){const t=e,n=ct(),o=Be(cx,void 0),a=ke("breadcrumb"),l=n.appContext.config.globalProperties.$router,s=()=>{!t.to||!l||(t.replace?l.replace(t.to):l.push(t.to))};return(r,u)=>(E(),F("span",{class:A(i(a).e("item"))},[M("span",{class:A([i(a).e("inner"),i(a).is("link",!!e.to)]),role:"link",onClick:s},[ue(r.$slots,"default")],2),i(o)?.separatorIcon?(E(),de(i(He),{key:0,class:A(i(a).e("separator"))},{default:ie(()=>[(E(),de(dt(i(o).separatorIcon)))]),_:1},8,["class"])):(E(),F("span",{key:1,class:A(i(a).e("separator")),role:"presentation"},ye(i(o)?.separator),3))],2))}}),dx=N6;const _6=ut(T6,{BreadcrumbItem:dx}),I6=un(dx),Eh=["default","primary","success","warning","info","danger","text",""],M6=["button","submit","reset"],$h=Te({size:On,disabled:{type:Boolean,default:void 0},type:{type:String,values:Eh,default:""},icon:{type:Gt},nativeType:{type:String,values:M6,default:"button"},loading:Boolean,loadingIcon:{type:Gt,default:()=>sa},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,dashed:{type:Boolean,default:void 0},color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:ne([String,Object]),default:"button"}}),O6={click:e=>e instanceof MouseEvent},fx=Symbol(),of=B();function Rl(e,t=void 0){const n=ct()?Be(fx,of):of;return e?C(()=>n.value?.[e]??t):n}function kp(e,t){const n=Rl(),o=ke(e,C(()=>n.value?.namespace||"el")),a=Tt(C(()=>n.value?.locale)),l=uc(C(()=>{const r=n.value?.zIndex;return hn(r)||Number.isNaN(r)?S2:r})),s=C(()=>i(t)||n.value?.size||"");return zg(C(()=>i(n)||{})),{ns:o,locale:a,zIndex:l,size:s}}const zg=(e,t,n=!1)=>{const o=!!ct(),a=o?Rl():void 0,l=t?.provide??(o?kt:void 0);if(!l){Yt("provideGlobalConfig","provideGlobalConfig() can only be used inside setup().");return}const s=C(()=>{const r=i(e);return a?.value?P6(a.value,r):r});return l(fx,s),l(n2,C(()=>s.value.locale)),l(o2,C(()=>s.value.namespace)),l(C2,C(()=>s.value.zIndex)),l(A2,{size:C(()=>s.value.size||"")}),l(L2,C(()=>({emptyValues:s.value.emptyValues,valueOnClear:s.value.valueOnClear}))),(n||!of.value)&&(of.value=s.value),s},P6=(e,t)=>{const n=[...new Set([...Su(e),...Su(t)])],o={};for(const a of n)o[a]=t[a]!==void 0?t[a]:e[a];return o},R6=Te({a11y:{type:Boolean,default:!0},locale:{type:ne(Object)},size:On,button:{type:ne(Object)},card:{type:ne(Object)},dialog:{type:ne(Object)},link:{type:ne(Object)},experimentalFeatures:{type:ne(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:ne(Object)},zIndex:Number,namespace:{type:String,default:"el"},table:{type:ne(Object)},...vr}),oo={placement:"top"},A6=fe({name:"ElConfigProvider",props:R6,setup(e,{slots:t}){const n=zg(e);return pe(()=>e.message,o=>{Object.assign(oo,n?.value?.message??{},o??{})},{immediate:!0,deep:!0}),()=>ue(t,"default",{config:n?.value})}}),D6=ut(A6),px=Symbol("buttonGroupContextKey"),L6=(e,t)=>{Va({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},C(()=>e.type==="text"));const n=Be(px,void 0),o=Rl("button"),{form:a}=Kn(),l=Nn(C(()=>n?.size)),s=cn(),r=B(),u=mn(),c=C(()=>e.type||n?.type||o.value?.type||""),d=C(()=>e.autoInsertSpace??o.value?.autoInsertSpace??!1),f=C(()=>e.plain??o.value?.plain??!1),v=C(()=>e.round??o.value?.round??!1),h=C(()=>e.text??o.value?.text??!1),g=C(()=>e.dashed??o.value?.dashed??!1),p=C(()=>e.tag==="button"?{ariaDisabled:s.value||e.loading,disabled:s.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=C(()=>{const b=u.default?.();if(d.value&&b?.length===1){const w=b[0];if(w?.type===gi){const S=w.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(S.trim())}}return!1});return{_disabled:s,_size:l,_type:c,_ref:r,_props:p,_plain:f,_round:v,_text:h,_dashed:g,shouldAddSpace:m,handleClick:b=>{if(s.value||e.loading){b.stopPropagation();return}e.nativeType==="reset"&&a?.resetFields(),t("click",b)}}};function to(e,t){B6(e)&&(e="100%");const n=V6(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Fc(e){return Math.min(1,Math.max(0,e))}function B6(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function V6(e){return typeof e=="string"&&e.indexOf("%")!==-1}function vx(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function zc(e){return Number(e)<=1?`${Number(e)*100}%`:e}function Os(e){return e.length===1?"0"+e:String(e)}function F6(e,t,n){return{r:to(e,255)*255,g:to(t,255)*255,b:to(n,255)*255}}function c1(e,t,n){e=to(e,255),t=to(t,255),n=to(n,255);const o=Math.max(e,t,n),a=Math.min(e,t,n);let l=0,s=0;const r=(o+a)/2;if(o===a)s=0,l=0;else{const u=o-a;switch(s=r>.5?u/(2-o-a):u/(o+a),o){case e:l=(t-n)/u+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function z6(e,t,n){let o,a,l;if(e=to(e,360),t=to(t,100),n=to(n,100),t===0)a=n,l=n,o=n;else{const s=n<.5?n*(1+t):n+t-n*t,r=2*n-s;o=mv(r,s,e+1/3),a=mv(r,s,e),l=mv(r,s,e-1/3)}return{r:o*255,g:a*255,b:l*255}}function d1(e,t,n){e=to(e,255),t=to(t,255),n=to(n,255);const o=Math.max(e,t,n),a=Math.min(e,t,n);let l=0;const s=o,r=o-a,u=o===0?0:r/o;if(o===a)l=0;else{switch(o){case e:l=(t-n)/r+(t>16,g:(e&65280)>>8,b:e&255}}const Th={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function U6(e){let t={r:0,g:0,b:0},n=1,o=null,a=null,l=null,s=!1,r=!1;return typeof e=="string"&&(e=X6(e)),typeof e=="object"&&(Do(e.r)&&Do(e.g)&&Do(e.b)?(t=F6(e.r,e.g,e.b),s=!0,r=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Do(e.h)&&Do(e.s)&&Do(e.v)?(o=zc(e.s),a=zc(e.v),t=H6(e.h,o,a),s=!0,r="hsv"):Do(e.h)&&Do(e.s)&&Do(e.l)?(o=zc(e.s),l=zc(e.l),t=z6(e.h,o,l),s=!0,r="hsl"):Do(e.c)&&Do(e.m)&&Do(e.y)&&Do(e.k)&&(t=W6(e.c,e.m,e.y,e.k),s=!0,r="cmyk"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=vx(n),{ok:s,format:e.format||r,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}const q6="[-\\+]?\\d+%?",G6="[-\\+]?\\d*\\.\\d+%?",Zl="(?:"+G6+")|(?:"+q6+")",gv="[\\s|\\(]+("+Zl+")[,|\\s]+("+Zl+")[,|\\s]+("+Zl+")\\s*\\)?",Hc="[\\s|\\(]+("+Zl+")[,|\\s]+("+Zl+")[,|\\s]+("+Zl+")[,|\\s]+("+Zl+")\\s*\\)?",Xo={CSS_UNIT:new RegExp(Zl),rgb:new RegExp("rgb"+gv),rgba:new RegExp("rgba"+Hc),hsl:new RegExp("hsl"+gv),hsla:new RegExp("hsla"+Hc),hsv:new RegExp("hsv"+gv),hsva:new RegExp("hsva"+Hc),cmyk:new RegExp("cmyk"+Hc),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function X6(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;let t=!1;if(Th[e])e=Th[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};let n=Xo.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Xo.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Xo.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Xo.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Xo.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Xo.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Xo.cmyk.exec(e),n?{c:n[1],m:n[2],y:n[3],k:n[4]}:(n=Xo.hex8.exec(e),n?{r:Lo(n[1]),g:Lo(n[2]),b:Lo(n[3]),a:v1(n[4]),format:t?"name":"hex8"}:(n=Xo.hex6.exec(e),n?{r:Lo(n[1]),g:Lo(n[2]),b:Lo(n[3]),format:t?"name":"hex"}:(n=Xo.hex4.exec(e),n?{r:Lo(n[1]+n[1]),g:Lo(n[2]+n[2]),b:Lo(n[3]+n[3]),a:v1(n[4]+n[4]),format:t?"name":"hex8"}:(n=Xo.hex3.exec(e),n?{r:Lo(n[1]+n[1]),g:Lo(n[2]+n[2]),b:Lo(n[3]+n[3]),format:t?"name":"hex"}:!1))))))))))}function Do(e){return typeof e=="number"?!Number.isNaN(e):Xo.CSS_UNIT.test(e)}class wn{constructor(t="",n={}){if(t instanceof wn)return t;typeof t=="number"&&(t=Y6(t)),this.originalInput=t;const o=U6(t);this.originalInput=t,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=n.format??o.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){const t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3}getLuminance(){const t=this.toRgb();let n,o,a;const l=t.r/255,s=t.g/255,r=t.b/255;return l<=.03928?n=l/12.92:n=Math.pow((l+.055)/1.055,2.4),s<=.03928?o=s/12.92:o=Math.pow((s+.055)/1.055,2.4),r<=.03928?a=r/12.92:a=Math.pow((r+.055)/1.055,2.4),.2126*n+.7152*o+.0722*a}getAlpha(){return this.a}setAlpha(t){return this.a=vx(t),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){const{s:t}=this.toHsl();return t===0}toHsv(){const t=d1(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}}toHsvString(){const t=d1(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.v*100);return this.a===1?`hsv(${n}, ${o}%, ${a}%)`:`hsva(${n}, ${o}%, ${a}%, ${this.roundA})`}toHsl(){const t=c1(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}}toHslString(){const t=c1(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.l*100);return this.a===1?`hsl(${n}, ${o}%, ${a}%)`:`hsla(${n}, ${o}%, ${a}%, ${this.roundA})`}toHex(t=!1){return f1(this.r,this.g,this.b,t)}toHexString(t=!1){return"#"+this.toHex(t)}toHex8(t=!1){return K6(this.r,this.g,this.b,this.a,t)}toHex8String(t=!1){return"#"+this.toHex8(t)}toHexShortString(t=!1){return this.a===1?this.toHexString(t):this.toHex8String(t)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){const t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?`rgb(${t}, ${n}, ${o})`:`rgba(${t}, ${n}, ${o}, ${this.roundA})`}toPercentageRgb(){const t=n=>`${Math.round(to(n,255)*100)}%`;return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}}toPercentageRgbString(){const t=n=>Math.round(to(n,255)*100);return this.a===1?`rgb(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%)`:`rgba(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%, ${this.roundA})`}toCmyk(){return{...p1(this.r,this.g,this.b)}}toCmykString(){const{c:t,m:n,y:o,k:a}=p1(this.r,this.g,this.b);return`cmyk(${t}, ${n}, ${o}, ${a})`}toName(){if(this.a===0)return"transparent";if(this.a<1)return!1;const t="#"+f1(this.r,this.g,this.b,!1);for(const[n,o]of Object.entries(Th))if(t===o)return n;return!1}toString(t){const n=!!t;t=t??this.format;let o=!1;const a=this.a<1&&this.a>=0;return!n&&a&&(t.startsWith("hex")||t==="name")?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),t==="cmyk"&&(o=this.toCmykString()),o||this.toHexString())}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new wn(this.toString())}lighten(t=10){const n=this.toHsl();return n.l+=t/100,n.l=Fc(n.l),new wn(n)}brighten(t=10){const n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new wn(n)}darken(t=10){const n=this.toHsl();return n.l-=t/100,n.l=Fc(n.l),new wn(n)}tint(t=10){return this.mix("white",t)}shade(t=10){return this.mix("black",t)}desaturate(t=10){const n=this.toHsl();return n.s-=t/100,n.s=Fc(n.s),new wn(n)}saturate(t=10){const n=this.toHsl();return n.s+=t/100,n.s=Fc(n.s),new wn(n)}greyscale(){return this.desaturate(100)}spin(t){const n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new wn(n)}mix(t,n=50){const o=this.toRgb(),a=new wn(t).toRgb(),l=n/100,s={r:(a.r-o.r)*l+o.r,g:(a.g-o.g)*l+o.g,b:(a.b-o.b)*l+o.b,a:(a.a-o.a)*l+o.a};return new wn(s)}analogous(t=6,n=30){const o=this.toHsl(),a=360/n,l=[this];for(o.h=(o.h-(a*t>>1)+720)%360;--t;)o.h=(o.h+a)%360,l.push(new wn(o));return l}complement(){const t=this.toHsl();return t.h=(t.h+180)%360,new wn(t)}monochromatic(t=6){const n=this.toHsv(),{h:o}=n,{s:a}=n;let{v:l}=n;const s=[],r=1/t;for(;t--;)s.push(new wn({h:o,s:a,v:l})),l=(l+r)%1;return s}splitcomplement(){const t=this.toHsl(),{h:n}=t;return[this,new wn({h:(n+72)%360,s:t.s,l:t.l}),new wn({h:(n+216)%360,s:t.s,l:t.l})]}onBackground(t){const n=this.toRgb(),o=new wn(t).toRgb(),a=n.a+o.a*(1-n.a);return new wn({r:(n.r*n.a+o.r*o.a*(1-n.a))/a,g:(n.g*n.a+o.g*o.a*(1-n.a))/a,b:(n.b*n.a+o.b*o.a*(1-n.a))/a,a})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(t){const n=this.toHsl(),{h:o}=n,a=[this],l=360/t;for(let s=1;s{let o={},a=e.color;if(a){const l=a.match(/var\((.*?)\)/);l&&(a=window.getComputedStyle(window.document.documentElement).getPropertyValue(l[1]));const s=new wn(a),r=e.dark?s.tint(20).toString():_a(s,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?_a(s,90):s.tint(90).toString(),"text-color":a,"border-color":e.dark?_a(s,50):s.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":a,"hover-border-color":a,"active-bg-color":r,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":r}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?_a(s,90):s.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?_a(s,50):s.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?_a(s,80):s.tint(80).toString());else if(e.link||e.text){const u=e.dark?_a(s,30):s.tint(30).toString();if(o=n.cssVarBlock({"text-color":a,"hover-text-color":u,"active-text-color":r}),e.link&&(o[n.cssVarBlockName("hover-link-text-color")]=u,o[n.cssVarBlockName("active-color")]=r),t.value){const c=e.dark?_a(s,50):s.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]="transparent",o[n.cssVarBlockName("disabled-text-color")]=c,o[n.cssVarBlockName("disabled-border-color")]="transparent"}}else{const u=e.dark?_a(s,30):s.tint(30).toString(),c=s.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":a,"text-color":c,"border-color":a,"hover-bg-color":u,"hover-text-color":c,"hover-border-color":u,"active-bg-color":r,"active-border-color":r}),t.value){const d=e.dark?_a(s,50):s.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=d,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=d}}}return o})}var J6=fe({name:"ElButton",__name:"button",props:$h,emits:O6,setup(e,{expose:t,emit:n}){const o=e,a=n,l=Z6(o),s=ke("button"),{_ref:r,_size:u,_type:c,_disabled:d,_props:f,_plain:v,_round:h,_text:g,_dashed:p,shouldAddSpace:m,handleClick:y}=L6(o,a),b=C(()=>[s.b(),s.m(c.value),s.m(u.value),s.is("disabled",d.value),s.is("loading",o.loading),s.is("plain",v.value),s.is("round",h.value),s.is("circle",o.circle),s.is("text",g.value),s.is("dashed",p.value),s.is("link",o.link),s.is("has-bg",o.bg)]);return t({ref:r,size:u,type:c,disabled:d,shouldAddSpace:m}),(w,S)=>(E(),de(dt(e.tag),ft({ref_key:"_ref",ref:r},i(f),{class:b.value,style:i(l),onClick:i(y)}),{default:ie(()=>[e.loading?(E(),F(Oe,{key:0},[w.$slots.loading?ue(w.$slots,"loading",{key:0}):(E(),de(i(He),{key:1,class:A(i(s).is("loading"))},{default:ie(()=>[(E(),de(dt(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||w.$slots.icon?(E(),de(i(He),{key:1},{default:ie(()=>[e.icon?(E(),de(dt(e.icon),{key:0})):ue(w.$slots,"icon",{key:1})]),_:3})):se("v-if",!0),w.$slots.default?(E(),F("span",{key:2,class:A({[i(s).em("text","expand")]:i(m)})},[ue(w.$slots,"default")],2)):se("v-if",!0)]),_:3},16,["class","style","onClick"]))}}),Q6=J6;const eF={size:$h.size,type:$h.type,direction:{type:ne(String),values:["horizontal","vertical"],default:"horizontal"}};var tF=fe({name:"ElButtonGroup",__name:"button-group",props:eF,setup(e){const t=e;kt(px,zt({size:bt(t,"size"),type:bt(t,"type")}));const n=ke("button");return(o,a)=>(E(),F("div",{class:A([i(n).b("group"),i(n).bm("group",t.direction)])},[ue(o.$slots,"default")],2))}}),hx=tF;const Fn=ut(Q6,{ButtonGroup:hx}),mx=un(hx),nF=e=>xe(e)&&e.length===2&&e.every(t=>ts(t)),oF=Te({modelValue:{type:Date},range:{type:ne(Array),validator:nF},controllerType:{type:String,values:["button","select"],default:"button"},formatter:{type:ne(Function)}}),aF={[at]:e=>ts(e),[Tn]:e=>ts(e)},h1=["hours","minutes","seconds"],tl="EP_PICKER_BASE",Hg="ElPopperOptions",gx=Symbol("commonPickerContextKey"),m1="HH:mm:ss",_r="YYYY-MM-DD",lF={date:_r,dates:_r,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:`${_r} ${m1}`,monthrange:"YYYY-MM",yearrange:"YYYY",daterange:_r,datetimerange:`${_r} ${m1}`};function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dd={exports:{}},sF=dd.exports,g1;function rF(){return g1||(g1=1,(function(e,t){(function(n,o){e.exports=o()})(sF,(function(){var n=1e3,o=6e4,a=36e5,l="millisecond",s="second",r="minute",u="hour",c="day",d="week",f="month",v="quarter",h="year",g="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(L){var z=["th","st","nd","rd"],O=L%100;return"["+L+(z[(O-20)%10]||z[O]||z[0])+"]"}},w=function(L,z,O){var R=String(L);return!R||R.length>=z?L:""+Array(z+1-R.length).join(O)+L},S={s:w,z:function(L){var z=-L.utcOffset(),O=Math.abs(z),R=Math.floor(O/60),D=O%60;return(z<=0?"+":"-")+w(R,2,"0")+":"+w(D,2,"0")},m:function L(z,O){if(z.date()1)return L(V[0])}else{var Y=z.name;x[Y]=z,D=Y}return!R&&D&&(k=D),D||!R&&k},I=function(L,z){if($(L))return L.clone();var O=typeof z=="object"?z:{};return O.date=L,O.args=arguments,new _(O)},P=S;P.l=T,P.i=$,P.w=function(L,z){return I(L,{locale:z.$L,utc:z.$u,x:z.$x,$offset:z.$offset})};var _=(function(){function L(O){this.$L=T(O.locale,null,!0),this.parse(O),this.$x=this.$x||O.x||{},this[N]=!0}var z=L.prototype;return z.parse=function(O){this.$d=(function(R){var D=R.date,K=R.utc;if(D===null)return new Date(NaN);if(P.u(D))return new Date;if(D instanceof Date)return new Date(D);if(typeof D=="string"&&!/Z$/i.test(D)){var V=D.match(m);if(V){var Y=V[2]-1||0,G=(V[7]||"0").substring(0,3);return K?new Date(Date.UTC(V[1],Y,V[3]||1,V[4]||0,V[5]||0,V[6]||0,G)):new Date(V[1],Y,V[3]||1,V[4]||0,V[5]||0,V[6]||0,G)}}return new Date(D)})(O),this.init()},z.init=function(){var O=this.$d;this.$y=O.getFullYear(),this.$M=O.getMonth(),this.$D=O.getDate(),this.$W=O.getDay(),this.$H=O.getHours(),this.$m=O.getMinutes(),this.$s=O.getSeconds(),this.$ms=O.getMilliseconds()},z.$utils=function(){return P},z.isValid=function(){return this.$d.toString()!==p},z.isSame=function(O,R){var D=I(O);return this.startOf(R)<=D&&D<=this.endOf(R)},z.isAfter=function(O,R){return I(O)[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),yx=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),bx=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),y1=function(e,t){const n=ts(e),o=ts(t);return n&&o?e.getTime()===t.getTime():!n&&!o?e===t:!1},wx=function(e,t){const n=xe(e),o=xe(t);return n&&o?e.length!==t.length?!1:e.every((a,l)=>y1(a,t[l])):!n&&!o?y1(e,t):!1},b1=function(e,t,n){const o=mo(t)||t==="x"?ot(e).locale(n):ot(e,t).locale(n);return o.isValid()?o:void 0},w1=function(e,t,n){return mo(t)?e:t==="x"?+e:ot(e).locale(n).format(t)},bv=(e,t)=>{const n=[],o=t?.();for(let a=0;axe(e)?e.map(t=>t.toDate()):e.toDate(),Kg=Te({disabledHours:{type:ne(Function)},disabledMinutes:{type:ne(Function)},disabledSeconds:{type:ne(Function)}}),Sx=Te({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),Wg=Te({automaticDropdown:{type:Boolean,default:!0},id:{type:ne([Array,String])},name:{type:ne([Array,String])},popperClass:on.popperClass,popperStyle:on.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:ne([String,Object]),default:el},editable:{type:Boolean,default:!0},saveOnBlur:{type:Boolean,default:!0},prefixIcon:{type:ne([String,Object]),default:""},size:On,readonly:Boolean,disabled:{type:Boolean,default:void 0},placeholder:{type:String,default:""},popperOptions:{type:ne(Object),default:()=>({})},modelValue:{type:ne([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:ne([Date,Array])},defaultTime:{type:ne([Date,Array])},isRange:Boolean,...Kg,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:ne([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,singlePanel:Boolean,placement:{type:ne(String),values:Ja,default:"bottom"},fallbackPlacements:{type:ne(Array),default:["bottom","top","right","left"]},...vr,...co(["ariaLabel"]),showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),uF=Te({id:{type:ne(Array)},name:{type:ne(Array)},modelValue:{type:ne([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),Cx=(e,t)=>{const{lang:n}=Tt(),o=B(!1),a=B(!1),l=B(null),s=C(()=>{const{modelValue:g}=e;return!g||xe(g)&&!g.filter(Boolean).length}),r=g=>{if(!wx(e.modelValue,g)){let p;xe(g)?p=g.map(m=>w1(m,e.valueFormat,n.value)):g&&(p=w1(g,e.valueFormat,n.value)),t(at,g&&p,n.value)}},u=C(()=>{let g;if(s.value?c.value.getDefaultValue&&(g=c.value.getDefaultValue()):xe(e.modelValue)?g=e.modelValue.map(p=>b1(p,e.valueFormat,n.value)):g=b1(e.modelValue??"",e.valueFormat,n.value),c.value.getRangeAvailableTime){const p=c.value.getRangeAvailableTime(g);dn(p,g)||(g=p,s.value||r(fd(g)))}return xe(g)&&g.some(p=>!p)&&(g=[]),g}),c=B({});return{parsedValue:u,pickerActualVisible:a,pickerOptions:c,pickerVisible:o,userInput:l,valueIsEmpty:s,emitInput:r,onCalendarChange:g=>{t("calendar-change",g)},onPanelChange:(g,p,m)=>{t("panel-change",g,p,m)},onPick:(g="",p=!1)=>{o.value=p;let m;xe(g)?m=g.map(y=>y.toDate()):m=g&&g.toDate(),l.value=null,r(m)},onSetPickerOption:g=>{c.value[g[0]]=g[1],c.value.panelReady=!0}}},cF=["id","name","placeholder","value","disabled"],dF=["id","name","placeholder","value","disabled"];var fF=fe({name:"PickerRangeTrigger",inheritAttrs:!1,__name:"picker-range-trigger",props:uF,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(e,{expose:t,emit:n}){const o=e,a=n,{formItem:l}=Kn(),{inputId:s}=Ro(zt({id:C(()=>o.id?.[0])}),{formItemContext:l}),r=rp(),u=ke("date"),c=ke("range"),d=B(),f=B(),{wrapperRef:v,isFocused:h}=Pl(d,{disabled:C(()=>o.disabled)}),g=$=>{a("click",$)},p=$=>{a("mouseenter",$)},m=$=>{a("mouseleave",$)},y=$=>{a("touchstart",$)},b=$=>{a("startInput",$)},w=$=>{a("endInput",$)},S=$=>{a("startChange",$)},k=$=>{a("endChange",$)};return t({focus:()=>{d.value?.focus()},blur:()=>{d.value?.blur(),f.value?.blur()}}),($,T)=>(E(),F("div",{ref_key:"wrapperRef",ref:v,class:A([i(u).is("active",i(h)),$.$attrs.class]),style:Fe($.$attrs.style),onClick:g,onMouseenter:p,onMouseleave:m,onTouchstartPassive:y},[ue($.$slots,"prefix"),M("input",ft(i(r),{id:i(s),ref_key:"inputRef",ref:d,name:$.name&&$.name[0],placeholder:$.startPlaceholder,value:$.modelValue&&$.modelValue[0],class:i(c).b("input"),disabled:$.disabled,onInput:b,onChange:S}),null,16,cF),ue($.$slots,"range-separator"),M("input",ft(i(r),{id:$.id&&$.id[1],ref_key:"endInputRef",ref:f,name:$.name&&$.name[1],placeholder:$.endPlaceholder,value:$.modelValue&&$.modelValue[1],class:i(c).b("input"),disabled:$.disabled,onInput:w,onChange:k}),null,16,dF),ue($.$slots,"suffix")],38))}}),pF=fF,vF=fe({name:"Picker",__name:"picker",props:Wg,emits:[at,xt,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:n}){const o=e,a=n,l=Za(),s=ke("date"),r=ke("input"),u=ke("range"),{formItem:c}=Kn(),d=Be(Hg,{}),f=pc(o,null),v=B(),h=B(),g=B(null);let p=!1;const m=cn(),y=Cx(o,a),{parsedValue:b,pickerActualVisible:w,userInput:S,pickerVisible:k,pickerOptions:x,valueIsEmpty:N,emitInput:$,onPick:T,onSetPickerOption:I,onCalendarChange:P,onPanelChange:_}=y,{isFocused:H,handleFocus:L,handleBlur:z}=Pl(h,{disabled:m,beforeFocus(){return o.readonly},afterFocus(){o.automaticDropdown&&(k.value=!0)},beforeBlur(Ne){return!p&&v.value?.isFocusInsideContent(Ne)},afterBlur(){oe.value&&!o.saveOnBlur?N.value||x.value.handleCancel?.():Me(),k.value=!1,p=!1,o.validateEvent&&c?.validate("blur").catch(ht)}}),O=B(!1),R=C(()=>[s.b("editor"),s.bm("editor",o.type),r.e("wrapper"),s.is("disabled",m.value),s.is("active",k.value),u.b("editor"),be?u.bm("editor",be.value):"",l.class]),D=C(()=>[r.e("icon"),u.e("close-icon"),U.value?"":u.em("close-icon","hidden")]);pe(k,Ne=>{Ne?Pe(()=>{Ne&&(g.value=o.modelValue)}):(S.value=null,Pe(()=>{K(o.modelValue)}))});const K=(Ne,Ge)=>{(Ge||!wx(Ne,g.value))&&(a(xt,Ne),Ge&&(g.value=Ne),o.validateEvent&&c?.validate("change").catch(ht))},V=Ne=>{a("keydown",Ne)},Y=C(()=>h.value?Array.from(h.value.$el.querySelectorAll("input")):[]),G=(Ne,Ge,Le)=>{const nt=Y.value;nt.length&&(!Le||Le==="min"?(nt[0].setSelectionRange(Ne,Ge),nt[0].focus()):Le==="max"&&(nt[1].setSelectionRange(Ne,Ge),nt[1].focus()))},q=()=>{w.value=!0},X=()=>{a("visible-change",!0)},Z=()=>{w.value=!1,k.value=!1,a("visible-change",!1)},J=()=>{k.value=!0},ae=()=>{k.value=!1},ve=C(()=>{const Ne=tt(b.value);return xe(S.value)?[S.value[0]??(Ne&&Ne[0])??"",S.value[1]??(Ne&&Ne[1])??""]:S.value!==null?S.value:oe.value&&N.value&&!o.saveOnBlur||!oe.value&&N.value||!k.value&&N.value?"":Ne?re.value||W.value||te.value?Ne.join(", "):Ne:""}),me=C(()=>o.type.includes("time")),oe=C(()=>o.type.startsWith("time")),re=C(()=>o.type==="dates"),W=C(()=>o.type==="months"),te=C(()=>o.type==="years"),j=C(()=>o.prefixIcon||(me.value?z2:VL)),U=C(()=>o.clearable&&!m.value&&!o.readonly&&!N.value&&(O.value||H.value)),Q=Ne=>{o.readonly||m.value||(U.value&&(Ne?.stopPropagation(),x.value.handleClear?x.value.handleClear():$(f.valueOnClear.value),K(f.valueOnClear.value,!0),Z()),a("clear"))},le=async Ne=>{o.readonly||m.value||(Ne.target?.tagName!=="INPUT"||H.value||!o.automaticDropdown)&&(k.value=!0)},ce=()=>{o.readonly||m.value||!N.value&&o.clearable&&(O.value=!0)},Ce=()=>{O.value=!1},we=Ne=>{o.readonly||m.value||(Ne.touches[0].target?.tagName!=="INPUT"||H.value||!o.automaticDropdown)&&(k.value=!0)},he=C(()=>o.type.includes("range")),be=Nn(),ge=C(()=>i(v)?.popperRef?.contentRef),$e=cg(h,Ne=>{const Ge=i(ge),Le=Mn(h);Ge&&(Ne.target===Ge||Ne.composedPath().includes(Ge))||Ne.target===Le||Le&&Ne.composedPath().includes(Le)||(k.value=!1)});Ht(()=>{$e?.()});const Me=()=>{if(oe.value&&!o.saveOnBlur)return;const Ne=xe(S.value)&&S.value.every(Ge=>Ge==="");if(S.value&&!Ne){const Ge=Qe(ve.value);Ge&&(qe(Ge)&&$(fd(Ge)),S.value=null)}(S.value===""||Ne)&&($(f.valueOnClear.value),K(f.valueOnClear.value,!0),S.value=null)},Qe=Ne=>Ne?x.value.parseUserInput(Ne):null,tt=Ne=>Ne?xe(Ne)?Ne.map(Ge=>Ge.format(o.format)):Ne.format(o.format):null,qe=Ne=>x.value.isValidValue(Ne),Et=async Ne=>{if(o.readonly||m.value)return;const Ge=Xt(Ne);if(V(Ne),Ge===Ee.esc){k.value===!0&&(k.value=!1,Ne.preventDefault(),Ne.stopPropagation());return}if(Ge===Ee.down&&(x.value.handleFocusPicker&&(Ne.preventDefault(),Ne.stopPropagation()),k.value===!1&&(k.value=!0,await Pe()),x.value.handleFocusPicker)){x.value.handleFocusPicker();return}if(Ge===Ee.tab){p=!0;return}if(Ge===Ee.enter||Ge===Ee.numpadEnter){k.value?S.value===null||S.value===""||qe(Qe(ve.value))?(Me(),k.value=!1):qe(Qe(ve.value))||Yt("Picker",`Invalid user input: ${ve.value}. Please check the format of the input.`):k.value=!0,Ne.preventDefault(),Ne.stopPropagation();return}if(S.value){Ne.stopPropagation();return}x.value.handleKeydownInput&&x.value.handleKeydownInput(Ne)},At=Ne=>{S.value=Ne,k.value||(k.value=!0)},Kt=Ne=>{const Ge=Ne.target;S.value?S.value=[Ge.value,S.value[1]]:S.value=[Ge.value,null]},Rt=Ne=>{const Ge=Ne.target;S.value?S.value=[S.value[0],Ge.value]:S.value=[null,Ge.value]},Ut=()=>{const Ne=S.value,Ge=Qe(Ne&&Ne[0]),Le=i(b);if(Ge&&Ge.isValid()){S.value=[tt(Ge),ve.value?.[1]||null];const nt=[Ge,Le&&(Le[1]||null)];qe(nt)&&($(fd(nt)),S.value=null)}},Se=()=>{const Ne=i(S),Ge=Qe(Ne&&Ne[1]),Le=i(b);if(Ge&&Ge.isValid()){S.value=[i(ve)?.[0]||null,tt(Ge)];const nt=[Le&&Le[0],Ge];qe(nt)&&($(fd(nt)),S.value=null)}},_e=()=>{h.value?.focus()},Ze=()=>{h.value?.blur()};return kt(tl,{props:o,emptyValues:f}),kt(gx,y),t({focus:_e,blur:Ze,handleOpen:J,handleClose:ae,onPick:T}),(Ne,Ge)=>(E(),de(i(Hn),ft({ref_key:"refPopper",ref:v,visible:i(k),effect:"light",pure:"",trigger:"click"},Ne.$attrs,{role:"dialog",teleported:"",transition:`${i(s).namespace.value}-zoom-in-top`,"popper-class":[`${i(s).namespace.value}-picker__popper`,Ne.popperClass],"popper-style":Ne.popperStyle,"popper-options":i(d),"fallback-placements":Ne.fallbackPlacements,"gpu-acceleration":!1,placement:Ne.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:q,onShow:X,onHide:Z}),{default:ie(()=>[he.value?(E(),de(pF,{key:1,id:Ne.id,ref_key:"inputRef",ref:h,"model-value":ve.value,name:Ne.name,disabled:i(m),readonly:!Ne.editable||Ne.readonly,"start-placeholder":Ne.startPlaceholder,"end-placeholder":Ne.endPlaceholder,class:A(R.value),style:Fe(Ne.$attrs.style),"aria-label":Ne.ariaLabel,tabindex:Ne.tabindex,autocomplete:"off",role:"combobox",onClick:le,onFocus:i(L),onBlur:i(z),onStartInput:Kt,onStartChange:Ut,onEndInput:Rt,onEndChange:Se,onMousedown:le,onMouseenter:ce,onMouseleave:Ce,onTouchstartPassive:we,onKeydown:Et},{prefix:ie(()=>[j.value?(E(),de(i(He),{key:0,class:A([i(r).e("icon"),i(u).e("icon")])},{default:ie(()=>[(E(),de(dt(j.value)))]),_:1},8,["class"])):se("v-if",!0)]),"range-separator":ie(()=>[ue(Ne.$slots,"range-separator",{},()=>[M("span",{class:A(i(u).b("separator"))},ye(Ne.rangeSeparator),3)])]),suffix:ie(()=>[Ne.clearIcon?(E(),de(i(He),{key:0,class:A(D.value),onMousedown:et(i(ht),["prevent"]),onClick:Q},{default:ie(()=>[(E(),de(dt(Ne.clearIcon)))]),_:1},8,["class","onMousedown"])):se("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(E(),de(i(Gn),{key:0,id:Ne.id,ref_key:"inputRef",ref:h,"container-role":"combobox","model-value":ve.value,name:Ne.name,size:i(be),disabled:i(m),placeholder:Ne.placeholder,class:A([i(s).b("editor"),i(s).bm("editor",Ne.type),i(s).is("focus",i(k)),Ne.$attrs.class]),style:Fe(Ne.$attrs.style),readonly:!Ne.editable||Ne.readonly||re.value||W.value||te.value||Ne.type==="week","aria-label":Ne.ariaLabel,tabindex:Ne.tabindex,"validate-event":!1,onInput:At,onFocus:i(L),onBlur:i(z),onKeydown:Et,onChange:Me,onMousedown:le,onMouseenter:ce,onMouseleave:Ce,onTouchstartPassive:we,onClick:Ge[0]||(Ge[0]=et(()=>{},["stop"]))},{prefix:ie(()=>[j.value?(E(),de(i(He),{key:0,class:A(i(r).e("icon")),onMousedown:et(le,["prevent"]),onTouchstartPassive:we},{default:ie(()=>[(E(),de(dt(j.value)))]),_:1},8,["class"])):se("v-if",!0)]),suffix:ie(()=>[U.value&&Ne.clearIcon?(E(),de(i(He),{key:0,class:A(`${i(r).e("icon")} clear-icon`),onMousedown:et(i(ht),["prevent"]),onClick:Q},{default:ie(()=>[(E(),de(dt(Ne.clearIcon)))]),_:1},8,["class","onMousedown"])):se("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur"]))]),content:ie(()=>[ue(Ne.$slots,"default",{visible:i(k),actualVisible:i(w),parsedValue:i(b),format:Ne.format,dateFormat:Ne.dateFormat,timeFormat:Ne.timeFormat,unlinkPanels:Ne.unlinkPanels,type:Ne.type,defaultValue:Ne.defaultValue,showNow:Ne.showNow,showConfirm:Ne.showConfirm,showFooter:Ne.showFooter,showWeekNumber:Ne.showWeekNumber,singlePanel:Ne.singlePanel,onPick:Ge[1]||(Ge[1]=(...Le)=>i(T)&&i(T)(...Le)),onSelectRange:G,onSetPickerOption:Ge[2]||(Ge[2]=(...Le)=>i(I)&&i(I)(...Le)),onCalendarChange:Ge[3]||(Ge[3]=(...Le)=>i(P)&&i(P)(...Le)),onClear:Q,onPanelChange:Ge[4]||(Ge[4]=(...Le)=>i(_)&&i(_)(...Le)),onMousedown:Ge[5]||(Ge[5]=et(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}}),kx=vF;const Kl=new Map;if(Lt){let e;document.addEventListener("mousedown",t=>e=t),document.addEventListener("mouseup",t=>{if(e){for(const n of Kl.values())for(const{documentHandler:o}of n)o(t,e);e=void 0}})}function S1(e,t){let n=[];return xe(t.arg)?n=t.arg:No(t.arg)&&n.push(t.arg),function(o,a){const l=t.instance.popperRef,s=o.target,r=a?.target,u=!t||!t.instance,c=!s||!r,d=e.contains(s)||e.contains(r),f=e===s,v=n.length&&n.some(g=>g?.contains(s))||n.length&&n.includes(r),h=l&&(l.contains(s)||l.contains(r));u||c||d||f||v||h||t.value(o,a)}}const cs={beforeMount(e,t){Kl.has(e)||Kl.set(e,[]),Kl.get(e).push({documentHandler:S1(e,t),bindingFn:t.value})},updated(e,t){Kl.has(e)||Kl.set(e,[]);const n=Kl.get(e),o=n.findIndex(l=>l.bindingFn===t.oldValue),a={documentHandler:S1(e,t),bindingFn:t.value};o>=0?n.splice(o,1,a):n.push(a)},unmounted(e){Kl.delete(e)}},Kc="_RepeatClick",af={beforeMount(e,t){const n=t.value,{interval:o=100,delay:a=600}=je(n)?{}:n;let l,s;const r=()=>je(n)?n():n.handler(),u=()=>{s&&(clearTimeout(s),s=void 0),l&&(clearInterval(l),l=void 0)},c=d=>{d.button===0&&(u(),r(),document.addEventListener("mouseup",u,{once:!0,capture:!0}),s=setTimeout(()=>{l=setInterval(()=>{r()},o)},a))};e[Kc]={start:c,clear:u},e.addEventListener("mousedown",c)},unmounted(e){if(!e[Kc])return;const{start:t,clear:n}=e[Kc];t&&e.removeEventListener("mousedown",t),n&&(n(),document.removeEventListener("mouseup",n,!0)),e[Kc]=null}},Nh="_trap-focus-children",Ps=[],C1=e=>{if(Ps.length===0)return;const t=Xt(e),n=Ps[Ps.length-1][Nh];if(n.length>0&&t===Ee.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const o=e.shiftKey,a=e.target===n[0],l=e.target===n[n.length-1];a&&o&&(e.preventDefault(),n[n.length-1].focus()),l&&!o&&(e.preventDefault(),n[0].focus())}},hF={beforeMount(e){e[Nh]=g0(e),Ps.push(e),Ps.length<=1&&document.addEventListener("keydown",C1)},updated(e){Pe(()=>{e[Nh]=g0(e)})},unmounted(){Ps.shift(),Ps.length===0&&document.removeEventListener("keydown",C1)}};var k1=!1,$s,_h,Ih,pd,vd,xx,hd,Mh,Oh,Ph,Ex,Rh,Ah,$x,Tx;function xo(){if(!k1){k1=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Rh=/\b(iPhone|iP[ao]d)/.exec(e),Ah=/\b(iP[ao]d)/.exec(e),Ph=/Android/i.exec(e),$x=/FBAN\/\w+;/i.exec(e),Tx=/Mobile/i.exec(e),Ex=!!/Win64/.exec(e),t){$s=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,$s&&document&&document.documentMode&&($s=document.documentMode);var o=/(?:Trident\/(\d+.\d+))/.exec(e);xx=o?parseFloat(o[1])+4:$s,_h=t[2]?parseFloat(t[2]):NaN,Ih=t[3]?parseFloat(t[3]):NaN,pd=t[4]?parseFloat(t[4]):NaN,pd?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),vd=t&&t[1]?parseFloat(t[1]):NaN):vd=NaN}else $s=_h=Ih=vd=pd=NaN;if(n){if(n[1]){var a=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);hd=a?parseFloat(a[1].replace("_",".")):!0}else hd=!1;Mh=!!n[2],Oh=!!n[3]}else hd=Mh=Oh=!1}}var Dh={ie:function(){return xo()||$s},ieCompatibilityMode:function(){return xo()||xx>$s},ie64:function(){return Dh.ie()&&Ex},firefox:function(){return xo()||_h},opera:function(){return xo()||Ih},webkit:function(){return xo()||pd},safari:function(){return Dh.webkit()},chrome:function(){return xo()||vd},windows:function(){return xo()||Mh},osx:function(){return xo()||hd},linux:function(){return xo()||Oh},iphone:function(){return xo()||Rh},mobile:function(){return xo()||Rh||Ah||Ph||Tx},nativeApp:function(){return xo()||$x},android:function(){return xo()||Ph},ipad:function(){return xo()||Ah}},mF=Dh,gF=!!(typeof window<"u"&&window.document&&window.document.createElement),yF={canUseDOM:gF},Nx=yF,_x;Nx.canUseDOM&&(_x=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function bF(e,t){if(!Nx.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var a=document.createElement("div");a.setAttribute(n,"return;"),o=typeof a[n]=="function"}return!o&&_x&&e==="wheel"&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var wF=bF,x1=10,E1=40,$1=800;function Ix(e){var t=0,n=0,o=0,a=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=t*x1,a=n*x1,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||a)&&e.deltaMode&&(e.deltaMode==1?(o*=E1,a*=E1):(o*=$1,a*=$1)),o&&!t&&(t=o<1?-1:1),a&&!n&&(n=a<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:a}}Ix.getEventType=function(){return mF.firefox()?"DOMMouseScroll":wF("wheel")?"wheel":"mousewheel"};var SF=Ix;const Lh="_Mousewheel",T1=function(e,t){if(e&&e.addEventListener){Mx(e);const n=function(o){const a=SF(o);t&&Reflect.apply(t,this,[o,a])};e[Lh]={wheelHandler:n},e.addEventListener("wheel",n,{passive:!0})}},Mx=e=>{e._Mousewheel?.wheelHandler&&(e.removeEventListener("wheel",e[Lh].wheelHandler),e[Lh]=null)},N1={beforeMount(e,t){T1(e,t.value)},unmounted(e){Mx(e)},updated(e,t){t.value!==t.oldValue&&T1(e,t.value)}},CF=Te({...Sx,datetimeRole:String,parsedValue:{type:ne(Object)}}),Ox=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:n})=>{const o=(s,r,u,c)=>{const d={hour:e,minute:t,second:n};let f=s;return["hour","minute","second"].forEach(v=>{if(d[v]){let h;const g=d[v];switch(v){case"minute":h=g(f.hour(),r,c);break;case"second":h=g(f.hour(),f.minute(),r,c);break;default:h=g(r,c);break}if(h?.length&&!h.includes(f[v]())){const p=u?0:h.length-1;f=f[v](h[p])}}}),f},a={};return{timePickerOptions:a,getAvailableTime:o,onSetOption:([s,r])=>{a[s]=r}}},wv=e=>{const t=(o,a)=>o||a,n=o=>o!==!0;return e.map(t).filter(n)},Px=(e,t,n)=>({getHoursList:(s,r)=>bv(24,e&&(()=>e?.(s,r))),getMinutesList:(s,r,u)=>bv(60,t&&(()=>t?.(s,r,u))),getSecondsList:(s,r,u,c)=>bv(60,n&&(()=>n?.(s,r,u,c)))}),Rx=(e,t,n)=>{const{getHoursList:o,getMinutesList:a,getSecondsList:l}=Px(e,t,n);return{getAvailableHours:(c,d)=>wv(o(c,d)),getAvailableMinutes:(c,d,f)=>wv(a(c,d,f)),getAvailableSeconds:(c,d,f,v)=>wv(l(c,d,f,v))}},Ax=(e,t)=>{const n=B(e.parsedValue);return pe(()=>e.visible,o=>{const a=Nt(t.modelValue),l=Nt(t.valueOnClear);if(o&&a===l){n.value=l;return}o||(n.value=e.parsedValue)}),n},kF=Te({role:{type:String,required:!0},spinnerDate:{type:ne(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:ne(String),default:""},...Kg}),xF=["onClick"],EF=["onMouseenter"];var $F=fe({__name:"basic-time-spinner",props:kF,emits:[xt,"select-range","set-option"],setup(e,{emit:t}){const n=e,{isRange:o,format:a,saveOnBlur:l}=Be(tl).props,s=t,r=ke("time"),{getHoursList:u,getMinutesList:c,getSecondsList:d}=Px(n.disabledHours,n.disabledMinutes,n.disabledSeconds);let f=!1;const v={hours:!1,minutes:!1,seconds:!1},h=B(),g={hours:B(),minutes:B(),seconds:B()},p=C(()=>n.showSeconds?h1:h1.slice(0,2)),m=C(()=>{const{spinnerDate:Y}=n;return{hours:Y.hour(),minutes:Y.minute(),seconds:Y.second()}}),y=C(()=>{const{hours:Y,minutes:G}=i(m),{role:q,spinnerDate:X}=n,Z=o?void 0:X;return{hours:u(q,Z),minutes:c(Y,q,Z),seconds:d(Y,G,q,Z)}}),b=C(()=>{const{hours:Y,minutes:G,seconds:q}=i(m);return{hours:yv(Y,23),minutes:yv(G,59),seconds:yv(q,59)}}),w=ja(Y=>{f=!1,x(Y)},200),S=Y=>{if(!n.amPmMode)return"";const G=n.amPmMode==="A";let q=Y<12?" am":" pm";return G&&(q=q.toUpperCase()),q},k=Y=>{let G=[0,0];const q=a||"HH:mm:ss",X=q.indexOf("HH"),Z=q.indexOf("mm"),J=q.indexOf("ss");switch(Y){case"hours":X!==-1&&(G=[X,X+2]);break;case"minutes":Z!==-1&&(G=[Z,Z+2]);break;case"seconds":J!==-1&&(G=[J,J+2]);break}const[ae,ve]=G;s("select-range",ae,ve),h.value=Y},x=Y=>{T(Y,i(m)[Y])},N=()=>{x("hours"),x("minutes"),x("seconds")},$=Y=>Y.querySelector(`.${r.namespace.value}-scrollbar__wrap`),T=(Y,G)=>{if(n.arrowControl)return;const q=i(g[Y]);q&&q.$el&&(l||(v[Y]=!0,Po(()=>{v[Y]=!1})),$(q.$el).scrollTop=Math.max(0,G*I(Y)))},I=Y=>{const G=i(g[Y])?.$el.querySelector("li");return G&&Number.parseFloat(fl(G,"height"))||0},P=()=>{H(1)},_=()=>{H(-1)},H=Y=>{h.value||k("hours");const G=h.value,q=i(m)[G],X=L(G,q,Y,h.value==="hours"?24:60);z(G,X),T(G,X),Pe(()=>k(G))},L=(Y,G,q,X)=>{let Z=(G+q+X)%X;const J=i(y)[Y];for(;J[Z]&&Z!==G;)Z=(Z+q+X)%X;return Z},z=(Y,G)=>{if(i(y)[Y][G])return;const{hours:q,minutes:X,seconds:Z}=i(m);let J;switch(Y){case"hours":J=n.spinnerDate.hour(G).minute(X).second(Z);break;case"minutes":J=n.spinnerDate.hour(q).minute(G).second(Z);break;case"seconds":J=n.spinnerDate.hour(q).minute(X).second(G);break}s(xt,J)},O=(Y,{value:G,disabled:q})=>{q||(z(Y,G),k(Y),T(Y,G))},R=Y=>{if(!l&&v[Y])return;const G=i(g[Y]);G&&(f=!0,w(Y),z(Y,Math.min(Math.round(($(G.$el).scrollTop-(D(Y)*.5-10)/I(Y)+3)/I(Y)),Y==="hours"?23:59)))},D=Y=>i(g[Y]).$el.offsetHeight,K=()=>{const Y=G=>{const q=i(g[G]);q&&q.$el&&($(q.$el).onscroll=()=>{R(G)})};Y("hours"),Y("minutes"),Y("seconds")};st(()=>{Pe(()=>{!n.arrowControl&&K(),N(),n.role==="start"&&k("hours")})});const V=(Y,G)=>{g[G].value=Y??void 0};return s("set-option",[`${n.role}_scrollDown`,H]),s("set-option",[`${n.role}_emitSelectRange`,k]),pe(()=>n.spinnerDate,()=>{f||N()}),(Y,G)=>(E(),F("div",{class:A([i(r).b("spinner"),{"has-seconds":Y.showSeconds}])},[Y.arrowControl?se("v-if",!0):(E(!0),F(Oe,{key:0},mt(p.value,q=>(E(),de(i(wa),{key:q,ref_for:!0,ref:X=>V(X,q),class:A(i(r).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":i(r).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:X=>k(q),onMousemove:X=>x(q)},{default:ie(()=>[(E(!0),F(Oe,null,mt(y.value[q],(X,Z)=>(E(),F("li",{key:Z,class:A([i(r).be("spinner","item"),i(r).is("active",Z===m.value[q]),i(r).is("disabled",X)]),onClick:J=>O(q,{value:Z,disabled:X})},[q==="hours"?(E(),F(Oe,{key:0},[ze(ye(("0"+(Y.amPmMode?Z%12||12:Z)).slice(-2))+ye(S(Z)),1)],64)):(E(),F(Oe,{key:1},[ze(ye(("0"+Z).slice(-2)),1)],64))],10,xF))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),Y.arrowControl?(E(!0),F(Oe,{key:1},mt(p.value,q=>(E(),F("div",{key:q,class:A([i(r).be("spinner","wrapper"),i(r).is("arrow")]),onMouseenter:X=>k(q)},[Ue((E(),de(i(He),{class:A(["arrow-up",i(r).be("spinner","arrow")])},{default:ie(()=>[ee(i(bp))]),_:1},8,["class"])),[[i(af),_]]),Ue((E(),de(i(He),{class:A(["arrow-down",i(r).be("spinner","arrow")])},{default:ie(()=>[ee(i(Qa))]),_:1},8,["class"])),[[i(af),P]]),M("ul",{class:A(i(r).be("spinner","list"))},[(E(!0),F(Oe,null,mt(b.value[q],(X,Z)=>(E(),F("li",{key:Z,class:A([i(r).be("spinner","item"),i(r).is("active",X===m.value[q]),i(r).is("disabled",y.value[q][X])])},[i(We)(X)?(E(),F(Oe,{key:0},[q==="hours"?(E(),F(Oe,{key:0},[ze(ye(("0"+(Y.amPmMode?X%12||12:X)).slice(-2))+ye(S(X)),1)],64)):(E(),F(Oe,{key:1},[ze(ye(("0"+X).slice(-2)),1)],64))],64)):se("v-if",!0)],2))),128))],2)],42,EF))),128)):se("v-if",!0)],2))}}),Bh=$F,TF=fe({__name:"panel-time-pick",props:CF,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,o=t,a=Be(tl),{arrowControl:l,disabledHours:s,disabledMinutes:r,disabledSeconds:u,defaultValue:c}=a.props,{getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:v}=Rx(s,r,u),h=ke("time"),{t:g,lang:p}=Tt(),m=B([0,2]),y=Ax(n,{modelValue:C(()=>a.props.modelValue),valueOnClear:C(()=>a?.emptyValues?a.emptyValues.valueOnClear.value:null)}),b=C(()=>_t(n.actualVisible)?`${h.namespace.value}-zoom-in-top`:""),w=C(()=>n.format.includes("ss")),S=C(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),k=D=>{const K=ot(D).locale(p.value),V=z(K);return K.isSame(V)},x=()=>{const D=y.value;o("pick",D,!1),Pe(()=>{y.value=D})},N=(D=!1,K=!1)=>{K||o("pick",n.parsedValue,D)},$=D=>{n.visible&&o("pick",z(D).millisecond(0),!0)},T=(D,K)=>{o("select-range",D,K),m.value=[D,K]},I=D=>{const K=n.format,V=K.indexOf("HH"),Y=K.indexOf("mm"),G=K.indexOf("ss"),q=[],X=[];V!==-1&&(q.push(V),X.push("hours")),Y!==-1&&(q.push(Y),X.push("minutes")),G!==-1&&w.value&&(q.push(G),X.push("seconds"));const Z=(q.indexOf(m.value[0])+D+q.length)%q.length;_.start_emitSelectRange(X[Z])},P=D=>{const K=Xt(D),{left:V,right:Y,up:G,down:q}=Ee;if([V,Y].includes(K)){I(K===V?-1:1),D.preventDefault();return}if([G,q].includes(K)){const X=K===G?-1:1;_.start_scrollDown(X),D.preventDefault();return}},{timePickerOptions:_,onSetOption:H,getAvailableTime:L}=Ox({getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:v}),z=D=>L(D,n.datetimeRole||"",!0),O=D=>D?ot(D,n.format).locale(p.value):null,R=()=>ot(c).locale(p.value);return o("set-picker-option",["isValidValue",k]),o("set-picker-option",["parseUserInput",O]),o("set-picker-option",["handleKeydownInput",P]),o("set-picker-option",["getRangeAvailableTime",z]),o("set-picker-option",["getDefaultValue",R]),o("set-picker-option",["handleCancel",x]),(D,K)=>(E(),de(Zn,{name:b.value},{default:ie(()=>[D.actualVisible||D.visible?(E(),F("div",{key:0,class:A(i(h).b("panel"))},[M("div",{class:A([i(h).be("panel","content"),{"has-seconds":w.value}])},[ee(Bh,{ref:"spinner",role:D.datetimeRole||"start","arrow-control":i(l),"show-seconds":w.value,"am-pm-mode":S.value,"spinner-date":D.parsedValue,"disabled-hours":i(s),"disabled-minutes":i(r),"disabled-seconds":i(u),onChange:$,onSetOption:i(H),onSelectRange:T},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),M("div",{class:A(i(h).be("panel","footer"))},[M("button",{type:"button",class:A([i(h).be("panel","btn"),"cancel"]),onClick:x},ye(i(g)("el.datepicker.cancel")),3),M("button",{type:"button",class:A([i(h).be("panel","btn"),"confirm"]),onClick:K[0]||(K[0]=V=>N())},ye(i(g)("el.datepicker.confirm")),3)],2)],2)):se("v-if",!0)]),_:1},8,["name"]))}}),lf=TF;const NF=Te({...Sx,parsedValue:{type:ne(Array)}}),_F=["disabled"];var IF=fe({__name:"panel-time-range",props:NF,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,o=t,a=(re,W)=>{const te=[];for(let j=re;j<=W;j++)te.push(j);return te},{t:l,lang:s}=Tt(),r=ke("time"),u=ke("picker"),c=Be(tl),{arrowControl:d,disabledHours:f,disabledMinutes:v,disabledSeconds:h,defaultValue:g}=c.props,p=C(()=>[r.be("range-picker","body"),r.be("panel","content"),r.is("arrow",d),k.value?"has-seconds":""]),m=C(()=>[r.be("range-picker","body"),r.be("panel","content"),r.is("arrow",d),k.value?"has-seconds":""]),y=C(()=>n.parsedValue[0]),b=C(()=>n.parsedValue[1]),w=Ax(n,{modelValue:C(()=>c.props.modelValue),valueOnClear:C(()=>c?.emptyValues?c.emptyValues.valueOnClear.value:null)}),S=()=>{const re=w.value;o("pick",re,!1),Pe(()=>{w.value=re})},k=C(()=>n.format.includes("ss")),x=C(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),N=(re=!1)=>{o("pick",[y.value,b.value],re)},$=re=>{P(re.millisecond(0),b.value)},T=re=>{P(y.value,re.millisecond(0))},I=re=>{const W=re.map(j=>ot(j).locale(s.value)),te=G(W);return W[0].isSame(te[0])&&W[1].isSame(te[1])},P=(re,W)=>{n.visible&&o("pick",[re,W],!0)},_=C(()=>y.value>b.value),H=B([0,2]),L=(re,W)=>{o("select-range",re,W,"min"),H.value=[re,W]},z=C(()=>k.value?11:8),O=(re,W)=>{o("select-range",re,W,"max");const te=i(z);H.value=[re+te,W+te]},R=re=>{const W=k.value?[0,3,6,11,14,17]:[0,3,8,11],te=["hours","minutes"].concat(k.value?["seconds"]:[]),j=(W.indexOf(H.value[0])+re+W.length)%W.length,U=W.length/2;j{const W=Xt(re),{left:te,right:j,up:U,down:Q}=Ee;if([te,j].includes(W)){R(W===te?-1:1),re.preventDefault();return}if([U,Q].includes(W)){const le=W===U?-1:1;J[`${H.value[0]{const te=f?f(re):[],j=re==="start",U=(W||(j?b.value:y.value)).hour();return sv(te,j?a(U+1,23):a(0,U-1))},V=(re,W,te)=>{const j=v?v(re,W):[],U=W==="start",Q=te||(U?b.value:y.value);if(re!==Q.hour())return j;const le=Q.minute();return sv(j,U?a(le+1,59):a(0,le-1))},Y=(re,W,te,j)=>{const U=h?h(re,W,te):[],Q=te==="start",le=j||(Q?b.value:y.value),ce=le.hour(),Ce=le.minute();if(re!==ce||W!==Ce)return U;const we=le.second();return sv(U,Q?a(we+1,59):a(0,we-1))},G=([re,W])=>[ae(re,"start",!0,W),ae(W,"end",!1,re)],{getAvailableHours:q,getAvailableMinutes:X,getAvailableSeconds:Z}=Rx(K,V,Y),{timePickerOptions:J,getAvailableTime:ae,onSetOption:ve}=Ox({getAvailableHours:q,getAvailableMinutes:X,getAvailableSeconds:Z}),me=re=>re?xe(re)?re.map(W=>ot(W,n.format).locale(s.value)):ot(re,n.format).locale(s.value):null,oe=()=>{if(xe(g))return g.map(W=>ot(W).locale(s.value));const re=ot(g).locale(s.value);return[re,re.add(60,"m")]};return o("set-picker-option",["parseUserInput",me]),o("set-picker-option",["isValidValue",I]),o("set-picker-option",["handleKeydownInput",D]),o("set-picker-option",["getDefaultValue",oe]),o("set-picker-option",["getRangeAvailableTime",G]),o("set-picker-option",["handleCancel",S]),(re,W)=>re.actualVisible?(E(),F("div",{key:0,class:A([i(r).b("range-picker"),i(u).b("panel")])},[M("div",{class:A(i(r).be("range-picker","content"))},[M("div",{class:A(i(r).be("range-picker","cell"))},[M("div",{class:A(i(r).be("range-picker","header"))},ye(i(l)("el.datepicker.startTime")),3),M("div",{class:A(p.value)},[ee(Bh,{ref:"minSpinner",role:"start","show-seconds":k.value,"am-pm-mode":x.value,"arrow-control":i(d),"spinner-date":y.value,"disabled-hours":K,"disabled-minutes":V,"disabled-seconds":Y,onChange:$,onSetOption:i(ve),onSelectRange:L},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),M("div",{class:A(i(r).be("range-picker","cell"))},[M("div",{class:A(i(r).be("range-picker","header"))},ye(i(l)("el.datepicker.endTime")),3),M("div",{class:A(m.value)},[ee(Bh,{ref:"maxSpinner",role:"end","show-seconds":k.value,"am-pm-mode":x.value,"arrow-control":i(d),"spinner-date":b.value,"disabled-hours":K,"disabled-minutes":V,"disabled-seconds":Y,onChange:T,onSetOption:i(ve),onSelectRange:O},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),M("div",{class:A(i(r).be("panel","footer"))},[M("button",{type:"button",class:A([i(r).be("panel","btn"),"cancel"]),onClick:W[0]||(W[0]=te=>S())},ye(i(l)("el.datepicker.cancel")),3),M("button",{type:"button",class:A([i(r).be("panel","btn"),"confirm"]),disabled:_.value,onClick:W[1]||(W[1]=te=>N())},ye(i(l)("el.datepicker.confirm")),11,_F)],2)],2)):se("v-if",!0)}}),MF=IF,md={exports:{}},OF=md.exports,_1;function PF(){return _1||(_1=1,(function(e,t){(function(n,o){e.exports=o()})(OF,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},o=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,l=/\d\d/,s=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,u={},c=function(m){return(m=+m)+(m>68?1900:2e3)},d=function(m){return function(y){this[m]=+y}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var b=y.match(/([+-]|\d\d)/g),w=60*b[1]+(+b[2]||0);return w===0?0:b[0]==="+"?-w:w})(m)}],v=function(m){var y=u[m];return y&&(y.indexOf?y:y.s.concat(y.f))},h=function(m,y){var b,w=u.meridiem;if(w){for(var S=1;S<=24;S+=1)if(m.indexOf(w(S,0,y))>-1){b=S>12;break}}else b=m===(y?"pm":"PM");return b},g={A:[r,function(m){this.afternoon=h(m,!1)}],a:[r,function(m){this.afternoon=h(m,!0)}],Q:[a,function(m){this.month=3*(m-1)+1}],S:[a,function(m){this.milliseconds=100*+m}],SS:[l,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[s,d("seconds")],ss:[s,d("seconds")],m:[s,d("minutes")],mm:[s,d("minutes")],H:[s,d("hours")],h:[s,d("hours")],HH:[s,d("hours")],hh:[s,d("hours")],D:[s,d("day")],DD:[l,d("day")],Do:[r,function(m){var y=u.ordinal,b=m.match(/\d+/);if(this.day=b[0],y)for(var w=1;w<=31;w+=1)y(w).replace(/\[|\]/g,"")===m&&(this.day=w)}],w:[s,d("week")],ww:[l,d("week")],M:[s,d("month")],MM:[l,d("month")],MMM:[r,function(m){var y=v("months"),b=(v("monthsShort")||y.map((function(w){return w.slice(0,3)}))).indexOf(m)+1;if(b<1)throw new Error;this.month=b%12||b}],MMMM:[r,function(m){var y=v("months").indexOf(m)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,d("year")],YY:[l,function(m){this.year=c(m)}],YYYY:[/\d{4}/,d("year")],Z:f,ZZ:f};function p(m){var y,b;y=m,b=u&&u.formats;for(var w=(m=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(I,P,_){var H=_&&_.toUpperCase();return P||b[_]||n[_]||b[H].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(L,z,O){return z||O.slice(1)}))}))).match(o),S=w.length,k=0;k-1)return new Date((D==="X"?1e3:1)*R);var Y=p(D)(R),G=Y.year,q=Y.month,X=Y.day,Z=Y.hours,J=Y.minutes,ae=Y.seconds,ve=Y.milliseconds,me=Y.zone,oe=Y.week,re=new Date,W=X||(G||q?1:re.getDate()),te=G||re.getFullYear(),j=0;G&&!q||(j=q>0?q-1:re.getMonth());var U,Q=Z||0,le=J||0,ce=ae||0,Ce=ve||0;return me?new Date(Date.UTC(te,j,W,Q,le,ce,Ce+60*me.offset*1e3)):K?new Date(Date.UTC(te,j,W,Q,le,ce,Ce)):(U=new Date(te,j,W,Q,le,ce,Ce),oe&&(U=V(U).week(oe).toDate()),U)}catch{return new Date("")}})(x,T,N,b),this.init(),H&&H!==!0&&(this.$L=this.locale(H).$L),_&&x!=this.format(T)&&(this.$d=new Date("")),u={}}else if(T instanceof Array)for(var L=T.length,z=1;z<=L;z+=1){$[1]=T[z-1];var O=b.apply(this,$);if(O.isValid()){this.$d=O.$d,this.$L=O.$L,this.init();break}z===L&&(this.$d=new Date(""))}else S.call(this,k)}}}))})(md)),md.exports}var RF=PF();const jg=Al(RF);ot.extend(jg);var AF=fe({name:"ElTimePicker",install:null,props:{...Wg,isRange:Boolean},emits:[at],setup(e,t){const n=B(),[o,a]=e.isRange?["timerange",MF]:["time",lf],l=s=>t.emit(at,s);return kt(Hg,e.popperOptions),t.expose({focus:()=>{n.value?.focus()},blur:()=>{n.value?.blur()},handleOpen:()=>{n.value?.handleOpen()},handleClose:()=>{n.value?.handleClose()}}),()=>ee(kx,ft(e,{ref:n,type:o,format:e.format??"HH:mm:ss","onUpdate:modelValue":l}),{default:s=>ee(a,s,null)})}});const DF=ut(AF),$l=Te({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:Ca},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),LF={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},BF=["aria-label"],VF=["aria-label"];var FF=fe({name:"ElTag",__name:"tag",props:$l,emits:LF,setup(e,{emit:t}){const n=e,o=t,a=Nn(),{t:l}=Tt(),s=ke("tag"),r=C(()=>{const{type:f,hit:v,effect:h,closable:g,round:p}=n;return[s.b(),s.is("closable",g),s.m(f||"primary"),s.m(a.value),s.m(h),s.is("hit",v),s.is("round",p)]}),u=f=>{o("close",f)},c=f=>{o("click",f)},d=f=>{f?.component?.subTree?.component?.bum&&(f.component.subTree.component.bum=null)};return(f,v)=>e.disableTransitions?(E(),F("span",{key:0,class:A(r.value),style:Fe({backgroundColor:e.color}),onClick:c},[M("span",{class:A(i(s).e("content"))},[ue(f.$slots,"default")],2),e.closable?(E(),F("button",{key:0,"aria-label":i(l)("el.tag.close"),class:A(i(s).e("close")),type:"button",onClick:et(u,["stop"])},[ee(i(He),null,{default:ie(()=>[ee(i(la))]),_:1})],10,BF)):se("v-if",!0)],6)):(E(),de(Zn,{key:1,name:`${i(s).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:d},{default:ie(()=>[M("span",{class:A(r.value),style:Fe({backgroundColor:e.color}),onClick:c},[M("span",{class:A(i(s).e("content"))},[ue(f.$slots,"default")],2),e.closable?(E(),F("button",{key:0,"aria-label":i(l)("el.tag.close"),class:A(i(s).e("close")),type:"button",onClick:et(u,["stop"])},[ee(i(He),null,{default:ie(()=>[ee(i(la))]),_:1})],10,VF)):se("v-if",!0)],6)]),_:3},8,["name"]))}}),zF=FF;const wl=ut(zF),Dx=Symbol("ElSelectGroup"),hc=Symbol("ElSelect"),sf={label:"label",value:"value",disabled:"disabled",options:"options"};function mc(e){const t=B({...sf,...e.props});let n={...e.props};return pe(()=>e.props,r=>{dn(r,n)||(t.value={...sf,...r},n={...r})},{deep:!0}),{aliasProps:t,getLabel:r=>Cn(r,t.value.label),getValue:r=>Cn(r,t.value.value),getDisabled:r=>Cn(r,t.value.disabled),getOptions:r=>Cn(r,t.value.options)}}const Lx=Te({name:String,id:String,modelValue:{type:ne([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:On,effect:{type:ne(String),default:"light"},disabled:{type:Boolean,default:void 0},clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:ne([String,Array,Object,Boolean]),default:""},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},popperOptions:{type:ne(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:ne(Function)},filterMethod:{type:ne(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:ne(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},teleported:on.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Gt,default:el},fitInputWidth:Boolean,suffixIcon:{type:Gt,default:Qa},tagType:{...$l.type,default:"info"},tagEffect:{...$l.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:ne(String),values:Ja,default:"bottom-start"},fallbackPlacements:{type:ne(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:on.appendTo,options:{type:ne(Array)},props:{type:ne(Object),default:()=>sf},...vr,...co(["ariaLabel"])}),HF={[at]:e=>!0,[xt]:e=>!0,"popup-scroll":Nu.scroll,"end-reached":Nu["end-reached"],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},Vh="ElOption",KF=Te({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean});function WF(e,t){const n=Be(hc);n||rn(Vh,"usage: ");const o=Be(Dx,{disabled:!1}),a=C(()=>d(Bn(n.props.modelValue),e.value)),l=C(()=>{if(n.props.multiple){const h=Bn(n.props.modelValue??[]);return!a.value&&h.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),s=C(()=>e.label??(lt(e.value)?"":e.value)),r=C(()=>e.value||e.label||""),u=C(()=>e.disabled||t.groupDisabled||l.value),c=ct(),d=(h=[],g)=>{if(lt(e.value)){const p=n.props.valueKey;return h&&h.some(m=>en(Cn(m,p))===Cn(g,p))}else return h&&h.includes(g)},f=()=>{u.value||(n.states.hoveringIndex=n.optionsArray.indexOf(c.proxy))},v=h=>{t.visible=new RegExp(pg(h),"i").test(String(s.value))||e.created};return pe(()=>s.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),pe(()=>e.value,(h,g)=>{const{remote:p,valueKey:m}=n.props;if((p?h!==g:!dn(h,g))&&(n.onOptionDestroy(g,c.proxy),n.onOptionCreate(c.proxy)),!e.created&&!p){if(m&<(h)&<(g)&&h[m]===g[m])return;n.setSelected()}}),pe(()=>o.disabled,()=>{t.groupDisabled=o.disabled},{immediate:!0}),{select:n,currentLabel:s,currentValue:r,itemSelected:a,isDisabled:u,hoverItem:f,updateOption:v}}var jF=fe({name:Vh,componentName:Vh,props:KF,setup(e){const t=ke("select"),n=Jn(),o=C(()=>[t.be("dropdown","item"),t.is("disabled",i(u)),t.is("selected",i(r)),t.is("hovering",i(h))]),a=zt({index:-1,groupDisabled:!1,visible:!0,hover:!1}),l=Jr?null:"mousemove",{currentLabel:s,itemSelected:r,isDisabled:u,select:c,hoverItem:d,updateOption:f}=WF(e,a),{visible:v,hover:h}=Rn(a),g=ct().proxy;c.onOptionCreate(g),Ht(()=>{const y=g.value;Pe(()=>{const{selected:b}=c.states,w=b.some(S=>S.value===g.value);c.states.cachedOptions.get(y)===g&&!w&&c.states.cachedOptions.delete(y)}),c.onOptionDestroy(y,g)});function p(){u.value||c.handleOptionSelect(g)}return{ns:t,id:n,containerKls:o,currentLabel:s,itemSelected:r,isDisabled:u,select:c,visible:v,hover:h,states:a,mouseMoveEventName:l,hoverItem:d,handleMousedown:y=>{let b=y.target;const w=y.currentTarget;for(;b&&b!==w;){if(Js(b))return;b=b.parentElement}y.preventDefault()},updateOption:f,selectOptionClick:p}}});const YF=["id","aria-disabled","aria-selected"];function UF(e,t,n,o,a,l){return Ue((E(),F("li",ft({id:e.id,class:e.containerKls,role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected},{[Ds(e.mouseMoveEventName)]:t[0]||(t[0]=(...s)=>e.hoverItem&&e.hoverItem(...s))},{onMousedown:t[1]||(t[1]=(...s)=>e.handleMousedown&&e.handleMousedown(...s)),onClick:t[2]||(t[2]=et((...s)=>e.selectOptionClick&&e.selectOptionClick(...s),["stop"]))}),[ue(e.$slots,"default",{},()=>[M("span",null,ye(e.currentLabel),1)])],16,YF)),[[Vt,e.visible]])}var Yg=An(jF,[["render",UF]]),qF=fe({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=ke("select"),n=B(),o=ct(),a=B([]);kt(Dx,zt({...Rn(e)}));const l=C(()=>a.value.some(c=>c.visible===!0)),s=c=>c.type.name==="ElOption"&&!!c.component?.proxy,r=c=>{const d=Bn(c),f=[];return d.forEach(v=>{Qt(v)&&(s(v)?f.push(v.component.proxy):xe(v.children)&&v.children.length?f.push(...r(v.children)):v.component?.subTree&&f.push(...r(v.component.subTree)))}),f},u=()=>{a.value=r(o.subTree)};return st(()=>{u()}),lc(n,u,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:l,ns:t}}});function GF(e,t,n,o,a,l){return Ue((E(),F("ul",{ref:"groupRef",class:A(e.ns.be("group","wrap"))},[M("li",{class:A(e.ns.be("group","title"))},ye(e.label),3),M("li",null,[M("ul",{class:A(e.ns.b("group"))},[ue(e.$slots,"default")],2)])],2)),[[Vt,e.visible]])}var Ug=An(qF,[["render",GF]]),XF=fe({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Be(hc),t=ke("select"),n=C(()=>e.props.popperClass),o=C(()=>e.props.multiple),a=C(()=>e.props.fitInputWidth),l=B("");function s(){const r=e.selectRef?.offsetWidth;r?l.value=`${r-2}px`:l.value=""}return st(()=>{s(),ln(e.selectRef,s)}),{ns:t,minWidth:l,popperClass:n,isMultiple:o,isFitInputWidth:a}}});function ZF(e,t,n,o,a,l){return E(),F("div",{class:A([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:Fe({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(E(),F("div",{key:0,class:A(e.ns.be("dropdown","header"))},[ue(e.$slots,"header")],2)):se("v-if",!0),ue(e.$slots,"default"),e.$slots.footer?(E(),F("div",{key:1,class:A(e.ns.be("dropdown","footer"))},[ue(e.$slots,"footer")],2)):se("v-if",!0)],6)}var JF=An(XF,[["render",ZF]]);const QF=(e,t)=>{const{t:n}=Tt(),o=mn(),a=Jn(),l=ke("select"),s=ke("input"),r=zt({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),u=B(),c=B(),d=B(),f=B(),v=B(),h=B(),g=B(),p=B(),m=B(),y=B(),b=B(),w=B(!1),S=B(),k=B(!1),{form:x,formItem:N}=Kn(),{inputId:$}=Ro(e,{formItemContext:N}),{valueOnClear:T,isEmptyValue:I}=pc(e),{isComposing:P,handleCompositionStart:_,handleCompositionUpdate:H,handleCompositionEnd:L}=fc({afterComposition:Re=>At(Re)}),z=cn(),{wrapperRef:O,isFocused:R,handleBlur:D}=Pl(v,{disabled:z,afterFocus(){e.automaticDropdown&&!w.value&&(w.value=!0,r.menuVisibleOnFocus=!0)},beforeBlur(Re){return d.value?.isFocusInsideContent(Re)||f.value?.isFocusInsideContent(Re)},afterBlur(){w.value=!1,r.menuVisibleOnFocus=!1,e.validateEvent&&N?.validate?.("blur").catch(ht)}}),K=C(()=>xe(e.modelValue)?e.modelValue.length>0:!I(e.modelValue)),V=C(()=>x?.statusIcon??!1),Y=C(()=>e.clearable&&!z.value&&K.value&&(R.value||r.inputHovering)),G=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),q=C(()=>l.is("reverse",!!(G.value&&w.value))),X=C(()=>N?.validateState||""),Z=C(()=>X.value&&Sp[X.value]),J=C(()=>e.remote?e.debounce:0),ae=C(()=>e.remote&&!r.inputValue&&r.options.size===0),ve=C(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&r.inputValue&&r.options.size>0&&me.value===0?e.noMatchText||n("el.select.noMatch"):r.options.size===0?e.noDataText||n("el.select.noData"):null),me=C(()=>oe.value.filter(Re=>Re.visible).length),oe=C(()=>{const Re=Array.from(r.options.values()),wt=[];return r.optionValues.forEach(jt=>{const nn=Re.findIndex(In=>In.value===jt);nn>-1&&wt.push(Re[nn])}),wt.length>=Re.length?wt:Re}),re=C(()=>Array.from(r.cachedOptions.values())),W=C(()=>{const Re=oe.value.filter(wt=>!wt.created).some(wt=>wt.currentLabel===r.inputValue);return e.filterable&&e.allowCreate&&r.inputValue!==""&&!Re}),te=()=>{e.filterable&&je(e.filterMethod)||e.filterable&&e.remote&&je(e.remoteMethod)||oe.value.forEach(Re=>{Re.updateOption?.(r.inputValue)})},j=Nn(),U=C(()=>["small"].includes(j.value)?"small":"default"),Q=C({get(){return w.value&&(e.loading||!ae.value||e.remote&&!!o.empty)&&(!k.value||!mo(r.previousQuery)||r.options.size>0)},set(Re){w.value=Re}}),le=C(()=>{if(e.multiple&&!_t(e.modelValue))return Bn(e.modelValue).length===0&&!r.inputValue;const Re=xe(e.modelValue)?e.modelValue[0]:e.modelValue;return e.filterable||_t(Re)?!r.inputValue:!0}),ce=C(()=>{const Re=e.placeholder??n("el.select.placeholder");return e.multiple||!K.value?Re:r.selectedLabel}),Ce=Jr?null:"mouseenter";pe(()=>e.modelValue,(Re,wt)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(r.inputValue="",we("")),be(),!dn(Re,wt)&&e.validateEvent&&N?.validate("change").catch(ht)},{flush:"post",deep:!0}),pe(()=>w.value,Re=>{Re?we(r.inputValue):(r.inputValue="",r.previousQuery=null,r.isBeforeHide=!0,r.menuVisibleOnFocus=!1)}),pe(()=>r.options.entries(),()=>{Lt&&(be(),e.defaultFirstOption&&(e.filterable||e.remote)&&me.value&&he())},{flush:"post"}),pe([()=>r.hoveringIndex,oe],([Re])=>{We(Re)&&Re>-1?S.value=oe.value[Re]||{}:S.value={},oe.value.forEach(wt=>{wt.hover=S.value===wt})}),uo(()=>{r.isBeforeHide||te()});const we=Re=>{r.previousQuery===Re||P.value||(r.previousQuery=Re,e.filterable&&je(e.filterMethod)?e.filterMethod(Re):e.filterable&&e.remote&&je(e.remoteMethod)&&e.remoteMethod(Re),e.defaultFirstOption&&(e.filterable||e.remote)&&me.value?Pe(he):Pe($e))},he=()=>{const Re=oe.value.filter(nn=>nn.visible&&!nn.disabled&&!nn.states.groupDisabled),wt=Re.find(nn=>nn.created),jt=Re[0];r.hoveringIndex=Ge(oe.value.map(nn=>nn.value),wt||jt)},be=()=>{if(e.multiple)r.selectedLabel="";else{const wt=ge(xe(e.modelValue)?e.modelValue[0]:e.modelValue);r.selectedLabel=wt.currentLabel,r.selected=[wt];return}const Re=[];_t(e.modelValue)||Bn(e.modelValue).forEach(wt=>{Re.push(ge(wt))}),r.selected=Re},ge=Re=>{let wt;const jt=uu(Re);for(let In=r.cachedOptions.size-1;In>=0;In--){const ko=re.value[In];if(jt?Cn(ko.value,e.valueKey)===Cn(Re,e.valueKey):ko.value===Re){wt={index:oe.value.filter(Ll=>!Ll.created).indexOf(ko),value:Re,currentLabel:ko.currentLabel,get isDisabled(){return ko.isDisabled}};break}}if(wt)return wt;const nn=r.selected.find(In=>jt?Cn(In.value,e.valueKey)===Cn(Re,e.valueKey):In.value===Re);return{index:-1,value:Re,currentLabel:jt?Re.label:nn?nn.currentLabel:Re??""}},$e=()=>{const Re=r.selected.length;if(Re>0){const wt=r.selected[Re-1];r.hoveringIndex=oe.value.findIndex(jt=>Ie(wt)===Ie(jt))}else r.hoveringIndex=-1},Me=()=>{r.selectionWidth=Number.parseFloat(window.getComputedStyle(c.value).width)},Qe=()=>{r.collapseItemWidth=y.value.getBoundingClientRect().width},tt=()=>{d.value?.updatePopper?.()},qe=()=>{f.value?.updatePopper?.()},Et=()=>{r.inputValue.length>0&&!w.value&&(w.value=!0),we(r.inputValue)},At=Re=>{if(r.inputValue=Re.target.value,e.remote)k.value=!0,Kt();else return Et()},Kt=ac(()=>{Et(),k.value=!1},J),Rt=Re=>{dn(e.modelValue,Re)||t(xt,Re)},Ut=Re=>Bk(Re,wt=>{const jt=r.cachedOptions.get(wt);return!jt?.disabled&&!jt?.states.groupDisabled}),Se=Re=>{const wt=Xt(Re);if(e.multiple&&wt!==Ee.delete&&Re.target.value.length<=0){const jt=Bn(e.modelValue).slice(),nn=Ut(jt);if(nn<0)return;const In=jt[nn];jt.splice(nn,1),t(at,jt),Rt(jt),t("remove-tag",In)}},_e=(Re,wt)=>{const jt=r.selected.indexOf(wt);if(jt>-1&&!z.value){const nn=Bn(e.modelValue).slice();nn.splice(jt,1),t(at,nn),Rt(nn),t("remove-tag",wt.value)}Re.stopPropagation(),It()},Ze=Re=>{Re.stopPropagation();const wt=e.multiple?[]:T.value;if(e.multiple)for(const jt of r.selected)jt.isDisabled&&wt.push(jt.value);t(at,wt),Rt(wt),r.hoveringIndex=-1,w.value=!1,t("clear"),It()},Ne=Re=>{if(e.multiple){const wt=Bn(e.modelValue??[]).slice(),jt=Ge(wt,Re);jt>-1?wt.splice(jt,1):(e.multipleLimit<=0||wt.length{Le(Re)})},Ge=(Re,wt)=>_t(wt)?-1:lt(wt.value)?Re.findIndex(jt=>dn(Cn(jt,e.valueKey),Ie(wt))):Re.indexOf(wt.value),Le=Re=>{const wt=xe(Re)?Re[Re.length-1]:Re;let jt=null;if(!hn(wt?.value)){const nn=oe.value.filter(In=>In.value===wt.value);nn.length>0&&(jt=nn[0].$el)}if(d.value&&jt){const nn=d.value?.popperRef?.contentRef?.querySelector?.(`.${l.be("dropdown","wrap")}`);nn&&mg(nn,jt)}b.value?.handleScroll()},nt=Re=>{r.options.set(Re.value,Re),r.cachedOptions.set(Re.value,Re)},vt=(Re,wt)=>{r.options.get(Re)===wt&&r.options.delete(Re)},rt=C(()=>d.value?.popperRef?.contentRef),St=()=>{r.isBeforeHide=!1,Pe(()=>{b.value?.update(),Le(r.selected)})},It=()=>{v.value?.focus()},pt=()=>{if(w.value){w.value=!1,Pe(()=>v.value?.blur());return}v.value?.blur()},Jt=Re=>{Ze(Re)},vn=Re=>{if(w.value=!1,R.value){const wt=new FocusEvent("blur",Re);Pe(()=>D(wt))}},Ke=()=>{r.inputValue.length>0?r.inputValue="":w.value=!1},Je=Re=>{z.value||e.filterable&&w.value&&Re&&!g.value?.contains(Re.target)||(Jr&&(r.inputHovering=!0),r.menuVisibleOnFocus?r.menuVisibleOnFocus=!1:w.value=!w.value)},it=()=>{if(!w.value)Je();else{const Re=oe.value[r.hoveringIndex];Re&&!Re.isDisabled&&Ne(Re)}},Ie=Re=>lt(Re.value)?Cn(Re.value,e.valueKey):Re.value,Xe=C(()=>oe.value.filter(Re=>Re.visible).every(Re=>Re.isDisabled)),Ye=C(()=>e.multiple?e.collapseTags?r.selected.slice(0,e.maxCollapseTags):r.selected:[]),Bt=C(()=>e.multiple?e.collapseTags?r.selected.slice(e.maxCollapseTags):[]:[]),Zt=Re=>{if(!w.value){w.value=!0;return}if(!(r.options.size===0||me.value===0||P.value)&&!Xe.value){Re==="next"?(r.hoveringIndex++,r.hoveringIndex===r.options.size&&(r.hoveringIndex=0)):Re==="prev"&&(r.hoveringIndex--,r.hoveringIndex<0&&(r.hoveringIndex=r.options.size-1));const wt=oe.value[r.hoveringIndex];(wt.isDisabled||!wt.visible)&&Zt(Re),Pe(()=>Le(S.value))}},gn=(Re,wt,jt,nn)=>{for(let In=wt;In>=0&&In{const jt=r.options.size;if(jt===0)return;const nn=To(Re,0,jt-1),In=oe.value,ko=wt==="up"?-1:1,Ll=gn(In,nn,ko,jt)??gn(In,nn-ko,-ko,jt);Ll!=null&&(r.hoveringIndex=Ll,Pe(()=>Le(S.value)))},Co=Re=>{const wt=Xt(Re);let jt=!0;switch(wt){case Ee.up:Zt("prev");break;case Ee.down:Zt("next");break;case Ee.enter:case Ee.numpadEnter:P.value||it();break;case Ee.esc:Ke();break;case Ee.backspace:jt=!1,Se(Re);return;case Ee.home:if(!w.value)return;Qn(0,"down");break;case Ee.end:if(!w.value)return;Qn(r.options.size-1,"up");break;case Ee.pageUp:if(!w.value)return;Qn(r.hoveringIndex-10,"up");break;case Ee.pageDown:if(!w.value)return;Qn(r.hoveringIndex+10,"down");break;default:jt=!1;break}jt&&(Re.preventDefault(),Re.stopPropagation())},Ta=()=>{if(!c.value)return 0;const Re=window.getComputedStyle(c.value);return Number.parseFloat(Re.gap||"6px")},Dl=C(()=>{const Re=Ta(),wt=e.filterable?Re+11:0;return{maxWidth:`${y.value&&e.maxCollapseTags===1?r.selectionWidth-r.collapseItemWidth-Re-wt:r.selectionWidth-wt}px`}}),mr=C(()=>({maxWidth:`${r.selectionWidth}px`})),ol=Re=>{t("popup-scroll",Re)},zp=Re=>{t("end-reached",Re)};ln(c,Me),ln(O,tt),ln(m,qe),ln(y,Qe);let gr;return pe(()=>Q.value,Re=>{Re?gr=ln(p,tt).stop:(gr?.(),gr=void 0),t("visible-change",Re)}),st(()=>{be()}),{inputId:$,contentId:a,nsSelect:l,nsInput:s,states:r,isFocused:R,expanded:w,optionsArray:oe,hoverOption:S,selectSize:j,filteredOptionsCount:me,updateTooltip:tt,updateTagTooltip:qe,debouncedOnInputChange:Kt,onInput:At,deletePrevTag:Se,deleteTag:_e,deleteSelected:Ze,handleOptionSelect:Ne,scrollToOption:Le,hasModelValue:K,shouldShowPlaceholder:le,currentPlaceholder:ce,mouseEnterEventName:Ce,needStatusIcon:V,showClearBtn:Y,iconComponent:G,iconReverse:q,validateState:X,validateIcon:Z,showNewOption:W,updateOptions:te,collapseTagSize:U,setSelected:be,selectDisabled:z,emptyText:ve,handleCompositionStart:_,handleCompositionUpdate:H,handleCompositionEnd:L,handleKeydown:Co,onOptionCreate:nt,onOptionDestroy:vt,handleMenuEnter:St,focus:It,blur:pt,handleClearClick:Jt,handleClickOutside:vn,handleEsc:Ke,toggleMenu:Je,selectOption:it,getValueKey:Ie,navigateOptions:Zt,dropdownMenuVisible:Q,showTagList:Ye,collapseTagList:Bt,popupScroll:ol,getOption:ge,endReached:zp,tagStyle:Dl,collapseTagStyle:mr,popperRef:rt,inputRef:v,tooltipRef:d,tagTooltipRef:f,prefixRef:h,suffixRef:g,selectRef:u,wrapperRef:O,selectionRef:c,scrollbarRef:b,menuRef:p,tagMenuRef:m,collapseItemRef:y}};var e5=fe({name:"ElOptions",setup(e,{slots:t}){const n=Be(hc);let o=[];return()=>{const a=t.default?.(),l=[];function s(r){xe(r)&&r.forEach(u=>{const c=(u?.type||{})?.name;c==="ElOptionGroup"?s(!Ve(u.children)&&!xe(u.children)&&je(u.children?.default)?u.children?.default():u.children):c==="ElOption"?l.push(u.props?.value):xe(u.children)&&s(u.children)})}return a.length&&s(a[0]?.children),dn(l,o)||(o=l,n&&(n.states.optionValues=l)),a}}});const I1="ElSelect",_u=new WeakMap,t5=e=>(...t)=>{const n=t[0];if(!n||n.includes('Slot "default" invoked outside of the render function')&&t[2]?.includes("ElTreeSelect"))return;const o=_u.get(e)?.originalWarnHandler;if(o){o(...t);return}console.warn(...t)},n5=e=>{let t=_u.get(e);return t||(t={originalWarnHandler:e.config.warnHandler,handler:t5(e),count:0},_u.set(e,t)),t};var o5=fe({name:I1,componentName:I1,components:{ElSelectMenu:JF,ElOption:Yg,ElOptions:e5,ElOptionGroup:Ug,ElTag:wl,ElScrollbar:wa,ElTooltip:Hn,ElIcon:He},directives:{ClickOutside:cs},props:Lx,emits:HF,setup(e,{emit:t,slots:n}){const o=ct(),a=n5(o.appContext);a.count+=1,o.appContext.config.warnHandler=a.handler;const l=C(()=>{const{modelValue:b,multiple:w}=e,S=w?[]:void 0;return xe(b)?w?b:S:w?S:b}),s=zt({...Rn(e),modelValue:l}),r=QF(s,t),{calculatorRef:u,inputStyle:c}=fg(),{getLabel:d,getValue:f,getOptions:v,getDisabled:h}=mc(e),g=b=>({label:d(b),value:f(b),disabled:h(b)}),p=b=>b.reduce((w,S)=>(w.push(S),S.children&&S.children.length>0&&w.push(...p(S.children)),w),[]),m=b=>{Fo(b||[]).forEach(w=>{if(lt(w)&&(w.type.name==="ElOption"||w.type.name==="ElTree")){const S=w.type.name;if(S==="ElTree")p(w.props?.data||[]).forEach(k=>{k.currentLabel=k.label??(lt(k.value)?"":k.value),r.onOptionCreate(k)});else if(S==="ElOption"){const k={...w.props};k.currentLabel=k.label??(lt(k.value)?"":k.value),r.onOptionCreate(k)}}})};pe(()=>[e.persistent||r.expanded.value||!n.default?void 0:n.default?.(),l.value],()=>{e.persistent||r.expanded.value||n.default&&(r.states.options.clear(),m(n.default?.()))},{immediate:!0}),kt(hc,zt({props:s,states:r.states,selectRef:r.selectRef,optionsArray:r.optionsArray,setSelected:r.setSelected,handleOptionSelect:r.handleOptionSelect,onOptionCreate:r.onOptionCreate,onOptionDestroy:r.onOptionDestroy}));const y=C(()=>e.multiple?r.states.selected.map(b=>b.currentLabel):r.states.selectedLabel);return Ht(()=>{const b=_u.get(o.appContext);b&&(b.count-=1,b.count<=0&&(o.appContext.config.warnHandler=b.originalWarnHandler,_u.delete(o.appContext)))}),{...r,modelValue:l,selectedLabel:y,calculatorRef:u,inputStyle:c,getLabel:d,getValue:f,getOptions:v,getDisabled:h,getOptionProps:g}}});const a5=["id","value","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],l5=["textContent"],s5={key:1};function r5(e,t,n,o,a,l){const s=Ot("el-tag"),r=Ot("el-tooltip"),u=Ot("el-icon"),c=Ot("el-option"),d=Ot("el-option-group"),f=Ot("el-options"),v=Ot("el-scrollbar"),h=Ot("el-select-menu"),g=zm("click-outside");return Ue((E(),F("div",ft({ref:"selectRef",class:[e.nsSelect.b(),e.nsSelect.m(e.selectSize)]},{[Ds(e.mouseEnterEventName)]:t[11]||(t[11]=p=>e.states.inputHovering=!0)},{onMouseleave:t[12]||(t[12]=p=>e.states.inputHovering=!1)}),[ee(r,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[10]||(t[10]=p=>e.states.isBeforeHide=!1)},{default:ie(()=>[M("div",{ref:"wrapperRef",class:A([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[7]||(t[7]=et((...p)=>e.toggleMenu&&e.toggleMenu(...p),["prevent"]))},[e.$slots.prefix?(E(),F("div",{key:0,ref:"prefixRef",class:A(e.nsSelect.e("prefix"))},[ue(e.$slots,"prefix")],2)):se("v-if",!0),M("div",{ref:"selectionRef",class:A([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?ue(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),F(Oe,null,mt(e.showTagList,p=>(E(),F("div",{key:e.getValueKey(p),class:A(e.nsSelect.e("selected-item"))},[ee(s,{closable:!e.selectDisabled&&!p.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Fe(e.tagStyle),onClose:m=>e.deleteTag(m,p)},{default:ie(()=>[M("span",{class:A(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:p.index,label:p.currentLabel,value:p.value},()=>[ze(ye(p.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(E(),de(r,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:ie(()=>[M("div",{ref:"collapseItemRef",class:A(e.nsSelect.e("selected-item"))},[ee(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Fe(e.collapseTagStyle)},{default:ie(()=>[M("span",{class:A(e.nsSelect.e("tags-text"))}," + "+ye(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:ie(()=>[M("div",{ref:"tagMenuRef",class:A(e.nsSelect.e("selection"))},[(E(!0),F(Oe,null,mt(e.collapseTagList,p=>(E(),F("div",{key:e.getValueKey(p),class:A(e.nsSelect.e("selected-item"))},[ee(s,{class:"in-tooltip",closable:!e.selectDisabled&&!p.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:m=>e.deleteTag(m,p)},{default:ie(()=>[M("span",{class:A(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:p.index,label:p.currentLabel,value:p.value},()=>[ze(ye(p.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):se("v-if",!0)]):se("v-if",!0),M("div",{class:A([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||e.multiple&&!e.states.inputValue&&!e.isFocused)])},[M("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,type:"text",name:e.name,class:A([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:Fe(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":e.hoverOption?.id||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:t[0]||(t[0]=(...p)=>e.handleKeydown&&e.handleKeydown(...p)),onCompositionstart:t[1]||(t[1]=(...p)=>e.handleCompositionStart&&e.handleCompositionStart(...p)),onCompositionupdate:t[2]||(t[2]=(...p)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...p)),onCompositionend:t[3]||(t[3]=(...p)=>e.handleCompositionEnd&&e.handleCompositionEnd(...p)),onInput:t[4]||(t[4]=(...p)=>e.onInput&&e.onInput(...p)),onChange:t[5]||(t[5]=et(()=>{},["stop"])),onClick:t[6]||(t[6]=et((...p)=>e.toggleMenu&&e.toggleMenu(...p),["stop"]))},null,46,a5),e.filterable?(E(),F("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:A(e.nsSelect.e("input-calculator")),textContent:ye(e.states.inputValue)},null,10,l5)):se("v-if",!0)],2),e.shouldShowPlaceholder?(E(),F("div",{key:1,class:A([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?ue(e.$slots,"label",{key:0,index:e.getOption(e.modelValue).index,label:e.currentPlaceholder,value:e.modelValue},()=>[M("span",null,ye(e.currentPlaceholder),1)]):(E(),F("span",s5,ye(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),M("div",{ref:"suffixRef",class:A(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(E(),de(u,{key:0,class:A([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:ie(()=>[(E(),de(dt(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),de(u,{key:1,class:A([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:ie(()=>[(E(),de(dt(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),de(u,{key:2,class:A([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:ie(()=>[(E(),de(dt(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]),content:ie(()=>[ee(h,{ref:"menuRef"},{default:ie(()=>[e.$slots.header?(E(),F("div",{key:0,class:A(e.nsSelect.be("dropdown","header")),onClick:t[8]||(t[8]=et(()=>{},["stop"]))},[ue(e.$slots,"header")],2)):se("v-if",!0),Ue(ee(v,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:A([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll,onEndReached:e.endReached},{default:ie(()=>[e.showNewOption?(E(),de(c,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):se("v-if",!0),ee(f,null,{default:ie(()=>[ue(e.$slots,"default",{},()=>[(E(!0),F(Oe,null,mt(e.options,(p,m)=>(E(),F(Oe,{key:m},[e.getOptions(p)?.length?(E(),de(d,{key:0,label:e.getLabel(p),disabled:e.getDisabled(p)},{default:ie(()=>[(E(!0),F(Oe,null,mt(e.getOptions(p),y=>(E(),de(c,ft({key:e.getValue(y)},{ref_for:!0},e.getOptionProps(y)),null,16))),128))]),_:2},1032,["label","disabled"])):(E(),de(c,ft({key:1,ref_for:!0},e.getOptionProps(p)),null,16))],64))),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll","onEndReached"]),[[Vt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(E(),F("div",{key:1,class:A(e.nsSelect.be("dropdown","loading"))},[ue(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(E(),F("div",{key:2,class:A(e.nsSelect.be("dropdown","empty"))},[ue(e.$slots,"empty",{},()=>[M("span",null,ye(e.emptyText),1)])],2)):se("v-if",!0),e.$slots.footer?(E(),F("div",{key:3,class:A(e.nsSelect.be("dropdown","footer")),onClick:t[9]||(t[9]=et(()=>{},["stop"]))},[ue(e.$slots,"footer")],2)):se("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],16)),[[g,e.handleClickOutside,e.popperRef]])}var i5=An(o5,[["render",r5]]);const ds=ut(i5,{Option:Yg,OptionGroup:Ug}),rf=un(Yg),u5=un(Ug),c5=(e,t)=>{const n=e.subtract(1,"month").endOf("month").date();return es(t).map((o,a)=>n-(t-a-1))},d5=e=>es(e.daysInMonth()).map((t,n)=>n+1),f5=e=>es(e.length/7).map(t=>{const n=t*7;return e.slice(n,n+7)}),p5=Te({selectedDay:{type:ne(Object)},range:{type:ne(Array)},date:{type:ne(Object),required:!0},hideHeader:{type:Boolean}}),v5={pick:e=>lt(e)};var gd={exports:{}},h5=gd.exports,M1;function m5(){return M1||(M1=1,(function(e,t){(function(n,o){e.exports=o()})(h5,(function(){return function(n,o,a){var l=o.prototype,s=function(f){return f&&(f.indexOf?f:f.s)},r=function(f,v,h,g,p){var m=f.name?f:f.$locale(),y=s(m[v]),b=s(m[h]),w=y||b.map((function(k){return k.slice(0,g)}));if(!p)return w;var S=m.weekStart;return w.map((function(k,x){return w[(x+(S||0))%7]}))},u=function(){return a.Ls[a.locale()]},c=function(f,v){return f.formats[v]||(function(h){return h.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(g,p,m){return p||m.slice(1)}))})(f.formats[v.toUpperCase()])},d=function(){var f=this;return{months:function(v){return v?v.format("MMMM"):r(f,"months")},monthsShort:function(v){return v?v.format("MMM"):r(f,"monthsShort","months",3)},firstDayOfWeek:function(){return f.$locale().weekStart||0},weekdays:function(v){return v?v.format("dddd"):r(f,"weekdays")},weekdaysMin:function(v){return v?v.format("dd"):r(f,"weekdaysMin","weekdays",2)},weekdaysShort:function(v){return v?v.format("ddd"):r(f,"weekdaysShort","weekdays",3)},longDateFormat:function(v){return c(f.$locale(),v)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};l.localeData=function(){return d.bind(this)()},a.localeData=function(){var f=u();return{firstDayOfWeek:function(){return f.weekStart||0},weekdays:function(){return a.weekdays()},weekdaysShort:function(){return a.weekdaysShort()},weekdaysMin:function(){return a.weekdaysMin()},months:function(){return a.months()},monthsShort:function(){return a.monthsShort()},longDateFormat:function(v){return c(f,v)},meridiem:f.meridiem,ordinal:f.ordinal}},a.months=function(){return r(u(),"months")},a.monthsShort=function(){return r(u(),"monthsShort","months",3)},a.weekdays=function(f){return r(u(),"weekdays",null,null,f)},a.weekdaysShort=function(f){return r(u(),"weekdaysShort","weekdays",3,f)},a.weekdaysMin=function(f){return r(u(),"weekdaysMin","weekdays",2,f)}}}))})(gd)),gd.exports}var g5=m5();const Bx=Al(g5),y5=(e,t)=>{ot.extend(Bx);const n=ot.localeData().firstDayOfWeek(),{t:o,lang:a}=Tt(),l=ot().locale(a.value),s=C(()=>!!e.range&&!!e.range.length),r=C(()=>{let v=[];if(s.value){const[h,g]=e.range,p=es(g.date()-h.date()+1).map(b=>({text:h.date()+b,type:"current"}));let m=p.length%7;m=m===0?0:7-m;const y=es(m).map((b,w)=>({text:w+1,type:"next"}));v=p.concat(y)}else{const h=e.date.startOf("month").day(),g=c5(e.date,(h-n+7)%7).map(y=>({text:y,type:"prev"})),p=d5(e.date).map(y=>({text:y,type:"current"}));v=[...g,...p];const m=es(7-(v.length%7||7)).map((y,b)=>({text:b+1,type:"next"}));v=v.concat(m)}return f5(v)}),u=C(()=>{const v=n;return v===0?tv.map(h=>o(`el.datepicker.weeks.${h}`)):tv.slice(v).concat(tv.slice(0,v)).map(h=>o(`el.datepicker.weeks.${h}`))}),c=(v,h)=>{switch(h){case"prev":return e.date.startOf("month").subtract(1,"month").date(v);case"next":return e.date.startOf("month").add(1,"month").date(v);case"current":return e.date.date(v)}};return{now:l,isInRange:s,rows:r,weekDays:u,getFormattedDate:c,handlePickDay:({text:v,type:h})=>{t("pick",c(v,h))},getSlotData:({text:v,type:h})=>{const g=c(v,h);return{isSelected:g.isSame(e.selectedDay),type:`${h}-month`,day:g.format(_r),date:g.toDate()}}}},b5={key:0},w5=["onClick"];var S5=fe({name:"DateTable",__name:"date-table",props:p5,emits:v5,setup(e,{expose:t,emit:n}){const o=e,{isInRange:a,now:l,rows:s,weekDays:r,getFormattedDate:u,handlePickDay:c,getSlotData:d}=y5(o,n),f=ke("calendar-table"),v=ke("calendar-day"),h=({text:g,type:p})=>{const m=[p];if(p==="current"){const y=u(g,p);y.isSame(o.selectedDay,"day")&&m.push(v.is("selected")),y.isSame(l,"day")&&m.push(v.is("today"))}return m};return t({getFormattedDate:u}),(g,p)=>(E(),F("table",{class:A([i(f).b(),i(f).is("range",i(a))]),cellspacing:"0",cellpadding:"0"},[e.hideHeader?se("v-if",!0):(E(),F("thead",b5,[M("tr",null,[(E(!0),F(Oe,null,mt(i(r),m=>(E(),F("th",{key:m,scope:"col"},ye(m),1))),128))])])),M("tbody",null,[(E(!0),F(Oe,null,mt(i(s),(m,y)=>(E(),F("tr",{key:y,class:A({[i(f).e("row")]:!0,[i(f).em("row","hide-border")]:y===0&&e.hideHeader})},[(E(!0),F(Oe,null,mt(m,(b,w)=>(E(),F("td",{key:w,class:A(h(b)),onClick:S=>i(c)(b)},[M("div",{class:A(i(v).b())},[ue(g.$slots,"date-cell",{data:i(d)(b)},()=>[M("span",null,ye(b.text),1)])],2)],10,w5))),128))],2))),128))])],2))}}),O1=S5;const C5=(e,t)=>{const n=e.endOf("month"),o=t.startOf("month"),a=n.isSame(o,"week")?o.add(1,"week"):o;return[[e,n],[a.startOf("week"),t]]},k5=(e,t)=>{const n=e.endOf("month"),o=e.add(1,"month").startOf("month"),a=n.isSame(o,"week")?o.add(1,"week"):o,l=a.endOf("month"),s=t.startOf("month"),r=l.isSame(s,"week")?s.add(1,"week"):s;return[[e,n],[a.startOf("week"),l],[r.startOf("week"),t]]},x5=(e,t,n)=>{const{lang:o}=Tt(),a=B(),l=ot().locale(o.value),s=C({get(){return e.modelValue?u.value:a.value},set(y){if(!y)return;a.value=y;const b=y.toDate();t(Tn,b),t(at,b)}}),r=C(()=>{if(!e.range||!xe(e.range)||e.range.length!==2||e.range.some(w=>!ts(w)))return[];const[y,b]=e.range.map(w=>ot(w).locale(o.value));return y.isAfter(b)?(Yt(n,"end time should be greater than start time"),[]):y.isSame(b,"month")||y.add(1,"month").isSame(b,"month")?h(y,b):(Yt(n,"start time and end time interval must not exceed two months"),[])}),u=C(()=>e.modelValue?ot(e.modelValue).locale(o.value):s.value||(r.value.length?r.value[0][0]:l)),c=C(()=>u.value.subtract(1,"month").date(1)),d=C(()=>u.value.add(1,"month").date(1)),f=C(()=>u.value.subtract(1,"year").date(1)),v=C(()=>u.value.add(1,"year").date(1)),h=(y,b)=>{const w=y.startOf("week"),S=b.endOf("week"),k=w.get("month"),x=S.get("month");return k===x?[[w,S]]:(k+1)%12===x?C5(w,S):k+2===x||(k+1)%11===x?k5(w,S):(Yt(n,"start time and end time interval must not exceed two months"),[])},g=y=>{s.value=y},p=y=>{const b={"prev-month":c.value,"next-month":d.value,"prev-year":f.value,"next-year":v.value,today:l}[y];b.isSame(u.value,"day")||g(b)};return{calculateValidatedDateRange:h,date:u,realSelectedDay:s,pickDay:g,selectDate:p,validatedRange:r,handleDateChange:y=>{y==="today"?p("today"):g(y)}}},E5=Te({date:{type:ne(Object),required:!0},formatter:{type:ne(Function)}}),$5={"date-change":e=>lt(e)||Ve(e)};var T5=fe({name:"SelectController",__name:"select-controller",props:E5,emits:$5,setup(e,{emit:t}){const n=e,o=t,a=ke("calendar-select"),{t:l,lang:s}=Tt(),r=Array.from({length:12},(g,p)=>{const m=p+1;return{value:m,label:je(n.formatter)?n.formatter(m,"month"):m}}),u=C(()=>n.date.year()),c=C(()=>n.date.month()+1),d=C(()=>{const g=[];for(let p=-10;p<10;p++){const m=u.value+p;if(m>0){const y=je(n.formatter)?n.formatter(m,"year"):m;g.push({value:m,label:y})}}return g}),f=g=>{o("date-change",ot(new Date(g,c.value-1,1)).locale(s.value))},v=g=>{o("date-change",ot(new Date(u.value,g-1,1)).locale(s.value))},h=()=>{o("date-change","today")};return(g,p)=>(E(),F(Oe,null,[ee(i(ds),{"model-value":u.value,size:"small",class:A(i(a).e("year")),"validate-event":!1,options:d.value,onChange:f},null,8,["model-value","class","options"]),ee(i(ds),{"model-value":c.value,size:"small",class:A(i(a).e("month")),"validate-event":!1,options:i(r),onChange:v},null,8,["model-value","class","options"]),ee(i(Fn),{size:"small",onClick:h},{default:ie(()=>[ze(ye(i(l)("el.datepicker.today")),1)]),_:1})],64))}}),N5=T5;const P1="ElCalendar";var _5=fe({name:P1,__name:"calendar",props:oF,emits:aF,setup(e,{expose:t,emit:n}){const o=ke("calendar"),{calculateValidatedDateRange:a,date:l,pickDay:s,realSelectedDay:r,selectDate:u,validatedRange:c,handleDateChange:d}=x5(e,n,P1),{t:f}=Tt(),v=C(()=>{const h=`el.datepicker.month${l.value.format("M")}`;return`${l.value.year()} ${f("el.datepicker.year")} ${f(h)}`});return t({selectedDay:r,pickDay:s,selectDate:u,calculateValidatedDateRange:a}),(h,g)=>(E(),F("div",{class:A(i(o).b())},[M("div",{class:A(i(o).e("header"))},[ue(h.$slots,"header",{date:v.value},()=>[M("div",{class:A(i(o).e("title"))},ye(v.value),3),i(c).length===0&&e.controllerType==="button"?(E(),F("div",{key:0,class:A(i(o).e("button-group"))},[ee(i(mx),null,{default:ie(()=>[ee(i(Fn),{size:"small",onClick:g[0]||(g[0]=p=>i(u)("prev-month"))},{default:ie(()=>[ze(ye(i(f)("el.datepicker.prevMonth")),1)]),_:1}),ee(i(Fn),{size:"small",onClick:g[1]||(g[1]=p=>i(u)("today"))},{default:ie(()=>[ze(ye(i(f)("el.datepicker.today")),1)]),_:1}),ee(i(Fn),{size:"small",onClick:g[2]||(g[2]=p=>i(u)("next-month"))},{default:ie(()=>[ze(ye(i(f)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):i(c).length===0&&e.controllerType==="select"?(E(),F("div",{key:1,class:A(i(o).e("select-controller"))},[ee(N5,{date:i(l),formatter:e.formatter,onDateChange:i(d)},null,8,["date","formatter","onDateChange"])],2)):se("v-if",!0)])],2),i(c).length===0?(E(),F("div",{key:0,class:A(i(o).e("body"))},[ee(O1,{date:i(l),"selected-day":i(r),onPick:i(s)},bo({_:2},[h.$slots["date-cell"]?{name:"date-cell",fn:ie(p=>[ue(h.$slots,"date-cell",ml(yl(p)))]),key:"0"}:void 0]),1032,["date","selected-day","onPick"])],2)):(E(),F("div",{key:1,class:A(i(o).e("body"))},[(E(!0),F(Oe,null,mt(i(c),(p,m)=>(E(),de(O1,{key:m,date:p[0],"selected-day":i(r),range:p,"hide-header":m!==0,onPick:i(s)},bo({_:2},[h.$slots["date-cell"]?{name:"date-cell",fn:ie(y=>[ue(h.$slots,"date-cell",ft({ref_for:!0},y))]),key:"0"}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}}),I5=_5;const M5=ut(I5),O5=Te({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:ne([String,Object,Array,Boolean]),default:""},headerClass:{type:ne([String,Array,Object,Boolean]),default:void 0},bodyClass:{type:ne([String,Array,Object,Boolean]),default:void 0},footerClass:{type:ne([String,Array,Object,Boolean]),default:void 0},shadow:{type:String,values:["always","hover","never"],default:void 0}});var P5=fe({name:"ElCard",__name:"card",props:O5,setup(e){const t=Rl("card"),n=ke("card");return(o,a)=>(E(),F("div",{class:A([i(n).b(),i(n).is(`${e.shadow||i(t)?.shadow||"always"}-shadow`)])},[o.$slots.header||e.header?(E(),F("div",{key:0,class:A([i(n).e("header"),e.headerClass])},[ue(o.$slots,"header",{},()=>[ze(ye(e.header),1)])],2)):se("v-if",!0),M("div",{class:A([i(n).e("body"),e.bodyClass]),style:Fe(e.bodyStyle)},[ue(o.$slots,"default")],6),o.$slots.footer||e.footer?(E(),F("div",{key:1,class:A([i(n).e("footer"),e.footerClass])},[ue(o.$slots,"footer",{},()=>[ze(ye(e.footer),1)])],2)):se("v-if",!0)],2))}}),R5=P5;const A5=ut(R5),D5=Te({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},cardScale:{type:Number,default:.83},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:Boolean}),L5={change:(e,t)=>[e,t].every(We)},Vx=Symbol("carouselContextKey"),uf="ElCarouselItem",B5=Te({name:{type:String,default:""},label:{type:[String,Number],default:""}}),R1=300,V5=(e,t,n)=>{const{children:o,addChild:a,removeChild:l,ChildrenSorter:s}=yp(ct(),uf),r=mn(),u=B(-1),c=B(null),d=B(!1),f=B(),v=B(0),h=B(!0),g=C(()=>e.arrow!=="never"&&!i(y)),p=C(()=>o.value.some(Z=>Z.props.label.toString().length>0)),m=C(()=>e.type==="card"),y=C(()=>e.direction==="vertical"),b=C(()=>e.height!=="auto"?{height:e.height}:{height:`${v.value}px`,overflow:"hidden"}),w=Gl(Z=>{T(Z)},R1,{trailing:!0}),S=Gl(Z=>{R(Z)},R1),k=Z=>h.value?u.value<=1?Z<=1:Z>1:!0;function x(){c.value&&(clearInterval(c.value),c.value=null)}function N(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>$(),e.interval))}const $=()=>{u.valueme.props.name===Z);ve.length>0&&(Z=o.value.indexOf(ve[0]))}if(Z=Number(Z),Number.isNaN(Z)||Z!==Math.floor(Z)){Yt(n,"index must be integer.");return}const J=o.value.length,ae=u.value;Z<0?u.value=e.loop?J-1:0:Z>=J?u.value=e.loop?0:J-1:u.value=Z,ae===u.value&&I(ae),V()}function I(Z){o.value.forEach((J,ae)=>{J.translateItem(ae,u.value,Z)})}function P(Z,J){const ae=i(o),ve=ae.length;if(ve===0||!Z.states.inStage)return!1;const me=J+1,oe=J-1,re=ve-1,W=ae[re].states.active,te=ae[0].states.active,j=ae[me]?.states?.active,U=ae[oe]?.states?.active;return J===re&&te||j?"left":J===0&&W||U?"right":!1}function _(){d.value=!0,e.pauseOnHover&&x()}function H(){d.value=!1,N()}function L(Z){i(y)||o.value.forEach((J,ae)=>{Z===P(J,ae)&&(J.states.hover=!0)})}function z(){i(y)||o.value.forEach(Z=>{Z.states.hover=!1})}function O(Z){u.value=Z}function R(Z){e.trigger==="hover"&&Z!==u.value&&(u.value=Z)}function D(){T(u.value-1)}function K(){T(u.value+1)}function V(){x(),(!e.pauseOnHover||!d.value)&&N()}function Y(Z){e.height==="auto"&&(v.value=Z)}function G(){const Z=r.default?.();if(!Z)return null;const J=Fo(Z).filter(ae=>Qt(ae)&&ae.type.name==="ElCarouselItem");return J?.length===2&&e.loop&&!m.value?(h.value=!0,J):(h.value=!1,null)}pe(()=>u.value,(Z,J)=>{I(J),h.value&&(Z=Z%2,J=J%2),J>-1&&t(xt,Z,J)});const q=C({get:()=>h.value?u.value%2:u.value,set:Z=>u.value=Z});pe(()=>e.autoplay,Z=>{Z?N():x()}),pe(()=>e.loop,()=>{T(u.value)}),pe(()=>e.interval,()=>{V()});const X=Ct();return st(()=>{pe(()=>o.value,()=>{o.value.length>0&&T(e.initialIndex)},{immediate:!0}),X.value=ln(f.value,()=>{I()}),N()}),Ht(()=>{x(),f.value&&X.value&&X.value.stop()}),kt(Vx,{root:f,isCardType:m,isVertical:y,items:o,loop:e.loop,cardScale:e.cardScale,addItem:a,removeItem:l,setActiveItem:T,setContainerHeight:Y}),{root:f,activeIndex:u,exposeActiveIndex:q,arrowDisplay:g,hasLabel:p,hover:d,isCardType:m,items:o,isVertical:y,containerStyle:b,isItemsTwoLength:h,handleButtonEnter:L,handleButtonLeave:z,handleIndicatorClick:O,handleMouseEnter:_,handleMouseLeave:H,setActiveItem:T,prev:D,next:K,PlaceholderItem:G,isTwoLengthShow:k,ItemsSorter:s,throttledArrowClick:w,throttledIndicatorHover:S}},F5=["aria-label"],z5=["aria-label"],H5=["onMouseenter","onClick"],K5=["aria-label"],W5={key:0},j5={key:2,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},A1="ElCarousel";var Y5=fe({name:A1,__name:"carousel",props:D5,emits:L5,setup(e,{expose:t,emit:n}){const o=e,{root:a,activeIndex:l,exposeActiveIndex:s,arrowDisplay:r,hasLabel:u,hover:c,isCardType:d,items:f,isVertical:v,containerStyle:h,handleButtonEnter:g,handleButtonLeave:p,handleIndicatorClick:m,handleMouseEnter:y,handleMouseLeave:b,setActiveItem:w,prev:S,next:k,PlaceholderItem:x,isTwoLengthShow:N,ItemsSorter:$,throttledArrowClick:T,throttledIndicatorHover:I}=V5(o,n,A1),P=ke("carousel"),{t:_}=Tt(),H=C(()=>{const R=[P.b(),P.m(o.direction)];return i(d)&&R.push(P.m("card")),R.push(P.is("vertical-outside",i(v)&&o.indicatorPosition==="outside")),R}),L=C(()=>{const R=[P.e("indicators"),P.em("indicators",o.direction)];return i(u)&&R.push(P.em("indicators","labels")),o.indicatorPosition==="outside"&&R.push(P.em("indicators","outside")),i(v)&&R.push(P.em("indicators","right")),R});function z(R){if(!o.motionBlur)return;const D=i(v)?`${P.namespace.value}-transitioning-vertical`:`${P.namespace.value}-transitioning`;R.currentTarget.classList.add(D)}function O(R){if(!o.motionBlur)return;const D=i(v)?`${P.namespace.value}-transitioning-vertical`:`${P.namespace.value}-transitioning`;R.currentTarget.classList.remove(D)}return t({activeIndex:s,setActiveItem:w,prev:S,next:k}),(R,D)=>(E(),F("div",{ref_key:"root",ref:a,class:A(H.value),onMouseenter:D[6]||(D[6]=et((...K)=>i(y)&&i(y)(...K),["stop"])),onMouseleave:D[7]||(D[7]=et((...K)=>i(b)&&i(b)(...K),["stop"]))},[i(r)?(E(),de(Zn,{key:0,name:"carousel-arrow-left",persisted:""},{default:ie(()=>[Ue(M("button",{type:"button",class:A([i(P).e("arrow"),i(P).em("arrow","left")]),"aria-label":i(_)("el.carousel.leftArrow"),onMouseenter:D[0]||(D[0]=K=>i(g)("left")),onMouseleave:D[1]||(D[1]=(...K)=>i(p)&&i(p)(...K)),onClick:D[2]||(D[2]=et(K=>i(T)(i(l)-1),["stop"]))},[ee(i(He),null,{default:ie(()=>[ee(i(El))]),_:1})],42,F5),[[Vt,(e.arrow==="always"||i(c))&&(e.loop||i(l)>0)]])]),_:1})):se("v-if",!0),i(r)?(E(),de(Zn,{key:1,name:"carousel-arrow-right",persisted:""},{default:ie(()=>[Ue(M("button",{type:"button",class:A([i(P).e("arrow"),i(P).em("arrow","right")]),"aria-label":i(_)("el.carousel.rightArrow"),onMouseenter:D[3]||(D[3]=K=>i(g)("right")),onMouseleave:D[4]||(D[4]=(...K)=>i(p)&&i(p)(...K)),onClick:D[5]||(D[5]=et(K=>i(T)(i(l)+1),["stop"]))},[ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})],42,z5),[[Vt,(e.arrow==="always"||i(c))&&(e.loop||i(l)[e.indicatorPosition!=="none"?(E(),F("ul",{key:0,class:A(L.value)},[(E(!0),F(Oe,null,mt(i(f),(K,V)=>Ue((E(),F("li",{key:V,class:A([i(P).e("indicator"),i(P).em("indicator",e.direction),i(P).is("active",V===i(l))]),onMouseenter:Y=>i(I)(V),onClick:et(Y=>i(m)(V),["stop"])},[M("button",{class:A(i(P).e("button")),"aria-label":i(_)("el.carousel.indicator",{index:V+1})},[i(u)?(E(),F("span",W5,ye(K.props.label),1)):se("v-if",!0)],10,K5)],42,H5)),[[Vt,i(N)(V)]])),128))],2)):se("v-if",!0)]),_:1}),e.motionBlur?(E(),F("svg",j5,[...D[8]||(D[8]=[M("defs",null,[M("filter",{id:"elCarouselHorizontal"},[M("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),M("filter",{id:"elCarouselVertical"},[M("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1)])])):se("v-if",!0)],34))}}),U5=Y5;const q5=e=>{const t=Be(Vx),n=ct();t||Yt(uf,"usage: "),n||Yt(uf,"compositional hook can only be invoked inside setups");const o=B(),a=B(!1),l=B(0),s=B(1),r=B(!1),u=B(!1),c=B(!1),d=B(!1),{isCardType:f,isVertical:v,cardScale:h}=t;function g(S,k,x){const N=x-1,$=k-1,T=k+1,I=x/2;return k===0&&S===N?-1:k===N&&S===0?x:S<$&&k-S>=I?x+1:S>T&&S-k>=I?-2:S}function p(S,k){const x=i(v)?t.root.value?.offsetHeight||0:t.root.value?.offsetWidth||0;return c.value?x*((2-h)*(S-k)+1)/4:S{const N=i(f),$=t.items.value.length??NaN,T=S===k;!N&&!_t(x)&&(d.value=T||S===x),!T&&$>2&&t.loop&&(S=g(S,k,$));const I=i(v);r.value=T,N?(c.value=Math.round(Math.abs(S-k))<=1,l.value=p(S,k),s.value=i(r)?1:h):l.value=m(S,k,I),u.value=!0,T&&o.value&&t.setContainerHeight(o.value.offsetHeight)};function b(){if(t&&i(f)){const S=t.items.value.findIndex(({uid:k})=>k===n.uid);t.setActiveItem(S)}}const w={props:e,states:zt({hover:a,translate:l,scale:s,active:r,ready:u,inStage:c,animating:d}),uid:n.uid,getVnode:()=>n.vnode,translateItem:y};return t.addItem(w),Ht(()=>{t.removeItem(w)}),{carouselItemRef:o,active:r,animating:d,hover:a,inStage:c,isVertical:v,translate:l,isCardType:f,scale:s,ready:u,handleItemClick:b}};var G5=fe({name:uf,__name:"carousel-item",props:B5,setup(e){const t=e,n=ke("carousel"),{carouselItemRef:o,active:a,animating:l,hover:s,inStage:r,isVertical:u,translate:c,isCardType:d,scale:f,ready:v,handleItemClick:h}=q5(t),g=C(()=>[n.e("item"),n.is("active",a.value),n.is("in-stage",r.value),n.is("hover",s.value),n.is("animating",l.value),{[n.em("item","card")]:d.value,[n.em("item","card-vertical")]:d.value&&u.value}]),p=C(()=>({transform:[`${`translate${i(u)?"Y":"X"}`}(${i(c)}px)`,`scale(${i(f)})`].join(" ")}));return(m,y)=>Ue((E(),F("div",{ref_key:"carouselItemRef",ref:o,class:A(g.value),style:Fe(p.value),onClick:y[0]||(y[0]=(...b)=>i(h)&&i(h)(...b))},[i(d)?Ue((E(),F("div",{key:0,class:A(i(n).e("mask"))},null,2)),[[Vt,!i(a)]]):se("v-if",!0),ue(m.$slots,"default")],6)),[[Vt,i(v)]])}}),Fx=G5;const X5=ut(U5,{CarouselItem:Fx}),Z5=un(Fx),zx=Te({modelValue:{type:ne([Number,String,Array,Object])},options:{type:ne(Array),default:()=>[]},props:{type:ne(Object),default:()=>({})},virtualScroll:Boolean,itemSize:{type:Number,default:34},height:{type:Number,default:204}}),J5={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:ht,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},Q5=Te({...zx,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),D1=e=>!0,ez={[at]:D1,[xt]:D1,close:()=>!0,"expand-change":e=>e},tz=e=>C(()=>({...J5,...e.props})),cf="itemRendered",df="scroll",Sv="end-reached",ff="forward",nz="backward",Qo="auto",Iu="start",Ba="center",oz="horizontal",Hx="vertical",Mu="negative",qg="positive-ascending",Gg="positive-descending",az={[oz]:"left",[Hx]:"top"},Fh=xa({type:ne([Number,Function]),required:!0}),zh=xa({type:Number}),Hh=xa({type:Number,default:2}),lz=xa({type:String,values:["ltr","rtl"],default:"ltr"}),Kh=xa({type:Number,default:0}),pf=xa({type:Number,required:!0}),Kx=xa({type:String,values:["horizontal","vertical"],default:Hx}),Wx=Te({className:{type:ne([String,Array,Object,Boolean]),default:""},containerElement:{type:ne([String,Object]),default:"div"},data:{type:ne(Array),default:()=>fn([])},direction:lz,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},innerProps:{type:ne(Object),default:()=>({})},style:{type:ne([Object,String,Array,Boolean]),default:void 0},useIsScrolling:Boolean,width:{type:[Number,String],required:!1},innerWidth:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),jx=Te({cache:Hh,estimatedItemSize:zh,layout:Kx,initScrollOffset:Kh,total:pf,itemSize:Fh,...Wx}),Wh={type:Number,default:6},Yx={type:Number,default:0},Ux={type:Number,default:2},Ws=Te({columnCache:Hh,columnWidth:Fh,estimatedColumnWidth:zh,estimatedRowHeight:zh,initScrollLeft:Kh,initScrollTop:Kh,itemKey:{type:ne(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:Hh,rowHeight:Fh,totalColumn:pf,totalRow:pf,hScrollbarSize:Wh,vScrollbarSize:Wh,scrollbarStartGap:Yx,scrollbarEndGap:Ux,role:String,...Wx}),qx=Te({alwaysOn:Boolean,class:{type:ne([String,Array,Object,Boolean]),default:""},layout:Kx,total:pf,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:Wh,startGap:Yx,endGap:Ux,visible:Boolean}),Hi=(e,t)=>ee==="ltr"||e==="rtl"||e==="horizontal",L1=e=>e==="rtl";let Cr=null;function vf(e=!1){if(Cr===null||e){const t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";const o=document.createElement("div"),a=o.style;return a.width="100px",a.height="100px",t.appendChild(o),document.body.appendChild(t),t.scrollLeft>0?Cr=Gg:(t.scrollLeft=1,t.scrollLeft===0?Cr=Mu:Cr=qg),document.body.removeChild(t),Cr}return Cr}function sz({move:e,size:t,bar:n},o){const a={},l=`translate${n.axis}(${e}px)`;return a[n.size]=t,a.transform=l,o==="horizontal"?a.height="100%":a.width="100%",a}var B1=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function rz(e,t){return!!(e===t||B1(e)&&B1(t))}function iz(e,t){if(e.length!==t.length)return!1;for(var n=0;n{const e=ct().proxy.$props;return C(()=>{const t=(n,o,a)=>({});return e.perfMode?op(t):uz(t)})},Xx=({atEndEdge:e,atStartEdge:t,layout:n},o)=>{let a,l=0;const s=u=>u<0&&t.value||u>0&&e.value;return{hasReachedEdge:s,onWheel:u=>{ba(a);let{deltaX:c,deltaY:d}=u;u.shiftKey&&d!==0&&(c=d,d=0);const f=n.value==="horizontal"?c:d;s(f)||(l+=f,!cp()&&f!==0&&u.preventDefault(),a=Po(()=>{o(l),l=0}))}}},jh=fe({name:"ElVirtualScrollBar",props:qx,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const n=C(()=>e.startGap+e.endGap),o=ke("virtual-scrollbar"),a=ke("scrollbar"),l=B(),s=B();let r=null,u=null;const c=zt({isDragging:!1,traveled:0}),d=C(()=>lx[e.layout]),f=C(()=>e.clientSize-i(n)),v=C(()=>({position:"absolute",width:`${e.layout==="horizontal"?f.value:e.scrollbarSize}px`,height:`${e.layout==="horizontal"?e.scrollbarSize:f.value}px`,[az[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),h=C(()=>{const x=e.ratio;if(x>=100)return Number.POSITIVE_INFINITY;if(x>=50)return x*f.value/100;const N=f.value/3;return Math.floor(Math.min(Math.max(x*f.value/100,20),N))}),g=C(()=>{if(!Number.isFinite(h.value))return{display:"none"};const x=`${h.value}px`;return sz({bar:d.value,size:x,move:c.traveled},e.layout)}),p=C(()=>Math.ceil(e.clientSize-h.value-i(n))),m=()=>{window.addEventListener("mousemove",S),window.addEventListener("mouseup",w);const x=i(s);x&&(u=document.onselectstart,document.onselectstart=()=>!1,x.addEventListener("touchmove",S,{passive:!0}),x.addEventListener("touchend",w))},y=()=>{window.removeEventListener("mousemove",S),window.removeEventListener("mouseup",w),document.onselectstart=u,u=null;const x=i(s);x&&(x.removeEventListener("touchmove",S),x.removeEventListener("touchend",w))},b=x=>{x.stopImmediatePropagation(),!(x.ctrlKey||[1,2].includes(x.button))&&(c.isDragging=!0,c[d.value.axis]=x.currentTarget[d.value.offset]-(x[d.value.client]-x.currentTarget.getBoundingClientRect()[d.value.direction]),t("start-move"),m())},w=()=>{c.isDragging=!1,c[d.value.axis]=0,t("stop-move"),y()},S=x=>{const{isDragging:N}=c;if(!N||!s.value||!l.value)return;const $=c[d.value.axis];if(!$)return;ba(r);const T=(l.value.getBoundingClientRect()[d.value.direction]-x[d.value.client])*-1-(s.value[d.value.offset]-$);r=Po(()=>{c.traveled=Math.max(0,Math.min(T,p.value)),t("scroll",T,p.value)})},k=x=>{const N=Math.abs(x.target.getBoundingClientRect()[d.value.direction]-x[d.value.client])-s.value[d.value.offset]/2;c.traveled=Math.max(0,Math.min(N,p.value)),t("scroll",N,p.value)};return pe(()=>e.scrollFrom,x=>{c.isDragging||(c.traveled=Math.ceil(x*p.value))}),Ht(()=>{y()}),()=>De("div",{role:"presentation",ref:l,class:[o.b(),e.class,(e.alwaysOn||c.isDragging)&&"always-on"],style:v.value,onMousedown:et(k,["stop","prevent"]),onTouchstartPrevent:b},De("div",{ref:s,class:a.e("thumb"),style:g.value,onMousedown:b},[]))}}),Zx=({name:e,getOffset:t,getItemSize:n,getItemOffset:o,getEstimatedTotalSize:a,getStartIndexForOffset:l,getStopIndexForStartIndex:s,initCache:r,clearCache:u,validateProps:c})=>fe({name:e??"ElVirtualList",props:jx,emits:[cf,df,Sv],setup(d,{emit:f,expose:v}){c(d);const h=ct(),g=ke("vl"),p=B(r(d,h)),m=Gx(),y=B(),b=B(),w=B(),S=B({isScrolling:!1,scrollDir:ff,scrollOffset:We(d.initScrollOffset)?d.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1}),k=C(()=>{const{total:W,cache:te}=d,{isScrolling:j,scrollDir:U,scrollOffset:Q}=i(S);if(W===0)return[0,0,0,0];const le=l(d,Q,i(p)),ce=s(d,le,Q,i(p)),Ce=!j||U==="backward"?Math.max(1,te):1,we=!j||U==="forward"?Math.max(1,te):1;return[Math.max(0,le-Ce),Math.max(0,Math.min(W-1,ce+we)),le,ce]}),x=C(()=>a(d,i(p))),N=C(()=>Ou(d.layout)),$=C(()=>[{position:"relative",[`overflow-${N.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:d.direction,height:We(d.height)?`${d.height}px`:d.height,width:We(d.width)?`${d.width}px`:d.width},d.style]),T=C(()=>{const W=i(x),te=i(N),j=d.innerWidth;return{height:te?"100%":`${W}px`,pointerEvents:i(S).isScrolling?"none":void 0,width:te?`${W}px`:j!==void 0?We(j)?`${j}px`:j:"100%",margin:0,boxSizing:"border-box"}}),I=C(()=>N.value?d.width:d.height),P=C(()=>Math.max(0,x.value-I.value)),_=W=>ip(W,0,P.value),H=1,L=W=>({start:!Ha(W,0,H),end:!Ha(P.value,W,H)}),z=C(()=>_(S.value.scrollOffset)),O=C(()=>L(z.value));let R=O.value;const{onWheel:D}=Xx({atStartEdge:C(()=>O.value.start),atEndEdge:C(()=>O.value.end),layout:C(()=>d.layout)},W=>{w.value.onMouseUp?.(),J(Math.min(S.value.scrollOffset+W,P.value))});Wt(y,"wheel",D,{passive:!1});const K=()=>{const{total:W}=d;if(W>0){const[Q,le,ce,Ce]=i(k);f(cf,Q,le,ce,Ce)}const{scrollDir:te,scrollOffset:j,updateRequested:U}=i(S);f(df,te,j,U)},V=(W,te)=>{const j=L(te),U=d.direction==="rtl"?"left":"right",Q=d.direction==="rtl"?"right":"left";W==="forward"&&j.end&&!R.end&&f(Sv,N.value?U:"bottom"),W==="backward"&&j.start&&!R.start&&f(Sv,N.value?Q:"top"),R=j},Y=(W,{isScrolling:te,updateRequested:j})=>{const U=i(S),Q=Math.max(W,0);if(Q===U.scrollOffset)return;const le=Hi(U.scrollOffset,Q);S.value={...U,isScrolling:te,scrollDir:le,scrollOffset:Q,updateRequested:j},V(le,_(Q)),Pe(me)},G=W=>{const{clientHeight:te,scrollHeight:j,scrollTop:U}=W.currentTarget;i(S).scrollOffset!==U&&Y(Math.min(U,j-te),{isScrolling:!0,updateRequested:!1})},q=W=>{const{clientWidth:te,scrollLeft:j,scrollWidth:U}=W.currentTarget;if(i(S).scrollOffset===j)return;const{direction:Q}=d;let le=j;if(Q==="rtl")switch(vf()){case Mu:le=-j;break;case Gg:le=U-te-j;break}Y(Math.min(le,U-te),{isScrolling:!0,updateRequested:!1})},X=W=>{i(N)?q(W):G(W),K()},Z=(W,te)=>{const j=P.value/te*W;J(Math.min(P.value,j))},J=W=>{Y(W,{isScrolling:i(S).isScrolling,updateRequested:!0})},ae=(W,te=Qo)=>{const{scrollOffset:j}=i(S);W=Math.max(0,Math.min(W,d.total-1)),J(t(d,W,te,j,i(p)))},ve=W=>{const{direction:te,itemSize:j,layout:U}=d,Q=m.value(u&&j,u&&U,u&&te);let le;if(Ft(Q,String(W)))le=Q[W];else{const ce=o(d,W,i(p)),Ce=n(d,W,i(p)),we=i(N),he=te==="rtl",be=we?ce:0;Q[W]=le={position:"absolute",left:he?void 0:`${be}px`,right:he?`${be}px`:void 0,top:we?0:`${ce}px`,height:we?"100%":`${Ce}px`,width:we?`${Ce}px`:"100%"}}return le},me=()=>{S.value.isScrolling=!1,Pe(()=>{m.value(-1,null,null)})},oe=()=>{const W=y.value;W&&(W.scrollTop=0)};st(()=>{if(!Lt)return;const{initScrollOffset:W}=d,te=i(y);We(W)&&te&&(i(N)?te.scrollLeft=W:te.scrollTop=W),K()}),Sa(()=>{const{direction:W,layout:te}=d,{scrollOffset:j,updateRequested:U}=i(S),Q=i(y);if(U&&Q)if(te==="horizontal")if(W==="rtl")switch(vf()){case Mu:Q.scrollLeft=-j;break;case qg:Q.scrollLeft=j;break;default:{const{clientWidth:le,scrollWidth:ce}=Q;Q.scrollLeft=ce-le-j;break}}else Q.scrollLeft=j;else Q.scrollTop=j}),Xu(()=>{i(y).scrollTop=i(S).scrollOffset}),pe(P,()=>{R=O.value});const re={ns:g,clientSize:I,estimatedTotalSize:x,windowStyle:$,windowRef:y,innerRef:b,innerStyle:T,itemsToRender:k,scrollbarRef:w,states:S,getItemStyle:ve,onScroll:X,onScrollbarScroll:Z,onWheel:D,scrollTo:J,scrollToItem:ae,resetScrollTop:oe};return v({windowRef:y,innerRef:b,getItemStyleCache:m,scrollTo:J,scrollToItem:ae,resetScrollTop:oe,states:S}),re},render(d){const{$slots:f,className:v,clientSize:h,containerElement:g,data:p,getItemStyle:m,innerElement:y,itemsToRender:b,innerStyle:w,layout:S,scrollbarAlwaysOn:k,total:x,onScroll:N,onScrollbarScroll:$,states:T,useIsScrolling:I,windowStyle:P,ns:_}=d,[H,L]=b,z=dt(g),O=dt(y),R=[];if(x>0)for(let Y=H;Y<=L;Y++)R.push(De(Oe,{key:Y},f.default?.({data:p,index:Y,isScrolling:I?T.isScrolling:void 0,style:m(Y)})));const D=[De(O,ft(d.innerProps,{style:w,ref:"innerRef"}),Ve(O)?R:{default:()=>R})],K=De(jh,{ref:"scrollbarRef",clientSize:h,layout:S,onScroll:$,ratio:h*100/this.estimatedTotalSize,scrollFrom:T.scrollOffset/(this.estimatedTotalSize-h),total:x,alwaysOn:k}),V=De(z,{class:[_.e("window"),v],style:P,onScroll:N,ref:"windowRef",key:0},Ve(z)?[D]:{default:()=>[D]});return De("div",{key:0,class:[_.e("wrapper"),k?"always-on":""]},[V,K])}}),gc=Zx({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:n,layout:o,width:a},l,s,r)=>{const u=Ou(o)?a:e;Ve(u)&&rn("[ElVirtualList]",` - You should set - width/height - to number when your layout is - horizontal/vertical - `);const c=Math.max(0,t*n-u),d=Math.min(c,l*n),f=Math.max(0,(l+1)*n-u);switch(s==="smart"&&(r>=f-u&&r<=d+u?s=Qo:s=Ba),s){case Iu:return d;case"end":return f;case Ba:{const v=Math.round(f+(d-f)/2);return vc+Math.floor(u/2)?c:v}case Qo:default:return r>=f&&r<=d?r:rMath.max(0,Math.min(e-1,Math.floor(n/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:n,layout:o,width:a},l,s)=>{const r=l*n,u=Ou(o)?a:e,c=Math.ceil((u+s-r)/n);return Math.max(0,Math.min(t-1,l+c-1))},initCache(){},clearCache:!0,validateProps(){}}),cz="ElDynamicSizeList",Ir=(e,t,n)=>{const{itemSize:o}=e,{items:a,lastVisitedIndex:l}=n;if(t>l){let s=0;if(l>=0){const r=a[l];s=r.offset+r.size}for(let r=l+1;r<=t;r++){const u=o(r);a[r]={offset:s,size:u},s+=u}n.lastVisitedIndex=t}return a[t]},dz=(e,t,n)=>{const{items:o,lastVisitedIndex:a}=t;return(a>0?o[a].offset:0)>=n?Jx(e,t,0,a,n):fz(e,t,Math.max(0,a),n)},Jx=(e,t,n,o,a)=>{for(;n<=o;){const l=n+Math.floor((o-n)/2),s=Ir(e,l,t).offset;if(s===a)return l;sa&&(o=l-1)}return Math.max(0,n-1)},fz=(e,t,n,o)=>{const{total:a}=e;let l=1;for(;n{let a=0;if(o>=e&&(o=e-1),o>=0){const s=t[o];a=s.offset+s.size}const l=(e-o-1)*n;return a+l},pz=Zx({name:"ElDynamicSizeList",getItemOffset:(e,t,n)=>Ir(e,t,n).offset,getItemSize:(e,t,{items:n})=>n[t].size,getEstimatedTotalSize:V1,getOffset:(e,t,n,o,a)=>{const{height:l,layout:s,width:r}=e,u=Ou(s)?r:l,c=Ir(e,t,a),d=V1(e,a),f=Math.max(0,Math.min(d-u,c.offset)),v=Math.max(0,c.offset-u+c.size);switch(n==="smart"&&(o>=v-u&&o<=f+u?n=Qo:n=Ba),n){case Iu:return f;case"end":return v;case Ba:return Math.round(v+(f-v)/2);case Qo:default:return o>=v&&o<=f?o:odz(e,n,t),getStopIndexForStartIndex:(e,t,n,o)=>{const{height:a,total:l,layout:s,width:r}=e,u=Ou(s)?r:a,c=Ir(e,t,o),d=n+u;let f=c.offset+c.size,v=t;for(;v{n.lastVisitedIndex=Math.min(n.lastVisitedIndex,o-1),t.exposed?.getItemStyleCache(-1),a&&t.proxy?.$forceUpdate()},n},clearCache:!1,validateProps:({itemSize:e})=>{typeof e!="function"&&rn(cz,` - itemSize is required as function, but the given value was ${typeof e} - `)}}),vz=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:n,atYStartEdge:o},a)=>{let l=null,s=0,r=0;const u=(d,f)=>{const v=d<0&&t.value||d>0&&e.value,h=f<0&&o.value||f>0&&n.value;return v||h};return{hasReachedEdge:u,onWheel:d=>{ba(l);let f=d.deltaX,v=d.deltaY;if(Math.abs(f)>Math.abs(v)?v=0:f=0,d.shiftKey&&v!==0&&(f=v,v=0),u(f,v)){d.deltaX!==0&&f===0&&d.preventDefault();return}s+=f,r+=v,d.preventDefault(),l=Po(()=>{a(s,r),s=0,r=0})}}},hz=(e,t,n,o,a,l,s)=>{const r=B(0),u=B(0);let c,d=0,f=0;const v=g=>{ba(c),r.value=g.touches[0].clientX,u.value=g.touches[0].clientY,d=0,f=0},h=g=>{g.preventDefault(),ba(c),d+=r.value-g.touches[0].clientX,f+=u.value-g.touches[0].clientY,r.value=g.touches[0].clientX,u.value=g.touches[0].clientY,c=Po(()=>{const p=o.value-i(l),m=a.value-i(s);n({scrollLeft:Math.min(t.value.scrollLeft+d,p),scrollTop:Math.min(t.value.scrollTop+f,m)}),d=0,f=0})};return Wt(e,"touchstart",v,{passive:!0}),Wt(e,"touchmove",h,{passive:!1}),{touchStartX:r,touchStartY:u,handleTouchStart:v,handleTouchMove:h}},Qx=({name:e,clearCache:t,getColumnPosition:n,getColumnStartIndexForOffset:o,getColumnStopIndexForStartIndex:a,getEstimatedTotalHeight:l,getEstimatedTotalWidth:s,getColumnOffset:r,getRowOffset:u,getRowPosition:c,getRowStartIndexForOffset:d,getRowStopIndexForStartIndex:f,initCache:v,injectToInstance:h,validateProps:g})=>fe({name:e??"ElVirtualList",props:Ws,emits:[cf,df],setup(p,{emit:m,expose:y,slots:b}){const w=ke("vl");g(p);const S=ct(),k=B(v(p,S));h?.(S,k);const x=B(),N=B(),$=B(),T=B(),I=B({isScrolling:!1,scrollLeft:We(p.initScrollLeft)?p.initScrollLeft:0,scrollTop:We(p.initScrollTop)?p.initScrollTop:0,updateRequested:!1,xAxisScrollDir:ff,yAxisScrollDir:ff}),P=Gx(),_=C(()=>Number.parseInt(`${p.height}`,10)),H=C(()=>Number.parseInt(`${p.width}`,10)),L=C(()=>{const{totalColumn:he,totalRow:be,columnCache:ge}=p,{isScrolling:$e,xAxisScrollDir:Me,scrollLeft:Qe}=i(I);if(he===0||be===0)return[0,0,0,0];const tt=o(p,Qe,i(k)),qe=a(p,tt,Qe,i(k)),Et=!$e||Me==="backward"?Math.max(1,ge):1,At=!$e||Me==="forward"?Math.max(1,ge):1;return[Math.max(0,tt-Et),Math.max(0,Math.min(he-1,qe+At)),tt,qe]}),z=C(()=>{const{totalColumn:he,totalRow:be,rowCache:ge}=p,{isScrolling:$e,yAxisScrollDir:Me,scrollTop:Qe}=i(I);if(he===0||be===0)return[0,0,0,0];const tt=d(p,Qe,i(k)),qe=f(p,tt,Qe,i(k)),Et=!$e||Me==="backward"?Math.max(1,ge):1,At=!$e||Me==="forward"?Math.max(1,ge):1;return[Math.max(0,tt-Et),Math.max(0,Math.min(be-1,qe+At)),tt,qe]}),O=C(()=>l(p,i(k))),R=C(()=>s(p,i(k))),D=C(()=>[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:p.direction,height:We(p.height)?`${p.height}px`:p.height,width:We(p.width)?`${p.width}px`:p.width},p.style??{}]),K=C(()=>{const he=`${i(R)}px`;return{height:`${i(O)}px`,pointerEvents:i(I).isScrolling?"none":void 0,width:he,margin:0,boxSizing:"border-box"}}),V=()=>{const{totalColumn:he,totalRow:be}=p;if(he>0&&be>0){const[qe,Et,At,Kt]=i(L),[Rt,Ut,Se,_e]=i(z);m(cf,{columnCacheStart:qe,columnCacheEnd:Et,rowCacheStart:Rt,rowCacheEnd:Ut,columnVisibleStart:At,columnVisibleEnd:Kt,rowVisibleStart:Se,rowVisibleEnd:_e})}const{scrollLeft:ge,scrollTop:$e,updateRequested:Me,xAxisScrollDir:Qe,yAxisScrollDir:tt}=i(I);m(df,{xAxisScrollDir:Qe,scrollLeft:ge,yAxisScrollDir:tt,scrollTop:$e,updateRequested:Me})},Y=he=>{const{clientHeight:be,clientWidth:ge,scrollHeight:$e,scrollLeft:Me,scrollTop:Qe,scrollWidth:tt}=he.currentTarget,qe=i(I);if(qe.scrollTop===Qe&&qe.scrollLeft===Me)return;let Et=Me;if(L1(p.direction))switch(vf()){case Mu:Et=-Me;break;case Gg:Et=tt-ge-Me;break}I.value={...qe,isScrolling:!0,scrollLeft:Et,scrollTop:Math.max(0,Math.min(Qe,$e-be)),updateRequested:!0,xAxisScrollDir:Hi(qe.scrollLeft,Et),yAxisScrollDir:Hi(qe.scrollTop,Qe)},Pe(()=>W()),te(),V()},G=(he,be)=>{const ge=i(_),$e=(O.value-ge)/be*he;Z({scrollTop:Math.min(O.value-ge,$e)})},q=(he,be)=>{const ge=i(H),$e=(R.value-ge)/be*he;Z({scrollLeft:Math.min(R.value-ge,$e)})},{onWheel:X}=vz({atXStartEdge:C(()=>I.value.scrollLeft<=0),atXEndEdge:C(()=>I.value.scrollLeft>=R.value-i(H)),atYStartEdge:C(()=>I.value.scrollTop<=0),atYEndEdge:C(()=>I.value.scrollTop>=O.value-i(_))},(he,be)=>{N.value?.onMouseUp?.(),$.value?.onMouseUp?.();const ge=i(H),$e=i(_);Z({scrollLeft:Math.min(I.value.scrollLeft+he,R.value-ge),scrollTop:Math.min(I.value.scrollTop+be,O.value-$e)})});Wt(x,"wheel",X,{passive:!1});const Z=({scrollLeft:he=I.value.scrollLeft,scrollTop:be=I.value.scrollTop})=>{he=Math.max(he,0),be=Math.max(be,0);const ge=i(I);be===ge.scrollTop&&he===ge.scrollLeft||(I.value={...ge,xAxisScrollDir:Hi(ge.scrollLeft,he),yAxisScrollDir:Hi(ge.scrollTop,be),scrollLeft:he,scrollTop:be,updateRequested:!0},Pe(()=>W()),te(),V())},{touchStartX:J,touchStartY:ae,handleTouchStart:ve,handleTouchMove:me}=hz(x,I,Z,R,O,H,_),oe=(he=0,be=0,ge=Qo)=>{const $e=i(I);be=Math.max(0,Math.min(be,p.totalColumn-1)),he=Math.max(0,Math.min(he,p.totalRow-1));const Me=a2(w.namespace.value),Qe=i(k),tt=l(p,Qe),qe=s(p,Qe);Z({scrollLeft:r(p,be,ge,$e.scrollLeft,Qe,qe>p.width?Me:0),scrollTop:u(p,he,ge,$e.scrollTop,Qe,tt>p.height?Me:0)})},re=(he,be)=>{const{columnWidth:ge,direction:$e,rowHeight:Me}=p,Qe=P.value(t&&ge,t&&Me,t&&$e),tt=`${he},${be}`;if(Ft(Qe,tt))return Qe[tt];{const[,qe]=n(p,be,i(k)),Et=i(k),At=L1($e),[Kt,Rt]=c(p,he,Et),[Ut]=n(p,be,Et);return Qe[tt]={position:"absolute",left:At?void 0:`${qe}px`,right:At?`${qe}px`:void 0,top:`${Rt}px`,height:`${Kt}px`,width:`${Ut}px`},Qe[tt]}},W=()=>{I.value.isScrolling=!1,Pe(()=>{P.value(-1,null,null)})};st(()=>{if(!Lt)return;const{initScrollLeft:he,initScrollTop:be}=p,ge=i(x);ge&&(We(he)&&(ge.scrollLeft=he),We(be)&&(ge.scrollTop=be)),V()});const te=()=>{const{direction:he}=p,{scrollLeft:be,scrollTop:ge,updateRequested:$e}=i(I),Me=i(x);if($e&&Me){if(he==="rtl")switch(vf()){case Mu:Me.scrollLeft=-be;break;case qg:Me.scrollLeft=be;break;default:{const{clientWidth:Qe,scrollWidth:tt}=Me;Me.scrollLeft=tt-Qe-be;break}}else Me.scrollLeft=Math.max(0,be);Me.scrollTop=Math.max(0,ge)}},{resetAfterColumnIndex:j,resetAfterRowIndex:U,resetAfter:Q}=S.proxy;y({windowRef:x,innerRef:T,getItemStyleCache:P,touchStartX:J,touchStartY:ae,handleTouchStart:ve,handleTouchMove:me,scrollTo:Z,scrollToItem:oe,states:I,resetAfterColumnIndex:j,resetAfterRowIndex:U,resetAfter:Q});const le=()=>{const{scrollbarAlwaysOn:he,scrollbarStartGap:be,scrollbarEndGap:ge,totalColumn:$e,totalRow:Me}=p,Qe=i(H),tt=i(_),qe=i(R),Et=i(O),{scrollLeft:At,scrollTop:Kt}=i(I);return{horizontalScrollbar:De(jh,{ref:N,alwaysOn:he,startGap:be,endGap:ge,class:w.e("horizontal"),clientSize:Qe,layout:"horizontal",onScroll:q,ratio:Qe*100/qe,scrollFrom:At/(qe-Qe),total:Me,visible:!0}),verticalScrollbar:De(jh,{ref:$,alwaysOn:he,startGap:be,endGap:ge,class:w.e("vertical"),clientSize:tt,layout:"vertical",onScroll:G,ratio:tt*100/Et,scrollFrom:Kt/(Et-tt),total:$e,visible:!0})}},ce=()=>{const[he,be]=i(L),[ge,$e]=i(z),{data:Me,totalColumn:Qe,totalRow:tt,useIsScrolling:qe,itemKey:Et}=p,At=[];if(tt>0&&Qe>0)for(let Kt=ge;Kt<=$e;Kt++)for(let Rt=he;Rt<=be;Rt++){const Ut=Et({columnIndex:Rt,data:Me,rowIndex:Kt});At.push(De(Oe,{key:Ut},b.default?.({columnIndex:Rt,data:Me,isScrolling:qe?i(I).isScrolling:void 0,style:re(Kt,Rt),rowIndex:Kt})))}return At},Ce=()=>{const he=dt(p.innerElement),be=ce();return[De(he,ft(p.innerProps,{style:i(K),ref:T}),Ve(he)?be:{default:()=>be})]};return()=>{const he=dt(p.containerElement),{horizontalScrollbar:be,verticalScrollbar:ge}=le(),$e=Ce();return De("div",{key:0,class:w.e("wrapper"),role:p.role},[De(he,{class:p.className,style:i(D),onScroll:Y,ref:x},Ve(he)?$e:{default:()=>$e}),be,ge])}}}),F1="ElFixedSizeGrid",mz=Qx({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:n},o,a,l,s,r)=>{n=Number(n);const u=Math.max(0,e*t-n),c=Math.min(u,o*t),d=Math.max(0,o*t-n+r+t);switch(a==="smart"&&(l>=d-n&&l<=c+n?a=Qo:a=Ba),a){case Iu:return c;case"end":return d;case Ba:{const f=Math.round(d+(c-d)/2);return fu+Math.floor(n/2)?u:f}case Qo:default:return l>=d&&l<=c?l:d>c||l{t=Number(t);const u=Math.max(0,n*e-t),c=Math.min(u,o*e),d=Math.max(0,o*e-t+r+e);switch(a==="smart"&&(l>=d-t&&l<=c+t?a=Qo:a=Ba),a){case Iu:return c;case"end":return d;case Ba:{const f=Math.round(d+(c-d)/2);return fu+Math.floor(t/2)?u:f}case Qo:default:return l>=d&&l<=c?l:d>c||lMath.max(0,Math.min(t-1,Math.floor(n/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:n},o,a)=>{const l=o*e,s=Math.ceil((n+a-l)/e);return Math.max(0,Math.min(t-1,o+s-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},n)=>Math.max(0,Math.min(t-1,Math.floor(n/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:n},o,a)=>{const l=o*e,s=Math.ceil((n+a-l)/e);return Math.max(0,Math.min(t-1,o+s-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{We(e)||rn(F1,` - "columnWidth" must be passed as number, - instead ${typeof e} was given. - `),We(t)||rn(F1,` - "columnWidth" must be passed as number, - instead ${typeof t} was given. - `)}}),{max:hf,min:eE,floor:tE}=Math,z1="ElDynamicSizeGrid",gz={column:"columnWidth",row:"rowHeight"},Yh={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},il=(e,t,n,o)=>{const[a,l,s]=[n[o],e[gz[o]],n[Yh[o]]];if(t>s){let r=0;if(s>=0){const u=a[s];r=u.offset+u.size}for(let u=s+1;u<=t;u++){const c=l(u);a[u]={offset:r,size:c},r+=c}n[Yh[o]]=t}return a[t]},nE=(e,t,n,o,a,l)=>{for(;n<=o;){const s=n+tE((o-n)/2),r=il(e,s,t,l).offset;if(r===a)return s;r{const l=a==="column"?e.totalColumn:e.totalRow;let s=1;for(;n{const[a,l]=[t[o],t[Yh[o]]];return(l>0?a[l].offset:0)>=n?nE(e,t,0,l,n,o):yz(e,t,hf(0,l),n,o)},oE=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:n,row:o})=>{let a=0;if(n>=e&&(n=e-1),n>=0){const s=o[n];a=s.offset+s.size}const l=(e-n-1)*t;return a+l},aE=({totalColumn:e},{column:t,estimatedColumnWidth:n,lastVisitedColumnIndex:o})=>{let a=0;if(o>e&&(o=e-1),o>=0){const s=t[o];a=s.offset+s.size}const l=(e-o-1)*n;return a+l},bz={column:aE,row:oE},K1=(e,t,n,o,a,l,s)=>{const[r,u]=[l==="row"?e.height:e.width,bz[l]],c=il(e,t,a,l),d=hf(0,eE(u(e,a)-r,c.offset)),f=hf(0,c.offset-r+s+c.size);switch(n==="smart"&&(o>=f-r&&o<=d+r?n=Qo:n=Ba),n){case Iu:return d;case"end":return f;case Ba:return Math.round(f+(d-f)/2);case Qo:default:return o>=f&&o<=d?o:f>d||o{const o=il(e,t,n,"column");return[o.size,o.offset]},getRowPosition:(e,t,n)=>{const o=il(e,t,n,"row");return[o.size,o.offset]},getColumnOffset:(e,t,n,o,a,l)=>K1(e,t,n,o,a,"column",l),getRowOffset:(e,t,n,o,a,l)=>K1(e,t,n,o,a,"row",l),getColumnStartIndexForOffset:(e,t,n)=>H1(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,o)=>{const a=il(e,t,o,"column"),l=n+e.width;let s=a.offset+a.size,r=t;for(;rH1(e,n,t,"row"),getRowStopIndexForStartIndex:(e,t,n,o)=>{const{totalRow:a,height:l}=e,s=il(e,t,o,"row"),r=n+l;let u=s.size+s.offset,c=t;for(;c{const n=({columnIndex:l,rowIndex:s},r)=>{r=_t(r)?!0:r,We(l)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,l-1)),We(s)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,s-1)),e.exposed?.getItemStyleCache.value(-1,null,null),r&&e.proxy?.$forceUpdate()},o=(l,s)=>{n({columnIndex:l},s)},a=(l,s)=>{n({rowIndex:l},s)};Object.assign(e.proxy,{resetAfterColumnIndex:o,resetAfterRowIndex:a,resetAfter:n})},initCache:({estimatedColumnWidth:e=50,estimatedRowHeight:t=50})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{je(e)||rn(z1,` - "columnWidth" must be passed as function, - instead ${typeof e} was given. - `),je(t)||rn(z1,` - "rowHeight" must be passed as function, - instead ${typeof t} was given. - `)}}),lE={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:{type:Boolean,default:void 0},checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:On,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...co(["ariaControls"])},sE={[at]:e=>Ve(e)||We(e)||qt(e),change:e=>Ve(e)||We(e)||qt(e)},ki=Symbol("checkboxGroupContextKey"),Sz=Te({modelValue:{type:ne(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:On,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:ne(Array)},props:{type:ne(Object),default:()=>rE},type:{type:String,values:["checkbox","button"],default:"checkbox"},...co(["ariaLabel"])}),Cz={[at]:e=>xe(e),change:e=>xe(e)},rE={label:"label",value:"value",disabled:"disabled"},kz=({model:e,isChecked:t})=>{const n=Be(ki,void 0),o=Be(hr,void 0),a=C(()=>{const l=n?.max?.value,s=n?.min?.value;return!_t(l)&&e.value.length>=l&&!t.value||!_t(s)&&e.value.length<=s&&t.value});return{isDisabled:cn(C(()=>n===void 0?o?.disabled??a.value:n.disabled?.value||a.value)),isLimitDisabled:a}},xz=(e,{model:t,isLimitExceeded:n,hasOwnLabel:o,isDisabled:a,isLabeledByFormItem:l})=>{const s=Be(ki,void 0),{formItem:r}=Kn(),{emit:u}=ct();function c(g){return[!0,e.trueValue,e.trueLabel].includes(g)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function d(g,p){u(xt,c(g),p)}function f(g){if(n.value)return;const p=g.target;u(xt,c(p.checked),g)}async function v(g){n.value||!o.value&&!a.value&&l.value&&(g.composedPath().some(p=>p.tagName==="LABEL")||(t.value=c([!1,e.falseValue,e.falseLabel].includes(t.value)),await Pe(),d(t.value,g)))}const h=C(()=>s?.validateEvent||e.validateEvent);return pe(()=>e.modelValue,()=>{h.value&&r?.validate("change").catch(ht)}),{handleChange:f,onClickRoot:v}},Ez=e=>{const t=B(!1),{emit:n,vnode:o}=ct(),a=Be(ki,void 0),l=C(()=>_t(a)===!1),s=B(!1),r=C(()=>{const c=o.props??{};return"modelValue"in c||"model-value"in c}),u=C({get(){return l.value?a?.modelValue?.value:r.value?e.modelValue:t.value},set(c){l.value&&xe(c)?(s.value=a?.max?.value!==void 0&&c.length>a?.max.value&&c.length>u.value.length,s.value===!1&&a?.changeEvent?.(c)):(n(at,c),t.value=c)}});return{model:u,isGroup:l,isLimitExceeded:s}},$z=(e,t,{model:n})=>{const o=Be(ki,void 0),a=B(!1),l=C(()=>Vo(e.value)?e.label:e.value),s=C(()=>{const r=n.value;return qt(r)?r:xe(r)?lt(l.value)?r.map(en).some(u=>dn(u,l.value)):r.map(en).includes(l.value):r!=null?r===e.trueValue||r===e.trueLabel:!!r});return{checkboxButtonSize:Nn(C(()=>o?.size?.value),{prop:!0}),isChecked:s,isFocused:a,checkboxSize:Nn(C(()=>o?.size?.value)),hasOwnLabel:C(()=>!!t.default||!Vo(l.value)),actualValue:l}},iE=(e,t)=>{const{formItem:n}=Kn(),{model:o,isGroup:a,isLimitExceeded:l}=Ez(e),{isFocused:s,isChecked:r,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,actualValue:f}=$z(e,t,{model:o}),{isDisabled:v}=kz({model:o,isChecked:r}),{inputId:h,isLabeledByFormItem:g}=Ro(e,{formItemContext:n,disableIdGeneration:d,disableIdManagement:a}),{handleChange:p,onClickRoot:m}=xz(e,{model:o,isLimitExceeded:l,hasOwnLabel:d,isDisabled:v,isLabeledByFormItem:g});return(()=>{function b(){xe(o.value)&&!o.value.includes(f.value)?o.value.push(f.value):o.value=e.trueValue??e.trueLabel??!0}e.checked&&b()})(),Va({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>a.value&&Vo(e.value))),Va({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.trueLabel)),Va({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},C(()=>!!e.falseLabel)),{inputId:h,isLabeledByFormItem:g,isChecked:r,isDisabled:v,isFocused:s,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,model:o,actualValue:f,handleChange:p,onClickRoot:m}},Tz=["id","indeterminate","name","tabindex","disabled"];var Nz=fe({name:"ElCheckbox",__name:"checkbox",props:lE,emits:sE,setup(e){const t=e,{inputId:n,isLabeledByFormItem:o,isChecked:a,isDisabled:l,isFocused:s,checkboxSize:r,hasOwnLabel:u,model:c,actualValue:d,handleChange:f,onClickRoot:v}=iE(t,mn()),h=C(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:d.value}),g=ke("checkbox"),p=C(()=>[g.b(),g.m(r.value),g.is("disabled",l.value),g.is("bordered",t.border),g.is("checked",a.value)]),m=C(()=>[g.e("input"),g.is("disabled",l.value),g.is("checked",a.value),g.is("indeterminate",t.indeterminate),g.is("focus",s.value)]);return(y,b)=>(E(),de(dt(!i(u)&&i(o)?"span":"label"),{for:!i(u)&&i(o)?null:i(n),class:A(p.value),"aria-controls":e.indeterminate?e.ariaControls:null,"aria-checked":e.indeterminate?"mixed":void 0,"aria-label":e.ariaLabel,onClick:i(v)},{default:ie(()=>[M("span",{class:A(m.value)},[Ue(M("input",ft({id:i(n),"onUpdate:modelValue":b[0]||(b[0]=w=>gt(c)?c.value=w:null),class:i(g).e("original"),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:i(l)},h.value,{onChange:b[1]||(b[1]=(...w)=>i(f)&&i(f)(...w)),onFocus:b[2]||(b[2]=w=>s.value=!0),onBlur:b[3]||(b[3]=w=>s.value=!1),onClick:b[4]||(b[4]=et(()=>{},["stop"]))}),null,16,Tz),[[Fs,i(c)]]),M("span",{class:A(i(g).e("inner"))},null,2)],2),i(u)?(E(),F("span",{key:0,class:A(i(g).e("label"))},[ue(y.$slots,"default"),y.$slots.default?se("v-if",!0):(E(),F(Oe,{key:0},[ze(ye(e.label),1)],64))],2)):se("v-if",!0)]),_:3},8,["for","class","aria-controls","aria-checked","aria-label","onClick"]))}}),uE=Nz;const _z=["name","tabindex","disabled"];var Iz=fe({name:"ElCheckboxButton",__name:"checkbox-button",props:lE,emits:sE,setup(e){const t=e,{isFocused:n,isChecked:o,isDisabled:a,checkboxButtonSize:l,model:s,actualValue:r,handleChange:u}=iE(t,mn()),c=C(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:r.value}),d=Be(ki,void 0),f=ke("checkbox"),v=C(()=>{const g=d?.fill?.value??"";return{backgroundColor:g,borderColor:g,color:d?.textColor?.value??"",boxShadow:g?`-1px 0 0 0 ${g}`:void 0}}),h=C(()=>[f.b("button"),f.bm("button",l.value),f.is("disabled",a.value),f.is("checked",o.value),f.is("focus",n.value)]);return(g,p)=>(E(),F("label",{class:A(h.value)},[Ue(M("input",ft({"onUpdate:modelValue":p[0]||(p[0]=m=>gt(s)?s.value=m:null),class:i(f).be("button","original"),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:i(a)},c.value,{onChange:p[1]||(p[1]=(...m)=>i(u)&&i(u)(...m)),onFocus:p[2]||(p[2]=m=>n.value=!0),onBlur:p[3]||(p[3]=m=>n.value=!1),onClick:p[4]||(p[4]=et(()=>{},["stop"]))}),null,16,_z),[[Fs,i(s)]]),g.$slots.default||e.label?(E(),F("span",{key:0,class:A(i(f).be("button","inner")),style:Fe(i(o)?v.value:void 0)},[ue(g.$slots,"default",{},()=>[ze(ye(e.label),1)])],6)):se("v-if",!0)],2))}}),Xg=Iz,Mz=fe({name:"ElCheckboxGroup",__name:"checkbox-group",props:Sz,emits:Cz,setup(e,{emit:t}){const n=e,o=t,a=ke("checkbox"),l=cn(),{formItem:s}=Kn(),{inputId:r,isLabeledByFormItem:u}=Ro(n,{formItemContext:s}),c=async g=>{o(at,g),await Pe(),o(xt,g)},d=C({get(){return n.modelValue},set(g){c(g)}}),f=C(()=>({...rE,...n.props})),v=g=>{const{label:p,value:m,disabled:y}=f.value,b={label:g[p],value:g[m],disabled:g[y]};return{...pr(g,[p,m,y]),...b}},h=C(()=>n.type==="button"?Xg:uE);return kt(ki,{...Ya(Rn(n),["size","min","max","validateEvent","fill","textColor"]),disabled:l,modelValue:d,changeEvent:c}),pe(()=>n.modelValue,(g,p)=>{n.validateEvent&&!dn(g,p)&&s?.validate("change").catch(ht)}),(g,p)=>(E(),de(dt(e.tag),{id:i(r),class:A(i(a).b("group")),role:"group","aria-label":i(u)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":i(u)?i(s)?.labelId:void 0},{default:ie(()=>[ue(g.$slots,"default",{},()=>[(E(!0),F(Oe,null,mt(e.options,(m,y)=>(E(),de(dt(h.value),ft({key:y},{ref_for:!0},v(m)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"]))}}),cE=Mz;const ha=ut(uE,{CheckboxButton:Xg,CheckboxGroup:cE}),Oz=un(Xg),Zg=un(cE),dE=Te({modelValue:{type:[String,Number,Boolean],default:void 0},size:On,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),Pz=Te({...dE,border:Boolean}),fE={[at]:e=>Ve(e)||We(e)||qt(e),[xt]:e=>Ve(e)||We(e)||qt(e)},pE=Symbol("radioGroupKey"),Rz=Te({...dE}),vE={label:"label",value:"value",disabled:"disabled"},Az=Te({id:{type:String,default:void 0},size:On,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:ne(Array)},props:{type:ne(Object),default:()=>vE},type:{type:String,values:["radio","button"],default:"radio"},...co(["ariaLabel"])}),Dz=fE,hE=(e,t)=>{const n=B(),o=Be(pE,void 0),a=C(()=>!!o),l=C(()=>Vo(e.value)?e.label:e.value),s=C({get(){return a.value?o.modelValue:e.modelValue},set(f){a.value?o.changeEvent(f):t&&t("update:modelValue",f),n.value.checked=e.modelValue===l.value}}),r=Nn(C(()=>o?.size)),u=cn(C(()=>o?.disabled)),c=B(!1),d=C(()=>u.value||a.value&&s.value!==l.value?-1:0);return Va({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},C(()=>a.value&&Vo(e.value))),{radioRef:n,isGroup:a,radioGroup:o,focus:c,size:r,disabled:u,tabIndex:d,modelValue:s,actualValue:l}},Lz=["value","name","disabled","checked"];var Bz=fe({name:"ElRadio",__name:"radio",props:Pz,emits:fE,setup(e,{emit:t}){const n=e,o=t,a=ke("radio"),{radioRef:l,radioGroup:s,focus:r,size:u,disabled:c,modelValue:d,actualValue:f}=hE(n,o);function v(){Pe(()=>o(xt,d.value))}return(h,g)=>(E(),F("label",{class:A([i(a).b(),i(a).is("disabled",i(c)),i(a).is("focus",i(r)),i(a).is("bordered",e.border),i(a).is("checked",i(d)===i(f)),i(a).m(i(u))])},[M("span",{class:A([i(a).e("input"),i(a).is("disabled",i(c)),i(a).is("checked",i(d)===i(f))])},[Ue(M("input",{ref_key:"radioRef",ref:l,"onUpdate:modelValue":g[0]||(g[0]=p=>gt(d)?d.value=p:null),class:A(i(a).e("original")),value:i(f),name:e.name||i(s)?.name,disabled:i(c),checked:i(d)===i(f),type:"radio",onFocus:g[1]||(g[1]=p=>r.value=!0),onBlur:g[2]||(g[2]=p=>r.value=!1),onChange:v,onClick:g[3]||(g[3]=et(()=>{},["stop"]))},null,42,Lz),[[QC,i(d)]]),M("span",{class:A(i(a).e("inner"))},null,2)],2),M("span",{class:A(i(a).e("label")),onKeydown:g[4]||(g[4]=et(()=>{},["stop"]))},[ue(h.$slots,"default",{},()=>[ze(ye(e.label),1)])],34)],2))}}),mE=Bz;const Vz=["value","name","disabled"];var Fz=fe({name:"ElRadioButton",__name:"radio-button",props:Rz,setup(e){const t=e,n=ke("radio"),{radioRef:o,focus:a,size:l,disabled:s,modelValue:r,radioGroup:u,actualValue:c}=hE(t),d=C(()=>({backgroundColor:u?.fill||"",borderColor:u?.fill||"",boxShadow:u?.fill?`-1px 0 0 0 ${u.fill}`:"",color:u?.textColor||""}));return(f,v)=>(E(),F("label",{class:A([i(n).b("button"),i(n).is("active",i(r)===i(c)),i(n).is("disabled",i(s)),i(n).is("focus",i(a)),i(n).bm("button",i(l))])},[Ue(M("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":v[0]||(v[0]=h=>gt(r)?r.value=h:null),class:A(i(n).be("button","original-radio")),value:i(c),type:"radio",name:e.name||i(u)?.name,disabled:i(s),onFocus:v[1]||(v[1]=h=>a.value=!0),onBlur:v[2]||(v[2]=h=>a.value=!1),onClick:v[3]||(v[3]=et(()=>{},["stop"]))},null,42,Vz),[[QC,i(r)]]),M("span",{class:A(i(n).be("button","inner")),style:Fe(i(r)===i(c)?d.value:{}),onKeydown:v[4]||(v[4]=et(()=>{},["stop"]))},[ue(f.$slots,"default",{},()=>[ze(ye(e.label),1)])],38)],2))}}),Jg=Fz;const zz=["id","aria-label","aria-labelledby"];var Hz=fe({name:"ElRadioGroup",__name:"radio-group",props:Az,emits:Dz,setup(e,{emit:t}){const n=e,o=t,a=ke("radio"),l=Jn(),s=B(),{formItem:r}=Kn(),{inputId:u,isLabeledByFormItem:c}=Ro(n,{formItemContext:r}),d=p=>{o(at,p),Pe(()=>o(xt,p))};st(()=>{const p=s.value.querySelectorAll("[type=radio]"),m=p[0];!Array.from(p).some(y=>y.checked)&&m&&(m.tabIndex=0)});const f=C(()=>n.name||l.value),v=C(()=>({...vE,...n.props})),h=p=>{const{label:m,value:y,disabled:b}=v.value,w={label:p[m],value:p[y],disabled:p[b]};return{...pr(p,[m,y,b]),...w}},g=C(()=>n.type==="button"?Jg:mE);return kt(pE,zt({...Rn(n),changeEvent:d,name:f})),pe(()=>n.modelValue,(p,m)=>{n.validateEvent&&!dn(p,m)&&r?.validate("change").catch(ht)}),(p,m)=>(E(),F("div",{id:i(u),ref_key:"radioGroupRef",ref:s,class:A(i(a).b("group")),role:"radiogroup","aria-label":i(c)?void 0:e.ariaLabel||"radio-group","aria-labelledby":i(c)?i(r).labelId:void 0},[ue(p.$slots,"default",{},()=>[(E(!0),F(Oe,null,mt(e.options,(y,b)=>(E(),de(dt(g.value),ft({key:b},{ref_for:!0},h(y)),null,16))),128))])],10,zz))}}),gE=Hz;const yE=ut(mE,{RadioButton:Jg,RadioGroup:gE}),Kz=un(gE),Wz=un(Jg),xp=Symbol();function jz(e){return!!(xe(e)?e.every(({type:t})=>t===$n):e?.type===$n)}var Yz=fe({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const t=ke("cascader-node"),{renderLabelFn:n}=Be(xp),{node:o}=e,{data:a,label:l}=o,s=()=>{const r=n?.({node:o,data:a});return jz(r)?l:r??l};return()=>ee("span",{class:t.e("label")},[s()])}});const Uz=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"];var qz=fe({name:"ElCascaderNode",__name:"node",props:{node:{type:Object,required:!0},menuId:{type:String,required:!1}},emits:["expand"],setup(e,{emit:t}){const n=e,o=t,a=Be(xp),l=ke("cascader-node"),s=C(()=>a.isHoverMenu),r=C(()=>a.config.multiple),u=C(()=>a.config.checkStrictly),c=C(()=>a.config.showPrefix),d=C(()=>a.checkedNodes[0]?.uid),f=C(()=>n.node.isDisabled),v=C(()=>n.node.isLeaf),h=C(()=>u.value&&!v.value||!f.value),g=C(()=>m(a.expandingNode)),p=C(()=>u.value&&a.checkedNodes.some(m)),m=T=>{const{level:I,uid:P}=n.node;return T?.pathNodes[I-1]?.uid===P},y=()=>{g.value||a.expandNode(n.node)},b=T=>{const{node:I}=n;T!==I.checked&&a.handleCheckChange(I,T)},w=()=>{a.lazyLoad(n.node,()=>{v.value||y()})},S=T=>{s.value&&(k(),!v.value&&o("expand",T))},k=()=>{const{node:T}=n;!h.value||T.loading||(T.loaded?y():w())},x=()=>{v.value&&!f.value&&!u.value&&!r.value?$(!0):(a.config.checkOnClickNode&&(r.value||u.value)||v.value&&a.config.checkOnClickLeaf)&&!f.value?N(!n.node.checked):s.value||k()},N=T=>{u.value?(b(T),n.node.loaded&&y()):$(T)},$=T=>{n.node.loaded?(b(T),!u.value&&y()):w()};return(T,I)=>(E(),F("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!v.value,"aria-owns":v.value?void 0:e.menuId,"aria-expanded":g.value,tabindex:h.value?-1:void 0,class:A([i(l).b(),i(l).is("selectable",u.value),i(l).is("active",e.node.checked),i(l).is("disabled",!h.value),g.value&&"in-active-path",p.value&&"in-checked-path"]),onMouseenter:S,onFocus:S,onClick:x},[se(" prefix "),r.value&&c.value?(E(),de(i(ha),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:f.value,onClick:I[0]||(I[0]=et(()=>{},["stop"])),"onUpdate:modelValue":N},null,8,["model-value","indeterminate","disabled"])):u.value&&c.value?(E(),de(i(yE),{key:1,"model-value":d.value,label:e.node.uid,disabled:f.value,"onUpdate:modelValue":N,onClick:I[1]||(I[1]=et(()=>{},["stop"]))},{default:ie(()=>[se(` - Add an empty element to avoid render label, - do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 - `),I[2]||(I[2]=M("span",null,null,-1))]),_:1},8,["model-value","label","disabled"])):v.value&&e.node.checked?(E(),de(i(He),{key:2,class:A(i(l).e("prefix"))},{default:ie(()=>[ee(i(si))]),_:1},8,["class"])):se("v-if",!0),se(" content "),ee(i(Yz),{node:e.node},null,8,["node"]),se(" postfix "),v.value?se("v-if",!0):(E(),F(Oe,{key:3},[e.node.loading?(E(),de(i(He),{key:0,class:A([i(l).is("loading"),i(l).e("postfix")])},{default:ie(()=>[ee(i(sa))]),_:1},8,["class"])):(E(),de(i(He),{key:1,class:A(["arrow-right",i(l).e("postfix")])},{default:ie(()=>[ee(i(io))]),_:1},8,["class"]))],64))],42,Uz))}}),W1=qz,Gz=fe({name:"ElCascaderMenu",__name:"menu",props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0},virtualScroll:{type:Boolean,required:!1,default:!1},itemSize:{type:Number,required:!1,default:34},height:{type:Number,required:!1,default:204}},setup(e,{expose:t}){const n=e,o=ct(),a=ke("cascader-menu"),{t:l}=Tt(),s=Jn();let r,u;const c=Be(xp),d=B(),f=B(),v=C(()=>!n.nodes.length),h=C(()=>!c.initialLoaded),g=C(()=>`${s.value}-${n.index}`),p=()=>{let N;if(c.expandingNode){const{level:$,pathNodes:T}=c.expandingNode;n.index<$?N=T[n.index]?.uid:n.index===$&&c.checkedNodes.length>0&&(N=c.checkedNodes[0]?.pathNodes[n.index]?.uid)}else c.checkedNodes.length>0&&n.index$.uid===N):-1},m=N=>N?n.nodes.findIndex($=>`${g.value}-${$.uid}`===N):-1,y=N=>{const $=To(N,0,n.nodes.length-1);f.value?.scrollToItem($)},b=N=>{if(!n.nodes.length)return;const $=To(N,0,n.nodes.length-1);y($),Pe(()=>{const T=o.vnode.el?.querySelector(`#${g.value}-${n.nodes[$].uid}`);T&&Vr(T)})},w=N=>{r=N.target},S=N=>{if(!(!c.isHoverMenu||!r||!d.value))if(r.contains(N.target)){k();const $=o.vnode.el,{left:T}=$.getBoundingClientRect(),{offsetWidth:I,offsetHeight:P}=$,_=N.clientX-T,H=r.offsetTop,L=H+r.offsetHeight,z=n.virtualScroll?f.value?.states?.scrollOffset||0:$.querySelector(`.${a.e("wrap")}`)?.scrollTop||0;d.value.innerHTML=` - - - `}else u||(u=window.setTimeout(x,c.config.hoverThreshold))},k=()=>{u&&(clearTimeout(u),u=void 0)},x=()=>{d.value&&(d.value.innerHTML="",k())};return t({getActiveNodeIndex:p,getNodeIndexById:m,scrollToItem:y,focusNodeAt:b,virtualListRef:f,get $el(){return o.vnode.el}}),(N,$)=>e.virtualScroll?(E(),F("div",{key:g.value,class:A(i(a).b()),onMousemove:S,onMouseleave:x},[ee(i(gc),{ref_key:"virtualListRef",ref:f,height:e.height,"item-size":e.itemSize,data:e.nodes,total:e.nodes.length,"class-name":i(a).e("list"),"inner-element":"ul","inner-props":{role:"menu",class:i(a).is("empty",v.value)}},{default:ie(({data:T,index:I,style:P})=>[(E(),de(W1,{key:T[I].uid,node:T[I],"menu-id":g.value,style:Fe(P),onExpand:w},null,8,["node","menu-id","style"]))]),_:1},8,["height","item-size","data","total","class-name","inner-props"]),h.value?(E(),F("div",{key:0,class:A(i(a).e("empty-text"))},[ee(i(He),{size:14,class:A(i(a).is("loading"))},{default:ie(()=>[ee(i(sa))]),_:1},8,["class"]),ze(" "+ye(i(l)("el.cascader.loading")),1)],2)):v.value?(E(),F("div",{key:1,class:A(i(a).e("empty-text"))},[ue(N.$slots,"empty",{},()=>[ze(ye(i(l)("el.cascader.noData")),1)])],2)):i(c)?.isHoverMenu?(E(),F(Oe,{key:2},[se(" eslint-disable vue/html-self-closing "),(E(),F("svg",{ref_key:"hoverZone",ref:d,class:A(i(a).e("hover-zone"))},null,2))],2112)):se("v-if",!0),se(" eslint-enable vue/html-self-closing ")],34)):(E(),de(i(wa),{key:g.value,tag:"ul",role:"menu",class:A(i(a).b()),"wrap-class":i(a).e("wrap"),"view-class":[i(a).e("list"),i(a).is("empty",v.value)],onMousemove:S,onMouseleave:x},{default:ie(()=>[(E(!0),F(Oe,null,mt(e.nodes,T=>(E(),de(W1,{key:T.uid,node:T,"menu-id":g.value,onExpand:w},null,8,["node","menu-id"]))),128)),h.value?(E(),F("div",{key:0,class:A(i(a).e("empty-text"))},[ee(i(He),{size:14,class:A(i(a).is("loading"))},{default:ie(()=>[ee(i(sa))]),_:1},8,["class"]),ze(" "+ye(i(l)("el.cascader.loading")),1)],2)):v.value?(E(),F("div",{key:1,class:A(i(a).e("empty-text"))},[ue(N.$slots,"empty",{},()=>[ze(ye(i(l)("el.cascader.noData")),1)])],2)):i(c)?.isHoverMenu?(E(),F(Oe,{key:2},[se(" eslint-disable vue/html-self-closing "),(E(),F("svg",{ref_key:"hoverZone",ref:d,class:A(i(a).e("hover-zone"))},null,2))],2112)):se("v-if",!0),se(" eslint-enable vue/html-self-closing ")]),_:3},8,["class","wrap-class","view-class"]))}}),Xz=Gz;let Zz=0;const Jz=e=>{const t=[e];let{parent:n}=e;for(;n;)t.unshift(n),n=n.parent;return t};var Uh=class qh{constructor(t,n,o,a=!1){this.data=t,this.config=n,this.parent=o,this.root=a,this.uid=Zz++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:l,label:s,children:r}=n,u=t[r],c=Jz(this);this.level=a?0:o?o.level+1:1,this.value=t[l],this.label=t[s],this.pathNodes=c,this.pathValues=c.map(d=>d.value),this.pathLabels=c.map(d=>d.label),this.childrenData=u,this.children=(u||[]).map(d=>new qh(d,n,this)),this.loaded=!n.lazy||this.isLeaf||!mo(u),this.text=""}get isDisabled(){const{data:t,parent:n,config:o}=this,{disabled:a,checkStrictly:l}=o;return(je(a)?a(t,this):!!t[a])||!l&&!!n?.isDisabled}get isLeaf(){const{data:t,config:n,childrenData:o,loaded:a}=this,{lazy:l,leaf:s}=n,r=je(s)?s(t,this):t[s];return _t(r)?l&&!a?!1:!(xe(o)&&o.length):!!r}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:n,children:o}=this,a=new qh(t,this.config,this);return xe(n)?n.push(t):this.childrenData=[t],o.push(a),a}calcText(t,n){const o=t?this.pathLabels.join(n):this.label;return this.text=o,o}broadcast(t){this.children.forEach(n=>{n&&(n.broadcast(t),n.onParentCheck?.(t))})}emit(){const{parent:t}=this;t&&(t.onChildCheck?.(),t.emit())}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,n=t.filter(a=>!a.isDisabled),o=n.length?n.every(a=>a.checked):!1;this.setCheckState(o)}setCheckState(t){const n=this.children.length,o=this.children.reduce((a,l)=>a+(l.checked?1:l.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(a=>!a.isDisabled).every(a=>a.loaded&&a.checked)&&t,this.indeterminate=this.loaded&&o!==n&&o>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:n,multiple:o}=this.config;n||!o?this.checked=t:(this.broadcast(t),this.setCheckState(t),this.emit())}};const Gh=(e,t)=>e.reduce((n,o)=>(o.isLeaf?n.push(o):(!t&&n.push(o),n=n.concat(Gh(o.children,t))),n),[]);var j1=class{constructor(e,t){this.config=t;const n=(e||[]).map(o=>new Uh(o,this.config));this.nodes=n,this.allNodes=Gh(n,!1),this.leafNodes=Gh(n,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){const n=t?t.appendChild(e):new Uh(e,this.config);t||this.nodes.push(n),this.appendAllNodesAndLeafNodes(n)}appendNodes(e,t){e.length>0?e.forEach(n=>this.appendNode(n,t)):t&&t.isLeaf&&this.leafNodes.push(t)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(t=>{this.appendAllNodesAndLeafNodes(t)})}getNodeByValue(e,t=!1){return Vo(e)?null:this.getFlattedNodes(t).find(n=>dn(n.value,e)||dn(n.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:t,level:n})=>dn(e.value,t)&&e.level===n)||null}};const Cv=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},Qz=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():Xk(e)&&e.click()},eH=(e,t)=>{const n=t.slice(0),o=n.map(l=>l.uid),a=e.reduce((l,s)=>{const r=o.indexOf(s.uid);return r>-1&&(l.push(s),n.splice(r,1),o.splice(r,1)),l},[]);return a.push(...n),a};var tH=fe({name:"ElCascaderPanel",__name:"index",props:Q5,emits:ez,setup(e,{expose:t,emit:n}){const o=e,a=n;let l=!1;const s=ke("cascader"),r=tz(o),u=mn();let c;const d=B(!0),f=B(!1),v=B([]),h=B(),g=B([]),p=B(),m=B([]),y=C(()=>r.value.expandTrigger==="hover"),b=C(()=>o.renderLabel||u.default),w=C(()=>o.virtualScroll),S=C(()=>o.itemSize),k=C(()=>o.height),x=()=>{const{options:V}=o,Y=r.value;l=!1,c=new j1(V,Y),g.value=[c.getNodes()],Y.lazy&&mo(o.options)?(d.value=!1,N(void 0,G=>{G&&(c=new j1(G,Y),g.value=[c.getNodes()]),d.value=!0,z(!1,!0)})):z(!1,!0)},N=(V,Y)=>{const G=r.value;V=V||new Uh({},G,void 0,!0),V.loading=!0;const q=Z=>{const J=V,ae=J.root?null:J;J.loading=!1,J.loaded=!0,J.childrenData=J.childrenData||[],Z&&c?.appendNodes(Z,ae),Z&&Y?.(Z),V.level===0&&(f.value=!0)},X=()=>{V.loading=!1,V.loaded=!1,V.level===0&&(d.value=!0)};G.lazyLoad(V,q,X)},$=(V,Y)=>{const{level:G}=V,q=g.value.slice(0,G);let X;V.isLeaf?X=V.pathNodes[G-2]:(X=V,q.push(V.children)),p.value?.uid!==X?.uid&&(p.value=V,g.value=q,!Y&&a("expand-change",V?.pathValues||[]))},T=(V,Y,G=!0)=>{const{checkStrictly:q,multiple:X}=r.value,Z=m.value[0];l=!0,!X&&Z?.doCheck(!1),V.doCheck(Y),L(),G&&!X&&!q&&a("close"),!G&&!X&&I(V)},I=V=>{V&&(V=V.parent,I(V),V&&$(V))},P=V=>c?.getFlattedNodes(V),_=V=>P(V)?.filter(({checked:Y})=>Y!==!1),H=()=>{m.value.forEach(V=>V.doCheck(!1)),L(),g.value=g.value.slice(0,1),p.value=void 0,a("expand-change",[])},L=()=>{const{checkStrictly:V,multiple:Y}=r.value,G=m.value,q=eH(G,_(!V)),X=q.map(Z=>Z.valueByOption);m.value=q,h.value=Y?X:X[0]??null},z=(V=!1,Y=!1)=>{const{modelValue:G}=o,{lazy:q,multiple:X,checkStrictly:Z}=r.value,J=!Z;if(!(!d.value||l||!Y&&dn(G,h.value)))if(q&&!V){const ae=W0(rR(so(G))).map(ve=>c?.getNodeByValue(ve)).filter(ve=>!!ve&&!ve.loaded&&!ve.loading);ae.length?ae.forEach(ve=>{N(ve,()=>z(!1,Y))}):z(!0,Y)}else O(W0((X?so(G):[G]).map(ae=>c?.getNodeByValue(ae,J))),Y),h.value=La(G??void 0)},O=(V,Y=!0)=>{const{checkStrictly:G}=r.value,q=m.value,X=V.filter(ae=>!!ae&&(G||ae.isLeaf)),Z=c?.getSameNode(p.value),J=Y&&Z||X[0];J?J.pathNodes.forEach(ae=>$(ae,!0)):p.value=void 0,q.forEach(ae=>ae.doCheck(!1)),zt(X).forEach(ae=>ae.doCheck(!0)),m.value=X,Pe(R)},R=()=>{Lt&&v.value.forEach(V=>{const Y=V?.$el;if(Y)if(w.value){const G=V?.getActiveNodeIndex?.();G!==void 0&&G>=0&&V?.scrollToItem?.(G)}else{const G=Y.querySelector(`.${s.namespace.value}-scrollbar__wrap`);let q=Y.querySelector(`.${s.b("node")}.in-active-path`);if(!q){const X=Y.querySelectorAll(`.${s.b("node")}.${s.is("active")}`);q=X[X.length-1]}mg(G,q)}})},D=V=>{const Y=V.target,G=Xt(V);switch(G){case Ee.up:case Ee.down:{V.preventDefault();const q=G===Ee.up?-1:1;if(w.value){const X=Cv(Y),Z=v.value[X];if(Z){const J=Z.getNodeIndexById(Y.id);if(J>=0){const ae=g.value[X]??[],ve=ae.length;let me=J+q;for(;me>=0&&me{dn(V,Y)||x()},{immediate:!0}),pe(()=>o.options,x,{deep:!0}),pe(()=>o.modelValue,()=>{l=!1,z()},{deep:!0}),pe(()=>h.value,V=>{dn(V,o.modelValue)||(a(at,V),a(xt,V))});const K=()=>{f.value||!d.value||x()};return Vm(()=>v.value=[]),st(()=>!mo(o.modelValue)&&z()),t({menuList:v,menus:g,checkedNodes:m,handleKeyDown:D,handleCheckChange:T,getFlattedNodes:P,getCheckedNodes:_,clearCheckedNodes:H,calculateCheckedValue:L,scrollToExpandingNode:R,loadLazyRootNodes:K}),(V,Y)=>(E(),F("div",{class:A([i(s).b("panel"),i(s).is("bordered",e.border)]),onKeydown:D},[(E(!0),F(Oe,null,mt(g.value,(G,q)=>(E(),de(Xz,{key:q,ref_for:!0,ref:X=>v.value[q]=X,index:q,nodes:[...G],"virtual-scroll":w.value,"item-size":S.value,height:k.value},{empty:ie(()=>[ue(V.$slots,"empty")]),_:3},8,["index","nodes","virtual-scroll","item-size","height"]))),128))],34))}}),nH=tH;const bE=ut(nH),oH=Te({...zx,size:On,placeholder:String,disabled:{type:Boolean,default:void 0},clearable:Boolean,clearIcon:{type:Gt,default:el},filterable:Boolean,filterMethod:{type:ne(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:ne(Function),default:()=>!0},placement:{type:ne(String),values:Ja,default:"bottom-start"},fallbackPlacements:{type:ne(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:on.popperClass,popperStyle:on.popperStyle,teleported:on.teleported,effect:{type:ne(String),default:"light"},tagType:{...$l.type,default:"info"},tagEffect:{...$l.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0},fitInputWidth:{type:[Boolean,Number],default:!1},...vr}),Y1=e=>!0,aH={[at]:Y1,[xt]:Y1,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>qt(e),expandChange:e=>!!e,removeTag:e=>!!e},lH=["placeholder"],sH=["onClick"],rH=["id","data-suggestion-index","onClick"],iH=34;var uH=fe({name:"ElCascader",__name:"cascader",props:oH,emits:aH,setup(e,{expose:t,emit:n}){const o={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:Ie})=>{const{modifiersData:Xe,placement:Ye}=Ie;["right","left","bottom","top"].includes(Ye)||Xe.arrow&&(Xe.arrow.x=35)},requires:["arrow"]}]},a=e,l=n,s=Za(),r=mn();let u=0,c=0;const d=ke("cascader"),f=ke("input"),v={small:7,default:11,large:15},{t:h}=Tt(),{formItem:g}=Kn(),p=cn(),{valueOnClear:m}=pc(a),{isComposing:y,handleComposition:b}=fc({afterComposition(Ie){const Xe=Ie.target?.value;vn(Xe)}}),w=B(),S=B(),k=B(),x=B(),N=B(),$=B(),T=B(),I=B(!1),P=B(!1),_=B(!1),H=B(""),L=B(""),z=B([]),O=B([]),R=B("100%"),D=C(()=>!!r["suggestion-item"]),K=C(()=>To(O.value.length*a.itemSize,a.itemSize,a.height)),V=C(()=>a.props.multiple?a.collapseTags?z.value.slice(0,a.maxCollapseTags):z.value:[]),Y=C(()=>a.props.multiple?a.collapseTags?z.value.slice(a.maxCollapseTags):[]:[]),G=C(()=>s.style),q=C(()=>a.placeholder??h("el.cascader.placeholder")),X=C(()=>L.value||z.value.length>0||y.value?"":q.value),Z=Nn(),J=C(()=>Z.value==="small"?"small":"default"),ae=C(()=>!!a.props.multiple),ve=C(()=>!a.filterable||ae.value),me=C(()=>ae.value?L.value:H.value),oe=C(()=>N.value?.checkedNodes||[]),{wrapperRef:re,isFocused:W,handleBlur:te}=Pl(k,{disabled:p,beforeBlur(Ie){return w.value?.isFocusInsideContent(Ie)||S.value?.isFocusInsideContent(Ie)},afterBlur(){a.validateEvent&&g?.validate?.("blur").catch(ht)}}),j=C(()=>!a.clearable||p.value||_.value||!P.value&&!W.value?!1:!!oe.value.length),U=C(()=>{const{showAllLevels:Ie,separator:Xe}=a,Ye=oe.value;return Ye.length?ae.value?"":Ye[0].calcText(Ie,Xe):""}),Q=C(()=>g?.validateState||""),le=C({get(){return La(a.modelValue)},set(Ie){const Xe=Ie??m.value;l(at,Xe),l(xt,Xe),a.validateEvent&&g?.validate("change").catch(ht)}}),ce=C(()=>[d.b(),d.m(Z.value),d.is("disabled",p.value),s.class]),Ce=C(()=>[f.e("icon"),"icon-arrow-down",d.is("reverse",I.value)]),we=C(()=>d.is("focus",W.value)),he=C(()=>w.value?.popperRef?.contentRef),be=Ie=>{W.value&&te(new FocusEvent("blur",Ie)),ge(!1)},ge=Ie=>{p.value||(Ie=Ie??!I.value,Ie!==I.value&&(I.value=Ie,k.value?.input?.setAttribute("aria-expanded",`${Ie}`),Ie?($e(),N.value&&Pe(N.value.scrollToExpandingNode)):a.filterable&&vt(),l("visibleChange",Ie)))},$e=()=>{Pe(()=>{w.value?.updatePopper()})},Me=()=>{_.value=!1},Qe=Ie=>{const{showAllLevels:Xe,separator:Ye}=a;return{node:Ie,key:Ie.uid,text:Ie.calcText(Xe,Ye),hitState:!1,closable:!p.value&&!Ie.isDisabled}},tt=Ie=>{const Xe=Ie.node;Xe.doCheck(!1),N.value?.calculateCheckedValue(),l("removeTag",Xe.valueByOption)},qe=()=>{switch(a.showCheckedStrategy){case"child":return oe.value;case"parent":{const Ie=Ne(!1),Xe=Ie.map(Ye=>Ye.value);return Ie.filter(Ye=>!Ye.parent||!Xe.includes(Ye.parent.value))}default:return[]}},Et=()=>{if(!ae.value)return;const Ie=qe(),Xe=[];Ie.forEach(Ye=>Xe.push(Qe(Ye))),z.value=Xe},At=()=>{const{filterMethod:Ie,showAllLevels:Xe,separator:Ye}=a,Bt=N.value?.getFlattedNodes(!a.props.checkStrictly)?.filter(Zt=>Zt.isDisabled?!1:(Zt.calcText(Xe,Ye),Ie(Zt,me.value)));ae.value&&z.value.forEach(Zt=>{Zt.hitState=!1}),_.value=!0,O.value=Bt,Pe(()=>{a.virtualScroll&&O.value.length>0&&T.value?.scrollToItem(0),_e()}),$e()},Kt=Ie=>{const Xe=$.value;return Ie?Xe?.querySelector(Ie)??void 0:Xe},Rt=()=>{let Ie;_.value&&$.value?Ie=Kt(`.${d.e("suggestion-item")}`):Ie=N.value?.$el.querySelector(`.${d.b("node")}[tabindex="-1"]`),Ie&&(Ie.focus(),!_.value&&Ie.getAttribute("aria-haspopup")==="true"&&Ie.click())},Ut=Ie=>{const Xe=Kt();if(!Xe)return;const Ye=We(a.fitInputWidth)?`${a.fitInputWidth}px`:`${Ie}px`,Bt=gn=>{a.fitInputWidth!==!1?(gn.style.width=Ye,gn.style.minWidth=""):(gn.style.width="",gn.style.minWidth=Ye)};if(Bt(Xe),a.virtualScroll){R.value=a.fitInputWidth!==!1?Ye:D.value?`${Ie}px`:`${Math.max(Ie,Ze())}px`;return}const Zt=Kt(`.${d.e("suggestion-list")}`);Zt&&Bt(Zt)},Se=()=>{if(!r.prefix)return 0;const Ie=k.value?.$el.querySelector(`.${f.e("prefix")}`);if(!Ie)return 0;const Xe=Ie.getBoundingClientRect().width;return Xe<=0?0:Xe+v[Z.value||"default"]},_e=()=>{const Ie=k.value?.input,Xe=k.value?.$el;if(!Lt||!Ie||!Xe)return;$.value&&Ut(Xe.getBoundingClientRect().width);const Ye=x.value;if(Ye){const Bt=z.value.length>0?`${Math.max(Ye.offsetHeight,u)-2}px`:`${u}px`;Ie.style.height=Bt,Ye.style.left=`${Se()}px`,$e()}},Ze=()=>{if(D.value||!O.value.length)return 0;const Ie=document.createElement("canvas").getContext("2d");if(!Ie)return 0;const Xe=Kt(`.${d.e("suggestion-item")}`);if(!Xe||!Lt)return 0;const Ye=getComputedStyle(Xe),Bt=Number.parseFloat(Ye.paddingLeft)+Number.parseFloat(Ye.paddingRight);Ie.font=`bold ${Ye.fontSize} ${Ye.fontFamily}`;let Zt=0,gn=!1;for(const Qn of O.value){const Co=Qn.text||"",Ta=Ie.measureText(Co);Zt=Math.max(Zt,Ta.width),Qn.checked&&!gn&&(gn=!0)}return Zt+Bt+(gn?iH:0)},Ne=Ie=>N.value?.getCheckedNodes(Ie),Ge=Ie=>{$e(),l("expandChange",Ie)},Le=Ie=>{if(!y.value)switch(Xt(Ie)){case Ee.enter:case Ee.numpadEnter:ge();break;case Ee.down:ge(!0),Pe(Rt),Ie.preventDefault();break;case Ee.esc:I.value===!0&&(Ie.preventDefault(),Ie.stopPropagation(),ge(!1));break;case Ee.tab:ge(!1);break}},nt=()=>{N.value?.clearCheckedNodes(),!I.value&&a.filterable&&vt(),ge(!1),l("clear")},vt=()=>{const{value:Ie}=U;H.value=Ie,L.value=Ie},rt=Ie=>{const{checked:Xe}=Ie;ae.value?N.value?.handleCheckChange(Ie,!Xe,!1):(!Xe&&N.value?.handleCheckChange(Ie,!0,!1),ge(!1))},St=Ie=>{const Xe=Ie.closest("[data-suggestion-index]")?.dataset.suggestionIndex;if(!Xe)return-1;const Ye=Number.parseInt(Xe,10);return Number.isNaN(Ye)||Ye<0||Ye>=O.value.length?-1:Ye},It=Ie=>{const Xe=Ie.target,Ye=Xt(Ie);switch(Ye){case Ee.up:case Ee.down:{Ie.preventDefault();const Bt=Ye===Ee.up?-1:1;if(a.virtualScroll&&T.value){const Zt=St(Xe);if(Zt>=0){const gn=O.value.length,Qn=(Zt+Bt+gn)%gn;T.value.scrollToItem(Qn),Pe(()=>{const Co=Kt(`#suggestion-${O.value[Qn].uid}`);Co&&Vr(Co)});return}}Vr(Zk(Xe,Bt,`.${d.e("suggestion-item")}[tabindex="-1"]`));break}case Ee.enter:case Ee.numpadEnter:Xe.click();break}},pt=()=>{const Ie=z.value[z.value.length-1];c=L.value?0:c+1,!(!Ie||!c||a.collapseTags&&z.value.length>1)&&(Ie.hitState?tt(Ie):Ie.hitState=!0)},Jt=ac(()=>{const{value:Ie}=me;if(!Ie)return;const Xe=a.beforeFilter(Ie);ns(Xe)?Xe.then(At).catch(()=>{}):Xe!==!1?At():Me()},C(()=>a.debounce)),vn=(Ie,Xe)=>{if(!I.value&&ge(!0),!Xe?.isComposing)if(Ie)Jt();else{const Ye=a.beforeFilter("");ns(Ye)&&Ye.catch(()=>{}),Me()}},Ke=Ie=>Number.parseFloat(JR(f.cssVarName("input-height"),Ie).value)-2,Je=()=>{k.value?.focus()},it=()=>{k.value?.blur()};return pe(_,$e),pe([oe,p,()=>a.collapseTags,()=>a.maxCollapseTags],Et),pe(z,()=>{Pe(()=>_e())}),pe(Z,async()=>{await Pe();const Ie=k.value.input;u=Ke(Ie)||u,_e()}),pe(U,vt,{immediate:!0}),pe(()=>I.value,Ie=>{Ie&&a.props.lazy&&a.props.lazyLoad&&N.value?.loadLazyRootNodes()}),st(()=>{const Ie=k.value.input,Xe=k.value.$el,Ye=Ke(Ie);u=Ie.offsetHeight||Ye,ln(Xe,_e)}),t({getCheckedNodes:Ne,cascaderPanelRef:N,togglePopperVisible:ge,contentRef:he,presentText:U,focus:Je,blur:it}),(Ie,Xe)=>(E(),de(i(Hn),{ref_key:"tooltipRef",ref:w,visible:I.value,teleported:e.teleported,"popper-class":[i(d).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":o,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${i(d).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:Me},{default:ie(()=>[Ue((E(),F("div",{ref_key:"wrapperRef",ref:re,class:A(ce.value),style:Fe(G.value),onClick:Xe[8]||(Xe[8]=()=>ge(ve.value?void 0:!0)),onKeydown:Le,onMouseenter:Xe[9]||(Xe[9]=Ye=>P.value=!0),onMouseleave:Xe[10]||(Xe[10]=Ye=>P.value=!1)},[ee(i(Gn),{ref_key:"inputRef",ref:k,modelValue:H.value,"onUpdate:modelValue":Xe[1]||(Xe[1]=Ye=>H.value=Ye),placeholder:X.value,readonly:ve.value,disabled:i(p),"validate-event":!1,size:i(Z),class:A(we.value),tabindex:ae.value&&e.filterable&&!i(p)?-1:void 0,onCompositionstart:i(b),onCompositionupdate:i(b),onCompositionend:i(b),onInput:vn},bo({suffix:ie(()=>[j.value?(E(),de(i(He),{key:"clear",class:A([i(f).e("icon"),"icon-circle-close"]),onClick:et(nt,["stop"])},{default:ie(()=>[(E(),de(dt(e.clearIcon)))]),_:1},8,["class"])):(E(),de(i(He),{key:"arrow-down",class:A(Ce.value),onClick:Xe[0]||(Xe[0]=et(Ye=>ge(),["stop"]))},{default:ie(()=>[ee(i(Qa))]),_:1},8,["class"]))]),_:2},[Ie.$slots.prefix?{name:"prefix",fn:ie(()=>[ue(Ie.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),ae.value?(E(),F("div",{key:0,ref_key:"tagWrapper",ref:x,class:A([i(d).e("tags"),i(d).is("validate",!!Q.value)])},[ue(Ie.$slots,"tag",{data:z.value,deleteTag:tt},()=>[(E(!0),F(Oe,null,mt(V.value,Ye=>(E(),de(i(wl),{key:Ye.key,type:e.tagType,size:J.value,effect:e.tagEffect,hit:Ye.hitState,closable:Ye.closable,"disable-transitions":"",onClose:Bt=>tt(Ye)},{default:ie(()=>[M("span",null,ye(Ye.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.collapseTags&&z.value.length>e.maxCollapseTags?(E(),de(i(Hn),{key:0,ref_key:"tagTooltipRef",ref:S,disabled:I.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect,persistent:e.persistent},{default:ie(()=>[ee(i(wl),{closable:!1,size:J.value,type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:ie(()=>[M("span",{class:A(i(d).e("tags-text"))}," + "+ye(z.value.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect"])]),content:ie(()=>[ee(i(wa),{"max-height":e.maxCollapseTagsTooltipHeight},{default:ie(()=>[M("div",{class:A(i(d).e("collapse-tags"))},[(E(!0),F(Oe,null,mt(Y.value,(Ye,Bt)=>(E(),F("div",{key:Bt,class:A(i(d).e("collapse-tag"))},[(E(),de(i(wl),{key:Ye.key,class:"in-tooltip",type:e.tagType,size:J.value,effect:e.tagEffect,hit:Ye.hitState,closable:Ye.closable,"disable-transitions":"",onClose:Zt=>tt(Ye)},{default:ie(()=>[M("span",null,ye(Ye.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:1},8,["disabled","popper-class","popper-style","effect","persistent"])):se("v-if",!0),e.filterable&&!i(p)?Ue((E(),F("input",{key:1,"onUpdate:modelValue":Xe[2]||(Xe[2]=Ye=>L.value=Ye),type:"text",class:A(i(d).e("search-input")),placeholder:U.value?"":q.value,onInput:Xe[3]||(Xe[3]=Ye=>vn(L.value,Ye)),onClick:Xe[4]||(Xe[4]=et(Ye=>ge(!0),["stop"])),onKeydown:sn(pt,["delete"]),onCompositionstart:Xe[5]||(Xe[5]=(...Ye)=>i(b)&&i(b)(...Ye)),onCompositionupdate:Xe[6]||(Xe[6]=(...Ye)=>i(b)&&i(b)(...Ye)),onCompositionend:Xe[7]||(Xe[7]=(...Ye)=>i(b)&&i(b)(...Ye))},null,42,lH)),[[an,L.value]]):se("v-if",!0)],2)):se("v-if",!0)],38)),[[i(cs),be,he.value]])]),content:ie(()=>[Ie.$slots.header?(E(),F("div",{key:0,class:A(i(d).e("header")),onClick:Xe[11]||(Xe[11]=et(()=>{},["stop"]))},[ue(Ie.$slots,"header")],2)):se("v-if",!0),Ue(ee(i(bE),{ref_key:"cascaderPanelRef",ref:N,modelValue:le.value,"onUpdate:modelValue":Xe[12]||(Xe[12]=Ye=>le.value=Ye),options:e.options,props:a.props,border:!1,"render-label":Ie.$slots.default,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,height:e.height,onExpandChange:Ge,onClose:Xe[13]||(Xe[13]=Ye=>Ie.$nextTick(()=>ge(!1)))},{empty:ie(()=>[ue(Ie.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label","virtual-scroll","item-size","height"]),[[Vt,!_.value]]),e.filterable?(E(),F(Oe,{key:1},[e.virtualScroll?Ue((E(),F("div",{key:1,ref_key:"suggestionPanel",ref:$,class:A(i(d).e("suggestion-panel")),onKeydown:It},[Ue(ee(i(gc),{ref_key:"suggestionVirtualListRef",ref:T,height:K.value,"item-size":e.itemSize,data:O.value,total:O.value.length,"class-name":i(d).e("suggestion-list"),"inner-element":"ul","inner-width":R.value},{default:ie(({data:Ye,index:Bt,style:Zt})=>[(E(),F("li",{id:`suggestion-${Ye[Bt].uid}`,key:Ye[Bt].uid,"data-suggestion-index":Bt,class:A([i(d).e("suggestion-item"),i(d).is("checked",Ye[Bt].checked)]),tabindex:-1,style:Fe(Zt),onClick:gn=>rt(Ye[Bt])},[ue(Ie.$slots,"suggestion-item",{item:Ye[Bt]},()=>[M("span",null,ye(Ye[Bt].text),1),Ye[Bt].checked?(E(),de(i(He),{key:0},{default:ie(()=>[ee(i(si))]),_:1})):se("v-if",!0)])],14,rH))]),_:3},8,["height","item-size","data","total","class-name","inner-width"]),[[Vt,O.value.length]]),O.value.length?se("v-if",!0):ue(Ie.$slots,"empty",{key:0},()=>[M("ul",{class:A(i(d).e("suggestion-list"))},[M("li",{class:A(i(d).e("empty-text"))},ye(i(h)("el.cascader.noMatch")),3)],2)])],34)),[[Vt,_.value]]):Ue((E(),de(i(wa),{key:0,ref:Ye=>$.value=Ye?.$el,tag:"ul",class:A(i(d).e("suggestion-panel")),"wrap-class":i(d).e("suggestion-wrap"),"view-class":i(d).e("suggestion-list"),onKeydown:It},{default:ie(()=>[O.value.length?(E(!0),F(Oe,{key:0},mt(O.value,Ye=>(E(),F("li",{key:Ye.uid,class:A([i(d).e("suggestion-item"),i(d).is("checked",Ye.checked)]),tabindex:-1,onClick:Bt=>rt(Ye)},[ue(Ie.$slots,"suggestion-item",{item:Ye},()=>[M("span",null,ye(Ye.text),1),Ye.checked?(E(),de(i(He),{key:0},{default:ie(()=>[ee(i(si))]),_:1})):se("v-if",!0)])],10,sH))),128)):ue(Ie.$slots,"empty",{key:1},()=>[M("li",{class:A(i(d).e("empty-text"))},ye(i(h)("el.cascader.noMatch")),3)])]),_:3},8,["class","wrap-class","view-class"])),[[Vt,_.value]])],64)):se("v-if",!0),Ie.$slots.footer?(E(),F("div",{key:2,class:A(i(d).e("footer")),onClick:Xe[14]||(Xe[14]=et(()=>{},["stop"]))},[ue(Ie.$slots,"footer")],2)):se("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}}),cH=uH;const dH=ut(cH),fH=Te({checked:Boolean,disabled:Boolean,type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),pH={"update:checked":e=>qt(e),[xt]:e=>qt(e)};var vH=fe({name:"ElCheckTag",__name:"check-tag",props:fH,emits:pH,setup(e,{emit:t}){const n=e,o=t,a=ke("check-tag"),l=C(()=>[a.b(),a.is("checked",n.checked),a.is("disabled",n.disabled),a.m(n.type||"primary")]),s=()=>{if(n.disabled)return;const r=!n.checked;o(xt,r),o("update:checked",r)};return(r,u)=>(E(),F("span",{class:A(l.value),onClick:s},[ue(r.$slots,"default")],2))}}),hH=vH;const mH=ut(hH),gH=Te({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:ne([Number,Object]),default:()=>fn({})},sm:{type:ne([Number,Object]),default:()=>fn({})},md:{type:ne([Number,Object]),default:()=>fn({})},lg:{type:ne([Number,Object]),default:()=>fn({})},xl:{type:ne([Number,Object]),default:()=>fn({})}}),yH=["start","center","end","space-around","space-between","space-evenly"],bH=["top","middle","bottom"],wH=Te({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:yH,default:"start"},align:{type:String,values:bH}}),wE=Symbol("rowContextKey");var SH=fe({name:"ElRow",__name:"row",props:wH,setup(e){const t=e,n=ke("row");kt(wE,{gutter:C(()=>t.gutter)});const o=C(()=>{const l={};return t.gutter&&(l.marginRight=l.marginLeft=`-${t.gutter/2}px`),l}),a=C(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(l,s)=>(E(),de(dt(e.tag),{class:A(a.value),style:Fe(o.value)},{default:ie(()=>[ue(l.$slots,"default")]),_:3},8,["class","style"]))}}),CH=SH;const kH=ut(CH);var xH=fe({name:"ElCol",__name:"col",props:gH,setup(e){const t=e,{gutter:n}=Be(wE,{gutter:C(()=>0)}),o=ke("col"),a=C(()=>{const s={};return n.value&&(s.paddingLeft=s.paddingRight=`${n.value/2}px`),s}),l=C(()=>{const s=[];return["span","offset","pull","push"].forEach(r=>{const u=t[r];We(u)&&(r==="span"?s.push(o.b(`${t[r]}`)):u>0&&s.push(o.b(`${r}-${t[r]}`)))}),["xs","sm","md","lg","xl"].forEach(r=>{We(t[r])?s.push(o.b(`${r}-${t[r]}`)):lt(t[r])&&Object.entries(t[r]).forEach(([u,c])=>{s.push(u!=="span"?o.b(`${r}-${u}-${c}`):o.b(`${r}-${c}`))})}),n.value&&s.push(o.is("guttered")),[o.b(),s]});return(s,r)=>(E(),de(dt(e.tag),{class:A(l.value),style:Fe(a.value)},{default:ie(()=>[ue(s.$slots,"default")]),_:3},8,["class","style"]))}}),EH=xH;const $H=ut(EH),U1=e=>We(e)||Ve(e)||xe(e),TH=Te({accordion:Boolean,modelValue:{type:ne([Array,String,Number]),default:()=>fn([])},expandIconPosition:{type:ne([String]),default:"right"},beforeCollapse:{type:ne(Function)}}),NH={[at]:U1,[xt]:U1},SE=Symbol("collapseContextKey"),_H=Te({title:{type:String,default:""},name:{type:ne([String,Number]),default:void 0},icon:{type:Gt,default:io},disabled:Boolean});var IH=fe({name:"ElCollapseTransition",__name:"collapse-transition",setup(e){const t=ke("collapse-transition"),n=a=>{a.style.maxHeight="",a.style.overflow=a.dataset.oldOverflow,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom},o={beforeEnter(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.style.height&&(a.dataset.elExistsHeight=a.style.height),a.style.maxHeight=0,a.style.paddingTop=0,a.style.paddingBottom=0},enter(a){requestAnimationFrame(()=>{a.dataset.oldOverflow=a.style.overflow,a.dataset.elExistsHeight?a.style.maxHeight=a.dataset.elExistsHeight:a.scrollHeight!==0?a.style.maxHeight=`${a.scrollHeight}px`:a.style.maxHeight=0,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom,a.style.overflow="hidden"})},afterEnter(a){a.style.maxHeight="",a.style.overflow=a.dataset.oldOverflow},enterCancelled(a){n(a)},beforeLeave(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.dataset.oldOverflow=a.style.overflow,a.style.maxHeight=`${a.scrollHeight}px`,a.style.overflow="hidden"},leave(a){a.scrollHeight!==0&&(a.style.maxHeight=0,a.style.paddingTop=0,a.style.paddingBottom=0)},afterLeave(a){n(a)},leaveCancelled(a){n(a)}};return(a,l)=>(E(),de(Zn,ft({name:i(t).b()},I_(o)),{default:ie(()=>[ue(a.$slots,"default")]),_:3},16,["name"]))}}),MH=IH;const Ep=ut(MH),q1="ElCollapse",OH=(e,t)=>{const n=B(Bn(e.modelValue)),o=s=>{n.value=s;const r=e.accordion?n.value[0]:n.value;t(at,r),t(xt,r)},a=s=>{if(e.accordion)o([n.value[0]===s?"":s]);else{const r=[...n.value],u=r.indexOf(s);u>-1?r.splice(u,1):r.push(s),o(r)}},l=async s=>{const{beforeCollapse:r}=e;if(!r){a(s);return}const u=r(s);[ns(u),qt(u)].includes(!0)||rn(q1,"beforeCollapse must return type `Promise` or `boolean`"),ns(u)?u.then(c=>{c!==!1&&a(s)}).catch(c=>{Yt(q1,`some error occurred: ${c}`)}):u&&a(s)};return pe(()=>e.modelValue,()=>n.value=Bn(e.modelValue),{deep:!0}),kt(SE,{activeNames:n,handleItemClick:l}),{activeNames:n,setActiveNames:o}},PH=e=>{const t=ke("collapse");return{rootKls:C(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}};var RH=fe({name:"ElCollapse",__name:"collapse",props:TH,emits:NH,setup(e,{expose:t,emit:n}){const o=e,{activeNames:a,setActiveNames:l}=OH(o,n),{rootKls:s}=PH(o);return t({activeNames:a,setActiveNames:l}),(r,u)=>(E(),F("div",{class:A(i(s))},[ue(r.$slots,"default")],2))}}),AH=RH;const DH=e=>{const t=Be(SE),{namespace:n}=ke("collapse"),o=B(!1),a=B(!1),l=$g(),s=C(()=>l.current++),r=C(()=>e.name??`${n.value}-id-${l.prefix}-${i(s)}`),u=C(()=>t?.activeNames.value.includes(i(r)));return{focusing:o,id:s,isActive:u,handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:o.value=!0},50)},handleHeaderClick:v=>{e.disabled||v.target?.closest("input, textarea, select")||(t?.handleItemClick(i(r)),o.value=!1,a.value=!0)},handleEnterClick:v=>{v.target?.closest("input, textarea, select")||(v.preventDefault(),t?.handleItemClick(i(r)))}}},LH=(e,{focusing:t,isActive:n,id:o})=>{const a=ke("collapse"),l=C(()=>[a.b("item"),a.is("active",i(n)),a.is("disabled",e.disabled)]),s=C(()=>[a.be("item","header"),a.is("active",i(n)),{focusing:i(t)&&!e.disabled}]),r=C(()=>[a.be("item","arrow"),a.is("active",i(n))]);return{itemTitleKls:C(()=>[a.be("item","title")]),arrowKls:r,headKls:s,rootKls:l,itemWrapperKls:C(()=>a.be("item","wrap")),itemContentKls:C(()=>a.be("item","content")),scopedContentId:C(()=>a.b(`content-${i(o)}`)),scopedHeadId:C(()=>a.b(`head-${i(o)}`))}},BH=["id","aria-expanded","aria-controls","aria-describedby","tabindex","aria-disabled"],VH=["id","aria-hidden","aria-labelledby"];var FH=fe({name:"ElCollapseItem",__name:"collapse-item",props:_H,setup(e,{expose:t}){const n=e,{focusing:o,id:a,isActive:l,handleFocus:s,handleHeaderClick:r,handleEnterClick:u}=DH(n),{arrowKls:c,headKls:d,rootKls:f,itemTitleKls:v,itemWrapperKls:h,itemContentKls:g,scopedContentId:p,scopedHeadId:m}=LH(n,{focusing:o,isActive:l,id:a});return t({isActive:l}),(y,b)=>(E(),F("div",{class:A(i(f))},[M("div",{id:i(m),class:A(i(d)),"aria-expanded":i(l),"aria-controls":i(p),"aria-describedby":i(p),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"button",onClick:b[0]||(b[0]=(...w)=>i(r)&&i(r)(...w)),onKeydown:b[1]||(b[1]=sn(et((...w)=>i(u)&&i(u)(...w),["stop"]),["space","enter"])),onFocus:b[2]||(b[2]=(...w)=>i(s)&&i(s)(...w)),onBlur:b[3]||(b[3]=w=>o.value=!1)},[M("span",{class:A(i(v))},[ue(y.$slots,"title",{isActive:i(l)},()=>[ze(ye(e.title),1)])],2),ue(y.$slots,"icon",{isActive:i(l)},()=>[ee(i(He),{class:A(i(c))},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1},8,["class"])])],42,BH),ee(i(Ep),null,{default:ie(()=>[Ue(M("div",{id:i(p),role:"region",class:A(i(h)),"aria-hidden":!i(l),"aria-labelledby":i(m)},[M("div",{class:A(i(g))},[ue(y.$slots,"default")],2)],10,VH),[[Vt,i(l)]])]),_:3})],2))}}),CE=FH;const zH=ut(AH,{CollapseItem:CE}),HH=un(CE),kE=Te({modelValue:{type:ne(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:{type:ne(String)},disabled:Boolean,predefine:{type:ne(Array)},validateEvent:{type:Boolean,default:!0},hueSliderClass:{type:ne([String,Array,Object,Boolean]),default:void 0},hueSliderStyle:{type:ne([String,Array,Object,Boolean]),default:void 0}}),KH={[at]:e=>Ve(e)||hn(e)},xE=Symbol("colorCommonPickerKey"),EE=Symbol("colorPickerPanelContextKey"),$E=Te({color:{type:ne(Object),required:!0},vertical:Boolean,disabled:Boolean}),WH=$E,G1=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},Xh=(e,t)=>Math.abs(G1(e)-G1(t)),mf=e=>{let t,n;return e.type==="touchend"?(n=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}};let kv=!1;function Zh(e,t){if(!Lt)return;const n=function(l){t.drag?.(l)},o=function(l){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",o),document.onselectstart=null,document.ondragstart=null,kv=!1,t.end?.(l)},a=function(l){kv||(document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",n),document.addEventListener("mouseup",o),document.addEventListener("touchmove",n),document.addEventListener("touchend",o),kv=!0,t.start?.(l))};e.addEventListener("mousedown",a),e.addEventListener("touchstart",a,{passive:!1})}const TE=(e,{key:t,minValue:n,maxValue:o})=>{const a=ct(),l=Ct(),s=Ct(),r=C(()=>e.color.get(t));function u(v){e.disabled||(v.target!==l.value&&c(v),l.value?.focus())}function c(v){if(!s.value||!l.value||e.disabled)return;const h=a.vnode.el.getBoundingClientRect(),{clientX:g,clientY:p}=mf(v);let m;if(e.vertical){let y=p-h.top;y=Math.max(l.value.offsetHeight/2,y),y=Math.min(y,h.height-l.value.offsetHeight/2),m=Math.round((y-l.value.offsetHeight/2)/(h.height-l.value.offsetHeight)*o)}else{let y=g-h.left;y=Math.max(l.value.offsetWidth/2,y),y=Math.min(y,h.width-l.value.offsetWidth/2),m=Math.round((y-l.value.offsetWidth/2)/(h.width-l.value.offsetWidth)*o)}e.color.set(t,m)}function d(v){if(e.disabled)return;const{shiftKey:h}=v,g=Xt(v),p=h?10:1,m=t==="hue"?-1:1;let y=!0;switch(g){case Ee.left:case Ee.down:f(-p*m);break;case Ee.right:case Ee.up:f(p*m);break;case Ee.home:e.color.set(t,t==="hue"?o:n);break;case Ee.end:e.color.set(t,t==="hue"?n:o);break;case Ee.pageDown:f(-4*m);break;case Ee.pageUp:f(4*m);break;default:y=!1;break}y&&v.preventDefault()}function f(v){let h=r.value+v;h=ho?o:h,e.color.set(t,h)}return{thumb:l,bar:s,currentValue:r,handleDrag:c,handleClick:u,handleKeydown:d}},NE=(e,{namespace:t,maxValue:n,bar:o,thumb:a,currentValue:l,handleDrag:s,getBackground:r})=>{const u=ct(),c=ke(t),d=B(0),f=B(0),v=B();function h(){if(!a.value||e.vertical)return 0;const w=u.vnode.el,S=l.value;return w?Math.round(S*(w.offsetWidth-a.value.offsetWidth/2)/n):0}function g(){if(!a.value)return 0;const w=u.vnode.el;if(!e.vertical)return 0;const S=l.value;return w?Math.round(S*(w.offsetHeight-a.value.offsetHeight/2)/n):0}function p(){d.value=h(),f.value=g(),v.value=r?.()}st(()=>{if(!o.value||!a.value)return;const w={drag:S=>{s(S)},end:S=>{s(S)}};Zh(o.value,w),Zh(a.value,w),p()}),pe(l,()=>p()),pe(()=>e.color.value,()=>p());const m=C(()=>[c.b(),c.is("vertical",e.vertical),c.is("disabled",e.disabled)]),y=C(()=>c.e("bar")),b=C(()=>c.e("thumb"));return{rootKls:m,barKls:y,barStyle:C(()=>({background:v.value})),thumbKls:b,thumbStyle:C(()=>({left:pn(d.value),top:pn(f.value)})),thumbLeft:d,thumbTop:f,update:p}},jH=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],X1=0,xv=100;var YH=fe({name:"ElColorAlphaSlider",__name:"alpha-slider",props:$E,setup(e,{expose:t}){const n=e,{currentValue:o,bar:a,thumb:l,handleDrag:s,handleClick:r,handleKeydown:u}=TE(n,{key:"alpha",minValue:X1,maxValue:xv}),{rootKls:c,barKls:d,barStyle:f,thumbKls:v,thumbStyle:h,update:g}=NE(n,{namespace:"color-alpha-slider",maxValue:xv,currentValue:o,bar:a,thumb:l,handleDrag:s,getBackground:b}),{t:p}=Tt(),m=C(()=>p("el.colorpicker.alphaLabel")),y=C(()=>p("el.colorpicker.alphaDescription",{alpha:o.value,color:n.color.value}));function b(){if(n.color&&n.color.value){const{r:w,g:S,b:k}=n.color.toRgb();return`linear-gradient(to right, rgba(${w}, ${S}, ${k}, 0) 0%, rgba(${w}, ${S}, ${k}, 1) 100%)`}return""}return t({update:g,bar:a,thumb:l}),(w,S)=>(E(),F("div",{class:A(i(c))},[M("div",{ref_key:"bar",ref:a,class:A(i(d)),style:Fe(i(f)),onClick:S[0]||(S[0]=(...k)=>i(r)&&i(r)(...k))},null,6),M("div",{ref_key:"thumb",ref:l,class:A(i(v)),style:Fe(i(h)),"aria-label":m.value,"aria-valuenow":i(o),"aria-valuetext":y.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":X1,"aria-valuemax":xv,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:S[1]||(S[1]=(...k)=>i(u)&&i(u)(...k))},null,46,jH)],2))}}),UH=YH;const qH=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],Z1=0,Ev=360;var GH=fe({name:"ElColorHueSlider",__name:"hue-slider",props:WH,setup(e,{expose:t}){const n=e,{currentValue:o,bar:a,thumb:l,handleDrag:s,handleClick:r,handleKeydown:u}=TE(n,{key:"hue",minValue:Z1,maxValue:Ev}),{rootKls:c,barKls:d,thumbKls:f,thumbStyle:v,thumbTop:h,update:g}=NE(n,{namespace:"color-hue-slider",maxValue:Ev,currentValue:o,bar:a,thumb:l,handleDrag:s}),{t:p}=Tt(),m=C(()=>p("el.colorpicker.hueLabel")),y=C(()=>p("el.colorpicker.hueDescription",{hue:o.value,color:n.color.value}));return t({bar:a,thumb:l,thumbTop:h,update:g}),(b,w)=>(E(),F("div",{class:A(i(c))},[M("div",{ref_key:"bar",ref:a,class:A(i(d)),onClick:w[0]||(w[0]=(...S)=>i(r)&&i(r)(...S))},null,2),M("div",{ref_key:"thumb",ref:l,class:A(i(f)),style:Fe(i(v)),"aria-label":m.value,"aria-valuenow":i(o),"aria-valuetext":y.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":Z1,"aria-valuemax":Ev,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:w[1]||(w[1]=(...S)=>i(u)&&i(u)(...S))},null,46,qH)],2))}}),XH=GH;const ZH=Te({colors:{type:ne(Array),required:!0},color:{type:ne(Object),required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean});var gf=class{constructor(t={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new wn,this._isValid=!1,this.enableAlpha=!1,this.format="",this.value="";for(const n in t)Ft(t,n)&&(this[n]=t[n]);t.value?this.fromString(t.value):this.doOnChange()}set(t,n){if(arguments.length===1&&typeof t=="object"){for(const o in t)Ft(t,o)&&this.set(o,t[o]);return}this[`_${t}`]=n,this._isValid=!0,this.doOnChange()}get(t){return["hue","saturation","value","alpha"].includes(t)?Math.round(this[`_${t}`]):this[`_${t}`]}toRgb(){return this._isValid?this._tiny.toRgb():{r:255,g:255,b:255,a:0}}fromString(t){const n=new wn(t);if(this._isValid=n.isValid,n.isValid){const{h:o,s:a,v:l,a:s}=n.toHsv();this._hue=o,this._saturation=a*100,this._value=l*100,this._alpha=s*100}else this._hue=0,this._saturation=100,this._value=100,this._alpha=100;this.doOnChange()}clear(){this._isValid=!1,this.value="",this._hue=0,this._saturation=100,this._value=100,this._alpha=100}compare(t){const n=new wn({h:t._hue,s:t._saturation/100,v:t._value/100,a:t._alpha/100});return this._tiny.equals(n)}doOnChange(){const{_hue:t,_saturation:n,_value:o,_alpha:a,format:l,enableAlpha:s}=this;let r=l||(s?"rgb":"hex");l==="hex"&&s&&(r="hex8"),this._tiny=new wn({h:t,s:n/100,v:o/100,a:a/100}),this.value=this._isValid?this._tiny.toString(r):""}};const JH=e=>{const{currentColor:t}=Be(EE),n=B(a(e.colors,e.color));pe(()=>t.value,l=>{const s=new gf({value:l,enableAlpha:e.enableAlpha});n.value.forEach(r=>{r.selected=s.compare(r)})}),uo(()=>{n.value=a(e.colors,e.color)});function o(l){e.color.fromString(e.colors[l])}function a(l,s){return l.map(r=>{const u=new gf({value:r,enableAlpha:e.enableAlpha});return u.selected=u.compare(s),u})}return{rgbaColors:n,handleSelect:o}},QH=e=>{const t=ke("color-predefine"),n=C(()=>[t.b(),t.is("disabled",e.disabled)]),o=C(()=>t.e("colors"));function a(l){return[t.e("color-selector"),t.is("alpha",l.get("alpha")<100),{selected:l.selected}]}return{rootKls:n,colorsKls:o,colorSelectorKls:a}},eK=["disabled","aria-label","onClick"];var tK=fe({name:"ElColorPredefine",__name:"predefine",props:ZH,setup(e){const t=e,{rgbaColors:n,handleSelect:o}=JH(t),{rootKls:a,colorsKls:l,colorSelectorKls:s}=QH(t),{t:r}=Tt(),u=c=>r("el.colorpicker.predefineDescription",{value:c});return(c,d)=>(E(),F("div",{class:A(i(a))},[M("div",{class:A(i(l))},[(E(!0),F(Oe,null,mt(i(n),(f,v)=>(E(),F("button",{key:e.colors[v],type:"button",disabled:e.disabled,"aria-label":u(f.value),class:A(i(s)(f)),onClick:h=>i(o)(v)},[M("div",{style:Fe({backgroundColor:f.value})},null,4)],10,eK))),128))],2)],2))}}),nK=tK;const oK=Te({color:{type:ne(Object),required:!0},disabled:Boolean}),aK=e=>{const t=ct(),n=B(),o=B(0),a=B(0),l=B("hsl(0, 100%, 50%)"),s=C(()=>e.color.get("saturation")),r=C(()=>e.color.get("value")),u=C(()=>e.color.get("hue"));function c(g){e.disabled||(g.target!==n.value&&d(g),n.value?.focus({preventScroll:!0}))}function d(g){if(e.disabled)return;const p=t.vnode.el.getBoundingClientRect(),{clientX:m,clientY:y}=mf(g);let b=m-p.left,w=y-p.top;b=Math.max(0,b),b=Math.min(b,p.width),w=Math.max(0,w),w=Math.min(w,p.height),a.value=b,o.value=w,e.color.set({saturation:b/p.width*100,value:100-w/p.height*100})}function f(g){if(e.disabled)return;const{shiftKey:p}=g,m=Xt(g),y=p?10:1;let b=!0;switch(m){case Ee.left:v(-y);break;case Ee.right:v(y);break;case Ee.up:h(y);break;case Ee.down:h(-y);break;default:b=!1;break}b&&g.preventDefault()}function v(g){let p=s.value+g;p=p<0?0:p>100?100:p,e.color.set("saturation",p)}function h(g){let p=r.value+g;p=p<0?0:p>100?100:p,e.color.set("value",p)}return{cursorRef:n,cursorTop:o,cursorLeft:a,background:l,saturation:s,brightness:r,hue:u,handleClick:c,handleDrag:d,handleKeydown:f}},lK=(e,{cursorTop:t,cursorLeft:n,background:o,handleDrag:a})=>{const l=ct(),s=ke("color-svpanel");function r(){const u=e.color.get("saturation"),c=e.color.get("value"),{clientWidth:d,clientHeight:f}=l.vnode.el;n.value=u*d/100,t.value=(100-c)*f/100,o.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}return st(()=>{Zh(l.vnode.el,{drag:u=>{a(u)},end:u=>{a(u)}}),r()}),pe([()=>e.color.get("hue"),()=>e.color.get("value"),()=>e.color.value],()=>r()),{rootKls:C(()=>s.b()),cursorKls:C(()=>s.e("cursor")),rootStyle:C(()=>({backgroundColor:o.value})),cursorStyle:C(()=>({top:pn(t.value),left:pn(n.value)})),update:r}},sK=["tabindex","aria-disabled","aria-label","aria-valuenow","aria-valuetext"];var rK=fe({name:"ElSvPanel",__name:"sv-panel",props:oK,setup(e,{expose:t}){const n=e,{cursorRef:o,cursorTop:a,cursorLeft:l,background:s,saturation:r,brightness:u,handleClick:c,handleDrag:d,handleKeydown:f}=aK(n),{rootKls:v,cursorKls:h,rootStyle:g,cursorStyle:p,update:m}=lK(n,{cursorTop:a,cursorLeft:l,background:s,handleDrag:d}),{t:y}=Tt(),b=C(()=>y("el.colorpicker.svLabel")),w=C(()=>y("el.colorpicker.svDescription",{saturation:r.value,brightness:u.value,color:n.color.value}));return t({update:m}),(S,k)=>(E(),F("div",{class:A(i(v)),style:Fe(i(g)),onClick:k[1]||(k[1]=(...x)=>i(c)&&i(c)(...x))},[M("div",{ref_key:"cursorRef",ref:o,class:A(i(h)),style:Fe(i(p)),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"slider","aria-valuemin":"0,0","aria-valuemax":"100,100","aria-label":b.value,"aria-valuenow":`${i(r)},${i(u)}`,"aria-valuetext":w.value,onKeydown:k[0]||(k[0]=(...x)=>i(f)&&i(f)(...x))},null,46,sK)],6))}}),iK=rK;const _E=(e,t)=>{const n=zt(new gf({enableAlpha:e.showAlpha,format:e.colorFormat||"",value:e.modelValue}));return pe(()=>[e.colorFormat,e.showAlpha],()=>{n.enableAlpha=e.showAlpha,n.format=e.colorFormat||n.format,n.doOnChange(),t(at,n.value)}),{color:n}};var uK=fe({name:"ElColorPickerPanel",__name:"color-picker-panel",props:kE,emits:KH,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("color-picker-panel"),{formItem:s}=Kn(),r=cn(),u=B(),c=B(),d=B(),f=B(),v=B(""),{color:h}=Be(xE,()=>_E(o,a),!0);function g(){h.fromString(v.value),h.value!==v.value&&(v.value=h.value)}function p(){o.validateEvent&&s?.validate?.("blur").catch(ht)}function m(){u.value?.update(),c.value?.update(),d.value?.update()}return st(()=>{o.modelValue&&(v.value=h.value),Pe(m)}),pe(()=>o.modelValue,y=>{y!==h.value&&(y?h.fromString(y):h.clear())}),pe(()=>h.value,y=>{a(at,y),v.value=y,o.validateEvent&&s?.validate("change").catch(ht)}),kt(EE,{currentColor:C(()=>h.value)}),t({color:h,inputRef:f,update:m}),(y,b)=>(E(),F("div",{class:A([i(l).b(),i(l).is("disabled",i(r)),i(l).is("border",e.border)]),onFocusout:p},[M("div",{class:A(i(l).e("wrapper"))},[ee(XH,{ref_key:"hueRef",ref:u,color:i(h),vertical:"",disabled:i(r),class:A(["hue-slider",e.hueSliderClass]),style:Fe(e.hueSliderStyle)},null,8,["color","disabled","class","style"]),ee(iK,{ref_key:"svRef",ref:c,color:i(h),disabled:i(r)},null,8,["color","disabled"])],2),e.showAlpha?(E(),de(UH,{key:0,ref_key:"alphaRef",ref:d,color:i(h),disabled:i(r)},null,8,["color","disabled"])):se("v-if",!0),e.predefine?(E(),de(nK,{key:1,ref:"predefine","enable-alpha":e.showAlpha,color:i(h),colors:e.predefine,disabled:i(r)},null,8,["enable-alpha","color","colors","disabled"])):se("v-if",!0),M("div",{class:A(i(l).e("footer"))},[ee(i(Gn),{ref_key:"inputRef",ref:f,modelValue:v.value,"onUpdate:modelValue":b[0]||(b[0]=w=>v.value=w),"validate-event":!1,size:"small",disabled:i(r),onChange:g},null,8,["modelValue","disabled"]),ue(y.$slots,"footer")],2)],34))}}),cK=uK;const IE=ut(cK),dK=Te({persistent:{type:Boolean,default:!0},modelValue:{type:ne(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:{type:ne(String)},disabled:{type:Boolean,default:void 0},clearable:{type:Boolean,default:!0},size:On,popperClass:on.popperClass,popperStyle:on.popperStyle,tabindex:{type:[String,Number],default:0},teleported:on.teleported,appendTo:on.appendTo,predefine:{type:ne(Array)},validateEvent:{type:Boolean,default:!0},...vr,...co(["ariaLabel"])}),fK={[at]:e=>Ve(e)||hn(e),[xt]:e=>Ve(e)||hn(e),activeChange:e=>Ve(e)||hn(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},pK=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"];var vK=fe({name:"ElColorPicker",__name:"color-picker",props:dK,emits:fK,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=Tt(),s=ke("color"),{formItem:r}=Kn(),u=Nn(),c=cn(),{valueOnClear:d,isEmptyValue:f}=pc(o,null),v=_E(o,a),{inputId:h,isLabeledByFormItem:g}=Ro(o,{formItemContext:r}),p=B(),m=B(),y=B(),b=B(!1),w=B(!1);let S=!0;const{isFocused:k,handleFocus:x,handleBlur:N}=Pl(m,{disabled:c,beforeBlur(oe){return p.value?.isFocusInsideContent(oe)},afterBlur(){O(!1),V(),o.validateEvent&&r?.validate?.("blur").catch(ht)}}),$=FR(()=>y.value?.color??v.color),T=C(()=>Ya(o,Object.keys(kE))),I=C(()=>!o.modelValue&&!w.value?"transparent":z($,o.showAlpha)),P=C(()=>!o.modelValue&&!w.value?"":$.value),_=C(()=>g.value?void 0:o.ariaLabel||l("el.colorpicker.defaultLabel")),H=C(()=>g.value?r?.labelId:void 0),L=C(()=>[s.b("picker"),s.is("disabled",c.value),s.bm("picker",u.value),s.is("focused",k.value)]);function z(oe,re){const{r:W,g:te,b:j,a:U}=oe.toRgb();return re?`rgba(${W}, ${te}, ${j}, ${U})`:`rgb(${W}, ${te}, ${j})`}function O(oe){b.value=oe}const R=ja(O,100,{leading:!0});function D(){c.value||O(!0)}function K(){R(!1),V()}function V(){Pe(()=>{o.modelValue?$.fromString(o.modelValue):($.value="",Pe(()=>{w.value=!1}))})}function Y(){c.value||(b.value&&V(),R(!b.value))}function G(){const oe=f($.value)?d.value:$.value;a(at,oe),a(xt,oe),o.validateEvent&&r?.validate("change").catch(ht),R(!1),Pe(()=>{const re=new gf({enableAlpha:o.showAlpha,format:o.colorFormat||"",value:o.modelValue});$.compare(re)||V()})}function q(){R(!1),a(at,d.value),a(xt,d.value),o.modelValue!==d.value&&o.validateEvent&&r?.validate("change").catch(ht),V(),a("clear")}function X(){y?.value?.inputRef?.focus()}function Z(){b.value&&(K(),k.value&&ve())}function J(oe){oe.preventDefault(),oe.stopPropagation(),O(!1),V()}function ae(oe){switch(Xt(oe)){case Ee.enter:case Ee.numpadEnter:case Ee.space:oe.preventDefault(),oe.stopPropagation(),D();break;case Ee.esc:J(oe);break}}function ve(){m.value.focus()}function me(){m.value.blur()}return pe(()=>P.value,oe=>{S&&a("activeChange",oe),S=!0}),pe(()=>$.value,()=>{!o.modelValue&&!w.value&&(w.value=!0)}),pe(()=>o.modelValue,oe=>{oe?oe&&oe!==$.value&&(S=!1,$.fromString(oe)):w.value=!1}),pe(()=>b.value,()=>{y.value&&Pe(y.value.update)}),kt(xE,v),t({color:$,show:D,hide:K,focus:ve,blur:me}),(oe,re)=>(E(),de(i(Hn),{ref_key:"popper",ref:p,visible:b.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[i(s).be("picker","panel"),e.popperClass],"popper-style":e.popperStyle,"stop-popper-mouse-event":!1,pure:"",loop:"",role:"dialog",effect:"light",trigger:"click",teleported:e.teleported,transition:`${i(s).namespace.value}-zoom-in-top`,persistent:e.persistent,"append-to":e.appendTo,onShow:X,onHide:re[2]||(re[2]=W=>O(!1))},{content:ie(()=>[Ue((E(),de(i(IE),ft({ref_key:"pickerPanelRef",ref:y},T.value,{border:!1,"validate-event":!1,onKeydown:sn(J,["esc"])}),{footer:ie(()=>[M("div",null,[e.clearable?(E(),de(i(Fn),{key:0,class:A(i(s).be("footer","link-btn")),text:"",size:"small",onClick:q},{default:ie(()=>[ze(ye(i(l)("el.colorpicker.clear")),1)]),_:1},8,["class"])):se("v-if",!0),ee(i(Fn),{plain:"",size:"small",class:A(i(s).be("footer","btn")),onClick:G},{default:ie(()=>[ze(ye(i(l)("el.colorpicker.confirm")),1)]),_:1},8,["class"])])]),_:1},16)),[[i(cs),Z,m.value]])]),default:ie(()=>[M("div",ft({id:i(h),ref_key:"triggerRef",ref:m},oe.$attrs,{class:L.value,role:"button","aria-label":_.value,"aria-labelledby":H.value,"aria-description":i(l)("el.colorpicker.description",{color:e.modelValue||""}),"aria-disabled":i(c),tabindex:i(c)?void 0:e.tabindex,onKeydown:ae,onFocus:re[0]||(re[0]=(...W)=>i(x)&&i(x)(...W)),onBlur:re[1]||(re[1]=(...W)=>i(N)&&i(N)(...W))}),[M("div",{class:A(i(s).be("picker","trigger")),onClick:Y},[M("span",{class:A([i(s).be("picker","color"),i(s).is("alpha",e.showAlpha)])},[M("span",{class:A(i(s).be("picker","color-inner")),style:Fe({backgroundColor:I.value})},[Ue(ee(i(He),{class:A([i(s).be("picker","icon"),i(s).is("icon-arrow-down")])},{default:ie(()=>[ee(i(Qa))]),_:1},8,["class"]),[[Vt,e.modelValue||w.value]]),Ue(ee(i(He),{class:A([i(s).be("picker","empty"),i(s).is("icon-close")])},{default:ie(()=>[ee(i(la))]),_:1},8,["class"]),[[Vt,!e.modelValue&&!w.value]])],6)],2)],2)],16,pK)]),_:1},8,["visible","popper-class","popper-style","teleported","transition","persistent","append-to"]))}}),hK=vK;const mK=ut(hK);var gK=fe({name:"ElContainer",__name:"container",props:{direction:{type:String,required:!1}},setup(e){const t=e,n=mn(),o=ke("container"),a=C(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(l=>{const s=l.type.name;return s==="ElHeader"||s==="ElFooter"}):!1);return(l,s)=>(E(),F("section",{class:A([i(o).b(),i(o).is("vertical",a.value)])},[ue(l.$slots,"default")],2))}}),yK=gK,bK=fe({name:"ElAside",__name:"aside",props:{width:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ke("aside"),o=C(()=>t.width?n.cssVarBlock({width:t.width}):{});return(a,l)=>(E(),F("aside",{class:A(i(n).b()),style:Fe(o.value)},[ue(a.$slots,"default")],6))}}),ME=bK,wK=fe({name:"ElFooter",__name:"footer",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ke("footer"),o=C(()=>t.height?n.cssVarBlock({height:t.height}):{});return(a,l)=>(E(),F("footer",{class:A(i(n).b()),style:Fe(o.value)},[ue(a.$slots,"default")],6))}}),OE=wK,SK=fe({name:"ElHeader",__name:"header",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=ke("header"),o=C(()=>t.height?n.cssVarBlock({height:t.height}):{});return(a,l)=>(E(),F("header",{class:A(i(n).b()),style:Fe(o.value)},[ue(a.$slots,"default")],6))}}),PE=SK,CK=fe({name:"ElMain",__name:"main",setup(e){const t=ke("main");return(n,o)=>(E(),F("main",{class:A(i(t).b())},[ue(n.$slots,"default")],2))}}),RE=CK;const kK=ut(yK,{Aside:ME,Footer:OE,Header:PE,Main:RE}),xK=un(ME),EK=un(OE),$K=un(PE),TK=un(RE),NK=Te({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:ne([Number,Object]),default:0},valueStyle:{type:ne([String,Object,Array,Boolean]),default:void 0}}),_K={finish:()=>!0,[xt]:e=>We(e)},IK=Te({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:ne([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:ne([String,Object,Array,Boolean]),default:void 0}});var MK=fe({name:"ElStatistic",__name:"statistic",props:IK,setup(e,{expose:t}){const n=e,o=ke("statistic"),a=C(()=>{const{value:l,formatter:s,precision:r,decimalSeparator:u,groupSeparator:c}=n;if(je(s))return s(l);if(!We(l)||Number.isNaN(l))return l;let[d,f=""]=String(l).split(".");return f=f.padEnd(r,"0").slice(0,r>0?r:0),d=d.replace(/\B(?=(\d{3})+(?!\d))/g,c),[d,f].join(f?u:"")});return t({displayValue:a}),(l,s)=>(E(),F("div",{class:A(i(o).b())},[l.$slots.title||e.title?(E(),F("div",{key:0,class:A(i(o).e("head"))},[ue(l.$slots,"title",{},()=>[ze(ye(e.title),1)])],2)):se("v-if",!0),M("div",{class:A(i(o).e("content"))},[l.$slots.prefix||e.prefix?(E(),F("div",{key:0,class:A(i(o).e("prefix"))},[ue(l.$slots,"prefix",{},()=>[M("span",null,ye(e.prefix),1)])],2)):se("v-if",!0),M("span",{class:A(i(o).e("number")),style:Fe(e.valueStyle)},ye(a.value),7),l.$slots.suffix||e.suffix?(E(),F("div",{key:1,class:A(i(o).e("suffix"))},[ue(l.$slots,"suffix",{},()=>[M("span",null,ye(e.suffix),1)])],2)):se("v-if",!0)],2)],2))}}),OK=MK;const AE=ut(OK),PK=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],J1=e=>We(e)?new Date(e).getTime():e.valueOf(),Q1=(e,t)=>{let n=e;return PK.reduce((o,[a,l])=>{const s=new RegExp(`${a}+(?![^\\[\\]]*\\])`,"g");if(s.test(o)){const r=Math.floor(n/l);return n-=r*l,o.replace(s,u=>String(r).padStart(u.length,"0"))}return o},t).replace(/\[([^\]]*)]/g,"$1")};var RK=fe({name:"ElCountdown",__name:"countdown",props:NK,emits:_K,setup(e,{expose:t,emit:n}){const o=e,a=n;let l;const s=B(0),r=C(()=>Q1(s.value,o.format)),u=f=>Q1(f,o.format),c=()=>{l&&(ba(l),l=void 0)},d=()=>{const f=J1(o.value),v=()=>{let h=f-Date.now();a(xt,h),h<=0?(h=0,c(),a("finish")):l=Po(v),s.value=h};l=Po(v)};return st(()=>{s.value=J1(o.value)-Date.now(),pe(()=>[o.value,o.format],()=>{c(),d()},{immediate:!0})}),Ht(()=>{c()}),t({displayValue:r}),(f,v)=>(E(),de(i(AE),{value:s.value,title:e.title,prefix:e.prefix,suffix:e.suffix,"value-style":e.valueStyle,formatter:u},bo({_:2},[mt(f.$slots,(h,g)=>({name:g,fn:ie(()=>[ue(f.$slots,g)])}))]),1032,["value","title","prefix","suffix","value-style"]))}}),AK=RK;const DK=ut(AK),LK=Te({valueFormat:String,dateFormat:String,timeFormat:String,disabled:{type:Boolean,default:void 0},modelValue:{type:ne([Date,Array,String,Number]),default:""},defaultValue:{type:ne([Date,Array])},defaultTime:{type:ne([Date,Array])},isRange:Boolean,...Kg,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:ne(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}}),Qg=Symbol("rootPickerContextKey"),BK=["date","dates","year","years","month","months","week","range"],ey=Te({cellClassName:{type:ne(Function)},disabledDate:{type:ne(Function)},date:{type:ne(Object),required:!0},minDate:{type:ne(Object)},maxDate:{type:ne(Object)},parsedValue:{type:ne([Object,Array])},rangeState:{type:ne(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),DE=Te({type:{type:ne(String),required:!0,values:eM},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean,editable:{type:Boolean,default:!0}}),ty=Te({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:ne(Array)},singlePanel:Boolean}),ny=e=>({type:String,values:BK,default:e}),VK=Te({...DE,parsedValue:{type:ne([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}}),Pu=e=>{if(!xe(e))return!1;const[t,n]=e;return ot.isDayjs(t)&&ot.isDayjs(n)&&ot(t).isValid()&&ot(n).isValid()&&t.isSameOrBefore(n)},$p=(e,{lang:t,step:n=1,unit:o,unlinkPanels:a})=>{let l;if(xe(e)){let[s,r]=e.map(u=>ot(u).locale(t));return a||(r=s.add(n,o)),[s,r]}else e?l=ot(e):l=ot();return l=l.locale(t),[l,l.add(n,o)]},FK=(e,t,{columnIndexOffset:n,startDate:o,nextEndDate:a,now:l,unit:s,relativeDateGetter:r,setCellMetadata:u,setRowMetadata:c})=>{for(let d=0;d{const a=ot().locale(o).startOf("month").month(n).year(t).hour(e.hour()).minute(e.minute()).second(e.second());return es(a.daysInMonth()).map(l=>a.add(l,"day").toDate())},ri=(e,t,n,o,a)=>{const l=ot().year(t).month(n).startOf("month").hour(e.hour()).minute(e.minute()).second(e.second()),s=yf(e,t,n,o).find(r=>!a?.(r));return s?ot(s).locale(o):l.locale(o)},bf=(e,t,n)=>{const o=e.year();if(!n?.(e.toDate()))return e.locale(t);const a=e.month();if(!yf(e,o,a,t).every(n))return ri(e,o,a,t,n);for(let l=0;l<12;l++)if(!yf(e,o,l,t).every(n))return ri(e,o,l,t,n);return e},ii=(e,t,n)=>{if(xe(e))return e.map(o=>ii(o,t,n));if(Ve(e)){let o=ot(e,t);if(o.isValid()||(o=ot(e)),!o.isValid())return o;const a=o.format(t);return ot(a,t,!0).isValid()?ot(a,t).locale(n):ot("")}return ot(e,t).locale(n)},zK=Te({...ey,showWeekNumber:Boolean,selectionMode:ny("date")}),HK=["changerange","pick","select"],wf=(e="")=>["normal","today"].includes(e),KK=(e,t)=>{const{lang:n}=Tt(),o=B(),a=B(),l=B(),s=B(),r=B([[],[],[],[],[],[]]);let u=!1;const c=e.date.$locale().weekStart||7,d=e.date.locale("en").localeData().weekdaysShort().map(K=>K.toLowerCase()),f=C(()=>c>3?7-c:-c),v=C(()=>{const K=e.date.startOf("month");return K.subtract(K.day()||7,"day")}),h=C(()=>d.concat(d).slice(c,c+7)),g=C(()=>Xd(i(S)).some(K=>K.isCurrent)),p=C(()=>{const K=e.date.startOf("month");return{startOfMonthDay:K.day()||7,dateCountOfMonth:K.daysInMonth(),dateCountOfLastMonth:K.subtract(1,"month").daysInMonth()}}),m=C(()=>e.selectionMode==="dates"?so(e.parsedValue):[]),y=(K,{count:V,rowIndex:Y,columnIndex:G})=>{const{startOfMonthDay:q,dateCountOfMonth:X,dateCountOfLastMonth:Z}=i(p),J=i(f);if(Y>=0&&Y<=1){const ae=q+J<0?7+q+J:q+J;if(G+Y*7>=ae)return K.text=V,!0;K.text=Z-(ae-G%7)+1+Y*7,K.type="prev-month"}else return V<=X?K.text=V:(K.text=V-X,K.type="next-month"),!0;return!1},b=(K,{columnIndex:V,rowIndex:Y},G)=>{const{disabledDate:q,cellClassName:X}=e,Z=i(m),J=y(K,{count:G,rowIndex:Y,columnIndex:V}),ae=K.dayjs.toDate();return K.selected=Z.find(ve=>ve.isSame(K.dayjs,"day")),K.isSelected=!!K.selected,K.isCurrent=x(K),K.disabled=q?.(ae),K.customClass=X?.(ae),J},w=K=>{if(e.selectionMode==="week"){const[V,Y]=e.showWeekNumber?[1,7]:[0,6],G=D(K[V+1]);K[V].inRange=G,K[V].start=G,K[Y].inRange=G,K[Y].end=G}},S=C(()=>{const{minDate:K,maxDate:V,rangeState:Y,showWeekNumber:G}=e,q=i(f),X=i(r),Z="day";let J=1;if(FK({row:6,column:7},X,{startDate:K,columnIndexOffset:G?1:0,nextEndDate:Y.endDate||V||Y.selecting&&K||null,now:ot().locale(i(n)).startOf(Z),unit:Z,relativeDateGetter:ae=>i(v).add(ae-q,Z),setCellMetadata:(...ae)=>{b(...ae,J)&&(J+=1)},setRowMetadata:w}),G)for(let ae=0;ae<6;ae++)X[ae][1].dayjs&&(X[ae][0]={type:"week",text:X[ae][1].dayjs.week()});return X});pe(()=>e.date,async()=>{i(o)?.contains(document.activeElement)&&(await Pe(),await k())});const k=async()=>i(a)?.focus(),x=K=>e.selectionMode==="date"&&wf(K.type)&&N(K,e.parsedValue),N=(K,V)=>V?ot(V).locale(i(n)).isSame(e.date.date(Number(K.text)),"day"):!1,$=(K,V)=>{const Y=i(p).startOfMonthDay,G=i(f),q=Y+G<0?7+Y+G:Y+G,X=K*7+(V-(e.showWeekNumber?1:0));return e.date.startOf("month").subtract(q,"day").add(X,"day")},T=K=>{if(!e.rangeState.selecting)return;let V=K.target;if(V.tagName==="SPAN"&&(V=V.parentNode?.parentNode),V.tagName==="DIV"&&(V=V.parentNode),V.tagName!=="TD")return;const Y=V.parentNode.rowIndex-1,G=V.cellIndex;i(S)[Y][G].disabled||(Y!==i(l)||G!==i(s))&&(l.value=Y,s.value=G,t("changerange",{selecting:!0,endDate:$(Y,G)}))},I=K=>!i(g)&&K?.text===1&&wf(K.type)||K.isCurrent,P=K=>{u||i(g)||e.selectionMode!=="date"||R(K,!0)},_=K=>{K.target.closest("td")&&(u=!0)},H=K=>{K.target.closest("td")&&(u=!1)},L=K=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:K,maxDate:null}),t("select",!0)):(K>=e.minDate?t("pick",{minDate:e.minDate,maxDate:K}):t("pick",{minDate:K,maxDate:e.minDate}),t("select",!1))},z=K=>{const V=K.week(),Y=`${K.year()}w${V}`;t("pick",{year:K.year(),week:V,value:Y,date:K.startOf("week")})},O=(K,V)=>{t("pick",V?so(e.parsedValue).filter(Y=>Y?.valueOf()!==K.valueOf()):so(e.parsedValue).concat([K]))},R=(K,V=!1)=>{if(e.disabled)return;const Y=K.target.closest("td");if(!Y)return;const G=Y.parentNode.rowIndex-1,q=Y.cellIndex,X=i(S)[G][q];if(X.disabled||X.type==="week")return;const Z=$(G,q);switch(e.selectionMode){case"range":L(Z);break;case"date":t("pick",Z,V);break;case"week":z(Z);break;case"dates":O(Z,!!X.selected);break}},D=K=>{if(e.selectionMode!=="week")return!1;let V=e.date.startOf("day");if(K.type==="prev-month"&&(V=V.subtract(1,"month")),K.type==="next-month"&&(V=V.add(1,"month")),V=V.date(Number.parseInt(K.text,10)),e.parsedValue&&!xe(e.parsedValue)){const Y=(e.parsedValue.day()-c+7)%7-1;return e.parsedValue.subtract(Y,"day").isSame(V,"day")}return!1};return{WEEKS:h,rows:S,tbodyRef:o,currentCellRef:a,focus:k,isCurrent:x,isWeekActive:D,isSelectedCell:I,handlePickDate:R,handleMouseUp:H,handleMouseDown:_,handleMouseMove:T,handleFocus:P}},WK=(e,{isCurrent:t,isWeekActive:n})=>{const o=ke("date-table"),{t:a}=Tt(),l=C(()=>[o.b(),o.is("week-mode",e.selectionMode==="week"&&!e.disabled)]),s=C(()=>a("el.datepicker.dateTablePrompt")),r=c=>{const d=[];return wf(c.type)&&!c.disabled?(d.push("available"),c.type==="today"&&d.push("today")):d.push(c.type),t(c)&&d.push("current"),c.inRange&&(wf(c.type)||e.selectionMode==="week")&&(d.push("in-range"),c.start&&d.push("start-date"),c.end&&d.push("end-date")),(c.disabled||e.disabled)&&d.push("disabled"),c.selected&&d.push("selected"),c.customClass&&d.push(c.customClass),d.join(" ")},u=c=>[o.e("row"),{current:n(c)}];return{tableKls:l,tableLabel:s,weekHeaderClass:o.e("week-header"),getCellClasses:r,getRowKls:u,t:a}},jK=Te({cell:{type:ne(Object)}});var oy=fe({name:"ElDatePickerCell",props:jK,setup(e){const t=ke("date-table-cell"),{slots:n}=Be(Qg);return()=>{const{cell:o}=e;return ue(n,"default",{...o},()=>[ee("div",{class:t.b()},[ee("span",{class:t.e("text")},[o?.renderText??o?.text])])])}}});const YK=["aria-label"],UK=["aria-label"],qK=["aria-current","aria-selected","tabindex","aria-disabled"];var GK=fe({__name:"basic-date-table",props:zK,emits:HK,setup(e,{expose:t,emit:n}){const o=e,{WEEKS:a,rows:l,tbodyRef:s,currentCellRef:r,focus:u,isCurrent:c,isWeekActive:d,isSelectedCell:f,handlePickDate:v,handleMouseUp:h,handleMouseDown:g,handleMouseMove:p,handleFocus:m}=KK(o,n),{tableLabel:y,tableKls:b,getCellClasses:w,getRowKls:S,weekHeaderClass:k,t:x}=WK(o,{isCurrent:c,isWeekActive:d});let N=!1;return Ht(()=>{N=!0}),t({focus:u}),($,T)=>(E(),F("table",{"aria-label":i(y),class:A(i(b)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:T[1]||(T[1]=(...I)=>i(v)&&i(v)(...I)),onMousemove:T[2]||(T[2]=(...I)=>i(p)&&i(p)(...I)),onMousedown:T[3]||(T[3]=(...I)=>i(g)&&i(g)(...I)),onMouseup:T[4]||(T[4]=(...I)=>i(h)&&i(h)(...I))},[M("tbody",{ref_key:"tbodyRef",ref:s},[M("tr",null,[$.showWeekNumber?(E(),F("th",{key:0,scope:"col",class:A(i(k))},null,2)):se("v-if",!0),(E(!0),F(Oe,null,mt(i(a),(I,P)=>(E(),F("th",{key:P,"aria-label":i(x)("el.datepicker.weeksFull."+I),scope:"col"},ye(i(x)("el.datepicker.weeks."+I)),9,UK))),128))]),(E(!0),F(Oe,null,mt(i(l),(I,P)=>(E(),F("tr",{key:P,class:A(i(S)($.showWeekNumber?I[2]:I[1]))},[(E(!0),F(Oe,null,mt(I,(_,H)=>(E(),F("td",{key:`${P}.${H}`,ref_for:!0,ref:L=>!i(N)&&i(f)(_)&&(r.value=L),class:A(i(w)(_)),"aria-current":_.isCurrent?"date":void 0,"aria-selected":_.isCurrent,tabindex:$.disabled?void 0:i(f)(_)?0:-1,"aria-disabled":$.disabled,onFocus:T[0]||(T[0]=(...L)=>i(m)&&i(m)(...L))},[ee(i(oy),{cell:_},null,8,["cell"])],42,qK))),128))],2))),128))],512)],42,YK))}}),Jh=GK;const XK=Te({...ey,selectionMode:ny("month")}),ZK=["aria-label"],JK=["aria-selected","aria-label","tabindex","onKeydown"];var QK=fe({__name:"basic-month-table",props:XK,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("month-table"),{t:s,lang:r}=Tt(),u=B(),c=B(),d=B(o.date.locale("en").localeData().monthsShort().map(S=>S.toLowerCase())),f=B([[],[],[]]),v=B(),h=B(),g=C(()=>{const S=f.value,k=ot().locale(r.value).startOf("month");for(let x=0;x<3;x++){const N=S[x];for(let $=0;$<4;$++){const T=N[$]||={row:x,column:$,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0};T.type="normal";const I=x*4+$,P=o.date.startOf("year").month(I),_=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;T.inRange=!!(o.minDate&&P.isSameOrAfter(o.minDate,"month")&&_&&P.isSameOrBefore(_,"month"))||!!(o.minDate&&P.isSameOrBefore(o.minDate,"month")&&_&&P.isSameOrAfter(_,"month")),o.minDate?.isSameOrAfter(_)?(T.start=!!(_&&P.isSame(_,"month")),T.end=o.minDate&&P.isSame(o.minDate,"month")):(T.start=!!(o.minDate&&P.isSame(o.minDate,"month")),T.end=!!(_&&P.isSame(_,"month"))),k.isSame(P)&&(T.type="today");const H=P.toDate();T.text=I,T.disabled=o.disabledDate?.(H)||!1,T.date=H,T.customClass=o.cellClassName?.(H),T.dayjs=P,T.timestamp=P.valueOf(),T.isSelected=y(T)}}return S}),p=()=>{c.value?.focus()},m=S=>{const k={},x=o.date.year(),N=new Date,$=S.text;return k.disabled=o.disabled||(o.disabledDate?yf(o.date,x,$,r.value).every(o.disabledDate):!1),k.current=so(o.parsedValue).some(T=>ot.isDayjs(T)&&T.year()===x&&T.month()===$),k.today=N.getFullYear()===x&&N.getMonth()===$,S.customClass&&(k[S.customClass]=!0),S.inRange&&(k["in-range"]=!0,S.start&&(k["start-date"]=!0),S.end&&(k["end-date"]=!0)),k},y=S=>{const k=o.date.year(),x=S.text;return so(o.date).some(N=>N.year()===k&&N.month()===x)},b=S=>{if(!o.rangeState.selecting)return;let k=S.target;if(k.tagName==="SPAN"&&(k=k.parentNode?.parentNode),k.tagName==="DIV"&&(k=k.parentNode),k.tagName!=="TD")return;const x=k.parentNode.rowIndex,N=k.cellIndex;g.value[x][N].disabled||(x!==v.value||N!==h.value)&&(v.value=x,h.value=N,a("changerange",{selecting:!0,endDate:o.date.startOf("year").month(x*4+N)}))},w=S=>{if(o.disabled)return;const k=S.target?.closest("td");if(k?.tagName!=="TD"||Fa(k,"disabled"))return;const x=k.cellIndex,N=k.parentNode.rowIndex*4+x,$=o.date.startOf("year").month(N);if(o.selectionMode==="months"){if(S.type==="keydown"){a("pick",so(o.parsedValue),!1);return}const T=ri(o.date,o.date.year(),N,r.value,o.disabledDate);a("pick",Fa(k,"current")?so(o.parsedValue).filter(I=>I?.year()!==T.year()||I?.month()!==T.month()):so(o.parsedValue).concat([ot(T)]))}else o.selectionMode==="range"?o.rangeState.selecting?(o.minDate&&$>=o.minDate?a("pick",{minDate:o.minDate,maxDate:$}):a("pick",{minDate:$,maxDate:o.minDate}),a("select",!1)):(a("pick",{minDate:$,maxDate:null}),a("select",!0)):a("pick",N)};return pe(()=>o.date,async()=>{u.value?.contains(document.activeElement)&&(await Pe(),c.value?.focus())}),t({focus:p}),(S,k)=>(E(),F("table",{role:"grid","aria-label":i(s)("el.datepicker.monthTablePrompt"),class:A(i(l).b()),onClick:w,onMousemove:b},[M("tbody",{ref_key:"tbodyRef",ref:u},[(E(!0),F(Oe,null,mt(g.value,(x,N)=>(E(),F("tr",{key:N},[(E(!0),F(Oe,null,mt(x,($,T)=>(E(),F("td",{key:T,ref_for:!0,ref:I=>$.isSelected&&(c.value=I),class:A(m($)),"aria-selected":!!$.isSelected,"aria-label":i(s)(`el.datepicker.month${+$.text+1}`),tabindex:$.isSelected?0:-1,onKeydown:[sn(et(w,["prevent","stop"]),["space"]),sn(et(w,["prevent","stop"]),["enter"])]},[ee(i(oy),{cell:{...$,renderText:i(s)("el.datepicker.months."+d.value[$.text])}},null,8,["cell"])],42,JK))),128))]))),128))],512)],42,ZK))}}),Ru=QK;const e9=Te({...ey,selectionMode:ny("year")}),t9=["aria-label"],n9=["aria-selected","aria-label","tabindex","onKeydown"];var o9=fe({__name:"basic-year-table",props:e9,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const o=(k,x)=>{const N=ot(String(k)).locale(x).startOf("year");return es(N.endOf("year").dayOfYear()).map($=>N.add($,"day").toDate())},a=e,l=n,s=ke("year-table"),{t:r,lang:u}=Tt(),c=B(),d=B(),f=C(()=>Math.floor(a.date.year()/10)*10),v=B([[],[],[]]),h=B(),g=B(),p=C(()=>{const k=v.value,x=ot().locale(u.value).startOf("year");for(let N=0;N<3;N++){const $=k[N];for(let T=0;T<4&&!(N*4+T>=10);T++){let I=$[T];I||(I={row:N,column:T,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),I.type="normal";const P=N*4+T+f.value,_=ot().year(P),H=a.rangeState.endDate||a.maxDate||a.rangeState.selecting&&a.minDate||null;I.inRange=!!(a.minDate&&_.isSameOrAfter(a.minDate,"year")&&H&&_.isSameOrBefore(H,"year"))||!!(a.minDate&&_.isSameOrBefore(a.minDate,"year")&&H&&_.isSameOrAfter(H,"year")),a.minDate?.isSameOrAfter(H)?(I.start=!!(H&&_.isSame(H,"year")),I.end=!!(a.minDate&&_.isSame(a.minDate,"year"))):(I.start=!!(a.minDate&&_.isSame(a.minDate,"year")),I.end=!!(H&&_.isSame(H,"year"))),x.isSame(_)&&(I.type="today"),I.text=P;const L=_.toDate();I.disabled=a.disabledDate?.(L)||!1,I.date=L,I.customClass=a.cellClassName?.(L),I.dayjs=_,I.timestamp=_.valueOf(),I.isSelected=b(I),$[T]=I}}return k}),m=()=>{d.value?.focus()},y=k=>{const x={},N=ot().locale(u.value),$=k.text;return x.disabled=a.disabled||(a.disabledDate?o($,u.value).every(a.disabledDate):!1),x.today=N.year()===$,x.current=so(a.parsedValue).some(T=>T.year()===$),k.customClass&&(x[k.customClass]=!0),k.inRange&&(x["in-range"]=!0,k.start&&(x["start-date"]=!0),k.end&&(x["end-date"]=!0)),x},b=k=>{const x=k.text;return so(a.date).some(N=>N.year()===x)},w=k=>{if(a.disabled)return;const x=k.target?.closest("td");if(!x||!x.textContent||Fa(x,"disabled"))return;const N=x.cellIndex,$=x.parentNode.rowIndex*4+N+f.value,T=ot().year($);if(a.selectionMode==="range")a.rangeState.selecting?(a.minDate&&T>=a.minDate?l("pick",{minDate:a.minDate,maxDate:T}):l("pick",{minDate:T,maxDate:a.minDate}),l("select",!1)):(l("pick",{minDate:T,maxDate:null}),l("select",!0));else if(a.selectionMode==="years"){if(k.type==="keydown"){l("pick",so(a.parsedValue),!1);return}const I=bf(T.startOf("year"),u.value,a.disabledDate);l("pick",Fa(x,"current")?so(a.parsedValue).filter(P=>P?.year()!==$):so(a.parsedValue).concat([I]))}else l("pick",$)},S=k=>{if(!a.rangeState.selecting)return;const x=k.target?.closest("td");if(!x)return;const N=x.parentNode.rowIndex,$=x.cellIndex;p.value[N][$].disabled||(N!==h.value||$!==g.value)&&(h.value=N,g.value=$,l("changerange",{selecting:!0,endDate:ot().year(f.value).add(N*4+$,"year")}))};return pe(()=>a.date,async()=>{c.value?.contains(document.activeElement)&&(await Pe(),d.value?.focus())}),t({focus:m}),(k,x)=>(E(),F("table",{role:"grid","aria-label":i(r)("el.datepicker.yearTablePrompt"),class:A(i(s).b()),onClick:w,onMousemove:S},[M("tbody",{ref_key:"tbodyRef",ref:c},[(E(!0),F(Oe,null,mt(p.value,(N,$)=>(E(),F("tr",{key:$},[(E(!0),F(Oe,null,mt(N,(T,I)=>(E(),F("td",{key:`${$}_${I}`,ref_for:!0,ref:P=>T.isSelected&&(d.value=P),class:A(["available",y(T)]),"aria-selected":T.isSelected,"aria-label":String(T.text),tabindex:T.isSelected?0:-1,onKeydown:[sn(et(w,["prevent","stop"]),["space"]),sn(et(w,["prevent","stop"]),["enter"])]},[ee(i(oy),{cell:T},null,8,["cell"])],42,n9))),128))]))),128))],512)],42,t9))}}),Au=o9;const a9=["disabled","onClick"],l9=["aria-label","disabled"],s9=["aria-label","disabled"],r9=["tabindex","aria-disabled"],i9=["tabindex","aria-disabled"],u9=["aria-label","disabled"],c9=["aria-label","disabled"];var d9=fe({__name:"panel-date-pick",props:VK,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const n=(Se,_e,Ze)=>!0,o=e,a=t,l=ke("picker-panel"),s=ke("date-picker"),r=Za(),u=mn(),{t:c,lang:d}=Tt(),f=Be(tl),{shortcuts:v,disabledDate:h,cellClassName:g,defaultTime:p}=f.props,m=bt(f.props,"defaultValue"),y=B(),b=B(ot().locale(d.value)),w=B(!1);let S=!1;const k=C(()=>ot(p).locale(d.value)),x=C(()=>b.value.month()),N=C(()=>b.value.year()),$=B([]),T=B(null),I=B(null),P=Se=>$.value.length>0?n(Se,$.value,o.format||"HH:mm:ss"):!0,_=Se=>p&&!le.value&&!w.value&&!S?k.value.year(Se.year()).month(Se.month()).date(Se.date()):ve.value?Se.millisecond(0):Se.startOf("day"),H=(Se,..._e)=>{Se?xe(Se)?a("pick",Se.map(_),..._e):a("pick",_(Se),..._e):a("pick",Se,..._e),T.value=null,I.value=null,w.value=!1,S=!1},L=async(Se,_e)=>{if(V.value==="date"&&ot.isDayjs(Se)){const Ze=Mi(o.parsedValue);let Ne=Ze?Ze.year(Se.year()).month(Se.month()).date(Se.date()):Se;P(Ne),b.value=Ne,H(Ne,ve.value||_e)}else V.value==="week"?H(Se.date):V.value==="dates"&&H(Se,!0)},z=Se=>{const _e=Se?"add":"subtract";b.value=b.value[_e](1,"month"),Ut("month")},O=Se=>{const _e=b.value,Ze=Se?"add":"subtract";b.value=R.value==="year"?_e[Ze](10,"year"):_e[Ze](1,"year"),Ut("year")},R=B("date"),D=C(()=>{const Se=c("el.datepicker.year");if(R.value==="year"){const _e=Math.floor(N.value/10)*10;return Se?`${_e} ${Se} - ${_e+9} ${Se}`:`${_e} - ${_e+9}`}return`${N.value} ${Se}`}),K=Se=>{const _e=je(Se.value)?Se.value():Se.value;if(_e){S=!0,H(ot(_e).locale(d.value));return}Se.onClick&&Se.onClick({attrs:r,slots:u,emit:a})},V=C(()=>{const{type:Se}=o;return["week","month","months","year","years","dates"].includes(Se)?Se:"date"}),Y=C(()=>V.value==="dates"||V.value==="months"||V.value==="years"),G=C(()=>V.value==="date"?R.value:V.value),q=C(()=>!!v.length),X=async(Se,_e)=>{V.value==="month"?(b.value=ri(b.value,b.value.year(),Se,d.value,h),H(b.value,!1)):V.value==="months"?H(Se,_e??!0):(b.value=ri(b.value,b.value.year(),Se,d.value,h),R.value="date",["month","year","date","week"].includes(V.value)&&(H(b.value,!0),await Pe(),Et())),Ut("month")},Z=async(Se,_e)=>{V.value==="year"?(b.value=bf(b.value.startOf("year").year(Se),d.value,h),H(b.value,!1)):V.value==="years"?H(Se,_e??!0):(b.value=bf(b.value.year(Se),d.value,h),R.value="month",["month","year","date","week"].includes(V.value)&&(H(b.value,!0),await Pe(),Et())),Ut("year")},J=cn(),ae=async Se=>{J.value||(R.value=Se,await Pe(),Et())},ve=C(()=>o.type==="datetime"||o.type==="datetimerange"),me=C(()=>{const Se=ve.value||V.value==="dates",_e=V.value==="years",Ze=V.value==="months",Ne=R.value==="date",Ge=R.value==="year",Le=R.value==="month";return Se&&Ne||_e&&Ge||Ze&&Le}),oe=C(()=>!Y.value&&o.showNow||o.showConfirm),re=C(()=>h?o.parsedValue?xe(o.parsedValue)?h(o.parsedValue[0].toDate()):h(o.parsedValue.toDate()):!0:!1),W=()=>{if(Y.value)H(o.parsedValue);else{let Se=Mi(o.parsedValue);if(!Se){const _e=ot(p).locale(d.value),Ze=qe();Se=_e.year(Ze.year()).month(Ze.month()).date(Ze.date())}b.value=Se,H(Se)}},te=C(()=>h?h(ot().locale(d.value).toDate()):!1),j=()=>{const Se=ot().locale(d.value).toDate();w.value=!0,(!h||!h(Se))&&P(Se)&&(b.value=ot().locale(d.value),H(b.value))},U=C(()=>o.timeFormat||bx(o.format)||"HH:mm:ss"),Q=C(()=>o.dateFormat||yx(o.format)||"YYYY-MM-DD"),le=C(()=>{if(I.value)return I.value;if(!(!o.parsedValue&&!m.value))return(Mi(o.parsedValue)||b.value).format(U.value)}),ce=C(()=>{if(T.value)return T.value;if(!(!o.parsedValue&&!m.value))return(Mi(o.parsedValue)||b.value).format(Q.value)}),Ce=B(!1),we=()=>{Ce.value=!0},he=()=>{Ce.value=!1},be=Se=>({hour:Se.hour(),minute:Se.minute(),second:Se.second(),year:Se.year(),month:Se.month(),date:Se.date()}),ge=(Se,_e,Ze)=>{const{hour:Ne,minute:Ge,second:Le}=be(Se),nt=Mi(o.parsedValue);b.value=nt?nt.hour(Ne).minute(Ge).second(Le):Se,H(b.value,!0),Ze||(Ce.value=_e)},$e=Se=>{const _e=ot(Se,U.value).locale(d.value);if(_e.isValid()&&P(_e)){const{year:Ze,month:Ne,date:Ge}=be(b.value);b.value=_e.year(Ze).month(Ne).date(Ge),I.value=null,Ce.value=!1,H(b.value,!0)}},Me=Se=>{const _e=ii(Se,Q.value,d.value);if(_e.isValid()){if(h&&h(_e.toDate()))return;const{hour:Ze,minute:Ne,second:Ge}=be(b.value);b.value=_e.hour(Ze).minute(Ne).second(Ge),T.value=null,H(b.value,!0)}},Qe=Se=>ot.isDayjs(Se)&&Se.isValid()&&(h?!h(Se.toDate()):!0),tt=Se=>ii(Se,o.format,d.value),qe=()=>{const Se=ot(m.value).locale(d.value);if(!m.value){const _e=k.value;return ot().hour(_e.hour()).minute(_e.minute()).second(_e.second()).locale(d.value)}return Se},Et=()=>{["week","month","year","date"].includes(V.value)&&y.value?.focus()},At=()=>{Et(),V.value==="week"&&Rt(Ee.down)},Kt=Se=>{const _e=Xt(Se);[Ee.up,Ee.down,Ee.left,Ee.right,Ee.home,Ee.end,Ee.pageUp,Ee.pageDown].includes(_e)&&(Rt(_e),Se.stopPropagation(),Se.preventDefault()),[Ee.enter,Ee.space,Ee.numpadEnter].includes(_e)&&T.value===null&&I.value===null&&(Se.preventDefault(),H(b.value,!1))},Rt=Se=>{const{up:_e,down:Ze,left:Ne,right:Ge,home:Le,end:nt,pageUp:vt,pageDown:rt}=Ee,St={year:{[_e]:-4,[Ze]:4,[Ne]:-1,[Ge]:1,offset:(pt,Jt)=>pt.setFullYear(pt.getFullYear()+Jt)},month:{[_e]:-4,[Ze]:4,[Ne]:-1,[Ge]:1,offset:(pt,Jt)=>pt.setMonth(pt.getMonth()+Jt)},week:{[_e]:-1,[Ze]:1,[Ne]:-1,[Ge]:1,offset:(pt,Jt)=>pt.setDate(pt.getDate()+Jt*7)},date:{[_e]:-7,[Ze]:7,[Ne]:-1,[Ge]:1,[Le]:pt=>-pt.getDay(),[nt]:pt=>-pt.getDay()+6,[vt]:pt=>-new Date(pt.getFullYear(),pt.getMonth(),0).getDate(),[rt]:pt=>new Date(pt.getFullYear(),pt.getMonth()+1,0).getDate(),offset:(pt,Jt)=>pt.setDate(pt.getDate()+Jt)}},It=b.value.toDate();for(;Math.abs(b.value.diff(It,"year",!0))<1;){const pt=St[G.value];if(!pt)return;if(pt.offset(It,je(pt[Se])?pt[Se](It):pt[Se]??0),h&&h(It))break;const Jt=ot(It).locale(d.value);b.value=Jt,a("pick",Jt,!0);break}},Ut=Se=>{a("panel-change",b.value.toDate(),Se,R.value)};return pe(()=>V.value,Se=>{if(["month","year"].includes(Se)){R.value=Se;return}else if(Se==="years"){R.value="year";return}else if(Se==="months"){R.value="month";return}R.value="date"},{immediate:!0}),pe(()=>m.value,Se=>{Se&&(b.value=qe())},{immediate:!0}),pe(()=>o.parsedValue,Se=>{if(Se){if(Y.value||xe(Se))return;b.value=Se}else b.value=qe()},{immediate:!0}),a("set-picker-option",["isValidValue",Qe]),a("set-picker-option",["parseUserInput",tt]),a("set-picker-option",["handleFocusPicker",At]),(Se,_e)=>(E(),F("div",{class:A([i(l).b(),i(s).b(),i(l).is("border",Se.border),i(l).is("disabled",i(J)),{"has-sidebar":Se.$slots.sidebar||q.value,"has-time":ve.value}])},[M("div",{class:A(i(l).e("body-wrapper"))},[ue(Se.$slots,"sidebar",{class:A(i(l).e("sidebar"))}),q.value?(E(),F("div",{key:0,class:A(i(l).e("sidebar"))},[(E(!0),F(Oe,null,mt(i(v),(Ze,Ne)=>(E(),F("button",{key:Ne,type:"button",disabled:i(J),class:A(i(l).e("shortcut")),onClick:Ge=>K(Ze)},ye(Ze.text),11,a9))),128))],2)):se("v-if",!0),M("div",{class:A(i(l).e("body"))},[ve.value?(E(),F("div",{key:0,class:A(i(s).e("time-header"))},[M("span",{class:A(i(s).e("editor-wrap"))},[ee(i(Gn),{placeholder:i(c)("el.datepicker.selectDate"),"model-value":ce.value,size:"small","validate-event":!1,disabled:i(J),readonly:!Se.editable,onInput:_e[0]||(_e[0]=Ze=>T.value=Ze),onChange:Me},null,8,["placeholder","model-value","disabled","readonly"])],2),Ue((E(),F("span",{class:A(i(s).e("editor-wrap"))},[ee(i(Gn),{placeholder:i(c)("el.datepicker.selectTime"),"model-value":le.value,size:"small","validate-event":!1,disabled:i(J),readonly:!Se.editable,onFocus:we,onInput:_e[1]||(_e[1]=Ze=>I.value=Ze),onChange:$e},null,8,["placeholder","model-value","disabled","readonly"]),ee(i(lf),{visible:Ce.value,format:U.value,"parsed-value":b.value,onPick:ge},null,8,["visible","format","parsed-value"])],2)),[[i(cs),he]])],2)):se("v-if",!0),Ue(M("div",{class:A([i(s).e("header"),(R.value==="year"||R.value==="month")&&i(s).em("header","bordered")])},[M("span",{class:A(i(s).e("prev-btn"))},[M("button",{type:"button","aria-label":i(c)("el.datepicker.prevYear"),class:A(["d-arrow-left",i(l).e("icon-btn")]),disabled:i(J),onClick:_e[2]||(_e[2]=Ze=>O(!1))},[ue(Se.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,l9),Ue(M("button",{type:"button","aria-label":i(c)("el.datepicker.prevMonth"),class:A([i(l).e("icon-btn"),"arrow-left"]),disabled:i(J),onClick:_e[3]||(_e[3]=Ze=>z(!1))},[ue(Se.$slots,"prev-month",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(El))]),_:1})])],10,s9),[[Vt,R.value==="date"]])],2),M("span",{role:"button",class:A(i(s).e("header-label")),"aria-live":"polite",tabindex:Se.disabled?void 0:0,"aria-disabled":Se.disabled,onKeydown:_e[4]||(_e[4]=sn(Ze=>ae("year"),["enter"])),onClick:_e[5]||(_e[5]=Ze=>ae("year"))},ye(D.value),43,r9),Ue(M("span",{role:"button","aria-live":"polite",tabindex:Se.disabled?void 0:0,"aria-disabled":Se.disabled,class:A([i(s).e("header-label"),{active:R.value==="month"}]),onKeydown:_e[6]||(_e[6]=sn(Ze=>ae("month"),["enter"])),onClick:_e[7]||(_e[7]=Ze=>ae("month"))},ye(i(c)(`el.datepicker.month${x.value+1}`)),43,i9),[[Vt,R.value==="date"]]),M("span",{class:A(i(s).e("next-btn"))},[Ue(M("button",{type:"button","aria-label":i(c)("el.datepicker.nextMonth"),class:A([i(l).e("icon-btn"),"arrow-right"]),disabled:i(J),onClick:_e[8]||(_e[8]=Ze=>z(!0))},[ue(Se.$slots,"next-month",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})])],10,u9),[[Vt,R.value==="date"]]),M("button",{type:"button","aria-label":i(c)("el.datepicker.nextYear"),class:A([i(l).e("icon-btn"),"d-arrow-right"]),disabled:i(J),onClick:_e[9]||(_e[9]=Ze=>O(!0))},[ue(Se.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,c9)],2)],2),[[Vt,R.value!=="time"]]),M("div",{class:A(i(l).e("content")),onKeydown:Kt},[R.value==="date"?(E(),de(Jh,{key:0,ref_key:"currentViewRef",ref:y,"selection-mode":V.value,date:b.value,"parsed-value":Se.parsedValue,"disabled-date":i(h),disabled:i(J),"cell-class-name":i(g),"show-week-number":Se.showWeekNumber,onPick:L},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):se("v-if",!0),R.value==="year"?(E(),de(Au,{key:1,ref_key:"currentViewRef",ref:y,"selection-mode":V.value,date:b.value,"disabled-date":i(h),disabled:i(J),"parsed-value":Se.parsedValue,"cell-class-name":i(g),onPick:Z},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):se("v-if",!0),R.value==="month"?(E(),de(Ru,{key:2,ref_key:"currentViewRef",ref:y,"selection-mode":V.value,date:b.value,"parsed-value":Se.parsedValue,"disabled-date":i(h),disabled:i(J),"cell-class-name":i(g),onPick:X},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):se("v-if",!0)],34)],2)],2),Se.showFooter&&me.value&&oe.value?(E(),F("div",{key:0,class:A(i(l).e("footer"))},[Ue(ee(i(Fn),{text:"",size:"small",class:A(i(l).e("link-btn")),disabled:te.value,onClick:j},{default:ie(()=>[ze(ye(i(c)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[Vt,!Y.value&&Se.showNow]]),Se.showConfirm?(E(),de(i(Fn),{key:0,plain:"",size:"small",class:A(i(l).e("link-btn")),disabled:re.value,onClick:W},{default:ie(()=>[ze(ye(i(c)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):se("v-if",!0)],2)):se("v-if",!0)],2))}}),f9=d9;const p9=Te({...DE,...ty}),v9=e=>{const{emit:t}=ct(),n=Za(),o=mn();return l=>{const s=je(l.value)?l.value():l.value;if(s){t("pick",[ot(s[0]).locale(e.value),ot(s[1]).locale(e.value)]);return}l.onClick&&l.onClick({attrs:n,slots:o,emit:t})}},ay=(e,{defaultValue:t,defaultTime:n,leftDate:o,rightDate:a,step:l,unit:s,sortDates:r})=>{const{emit:u}=ct(),{pickerNs:c}=Be(Qg),d=ke("date-range-picker"),{t:f,lang:v}=Tt(),h=v9(v),g=B(),p=B(),m=B({endDate:null,selecting:!1}),y=x=>{m.value=x},b=(x=!1)=>{const N=i(g),$=i(p);Pu([N,$])&&u("pick",[N,$],x)},w=x=>{m.value.selecting=x,x||(m.value.endDate=null)},S=x=>{if(xe(x)&&x.length===2){const[N,$]=x;g.value=N,o.value=N,p.value=$,r(i(g),i(p))}else k()},k=()=>{let[x,N]=$p(i(t),{lang:i(v),step:l,unit:s,unlinkPanels:e.unlinkPanels});const $=I=>I.diff(I.startOf("d"),"ms"),T=i(n);if(T){let I=0,P=0;if(xe(T)){const[_,H]=T.map(ot);I=$(_),P=$(H)}else{const _=$(ot(T));I=_,P=_}x=x.startOf("d").add(I,"ms"),N=N.startOf("d").add(P,"ms")}g.value=void 0,p.value=void 0,o.value=x,a.value=N};return pe(t,x=>{x&&k()},{immediate:!0}),pe(()=>e.parsedValue,x=>{(!x?.length||!dn(x,[g.value,p.value]))&&S(x)},{immediate:!0}),pe(()=>e.visible,()=>{e.visible&&S(e.parsedValue)},{immediate:!0}),{minDate:g,maxDate:p,rangeState:m,lang:v,ppNs:c,drpNs:d,handleChangeRange:y,handleRangeConfirm:b,handleShortcutClick:h,onSelect:w,parseValue:S,t:f}},h9=(e,t,n,o)=>{const a=B("date"),l=B(),s=B("date"),r=B(),{disabledDate:u}=Be(tl).props,{t:c,lang:d}=Tt(),f=C(()=>n.value.year()),v=C(()=>n.value.month()),h=C(()=>o.value.year()),g=C(()=>o.value.month());function p(k,x){const N=c("el.datepicker.year");if(k.value==="year"){const $=Math.floor(x.value/10)*10;return N?`${$} ${N} - ${$+9} ${N}`:`${$} - ${$+9}`}return`${x.value} ${N}`}function m(k){k?.focus()}async function y(k,x){if(e.disabled)return;const N=k==="left"?a:s,$=k==="left"?l:r;N.value=x,await Pe(),m($.value)}async function b(k,x,N){if(e.disabled)return;const $=x==="left",T=$?n:o,I=$?o:n,P=$?a:s,_=$?l:r;k==="year"&&(T.value=bf(T.value.year(N),d.value,u)),k==="month"&&(T.value=ri(T.value,T.value.year(),N,d.value,u)),e.unlinkPanels||(I.value=x==="left"?T.value.add(1,"month"):T.value.subtract(1,"month")),P.value=k==="year"?"month":"date",await Pe(),m(_.value),w(k)}function w(k){t("panel-change",[n.value.toDate(),o.value.toDate()],k)}function S(k,x,N){const $=N?"add":"subtract";return k==="year"?x[$](10,"year"):x[$](1,"year")}return{leftCurrentView:a,rightCurrentView:s,leftCurrentViewRef:l,rightCurrentViewRef:r,leftYear:f,rightYear:h,leftMonth:v,rightMonth:g,leftYearLabel:C(()=>p(a,f)),rightYearLabel:C(()=>p(s,h)),showLeftPicker:k=>y("left",k),showRightPicker:k=>y("right",k),handleLeftYearPick:k=>b("year","left",k),handleRightYearPick:k=>b("year","right",k),handleLeftMonthPick:k=>b("month","left",k),handleRightMonthPick:k=>b("month","right",k),handlePanelChange:w,adjustDateByView:S}},m9=["disabled","onClick"],g9=["aria-label","disabled"],y9=["aria-label","disabled"],b9=["disabled","aria-label"],w9=["disabled","aria-label"],S9=["tabindex","aria-disabled"],C9=["tabindex","aria-disabled"],k9=["disabled","aria-label"],x9=["disabled","aria-label"],E9=["aria-label","disabled"],$9=["disabled","aria-label"],T9=["tabindex","aria-disabled"],N9=["tabindex","aria-disabled"],Wc="month";var _9=fe({__name:"panel-date-range",props:p9,emits:["pick","set-picker-option","calendar-change","panel-change","clear"],setup(e,{emit:t}){const n=e,o=t,a=Be(tl),{disabledDate:l,cellClassName:s,defaultTime:r,clearable:u}=a.props,c=bt(a.props,"format"),d=bt(a.props,"shortcuts"),f=bt(a.props,"defaultValue"),{lang:v}=Tt(),h=B(ot().locale(v.value)),g=B(ot().locale(v.value).add(1,Wc)),{minDate:p,maxDate:m,rangeState:y,ppNs:b,drpNs:w,handleChangeRange:S,handleRangeConfirm:k,handleShortcutClick:x,onSelect:N,parseValue:$,t:T}=ay(n,{defaultValue:f,defaultTime:r,leftDate:h,rightDate:g,unit:Wc,sortDates:vn});pe(()=>n.visible,Ke=>{!Ke&&y.value.selecting&&($(n.parsedValue),N(!1))});const I=B({min:null,max:null}),P=B({min:null,max:null}),{leftCurrentView:_,rightCurrentView:H,leftCurrentViewRef:L,rightCurrentViewRef:z,leftYear:O,rightYear:R,leftMonth:D,rightMonth:K,leftYearLabel:V,rightYearLabel:Y,showLeftPicker:G,showRightPicker:q,handleLeftYearPick:X,handleRightYearPick:Z,handleLeftMonthPick:J,handleRightMonthPick:ae,handlePanelChange:ve,adjustDateByView:me}=h9(n,o,h,g),oe=C(()=>!!d.value.length),re=C(()=>I.value.min!==null?I.value.min:p.value?p.value.format(Q.value):""),W=C(()=>I.value.max!==null?I.value.max:m.value||p.value?(m.value||p.value).format(Q.value):""),te=C(()=>P.value.min!==null?P.value.min:p.value?p.value.format(U.value):""),j=C(()=>P.value.max!==null?P.value.max:m.value||p.value?(m.value||p.value).format(U.value):""),U=C(()=>n.timeFormat||bx(c.value||"")||"HH:mm:ss"),Q=C(()=>n.dateFormat||yx(c.value||"")||"YYYY-MM-DD"),le=Ke=>Pu(Ke)&&(l?!l(Ke[0].toDate())&&!l(Ke[1].toDate()):!0),ce=()=>{h.value=me(_.value,h.value,!1),n.unlinkPanels||(g.value=h.value.add(1,"month")),ve("year")},Ce=()=>{h.value=h.value.subtract(1,"month"),n.unlinkPanels||(g.value=h.value.add(1,"month")),ve("month")},we=()=>{n.unlinkPanels?g.value=me(H.value,g.value,!0):(h.value=me(H.value,h.value,!0),g.value=h.value.add(1,"month")),ve("year")},he=()=>{n.unlinkPanels?g.value=g.value.add(1,"month"):(h.value=h.value.add(1,"month"),g.value=h.value.add(1,"month")),ve("month")},be=()=>{h.value=me(_.value,h.value,!0),ve("year")},ge=()=>{h.value=h.value.add(1,"month"),ve("month")},$e=()=>{g.value=me(H.value,g.value,!1),ve("year")},Me=()=>{g.value=g.value.subtract(1,"month"),ve("month")},Qe=C(()=>{const Ke=(D.value+1)%12,Je=D.value+1>=12?1:0;return n.singlePanel||n.unlinkPanels&&new Date(O.value+Je,Ke)n.singlePanel||n.unlinkPanels&&R.value*12+K.value-(O.value*12+D.value+1)>=12),qe=cn(),Et=C(()=>!(p.value&&m.value&&!y.value.selecting&&Pu([p.value,m.value])&&!qe.value)),At=C(()=>n.type==="datetime"||n.type==="datetimerange"),Kt=(Ke,Je)=>{if(Ke)return r?ot(r[Je]||r).locale(v.value).year(Ke.year()).month(Ke.month()).date(Ke.date()):Ke},Rt=(Ke,Je=!0)=>{const it=Ke.minDate,Ie=Ke.maxDate,Xe=Kt(it,0),Ye=Kt(Ie,1);m.value===Ye&&p.value===Xe||(o("calendar-change",[it.toDate(),Ie&&Ie.toDate()]),m.value=Ye,p.value=Xe,!At.value&&Je&&(Je=!Xe||!Ye),k(Je))},Ut=B(!1),Se=B(!1),_e=()=>{Ut.value=!1},Ze=()=>{Se.value=!1},Ne=(Ke,Je)=>{if(!l||!l(Ke.toDate()))return Ke;const it=Ke.isBefore(Je);let Ie=Ke;for(;it?Ie.isBefore(Je):Ie.isAfter(Je);)if(Ie=it?Ie.add(1,"day"):Ie.subtract(1,"day"),!l(Ie.toDate()))return Ie;return Ke},Ge=(Ke,Je)=>{I.value[Je]=Ke;const it=ot(Ke,Q.value).locale(v.value);if(it.isValid()){if(l&&l(it.toDate()))return;if(Je==="min"){if(h.value=it,p.value=(p.value||h.value).year(it.year()).month(it.month()).date(it.date()),!n.unlinkPanels&&!m.value){const Ie=Ne(p.value.add(1,"month"),p.value);g.value=Ie,m.value=Ie}}else if(g.value=it,m.value=(m.value||g.value).year(it.year()).month(it.month()).date(it.date()),!n.unlinkPanels&&!p.value){const Ie=Ne(m.value.subtract(1,"month"),m.value);h.value=Ie,p.value=Ie}vn(p.value,m.value),k(!0)}},Le=(Ke,Je)=>{if(I.value[Je]=null,Je==="min"){if(!n.unlinkPanels&&m.value&&p.value&&m.value.isBefore(p.value)){const it=Ne(p.value.add(1,"month"),p.value);g.value=it,m.value=it}}else if(!n.unlinkPanels&&p.value&&m.value&&p.value.isAfter(m.value)){const it=Ne(m.value.subtract(1,"month"),m.value);h.value=it,p.value=it}vn(p.value,m.value),k(!0)},nt=(Ke,Je)=>{P.value[Je]=Ke;const it=ot(Ke,U.value).locale(v.value);it.isValid()&&(Je==="min"?(Ut.value=!0,p.value=(p.value||h.value).hour(it.hour()).minute(it.minute()).second(it.second()),h.value=p.value):(Se.value=!0,m.value=(m.value||g.value).hour(it.hour()).minute(it.minute()).second(it.second()),g.value=m.value))},vt=(Ke,Je)=>{P.value[Je]=null,Je==="min"?(h.value=p.value,Ut.value=!1,(!m.value||m.value.isBefore(p.value))&&(m.value=p.value)):(g.value=m.value,Se.value=!1,m.value&&m.value.isBefore(p.value)&&(p.value=m.value)),k(!0)},rt=(Ke,Je,it)=>{P.value.min||(Ke&&(p.value=(p.value||h.value).hour(Ke.hour()).minute(Ke.minute()).second(Ke.second())),it||(Ut.value=Je),(!m.value||m.value.isBefore(p.value))&&(m.value=p.value,g.value=Ke,Pe(()=>{$(n.parsedValue)})),k(!0))},St=(Ke,Je,it)=>{P.value.max||(Ke&&(m.value=(m.value||g.value).hour(Ke.hour()).minute(Ke.minute()).second(Ke.second())),it||(Se.value=Je),m.value&&m.value.isBefore(p.value)&&(p.value=m.value),k(!0))},It=()=>{pt(),o("clear")},pt=()=>{let Ke=null;a?.emptyValues&&(Ke=a.emptyValues.valueOnClear.value),h.value=$p(i(f),{lang:i(v),unit:"month",unlinkPanels:n.unlinkPanels})[0],g.value=h.value.add(1,"month"),m.value=void 0,p.value=void 0,k(!0),o("pick",Ke)},Jt=Ke=>ii(Ke,c.value||"",v.value);function vn(Ke,Je){if(n.unlinkPanels&&Je){const it=Ke?.year()||0,Ie=Ke?.month()||0,Xe=Je.year(),Ye=Je.month();g.value=it===Xe&&Ie===Ye?Je.add(1,Wc):Je}else g.value=h.value.add(1,Wc),Je&&(g.value=g.value.hour(Je.hour()).minute(Je.minute()).second(Je.second()))}return o("set-picker-option",["isValidValue",le]),o("set-picker-option",["parseUserInput",Jt]),o("set-picker-option",["handleClear",pt]),(Ke,Je)=>(E(),F("div",{class:A([i(b).b(),i(w).b(),i(b).is("border",Ke.border),i(b).is("disabled",i(qe)),{"has-sidebar":Ke.$slots.sidebar||oe.value,"has-time":At.value,"single-panel":Ke.singlePanel}])},[M("div",{class:A(i(b).e("body-wrapper"))},[ue(Ke.$slots,"sidebar",{class:A(i(b).e("sidebar"))}),oe.value?(E(),F("div",{key:0,class:A(i(b).e("sidebar"))},[(E(!0),F(Oe,null,mt(d.value,(it,Ie)=>(E(),F("button",{key:Ie,type:"button",disabled:i(qe),class:A(i(b).e("shortcut")),onClick:Xe=>i(x)(it)},ye(it.text),11,m9))),128))],2)):se("v-if",!0),M("div",{class:A(i(b).e("body"))},[At.value?(E(),F("div",{key:0,class:A(i(w).e("time-header"))},[M("span",{class:A(i(w).e("editors-wrap"))},[M("span",{class:A(i(w).e("time-picker-wrap"))},[ee(i(Gn),{size:"small",disabled:i(y).selecting||i(qe),placeholder:i(T)("el.datepicker.startDate"),class:A(i(w).e("editor")),"model-value":re.value,"validate-event":!1,readonly:!Ke.editable,onInput:Je[0]||(Je[0]=it=>Ge(it,"min")),onChange:Je[1]||(Je[1]=it=>Le(it,"min"))},null,8,["disabled","placeholder","class","model-value","readonly"])],2),Ue((E(),F("span",{class:A(i(w).e("time-picker-wrap"))},[ee(i(Gn),{size:"small",class:A(i(w).e("editor")),disabled:i(y).selecting||i(qe),placeholder:i(T)("el.datepicker.startTime"),"model-value":te.value,"validate-event":!1,readonly:!Ke.editable,onFocus:Je[2]||(Je[2]=it=>Ut.value=!0),onInput:Je[3]||(Je[3]=it=>nt(it,"min")),onChange:Je[4]||(Je[4]=it=>vt(it,"min"))},null,8,["class","disabled","placeholder","model-value","readonly"]),ee(i(lf),{visible:Ut.value,format:U.value,"datetime-role":"start","parsed-value":i(p)||h.value,onPick:rt},null,8,["visible","format","parsed-value"])],2)),[[i(cs),_e]])],2),M("span",null,[ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})]),M("span",{class:A([i(w).e("editors-wrap"),"is-right"])},[M("span",{class:A(i(w).e("time-picker-wrap"))},[ee(i(Gn),{size:"small",class:A(i(w).e("editor")),disabled:i(y).selecting||i(qe),placeholder:i(T)("el.datepicker.endDate"),"model-value":W.value,readonly:!i(p)||!Ke.editable,"validate-event":!1,onInput:Je[5]||(Je[5]=it=>Ge(it,"max")),onChange:Je[6]||(Je[6]=it=>Le(it,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),Ue((E(),F("span",{class:A(i(w).e("time-picker-wrap"))},[ee(i(Gn),{size:"small",class:A(i(w).e("editor")),disabled:i(y).selecting||i(qe),placeholder:i(T)("el.datepicker.endTime"),"model-value":j.value,readonly:!i(p)||!Ke.editable,"validate-event":!1,onFocus:Je[7]||(Je[7]=it=>i(p)&&(Se.value=!0)),onInput:Je[8]||(Je[8]=it=>nt(it,"max")),onChange:Je[9]||(Je[9]=it=>vt(it,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),ee(i(lf),{"datetime-role":"end",visible:Se.value,format:U.value,"parsed-value":i(m)||g.value,onPick:St},null,8,["visible","format","parsed-value"])],2)),[[i(cs),Ze]])],2)],2)):se("v-if",!0),M("div",{class:A([i(b).e("content"),i(w).e("content"),i(w).is("left",!Ke.singlePanel)])},[M("div",{class:A(i(w).e("header"))},[M("button",{type:"button",class:A([i(b).e("icon-btn"),"d-arrow-left"]),"aria-label":i(T)("el.datepicker.prevYear"),disabled:i(qe),onClick:ce},[ue(Ke.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,g9),Ue(M("button",{type:"button",class:A([i(b).e("icon-btn"),"arrow-left"]),"aria-label":i(T)("el.datepicker.prevMonth"),disabled:i(qe),onClick:Ce},[ue(Ke.$slots,"prev-month",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(El))]),_:1})])],10,y9),[[Vt,i(_)==="date"]]),Ke.unlinkPanels||Ke.singlePanel?(E(),F("button",{key:0,type:"button",disabled:!tt.value||i(qe),class:A([[i(b).e("icon-btn"),i(b).is("disabled",!tt.value||i(qe))],"d-arrow-right"]),"aria-label":i(T)("el.datepicker.nextYear"),onClick:be},[ue(Ke.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,b9)):se("v-if",!0),Ke.unlinkPanels&&i(_)==="date"||Ke.singlePanel?(E(),F("button",{key:1,type:"button",disabled:!Qe.value||i(qe),class:A([[i(b).e("icon-btn"),i(b).is("disabled",!Qe.value||i(qe))],"arrow-right"]),"aria-label":i(T)("el.datepicker.nextMonth"),onClick:ge},[ue(Ke.$slots,"next-month",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})])],10,w9)):se("v-if",!0),M("div",null,[M("span",{role:"button",class:A(i(w).e("header-label")),"aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,onKeydown:Je[10]||(Je[10]=sn(it=>i(G)("year"),["enter"])),onClick:Je[11]||(Je[11]=it=>i(G)("year"))},ye(i(V)),43,S9),Ue(M("span",{role:"button","aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,class:A([i(w).e("header-label"),{active:i(_)==="month"}]),onKeydown:Je[12]||(Je[12]=sn(it=>i(G)("month"),["enter"])),onClick:Je[13]||(Je[13]=it=>i(G)("month"))},ye(i(T)(`el.datepicker.month${h.value.month()+1}`)),43,C9),[[Vt,i(_)==="date"]])])],2),i(_)==="date"?(E(),de(Jh,{key:0,ref_key:"leftCurrentViewRef",ref:L,"selection-mode":"range",date:h.value,"min-date":i(p),"max-date":i(m),"range-state":i(y),"disabled-date":i(l),"cell-class-name":i(s),"show-week-number":Ke.showWeekNumber,disabled:i(qe),onChangerange:i(S),onPick:Rt,onSelect:i(N)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):se("v-if",!0),i(_)==="year"?(E(),de(Au,{key:1,ref_key:"leftCurrentViewRef",ref:L,"selection-mode":"year",date:h.value,"disabled-date":i(l),"parsed-value":Ke.parsedValue,disabled:i(qe),onPick:i(X)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):se("v-if",!0),i(_)==="month"?(E(),de(Ru,{key:2,ref_key:"leftCurrentViewRef",ref:L,"selection-mode":"month",date:h.value,"parsed-value":Ke.parsedValue,"disabled-date":i(l),disabled:i(qe),onPick:i(J)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):se("v-if",!0)],2),Ke.singlePanel?se("v-if",!0):(E(),F("div",{key:1,class:A([[i(b).e("content"),i(w).e("content")],"is-right"])},[M("div",{class:A(i(w).e("header"))},[Ke.unlinkPanels?(E(),F("button",{key:0,type:"button",disabled:!tt.value||i(qe),class:A([[i(b).e("icon-btn"),i(b).is("disabled",!tt.value||i(qe))],"d-arrow-left"]),"aria-label":i(T)("el.datepicker.prevYear"),onClick:$e},[ue(Ke.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,k9)):se("v-if",!0),Ke.unlinkPanels&&i(H)==="date"?(E(),F("button",{key:1,type:"button",disabled:!Qe.value||i(qe),class:A([[i(b).e("icon-btn"),i(b).is("disabled",!Qe.value||i(qe))],"arrow-left"]),"aria-label":i(T)("el.datepicker.prevMonth"),onClick:Me},[ue(Ke.$slots,"prev-month",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(El))]),_:1})])],10,x9)):se("v-if",!0),M("button",{type:"button","aria-label":i(T)("el.datepicker.nextYear"),class:A([i(b).e("icon-btn"),"d-arrow-right"]),disabled:i(qe),onClick:we},[ue(Ke.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,E9),Ue(M("button",{type:"button",class:A([i(b).e("icon-btn"),"arrow-right"]),disabled:i(qe),"aria-label":i(T)("el.datepicker.nextMonth"),onClick:he},[ue(Ke.$slots,"next-month",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})])],10,$9),[[Vt,i(H)==="date"]]),M("div",null,[M("span",{role:"button",class:A(i(w).e("header-label")),"aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,onKeydown:Je[14]||(Je[14]=sn(it=>i(q)("year"),["enter"])),onClick:Je[15]||(Je[15]=it=>i(q)("year"))},ye(i(Y)),43,T9),Ue(M("span",{role:"button","aria-live":"polite",tabindex:Ke.disabled?void 0:0,"aria-disabled":Ke.disabled,class:A([i(w).e("header-label"),{active:i(H)==="month"}]),onKeydown:Je[16]||(Je[16]=sn(it=>i(q)("month"),["enter"])),onClick:Je[17]||(Je[17]=it=>i(q)("month"))},ye(i(T)(`el.datepicker.month${g.value.month()+1}`)),43,N9),[[Vt,i(H)==="date"]])])],2),i(H)==="date"?(E(),de(Jh,{key:0,ref_key:"rightCurrentViewRef",ref:z,"selection-mode":"range",date:g.value,"min-date":i(p),"max-date":i(m),"range-state":i(y),"disabled-date":i(l),"cell-class-name":i(s),"show-week-number":Ke.showWeekNumber,disabled:i(qe),onChangerange:i(S),onPick:Rt,onSelect:i(N)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):se("v-if",!0),i(H)==="year"?(E(),de(Au,{key:1,ref_key:"rightCurrentViewRef",ref:z,"selection-mode":"year",date:g.value,"disabled-date":i(l),"parsed-value":Ke.parsedValue,disabled:i(qe),onPick:i(Z)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):se("v-if",!0),i(H)==="month"?(E(),de(Ru,{key:2,ref_key:"rightCurrentViewRef",ref:z,"selection-mode":"month",date:g.value,"parsed-value":Ke.parsedValue,"disabled-date":i(l),disabled:i(qe),onPick:i(ae)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):se("v-if",!0)],2))],2)],2),Ke.showFooter&&At.value&&(Ke.showConfirm||i(u))?(E(),F("div",{key:0,class:A(i(b).e("footer"))},[i(u)?(E(),de(i(Fn),{key:0,text:"",size:"small",class:A(i(b).e("link-btn")),onClick:It},{default:ie(()=>[ze(ye(i(T)("el.datepicker.clear")),1)]),_:1},8,["class"])):se("v-if",!0),Ke.showConfirm?(E(),de(i(Fn),{key:1,plain:"",size:"small",class:A(i(b).e("link-btn")),disabled:Et.value,onClick:Je[18]||(Je[18]=it=>i(k)(!1))},{default:ie(()=>[ze(ye(i(T)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):se("v-if",!0)],2)):se("v-if",!0)],2))}}),I9=_9;const M9=Te({...ty}),O9=["pick","set-picker-option","calendar-change"],P9=({unlinkPanels:e,leftDate:t,rightDate:n})=>{const{t:o}=Tt();return{leftPrevYear:()=>{t.value=t.value.subtract(1,"year"),e.value||(n.value=n.value.subtract(1,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(1,"year")),n.value=n.value.add(1,"year")},leftNextYear:()=>{t.value=t.value.add(1,"year")},rightPrevYear:()=>{n.value=n.value.subtract(1,"year")},leftLabel:C(()=>`${t.value.year()} ${o("el.datepicker.year")}`),rightLabel:C(()=>`${n.value.year()} ${o("el.datepicker.year")}`),leftYear:C(()=>t.value.year()),rightYear:C(()=>n.value.year()===t.value.year()?t.value.year()+1:n.value.year())}},R9=["disabled","onClick"],A9=["disabled"],D9=["disabled"],L9=["disabled"],B9=["disabled"],jc="year";var V9=fe({name:"DatePickerMonthRange",__name:"panel-month-range",props:M9,emits:O9,setup(e,{emit:t}){const n=e,o=t,{lang:a}=Tt(),l=Be(tl),{shortcuts:s,disabledDate:r,cellClassName:u}=l.props,c=bt(l.props,"format"),d=bt(l.props,"defaultValue"),f=B(ot().locale(a.value)),v=B(ot().locale(a.value).add(1,jc)),{minDate:h,maxDate:g,rangeState:p,ppNs:m,drpNs:y,handleChangeRange:b,handleRangeConfirm:w,handleShortcutClick:S,onSelect:k,parseValue:x}=ay(n,{defaultValue:d,leftDate:f,rightDate:v,unit:jc,sortDates:V}),N=C(()=>!!s.length),{leftPrevYear:$,rightNextYear:T,leftNextYear:I,rightPrevYear:P,leftLabel:_,rightLabel:H,leftYear:L,rightYear:z}=P9({unlinkPanels:bt(n,"unlinkPanels"),leftDate:f,rightDate:v}),O=C(()=>n.singlePanel||n.unlinkPanels&&z.value>L.value+1),R=(G,q=!0)=>{const X=G.minDate,Z=G.maxDate;g.value===Z&&h.value===X||(o("calendar-change",[X.toDate(),Z&&Z.toDate()]),g.value=Z,h.value=X,q&&w())},D=()=>{let G=null;l?.emptyValues&&(G=l.emptyValues.valueOnClear.value),f.value=$p(i(d),{lang:i(a),unit:"year",unlinkPanels:n.unlinkPanels})[0],v.value=f.value.add(1,"year"),o("pick",G)},K=G=>ii(G,c.value,a.value);function V(G,q){n.unlinkPanels&&q?v.value=(G?.year()||0)===q.year()?q.add(1,jc):q:v.value=f.value.add(1,jc)}const Y=cn();return pe(()=>n.visible,G=>{!G&&p.value.selecting&&(x(n.parsedValue),k(!1))}),o("set-picker-option",["isValidValue",Pu]),o("set-picker-option",["parseUserInput",K]),o("set-picker-option",["handleClear",D]),(G,q)=>(E(),F("div",{class:A([i(m).b(),i(y).b(),i(m).is("border",G.border),i(m).is("disabled",i(Y)),{"has-sidebar":!!G.$slots.sidebar||N.value,"single-panel":G.singlePanel}])},[M("div",{class:A(i(m).e("body-wrapper"))},[ue(G.$slots,"sidebar",{class:A(i(m).e("sidebar"))}),N.value?(E(),F("div",{key:0,class:A(i(m).e("sidebar"))},[(E(!0),F(Oe,null,mt(i(s),(X,Z)=>(E(),F("button",{key:Z,type:"button",class:A(i(m).e("shortcut")),disabled:i(Y),onClick:J=>i(S)(X)},ye(X.text),11,R9))),128))],2)):se("v-if",!0),M("div",{class:A(i(m).e("body"))},[M("div",{class:A([i(m).e("content"),i(y).e("content"),i(y).is("left",!G.singlePanel)])},[M("div",{class:A(i(y).e("header"))},[M("button",{type:"button",class:A([i(m).e("icon-btn"),"d-arrow-left"]),disabled:i(Y),onClick:q[0]||(q[0]=(...X)=>i($)&&i($)(...X))},[ue(G.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,A9),G.unlinkPanels||G.singlePanel?(E(),F("button",{key:0,type:"button",disabled:!O.value||i(Y),class:A([[i(m).e("icon-btn"),i(m).is("disabled",!O.value||i(Y))],"d-arrow-right"]),onClick:q[1]||(q[1]=(...X)=>i(I)&&i(I)(...X))},[ue(G.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,D9)):se("v-if",!0),M("div",null,ye(i(_)),1)],2),ee(Ru,{"selection-mode":"range",date:f.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(r),disabled:i(Y),"cell-class-name":i(u),onChangerange:i(b),onPick:R,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),G.singlePanel?se("v-if",!0):(E(),F("div",{key:0,class:A([[i(m).e("content"),i(y).e("content")],"is-right"])},[M("div",{class:A(i(y).e("header"))},[G.unlinkPanels?(E(),F("button",{key:0,type:"button",disabled:!O.value||i(Y),class:A([[i(m).e("icon-btn"),i(m).is("disabled",!O.value||i(Y))],"d-arrow-left"]),onClick:q[2]||(q[2]=(...X)=>i(P)&&i(P)(...X))},[ue(G.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,L9)):se("v-if",!0),M("button",{type:"button",class:A([i(m).e("icon-btn"),"d-arrow-right"]),disabled:i(Y),onClick:q[3]||(q[3]=(...X)=>i(T)&&i(T)(...X))},[ue(G.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,B9),M("div",null,ye(i(H)),1)],2),ee(Ru,{"selection-mode":"range",date:v.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(r),disabled:i(Y),"cell-class-name":i(u),onChangerange:i(b),onPick:R,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2))],2)],2)],2))}}),F9=V9;const z9=Te({...ty}),H9=["pick","set-picker-option","calendar-change"],K9=({unlinkPanels:e,leftDate:t,rightDate:n})=>({leftPrevYear:()=>{t.value=t.value.subtract(10,"year"),e.value||(n.value=n.value.subtract(10,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(10,"year")),n.value=n.value.add(10,"year")},leftNextYear:()=>{t.value=t.value.add(10,"year")},rightPrevYear:()=>{n.value=n.value.subtract(10,"year")},leftLabel:C(()=>{const r=Math.floor(t.value.year()/10)*10;return`${r}-${r+9}`}),rightLabel:C(()=>{const r=Math.floor(n.value.year()/10)*10;return`${r}-${r+9}`}),leftYear:C(()=>Math.floor(t.value.year()/10)*10+9),rightYear:C(()=>Math.floor(n.value.year()/10)*10)}),W9=["disabled","onClick"],j9=["disabled"],Y9=["disabled"],U9=["disabled"],q9=["disabled"],kr=10,Oi="year";var G9=fe({name:"DatePickerYearRange",__name:"panel-year-range",props:z9,emits:H9,setup(e,{emit:t}){const n=e,o=t,{lang:a}=Tt(),l=B(ot().locale(a.value)),s=B(ot().locale(a.value).add(kr,Oi)),r=Be(tl),{shortcuts:u,disabledDate:c,cellClassName:d}=r.props,f=bt(r.props,"format"),v=bt(r.props,"defaultValue"),{minDate:h,maxDate:g,rangeState:p,ppNs:m,drpNs:y,handleChangeRange:b,handleRangeConfirm:w,handleShortcutClick:S,onSelect:k,parseValue:x}=ay(n,{defaultValue:v,leftDate:l,rightDate:s,step:kr,unit:Oi,sortDates:Z}),{leftPrevYear:N,rightNextYear:$,leftNextYear:T,rightPrevYear:I,leftLabel:P,rightLabel:_,leftYear:H,rightYear:L}=K9({unlinkPanels:bt(n,"unlinkPanels"),leftDate:l,rightDate:s}),z=cn(),O=C(()=>!!u.length),R=C(()=>[m.b(),y.b(),m.is("border",n.border),m.is("disabled",z.value),{"has-sidebar":!!mn().sidebar||O.value,"single-panel":n.singlePanel}]),D=C(()=>({content:[m.e("content"),y.e("content"),y.is("left",!n.singlePanel)],arrowLeftBtn:[m.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[m.e("icon-btn"),m.is("disabled",!V.value||z.value),"d-arrow-right"]})),K=C(()=>({content:[m.e("content"),y.e("content"),"is-right"],arrowLeftBtn:[m.e("icon-btn"),m.is("disabled",!V.value||z.value),"d-arrow-left"],arrowRightBtn:[m.e("icon-btn"),"d-arrow-right"]})),V=C(()=>n.singlePanel||n.unlinkPanels&&L.value>H.value+1),Y=(J,ae=!0)=>{const ve=J.minDate,me=J.maxDate;g.value===me&&h.value===ve||(o("calendar-change",[ve.toDate(),me&&me.toDate()]),g.value=me,h.value=ve,ae&&w())},G=J=>ii(J,f.value,a.value),q=J=>Pu(J)&&(c?!c(J[0].toDate())&&!c(J[1].toDate()):!0),X=()=>{let J=null;r?.emptyValues&&(J=r.emptyValues.valueOnClear.value);const ae=$p(i(v),{lang:i(a),step:kr,unit:Oi,unlinkPanels:n.unlinkPanels});l.value=ae[0],s.value=ae[1],o("pick",J)};function Z(J,ae){if(n.unlinkPanels&&ae){const ve=J?.year()||0,me=ae.year();s.value=ve+kr>me?ae.add(kr,Oi):ae}else s.value=l.value.add(kr,Oi)}return pe(()=>n.visible,J=>{!J&&p.value.selecting&&(x(n.parsedValue),k(!1))}),o("set-picker-option",["isValidValue",q]),o("set-picker-option",["parseUserInput",G]),o("set-picker-option",["handleClear",X]),(J,ae)=>(E(),F("div",{class:A(R.value)},[M("div",{class:A(i(m).e("body-wrapper"))},[ue(J.$slots,"sidebar",{class:A(i(m).e("sidebar"))}),O.value?(E(),F("div",{key:0,class:A(i(m).e("sidebar"))},[(E(!0),F(Oe,null,mt(i(u),(ve,me)=>(E(),F("button",{key:me,type:"button",class:A(i(m).e("shortcut")),disabled:i(z),onClick:oe=>i(S)(ve)},ye(ve.text),11,W9))),128))],2)):se("v-if",!0),M("div",{class:A(i(m).e("body"))},[M("div",{class:A(D.value.content)},[M("div",{class:A(i(y).e("header"))},[M("button",{type:"button",class:A(D.value.arrowLeftBtn),disabled:i(z),onClick:ae[0]||(ae[0]=(...ve)=>i(N)&&i(N)(...ve))},[ue(J.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,j9),J.unlinkPanels||J.singlePanel?(E(),F("button",{key:0,type:"button",disabled:!V.value||i(z),class:A(D.value.arrowRightBtn),onClick:ae[1]||(ae[1]=(...ve)=>i(T)&&i(T)(...ve))},[ue(J.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,Y9)):se("v-if",!0),M("div",null,ye(i(P)),1)],2),ee(Au,{"selection-mode":"range",date:l.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(c),disabled:i(z),"cell-class-name":i(d),onChangerange:i(b),onPick:Y,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),J.singlePanel?se("v-if",!0):(E(),F("div",{key:0,class:A(K.value.content)},[M("div",{class:A(i(y).e("header"))},[J.unlinkPanels?(E(),F("button",{key:0,type:"button",disabled:!V.value||i(z),class:A(K.value.arrowLeftBtn),onClick:ae[2]||(ae[2]=(...ve)=>i(I)&&i(I)(...ve))},[ue(J.$slots,"prev-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(rs))]),_:1})])],10,U9)):se("v-if",!0),M("button",{type:"button",class:A(K.value.arrowRightBtn),disabled:i(z),onClick:ae[3]||(ae[3]=(...ve)=>i($)&&i($)(...ve))},[ue(J.$slots,"next-year",{},()=>[ee(i(He),null,{default:ie(()=>[ee(i(is))]),_:1})])],10,q9),M("div",null,ye(i(_)),1)],2),ee(Au,{"selection-mode":"range",date:s.value,"min-date":i(h),"max-date":i(g),"range-state":i(p),"disabled-date":i(c),disabled:i(z),"cell-class-name":i(d),onChangerange:i(b),onPick:Y,onSelect:i(k)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2))],2)],2)],2))}}),X9=G9;const Z9=function(e){switch(e){case"daterange":case"datetimerange":return I9;case"monthrange":return F9;case"yearrange":return X9;default:return f9}};var yd={exports:{}},J9=yd.exports,ew;function Q9(){return ew||(ew=1,(function(e,t){(function(n,o){e.exports=o()})(J9,(function(){return function(n,o){var a=o.prototype,l=a.format;a.format=function(s){var r=this,u=this.$locale();if(!this.isValid())return l.bind(this)(s);var c=this.$utils(),d=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(f){switch(f){case"Q":return Math.ceil((r.$M+1)/3);case"Do":return u.ordinal(r.$D);case"gggg":return r.weekYear();case"GGGG":return r.isoWeekYear();case"wo":return u.ordinal(r.week(),"W");case"w":case"ww":return c.s(r.week(),f==="w"?1:2,"0");case"W":case"WW":return c.s(r.isoWeek(),f==="W"?1:2,"0");case"k":case"kk":return c.s(String(r.$H===0?24:r.$H),f==="k"?1:2,"0");case"X":return Math.floor(r.$d.getTime()/1e3);case"x":return r.$d.getTime();case"z":return"["+r.offsetName()+"]";case"zzz":return"["+r.offsetName("long")+"]";default:return f}}));return l.bind(this)(d)}}}))})(yd)),yd.exports}var eW=Q9();const tW=Al(eW);var bd={exports:{}},nW=bd.exports,tw;function oW(){return tw||(tw=1,(function(e,t){(function(n,o){e.exports=o()})(nW,(function(){var n="week",o="year";return function(a,l,s){var r=l.prototype;r.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var d=s(this).startOf(o).add(1,o).date(c),f=s(this).endOf(n);if(d.isBefore(f))return 1}var v=s(this).startOf(o).date(c).startOf(n).subtract(1,"millisecond"),h=this.diff(v,n,!0);return h<0?s(this).startOf("week").week():Math.ceil(h)},r.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}}))})(bd)),bd.exports}var aW=oW();const lW=Al(aW);var wd={exports:{}},sW=wd.exports,nw;function rW(){return nw||(nw=1,(function(e,t){(function(n,o){e.exports=o()})(sW,(function(){return function(n,o){o.prototype.weekYear=function(){var a=this.month(),l=this.week(),s=this.year();return l===1&&a===11?s+1:a===0&&l>=52?s-1:s}}}))})(wd)),wd.exports}var iW=rW();const uW=Al(iW);var Sd={exports:{}},cW=Sd.exports,ow;function dW(){return ow||(ow=1,(function(e,t){(function(n,o){e.exports=o()})(cW,(function(){return function(n,o,a){o.prototype.dayOfYear=function(l){var s=Math.round((a(this).startOf("day")-a(this).startOf("year"))/864e5)+1;return l==null?s:this.add(l-s,"day")}}}))})(Sd)),Sd.exports}var fW=dW();const pW=Al(fW);var Cd={exports:{}},vW=Cd.exports,aw;function hW(){return aw||(aw=1,(function(e,t){(function(n,o){e.exports=o()})(vW,(function(){return function(n,o){o.prototype.isSameOrAfter=function(a,l){return this.isSame(a,l)||this.isAfter(a,l)}}}))})(Cd)),Cd.exports}var mW=hW();const gW=Al(mW);var kd={exports:{}},yW=kd.exports,lw;function bW(){return lw||(lw=1,(function(e,t){(function(n,o){e.exports=o()})(yW,(function(){return function(n,o){o.prototype.isSameOrBefore=function(a,l){return this.isSame(a,l)||this.isBefore(a,l)}}}))})(kd)),kd.exports}var wW=bW();const SW=Al(wW);function CW(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}ot.extend(Bx);ot.extend(tW);ot.extend(jg);ot.extend(lW);ot.extend(uW);ot.extend(pW);ot.extend(gW);ot.extend(SW);var kW=fe({name:"ElDatePickerPanel",install:null,inheritAttrs:!1,props:LK,emits:[at,"calendar-change","panel-change","visible-change","clear"],setup(e,{slots:t,emit:n,attrs:o}){const a=ke("picker-panel");_t(Be("EP_PICKER_BASE",void 0))&&kt(tl,{props:zt({...Rn(e)})}),kt(Qg,{slots:t,pickerNs:a});const{parsedValue:l,onCalendarChange:s,onPanelChange:r,onSetPickerOption:u,onPick:c}=Be(gx,()=>Cx(e,n),!0);return()=>ee(Z9(e.type),ft(pr(o,"onPick"),e,{parsedValue:l.value,"onSet-picker-option":u,"onCalendar-change":s,"onPanel-change":r,onClear:()=>n("clear"),onPick:c}),CW(t)?t:{default:()=>[t]})}});const LE=ut(kW),xW=Te({...Wg,type:{type:ne(String),default:"date"}});function EW(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}var $W=fe({name:"ElDatePicker",install:null,props:xW,emits:[at],setup(e,{expose:t,emit:n,slots:o}){kt(Hg,zt(bt(e,"popperOptions")));const a=B();t({focus:()=>{a.value?.focus()},blur:()=>{a.value?.blur()},handleOpen:()=>{a.value?.handleOpen()},handleClose:()=>{a.value?.handleClose()}});const l=s=>{n(at,s)};return()=>ee(kx,ft(e,{format:e.format??(lF[e.type]||"YYYY-MM-DD"),type:e.type,ref:a,"onUpdate:modelValue":l}),{default:s=>ee(LE,ft({disabled:e.disabled,editable:e.editable,border:!1},s),EW(o)?o:{default:()=>[o]}),"range-separator":o["range-separator"]})}});const TW=ut($W),NW=Te({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:On,title:{type:String,default:""},extra:{type:String,default:""},labelWidth:{type:[String,Number]}}),BE="ElDescriptionsItem",_W=Te({label:{type:String,default:""},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},labelWidth:{type:[String,Number]},align:{type:String,values:Lb,default:"left"},labelAlign:{type:String,values:Lb},className:{type:String,default:""},labelClassName:{type:String,default:""}}),VE=fe({name:BE,props:_W}),ly=Symbol("elDescriptions"),IW=Te({row:{type:ne(Array),default:()=>[]}});var Pi=fe({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Be(ly,{})}},render(){const e=kL(this.cell),t=(this.cell?.dirs||[]).map(p=>{const{dir:m,arg:y,modifiers:b,value:w}=p;return[m,w,y,b]}),{border:n,direction:o}=this.descriptions,a=o==="vertical",l=()=>this.cell?.children?.label?.()||e.label,s=()=>this.cell?.children?.default?.(),r=e.span,u=e.rowspan,c=e.align?`is-${e.align}`:"",d=e.labelAlign?`is-${e.labelAlign}`:c,f=e.className,v=e.labelClassName,h={width:pn(this.type==="label"?e.labelWidth??this.descriptions.labelWidth??e.width:e.width),minWidth:pn(e.minWidth)},g=ke("descriptions");switch(this.type){case"label":return Ue(De(this.tag,{style:h,class:[g.e("cell"),g.e("label"),g.is("bordered-label",n),g.is("vertical-label",a),d,v],colSpan:a?r:1,rowspan:a?1:u},l()),t);case"content":return Ue(De(this.tag,{style:h,class:[g.e("cell"),g.e("content"),g.is("bordered-content",n),g.is("vertical-content",a),c,f],colSpan:a?r:r*2-1,rowspan:a?u*2-1:u},s()),t);default:{const p=l(),m={},y=pn(e.labelWidth??this.descriptions.labelWidth);return y&&(m.width=y,m.display="inline-block"),Ue(De("td",{style:h,class:[g.e("cell"),c],colSpan:r,rowspan:u},[hn(p)?void 0:De("span",{style:m,class:[g.e("label"),v]},p),De("span",{class:[g.e("content"),f]},s())]),t)}}}});const MW={key:1};var OW=fe({name:"ElDescriptionsRow",__name:"descriptions-row",props:IW,setup(e){const t=Be(ly,{});return(n,o)=>i(t).direction==="vertical"?(E(),F(Oe,{key:0},[M("tr",null,[(E(!0),F(Oe,null,mt(e.row,(a,l)=>(E(),de(i(Pi),{key:`tr1-${l}`,cell:a,tag:"th",type:"label"},null,8,["cell"]))),128))]),M("tr",null,[(E(!0),F(Oe,null,mt(e.row,(a,l)=>(E(),de(i(Pi),{key:`tr2-${l}`,cell:a,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(E(),F("tr",MW,[(E(!0),F(Oe,null,mt(e.row,(a,l)=>(E(),F(Oe,{key:`tr3-${l}`},[i(t).border?(E(),F(Oe,{key:0},[ee(i(Pi),{cell:a,tag:"td",type:"label"},null,8,["cell"]),ee(i(Pi),{cell:a,tag:"td",type:"content"},null,8,["cell"])],64)):(E(),de(i(Pi),{key:1,cell:a,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}}),PW=OW,RW=fe({name:"ElDescriptions",__name:"description",props:NW,setup(e){const t=e,n=ke("descriptions"),o=Nn(),a=mn();kt(ly,t);const l=C(()=>[n.b(),n.m(o.value)]),s=(u,c,d,f=!1)=>(u.props||(u.props={}),c>d&&(u.props.span=d),f&&(u.props.span=c),u),r=()=>{if(!a.default)return[];const u=Fo(a.default()).filter(g=>g?.type?.name===BE),c=[];let d=[],f=t.column,v=0;const h=[];return u.forEach((g,p)=>{const m=g.props?.span||1,y=g.props?.rowspan||1,b=c.length;if(h[b]||=0,y>1)for(let w=1;w0&&(f-=h[b],h[b]=0),pf?f:m),p===u.length-1){const w=t.column-v%t.column;d.push(s(g,w,f,!0)),c.push(d);return}m(E(),F("div",{class:A(l.value)},[e.title||e.extra||u.$slots.title||u.$slots.extra?(E(),F("div",{key:0,class:A(i(n).e("header"))},[M("div",{class:A(i(n).e("title"))},[ue(u.$slots,"title",{},()=>[ze(ye(e.title),1)])],2),M("div",{class:A(i(n).e("extra"))},[ue(u.$slots,"extra",{},()=>[ze(ye(e.extra),1)])],2)],2)):se("v-if",!0),M("div",{class:A(i(n).e("body"))},[M("table",{class:A([i(n).e("table"),i(n).is("bordered",e.border)])},[M("tbody",null,[(E(!0),F(Oe,null,mt(r(),(d,f)=>(E(),de(PW,{key:f,row:d},null,8,["row"]))),128))])],2)],2)],2))}}),AW=RW;const DW=ut(AW,{DescriptionsItem:VE}),LW=un(VE),FE=Te({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:Gt},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},fullscreen:Boolean,headerClass:{type:ne([String,Array,Object,Boolean]),default:void 0},bodyClass:{type:ne([String,Array,Object,Boolean]),default:void 0},footerClass:{type:ne([String,Array,Object,Boolean]),default:void 0},showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),BW={close:()=>!0},zE=Te({...FE,appendToBody:Boolean,appendTo:{type:ne([String,Object]),default:"body"},beforeClose:{type:ne(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalPenetrable:Boolean,openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:{type:ne([String,Array,Object,Boolean]),default:void 0},width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"},transition:{type:ne([String,Object]),default:void 0}}),HE={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[at]:e=>qt(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},VW=Te({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:ne([String,Array,Object,Boolean]),default:void 0},zIndex:{type:ne([String,Number])}}),FW={click:e=>e instanceof MouseEvent},zW="overlay";var HW=fe({name:"ElOverlay",props:VW,emits:FW,setup(e,{slots:t,emit:n}){const o=ke(zW),a=u=>{n("click",u)},{onClick:l,onMousedown:s,onMouseup:r}=Eg(e.customMaskEvent?void 0:a);return()=>e.mask?ee("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:l,onMousedown:s,onMouseup:r},[ue(t,"default")],14,["onClick","onMouseup","onMousedown"]):De("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[ue(t,"default")])}});const sy=HW,KE=Symbol("dialogInjectionKey"),sw="dialog-fade",KW="ElDialog",WE=(e,t)=>{const n=ct().emit,{nextZIndex:o}=uc();let a="";const l=Jn(),s=Jn(),r=B(!1),u=B(!1),c=B(!1),d=B(e.zIndex??o()),f=B(!1);let v,h;const g=Rl(),p=C(()=>g.value?.namespace??"el"),m=C(()=>g.value?.dialog),y=C(()=>{const G={},q=`--${p.value}-dialog`;if(!e.fullscreen){e.top&&(G[`${q}-margin-top`]=e.top);const X=pn(e.width);X&&(G[`${q}-width`]=X)}return G}),b=C(()=>(e.draggable??m.value?.draggable??!1)&&!e.fullscreen),w=C(()=>e.alignCenter??m.value?.alignCenter??!1),S=C(()=>e.overflow??m.value?.overflow??!1),k=C(()=>e.modalPenetrable&&!e.modal&&!e.fullscreen),x=C(()=>w.value?{display:"flex"}:{}),N=C(()=>{const G=e.transition??m.value?.transition??"dialog-fade",q={name:G,onAfterEnter:$,onBeforeLeave:I,onAfterLeave:T};if(lt(G)){const X={...G},Z=(J,ae)=>ve=>{xe(J)?J.forEach(me=>{je(me)&&me(ve)}):je(J)&&J(ve),ae()};return X.onAfterEnter=Z(X.onAfterEnter,$),X.onBeforeLeave=Z(X.onBeforeLeave,I),X.onAfterLeave=Z(X.onAfterLeave,T),X.name||(X.name=sw,Yt(KW,`transition.name is missing when using object syntax, fallback to '${sw}'`)),X}return q});function $(){n("opened")}function T(){n("closed"),n(at,!1),e.destroyOnClose&&(c.value=!1),f.value=!1}function I(){f.value=!0,n("close")}function P(){h?.(),v?.(),e.openDelay&&e.openDelay>0?{stop:v}=Qr(()=>z(),e.openDelay):z()}function _(){v?.(),h?.(),e.closeDelay&&e.closeDelay>0?{stop:h}=Qr(()=>O(),e.closeDelay):O()}function H(){function G(q){q||(u.value=!0,r.value=!1)}e.beforeClose?e.beforeClose(G):_()}function L(){e.closeOnClickModal&&H()}function z(){Lt&&(r.value=!0)}function O(){r.value=!1}function R(){n("openAutoFocus")}function D(){n("closeAutoFocus")}function K(G){G.detail?.focusReason==="pointer"&&G.preventDefault()}e.lockScroll&&dp(r);function V(){e.closeOnPressEscape&&H()}function Y(){!r.value||!k.value||e.zIndex!==void 0||(d.value=o())}return pe(()=>e.zIndex,()=>{d.value=e.zIndex??o()}),pe(()=>e.modelValue,G=>{G?(u.value=!1,f.value=!1,P(),c.value=!0,d.value=e.zIndex??o(),Pe(()=>{n("open"),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):r.value&&_()}),pe(()=>e.fullscreen,G=>{t.value&&(G?(a=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=a)}),st(()=>{e.modelValue&&(r.value=!0,c.value=!0,P())}),{afterEnter:$,afterLeave:T,beforeLeave:I,handleClose:H,onModalClick:L,close:_,doClose:O,onOpenAutoFocus:R,onCloseAutoFocus:D,onCloseRequested:V,onFocusoutPrevented:K,bringToFront:Y,titleId:l,bodyId:s,closed:u,style:y,overlayDialogStyle:x,rendered:c,visible:r,zIndex:d,transitionConfig:N,_draggable:b,_alignCenter:w,_overflow:S,closing:f,penetrable:k}},ry=(...e)=>t=>{e.forEach(n=>{n.value=t})},WW=["aria-level"],jW=["aria-label"],YW=["id"];var UW=fe({name:"ElDialogContent",__name:"dialog-content",props:FE,emits:BW,setup(e,{expose:t}){const{t:n}=Tt(),{Close:o}=j2,a=e,{dialogRef:l,headerRef:s,bodyId:r,ns:u,style:c}=Be(KE),{focusTrapRef:d}=Be(nx),f=ry(d,l),v=C(()=>!!a.draggable),{resetPosition:h,updatePosition:g,isDragging:p}=t2(l,s,v,C(()=>!!a.overflow)),m=C(()=>[u.b(),u.is("fullscreen",a.fullscreen),u.is("draggable",v.value),u.is("dragging",p.value),u.is("align-center",!!a.alignCenter),{[u.m("center")]:a.center}]);return t({resetPosition:h,updatePosition:g}),(y,b)=>(E(),F("div",{ref:i(f),class:A(m.value),style:Fe(i(c)),tabindex:"-1"},[M("header",{ref_key:"headerRef",ref:s,class:A([i(u).e("header"),e.headerClass,{"show-close":e.showClose}])},[ue(y.$slots,"header",{},()=>[M("span",{role:"heading","aria-level":e.ariaLevel,class:A(i(u).e("title"))},ye(e.title),11,WW)]),e.showClose?(E(),F("button",{key:0,"aria-label":i(n)("el.dialog.close"),class:A(i(u).e("headerbtn")),type:"button",onClick:b[0]||(b[0]=w=>y.$emit("close"))},[ee(i(He),{class:A(i(u).e("close"))},{default:ie(()=>[(E(),de(dt(e.closeIcon||i(o))))]),_:1},8,["class"])],10,jW)):se("v-if",!0)],2),M("div",{id:i(r),class:A([i(u).e("body"),e.bodyClass])},[ue(y.$slots,"default")],10,YW),y.$slots.footer?(E(),F("footer",{key:0,class:A([i(u).e("footer"),e.footerClass])},[ue(y.$slots,"footer")],2)):se("v-if",!0)],6))}}),qW=UW;const GW=["aria-label","aria-labelledby","aria-describedby"];var XW=fe({name:"ElDialog",inheritAttrs:!1,__name:"dialog",props:zE,emits:HE,setup(e,{expose:t}){const n=e,o=mn();Va({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},C(()=>!!o.title));const a=ke("dialog"),l=B(),s=B(),r=B(),{visible:u,titleId:c,bodyId:d,style:f,overlayDialogStyle:v,rendered:h,transitionConfig:g,zIndex:p,_draggable:m,_alignCenter:y,_overflow:b,penetrable:w,handleClose:S,onModalClick:k,onOpenAutoFocus:x,onCloseAutoFocus:N,onCloseRequested:$,onFocusoutPrevented:T,bringToFront:I,closing:P}=WE(n,l);kt(KE,{dialogRef:l,headerRef:s,bodyId:d,ns:a,rendered:h,style:f});const _=Eg(k);return t({visible:u,dialogContentRef:r,resetPosition:()=>{r.value?.resetPosition()},handleClose:S}),(L,z)=>(E(),de(ir,{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},[ee(Zn,ft(i(g),{persisted:""}),{default:ie(()=>[Ue(ee(i(sy),{"custom-mask-event":"",mask:e.modal,"overlay-class":[e.modalClass??"",`${i(a).namespace.value}-modal-dialog`,i(a).is("penetrable",i(w))],"z-index":i(p)},{default:ie(()=>[M("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(c),"aria-describedby":i(d),class:A([`${i(a).namespace.value}-overlay-dialog`,i(a).is("closing",i(P))]),style:Fe(i(v)),onClick:z[0]||(z[0]=(...O)=>i(_).onClick&&i(_).onClick(...O)),onMousedown:z[1]||(z[1]=(...O)=>i(_).onMousedown&&i(_).onMousedown(...O)),onMouseup:z[2]||(z[2]=(...O)=>i(_).onMouseup&&i(_).onMouseup(...O))},[ee(i(Ci),{loop:"",trapped:i(u),"focus-start-el":"container",onFocusAfterTrapped:i(x),onFocusAfterReleased:i(N),onFocusoutPrevented:i(T),onReleaseRequested:i($)},{default:ie(()=>[i(h)?(E(),de(qW,ft({key:0,ref_key:"dialogContentRef",ref:r},L.$attrs,{center:e.center,"align-center":i(y),"close-icon":e.closeIcon,draggable:i(m),overflow:i(b),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:i(S),onMousedown:i(I)}),bo({header:ie(()=>[L.$slots.title?ue(L.$slots,"title",{key:1}):ue(L.$slots,"header",{key:0,close:i(S),titleId:i(c),titleClass:i(a).e("title")})]),default:ie(()=>[ue(L.$slots,"default")]),_:2},[L.$slots.footer?{name:"footer",fn:ie(()=>[ue(L.$slots,"footer")]),key:"0"}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose","onMousedown"])):se("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,GW)]),_:3},8,["mask","overlay-class","z-index"]),[[Vt,i(u)]])]),_:3},16)],8,["to","disabled"]))}}),ZW=XW;const JW=ut(ZW),QW=Te({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:ne(String),default:"solid"}});var e7=fe({name:"ElDivider",__name:"divider",props:QW,setup(e){const t=e,n=ke("divider"),o=C(()=>n.cssVar({"border-style":t.borderStyle}));return(a,l)=>(E(),F("div",{class:A([i(n).b(),i(n).m(e.direction)]),style:Fe(o.value),role:"separator"},[a.$slots.default&&e.direction!=="vertical"?(E(),F("div",{key:0,class:A([i(n).e("text"),i(n).is(e.contentPosition)])},[ue(a.$slots,"default")],2)):se("v-if",!0)],6))}}),t7=e7;const jE=ut(t7),n7=Te({...zE,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),o7={...HE,"resize-start":(e,t)=>e instanceof MouseEvent&&typeof t=="number",resize:(e,t)=>e instanceof MouseEvent&&typeof t=="number","resize-end":(e,t)=>e instanceof MouseEvent&&typeof t=="number"};function a7(e,t,n){const{width:o,height:a}=dg(),l=C(()=>["ltr","rtl"].includes(e.direction)),s=C(()=>["ltr","ttb"].includes(e.direction)?1:-1),r=C(()=>l.value?o.value:a.value),u=C(()=>ip(c.value+s.value*d.value,4,r.value)),c=B(0),d=B(0),f=B(!1),v=B(!1);let h=[],g=[];const p=()=>{const S=t.value?.closest('[aria-modal="true"]');return S?l.value?S.offsetWidth:S.offsetHeight:100};pe(()=>[e.size,e.resizable],()=>{v.value=!1,c.value=0,d.value=0,b()});const m=S=>{e.resizable&&(v.value||(c.value=p(),v.value=!0),h=[S.pageX,S.pageY],f.value=!0,n("resize-start",S,c.value),g.push(Wt(window,"mouseup",b),Wt(window,"mousemove",y)))},y=S=>{const{pageX:k,pageY:x}=S,N=k-h[0],$=x-h[1];d.value=l.value?N:$,n("resize",S,u.value)},b=S=>{f.value&&(h=[],c.value=u.value,d.value=0,f.value=!1,g.forEach(k=>k?.()),g=[],S&&n("resize-end",S,c.value))},w=Wt(t,"mousedown",m);return Ht(()=>{w(),b()}),{size:C(()=>v.value?`${u.value}px`:pn(e.size)),isResizing:f,isHorizontal:l}}const l7=["aria-label","aria-labelledby","aria-describedby"],s7=["id","aria-level"],r7=["aria-label"],i7=["id"];var u7=fe({name:"ElDrawer",inheritAttrs:!1,__name:"drawer",props:n7,emits:o7,setup(e,{expose:t,emit:n}){const o=e,a=n,l=mn();Va({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},C(()=>!!l.title));const s=B(),r=B(),u=B(),c=ke("drawer"),{t:d}=Tt(),{afterEnter:f,afterLeave:v,beforeLeave:h,visible:g,rendered:p,titleId:m,bodyId:y,zIndex:b,onModalClick:w,onOpenAutoFocus:S,onCloseAutoFocus:k,onFocusoutPrevented:x,onCloseRequested:N,handleClose:$}=WE(o,s),{isHorizontal:T,size:I,isResizing:P}=a7(o,u,a),_=C(()=>o.modalPenetrable&&!o.modal);return t({handleClose:$}),(H,L)=>(E(),de(ir,{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},[ee(Zn,{name:i(c).b("fade"),onAfterEnter:i(f),onAfterLeave:i(v),onBeforeLeave:i(h),persisted:""},{default:ie(()=>[Ue(ee(i(sy),{mask:e.modal,"overlay-class":[i(c).is("drawer"),e.modalClass??"",`${i(c).namespace.value}-modal-drawer`,i(c).is("penetrable",_.value)],"z-index":i(b),onClick:i(w)},{default:ie(()=>[ee(i(Ci),{loop:"",trapped:i(g),"focus-trap-el":s.value,"focus-start-el":r.value,onFocusAfterTrapped:i(S),onFocusAfterReleased:i(k),onFocusoutPrevented:i(x),onReleaseRequested:i(N)},{default:ie(()=>[M("div",ft({ref_key:"drawerRef",ref:s,"aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(m),"aria-describedby":i(y)},H.$attrs,{class:[i(c).b(),e.direction,i(g)&&"open",i(c).is("dragging",i(P))],style:{[i(T)?"width":"height"]:i(I)},role:"dialog",onClick:L[1]||(L[1]=et(()=>{},["stop"]))}),[M("span",{ref_key:"focusStartRef",ref:r,class:A(i(c).e("sr-focus")),tabindex:"-1"},null,2),e.withHeader?(E(),F("header",{key:0,class:A([i(c).e("header"),e.headerClass])},[H.$slots.title?ue(H.$slots,"title",{key:1},()=>[se(" DEPRECATED SLOT ")]):ue(H.$slots,"header",{key:0,close:i($),titleId:i(m),titleClass:i(c).e("title")},()=>[M("span",{id:i(m),role:"heading","aria-level":e.headerAriaLevel,class:A(i(c).e("title"))},ye(e.title),11,s7)]),e.showClose?(E(),F("button",{key:2,"aria-label":i(d)("el.drawer.close"),class:A(i(c).e("close-btn")),type:"button",onClick:L[0]||(L[0]=(...z)=>i($)&&i($)(...z))},[ee(i(He),{class:A(i(c).e("close"))},{default:ie(()=>[ee(i(la))]),_:1},8,["class"])],10,r7)):se("v-if",!0)],2)):se("v-if",!0),i(p)?(E(),F("div",{key:1,id:i(y),class:A([i(c).e("body"),e.bodyClass])},[ue(H.$slots,"default")],10,i7)):se("v-if",!0),H.$slots.footer?(E(),F("div",{key:2,class:A([i(c).e("footer"),e.footerClass])},[ue(H.$slots,"footer")],2)):se("v-if",!0),e.resizable?(E(),F("div",{key:3,ref_key:"draggerRef",ref:u,style:Fe({zIndex:i(b)}),class:A(i(c).e("dragger"))},null,6)):se("v-if",!0)],16,l7)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[Vt,i(g)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["to","disabled"]))}}),c7=u7;const d7=ut(c7),Qh=Te({trigger:{...Ks.trigger,type:ne([String,Array])},triggerKeys:{type:ne(Array),default:()=>[Ee.enter,Ee.numpadEnter,Ee.space,Ee.down]},virtualTriggering:Ks.virtualTriggering,virtualRef:Ks.virtualRef,effect:{...on.effect,default:"light"},type:{type:ne(String)},placement:{type:ne(String),default:"bottom"},popperOptions:{type:ne(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:ne([Number,String]),default:0},maxHeight:{type:ne([Number,String]),default:""},popperClass:on.popperClass,popperStyle:on.popperStyle,disabled:Boolean,role:{type:String,values:Y2,default:"menu"},buttonProps:{type:ne(Object)},teleported:on.teleported,appendTo:on.appendTo,persistent:{type:Boolean,default:!0}}),YE=Te({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Gt}}),f7=Te({onKeydown:{type:ne(Function)}}),Tp=Symbol("elDropdown"),UE="elDropdown";var p7=fe({inheritAttrs:!1});function v7(e,t,n,o,a,l){return ue(e.$slots,"default")}var h7=An(p7,[["render",v7]]),m7=fe({name:"ElCollectionItem",inheritAttrs:!1});function g7(e,t,n,o,a,l){return ue(e.$slots,"default")}var y7=An(m7,[["render",g7]]);const qE="data-el-collection-item",b7=e=>{const t=`El${e}Collection`,n=`${t}Item`,o=Symbol(t),a=Symbol(n);return{COLLECTION_INJECTION_KEY:o,COLLECTION_ITEM_INJECTION_KEY:a,ElCollection:Object.assign({},h7,{name:t,setup(){const l=B(),s=new Map;kt(o,{itemMap:s,getItems:(()=>{const u=i(l);if(!u)return[];const c=Array.from(u.querySelectorAll(`[${qE}]`));return[...s.values()].sort((d,f)=>c.indexOf(d.ref)-c.indexOf(f.ref))}),collectionRef:l})}}),ElCollectionItem:Object.assign({},y7,{name:n,setup(l,{attrs:s}){const r=B(),u=Be(o,void 0);kt(a,{collectionItemRef:r}),st(()=>{const c=i(r);c&&u.itemMap.set(c,{ref:c,...s})}),Ht(()=>{const c=i(r);u.itemMap.delete(c)})}})}},w7=Te({style:{type:ne([String,Array,Object,Boolean]),default:void 0},currentTabId:{type:ne(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:ne(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:S7,ElCollectionItem:C7,COLLECTION_INJECTION_KEY:GE,COLLECTION_ITEM_INJECTION_KEY:k7}=b7("RovingFocusGroup"),iy=Symbol("elRovingFocusGroup"),XE=Symbol("elRovingFocusGroupItem"),x7={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},E7=(e,t)=>e,$7=(e,t,n)=>{const o=E7(Xt(e));return x7[o]},T7=(e,t)=>e.map((n,o)=>e[(o+t)%e.length]),rw=e=>{const{activeElement:t}=document;for(const n of e)if(n===t||(n.focus(),t!==document.activeElement))return},iw="currentTabIdChange",uw="rovingFocusGroup.entryFocus",N7={bubbles:!1,cancelable:!0};var _7=fe({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:w7,emits:[iw,"entryFocus"],setup(e,{emit:t}){const n=B((e.currentTabId||e.defaultCurrentTabId)??null),o=B(!1),a=B(!1),l=B(),{getItems:s}=Be(GE,void 0),r=C(()=>[{outline:"none"},e.style]),u=p=>{t(iw,p)},c=()=>{o.value=!0},d=Ln(p=>{e.onMousedown?.(p)},()=>{a.value=!0}),f=Ln(p=>{e.onFocus?.(p)},p=>{const m=!i(a),{target:y,currentTarget:b}=p;if(y===b&&m&&!i(o)){const w=new Event(uw,N7);if(b?.dispatchEvent(w),!w.defaultPrevented){const S=s().filter(k=>k.focusable);rw([S.find(k=>k.active),S.find(k=>k.id===i(n)),...S].filter(Boolean).map(k=>k.ref))}}a.value=!1}),v=Ln(p=>{e.onBlur?.(p)},()=>{o.value=!1}),h=(...p)=>{t("entryFocus",...p)},g=p=>{const m=$7(p);if(m){p.preventDefault();let y=s().filter(b=>b.focusable).map(b=>b.ref);switch(m){case"last":y.reverse();break;case"prev":case"next":{m==="prev"&&y.reverse();const b=y.indexOf(p.currentTarget);y=e.loop?T7(y,b+1):y.slice(b+1);break}}Pe(()=>{rw(y)})}};kt(iy,{currentTabbedId:qs(n),loop:bt(e,"loop"),tabIndex:C(()=>i(o)?-1:0),rovingFocusGroupRef:l,rovingFocusGroupRootStyle:r,orientation:bt(e,"orientation"),dir:bt(e,"dir"),onItemFocus:u,onItemShiftTab:c,onBlur:v,onFocus:f,onMousedown:d,onKeydown:g}),pe(()=>e.currentTabId,p=>{n.value=p??null}),Wt(l,uw,h)}});function I7(e,t,n,o,a,l){return ue(e.$slots,"default")}var M7=An(_7,[["render",I7]]),O7=fe({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:S7,ElRovingFocusGroupImpl:M7}});function P7(e,t,n,o,a,l){const s=Ot("el-roving-focus-group-impl"),r=Ot("el-focus-group-collection");return E(),de(r,null,{default:ie(()=>[ee(s,ml(yl(e.$attrs)),{default:ie(()=>[ue(e.$slots,"default")]),_:3},16)]),_:3})}var R7=An(O7,[["render",P7]]),A7=fe({components:{ElRovingFocusCollectionItem:C7},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,onItemFocus:o,onItemShiftTab:a,onKeydown:l}=Be(iy,void 0),s=Jn(),r=B(),u=Ln(v=>{t("mousedown",v)},v=>{e.focusable?o(i(s)):v.preventDefault()}),c=Ln(v=>{t("focus",v)},()=>{o(i(s))}),d=Ln(v=>{t("keydown",v)},v=>{const{shiftKey:h,target:g,currentTarget:p}=v;if(Xt(v)===Ee.tab&&h){a();return}g===p&&l(v)}),f=C(()=>n.value===i(s));return kt(XE,{rovingFocusGroupItemRef:r,tabIndex:C(()=>i(f)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:s,handleKeydown:d,handleFocus:c,handleMousedown:u}}});function D7(e,t,n,o,a,l){const s=Ot("el-roving-focus-collection-item");return E(),de(s,{id:e.id,focusable:e.focusable,active:e.active},{default:ie(()=>[ue(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var L7=An(A7,[["render",D7]]),B7=R7;const{ButtonGroup:V7}=Fn;var F7=fe({name:"ElDropdown",components:{ElButton:Fn,ElButtonGroup:V7,ElScrollbar:wa,ElTooltip:Hn,ElRovingFocusGroup:B7,ElOnlyChild:X2,ElIcon:He,ArrowDown:Qa},props:Qh,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=ct(),o=ke("dropdown"),{t:a}=Tt(),l=B(),s=B(),r=B(),u=B(),c=B(null),d=B(null),f=B(!1),v=C(()=>({maxHeight:pn(e.maxHeight)})),h=C(()=>[o.m(S.value)]),g=C(()=>Bn(e.trigger)),p=Jn().value,m=C(()=>e.id||p);function y(){r.value?.onClose(void 0,0)}function b(){r.value?.onClose()}function w(){r.value?.onOpen()}const S=Nn();function k(...H){t("command",...H)}function x(){}function N(){const H=i(u);g.value.includes("hover")&&H?.focus({preventScroll:!0}),d.value=null}function $(H){d.value=H}function T(){t("visible-change",!0)}function I(H){f.value=H?.type==="keydown",u.value?.focus()}function P(){t("visible-change",!1)}return kt(Tp,{contentRef:u,role:C(()=>e.role),triggerId:m,isUsingKeyboard:f,onItemEnter:x,onItemLeave:N,handleClose:b}),kt(UE,{instance:n,dropdownSize:S,handleClick:y,commandHandler:k,trigger:bt(e,"trigger"),hideOnClick:bt(e,"hideOnClick")}),{t:a,ns:o,scrollbar:c,wrapStyle:v,dropdownTriggerKls:h,dropdownSize:S,triggerId:m,currentTabId:d,handleCurrentTabIdChange:$,handlerMainButtonClick:H=>{t("click",H)},handleClose:b,handleOpen:w,handleBeforeShowTooltip:T,handleShowTooltip:I,handleBeforeHideTooltip:P,popperRef:r,contentRef:u,triggeringElementRef:l,referenceElementRef:s}}});function z7(e,t,n,o,a,l){const s=Ot("el-roving-focus-group"),r=Ot("el-scrollbar"),u=Ot("el-only-child"),c=Ot("el-tooltip"),d=Ot("el-button"),f=Ot("arrow-down"),v=Ot("el-icon"),h=Ot("el-button-group");return E(),F("div",{class:A([e.ns.b(),e.ns.is("disabled",e.disabled)])},[ee(c,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"popper-style":e.popperStyle,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":e.trigger==="hover"?e.showTimeout:0,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"virtual-ref":e.virtualRef??e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,"append-to":e.appendTo,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},bo({content:ie(()=>[ee(r,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:ie(()=>[ee(s,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange},{default:ie(()=>[ue(e.$slots,"dropdown")]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:ie(()=>[ee(u,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:ie(()=>[ue(e.$slots,"default")]),_:3},8,["id","tabindex"])]),key:"0"}]),1032,["role","effect","popper-options","placement","popper-class","popper-style","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","append-to","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(E(),de(h,{key:0},{default:ie(()=>[ee(d,ft({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:ie(()=>[ue(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),ee(d,ft({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:ie(()=>[ee(v,{class:A(e.ns.e("icon"))},{default:ie(()=>[ee(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):se("v-if",!0)],2)}var H7=An(F7,[["render",z7]]),K7=fe({name:"DropdownItemImpl",components:{ElIcon:He},props:YE,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=ke("dropdown"),{role:o}=Be(Tp,void 0),{collectionItemRef:a}=Be(k7,void 0),{rovingFocusGroupItemRef:l,tabIndex:s,handleFocus:r,handleKeydown:u,handleMousedown:c}=Be(XE,void 0),d=ry(a,l),f=C(()=>o.value==="menu"?"menuitem":o.value==="navigation"?"link":"button"),v=Ln(h=>{const g=Xt(h);if([Ee.enter,Ee.numpadEnter,Ee.space].includes(g))return h.preventDefault(),h.stopImmediatePropagation(),t("clickimpl",h),!0},u);return{ns:n,itemRef:d,dataset:{[qE]:""},role:f,tabIndex:s,handleFocus:r,handleKeydown:v,handleMousedown:c}}});const W7=["aria-disabled","tabindex","role"];function j7(e,t,n,o,a,l){const s=Ot("el-icon");return E(),F(Oe,null,[e.divided?(E(),F("li",{key:0,role:"separator",class:A(e.ns.bem("menu","item","divided"))},null,2)):se("v-if",!0),M("li",ft({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=r=>e.$emit("clickimpl",r)),onFocus:t[1]||(t[1]=(...r)=>e.handleFocus&&e.handleFocus(...r)),onKeydown:t[2]||(t[2]=et((...r)=>e.handleKeydown&&e.handleKeydown(...r),["self"])),onMousedown:t[3]||(t[3]=(...r)=>e.handleMousedown&&e.handleMousedown(...r)),onPointermove:t[4]||(t[4]=r=>e.$emit("pointermove",r)),onPointerleave:t[5]||(t[5]=r=>e.$emit("pointerleave",r))}),[e.icon||e.$slots.icon?(E(),de(s,{key:0},{default:ie(()=>[ue(e.$slots,"icon",{},()=>[(E(),de(dt(e.icon)))])]),_:3})):se("v-if",!0),ue(e.$slots,"default")],16,W7)],64)}var Y7=An(K7,[["render",j7]]);const ZE=()=>{const e=Be(UE,{});return{elDropdown:e,_elDropdownSize:C(()=>e?.dropdownSize)}};var U7=fe({name:"ElDropdownItem",components:{ElRovingFocusItem:L7,ElDropdownItemImpl:Y7},inheritAttrs:!1,props:YE,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:o}=ZE(),a=ct(),{onItemEnter:l,onItemLeave:s}=Be(Tp,void 0),r=Ln(c=>(t("pointermove",c),c.defaultPrevented),w0(c=>{if(e.disabled){s(c);return}const d=c.currentTarget;d===document.activeElement||d.contains(document.activeElement)||(l(c),c.defaultPrevented||d?.focus({preventScroll:!0}))})),u=Ln(c=>(t("pointerleave",c),c.defaultPrevented),w0(s));return{handleClick:Ln(c=>{if(!e.disabled)return t("click",c),c.type!=="keydown"&&c.defaultPrevented},c=>{if(e.disabled){c.stopImmediatePropagation();return}o?.hideOnClick?.value&&o.handleClick?.(),o.commandHandler?.(e.command,a,c)}),handlePointerMove:r,handlePointerLeave:u,propsAndAttrs:C(()=>({...e,...n}))}}});function q7(e,t,n,o,a,l){const s=Ot("el-dropdown-item-impl"),r=Ot("el-roving-focus-item");return E(),de(r,{focusable:!e.disabled},{default:ie(()=>[ee(s,ft(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),bo({default:ie(()=>[ue(e.$slots,"default")]),_:2},[e.$slots.icon?{name:"icon",fn:ie(()=>[ue(e.$slots,"icon")]),key:"0"}:void 0]),1040,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])}var JE=An(U7,[["render",q7]]),G7=fe({name:"ElDropdownMenu",props:f7,setup(e){const t=ke("dropdown"),{_elDropdownSize:n}=ZE(),o=n.value,{contentRef:a,role:l,triggerId:s,isUsingKeyboard:r,handleClose:u}=Be(Tp,void 0),{rovingFocusGroupRef:c,rovingFocusGroupRootStyle:d,onBlur:f,onFocus:v,onKeydown:h,onMousedown:g}=Be(iy,void 0),{collectionRef:p}=Be(GE,void 0),m=C(()=>[t.b("menu"),t.bm("menu",o?.value)]),y=ry(a,c,p),b=Ln(S=>{e.onKeydown?.(S)},S=>{const{currentTarget:k,target:x}=S,N=Xt(S);if(k.contains(x),Ee.tab===N)return u();h(S)});function w(S){r.value&&v(S)}return{size:o,rovingFocusGroupRootStyle:d,dropdownKls:m,role:l,triggerId:s,dropdownListWrapperRef:y,handleKeydown:b,onBlur:f,handleFocus:w,onMousedown:g}}});const X7=["role","aria-labelledby"];function Z7(e,t,n,o,a,l){return E(),F("ul",{ref:e.dropdownListWrapperRef,class:A(e.dropdownKls),style:Fe(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onFocusin:t[0]||(t[0]=(...s)=>e.handleFocus&&e.handleFocus(...s)),onFocusout:t[1]||(t[1]=(...s)=>e.onBlur&&e.onBlur(...s)),onKeydown:t[2]||(t[2]=et((...s)=>e.handleKeydown&&e.handleKeydown(...s),["self"])),onMousedown:t[3]||(t[3]=et((...s)=>e.onMousedown&&e.onMousedown(...s),["self"]))},[ue(e.$slots,"default")],46,X7)}var QE=An(G7,[["render",Z7]]);const J7=ut(H7,{DropdownItem:JE,DropdownMenu:QE}),Q7=un(JE),ej=un(QE),tj=Te({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),nj={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},oj=["id"],aj=["stop-color"],lj=["stop-color"],sj=["id"],rj=["stop-color"],ij=["stop-color"],uj=["id"],cj={stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},dj={transform:"translate(-1268.000000, -535.000000)"},fj={transform:"translate(1268.000000, 535.000000)"},pj=["fill"],vj=["fill"],hj={transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},mj=["fill"],gj=["fill"],yj=["fill"],bj=["fill"],wj=["fill"],Sj={transform:"translate(53.000000, 45.000000)"},Cj=["fill","xlink:href"],kj=["fill","mask"],xj=["fill"];var Ej=fe({name:"ImgEmpty",__name:"img-empty",setup(e){const t=ke("empty"),n=Jn();return(o,a)=>(E(),F("svg",nj,[M("defs",null,[M("linearGradient",{id:`linearGradient-1-${i(n)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[M("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,aj),M("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,lj)],8,oj),M("linearGradient",{id:`linearGradient-2-${i(n)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[M("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,rj),M("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,ij)],8,sj),M("rect",{id:`path-3-${i(n)}`,x:"0",y:"0",width:"17",height:"36"},null,8,uj)]),M("g",cj,[M("g",dj,[M("g",fj,[M("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${i(t).cssVarBlockName("fill-color-3")})`},null,8,pj),M("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,vj),M("g",hj,[M("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,mj),M("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,gj),M("rect",{fill:`url(#linearGradient-1-${i(n)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,yj),M("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,bj)]),M("rect",{fill:`url(#linearGradient-2-${i(n)})`,x:"13",y:"45",width:"40",height:"36"},null,8,wj),M("g",Sj,[M("use",{fill:`var(${i(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${i(n)}`},null,8,Cj),M("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${i(n)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,kj)]),M("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,xj)])])])]))}}),$j=Ej;const Tj=["src"],Nj={key:1};var _j=fe({name:"ElEmpty",__name:"empty",props:tj,setup(e){const t=e,{t:n}=Tt(),o=ke("empty"),a=C(()=>t.description||n("el.table.emptyText")),l=C(()=>({width:pn(t.imageSize)}));return(s,r)=>(E(),F("div",{class:A(i(o).b())},[M("div",{class:A(i(o).e("image")),style:Fe(l.value)},[e.image?(E(),F("img",{key:0,src:e.image,ondragstart:"return false"},null,8,Tj)):ue(s.$slots,"image",{key:1},()=>[ee($j)])],6),M("div",{class:A(i(o).e("description"))},[s.$slots.description?ue(s.$slots,"description",{key:0}):(E(),F("p",Nj,ye(a.value),1))],2),s.$slots.default?(E(),F("div",{key:0,class:A(i(o).e("bottom"))},[ue(s.$slots,"default")],2)):se("v-if",!0)],2))}}),Ij=_j;const e$=ut(Ij),Mj=Te({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:ne([String,Object])},previewSrcList:{type:ne(Array),default:()=>fn([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:ne(String)}}),Oj={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>We(e),close:()=>!0,show:()=>!0},Pj=Te({urlList:{type:ne(Array),default:()=>fn([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:ne(String)}}),Rj={close:()=>!0,error:e=>e instanceof Event,switch:e=>We(e),rotate:e=>We(e)},Aj=["src","crossorigin"];var Dj=fe({name:"ElImageViewer",__name:"image-viewer",props:Pj,emits:Rj,setup(e,{expose:t,emit:n}){const o={CONTAIN:{name:"contain",icon:yo(aB)},ORIGINAL:{name:"original",icon:yo(xB)}},a=e,l=n;let s;const{t:r}=Tt(),u=ke("image-viewer"),{nextZIndex:c}=uc(),d=B(),f=B(),v=Ff(),h=C(()=>{const{scale:me,minScale:oe,maxScale:re}=a;return ip(me,oe,re)}),g=B(!0),p=B(!1),m=B(!1),y=B(a.initialIndex),b=Ct(o.CONTAIN),w=B({scale:h.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),S=B(a.zIndex??c());dp(m,{ns:u});const k=C(()=>{const{urlList:me}=a;return me.length<=1}),x=C(()=>y.value===0),N=C(()=>y.value===a.urlList.length-1),$=C(()=>a.urlList[y.value]),T=C(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!a.infinite&&x.value)]),I=C(()=>[u.e("btn"),u.e("next"),u.is("disabled",!a.infinite&&N.value)]),P=C(()=>{const{scale:me,deg:oe,offsetX:re,offsetY:W,enableTransition:te}=w.value;let j=re/me,U=W/me;const Q=oe*Math.PI/180,le=Math.cos(Q),ce=Math.sin(Q);j=j*le+U*ce,U=U*le-re/me*ce;const Ce={transform:`scale(${me}) rotate(${oe}deg) translate(${j}px, ${U}px)`,transition:te?"transform .3s":""};return b.value.name===o.CONTAIN.name&&(Ce.maxWidth=Ce.maxHeight="100%"),Ce}),_=C(()=>`${y.value+1} / ${a.urlList.length}`);function H(){z(),s?.(),m.value=!1,l("close")}function L(){const me=Gl(re=>{switch(Xt(re)){case Ee.esc:a.closeOnPressEscape&&H();break;case Ee.space:Y();break;case Ee.left:q();break;case Ee.up:Z("zoomIn");break;case Ee.right:X();break;case Ee.down:Z("zoomOut");break}}),oe=Gl(re=>{Z((re.deltaY||re.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:a.zoomRate,enableTransition:!1})});v.run(()=>{Wt(document,"keydown",me),Wt(d,"wheel",oe)})}function z(){v.stop()}function O(){g.value=!1}function R(me){p.value=!0,g.value=!1,l("error",me),me.target.alt=r("el.image.error")}function D(me){if(g.value||me.button!==0||!d.value)return;w.value.enableTransition=!1;const{offsetX:oe,offsetY:re}=w.value,W=me.pageX,te=me.pageY,j=Gl(le=>{w.value={...w.value,offsetX:oe+le.pageX-W,offsetY:re+le.pageY-te}}),U=Wt(document,"mousemove",j),Q=Wt(document,"mouseup",()=>{U(),Q()});me.preventDefault()}function K(me){if(g.value||!d.value||me.touches.length!==1)return;w.value.enableTransition=!1;const{offsetX:oe,offsetY:re}=w.value,{pageX:W,pageY:te}=me.touches[0],j=Gl(le=>{const ce=le.touches[0];w.value={...w.value,offsetX:oe+ce.pageX-W,offsetY:re+ce.pageY-te}}),U=Wt(document,"touchmove",j),Q=Wt(document,"touchend",()=>{U(),Q()});me.preventDefault()}function V(){w.value={scale:h.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function Y(){if(g.value||p.value)return;const me=Su(o),oe=Object.values(o),re=b.value.name;b.value=o[me[(oe.findIndex(W=>W.name===re)+1)%me.length]],V()}function G(me){p.value=!1;const oe=a.urlList.length;y.value=(me+oe)%oe}function q(){x.value&&!a.infinite||G(y.value-1)}function X(){N.value&&!a.infinite||G(y.value+1)}function Z(me,oe={}){if(g.value||p.value)return;const{minScale:re,maxScale:W}=a,{zoomRate:te,rotateDeg:j,enableTransition:U}={zoomRate:a.zoomRate,rotateDeg:90,enableTransition:!0,...oe};switch(me){case"zoomOut":w.value.scale>re&&(w.value.scale=Number.parseFloat((w.value.scale/te).toFixed(3)));break;case"zoomIn":w.value.scale0)return me.preventDefault(),!1}}return pe(()=>h.value,me=>{w.value.scale=me}),pe($,()=>{Pe(()=>{f.value?.complete||(g.value=!0)})}),pe(y,me=>{V(),l("switch",me)}),st(()=>{m.value=!0,L(),s=Wt("wheel",ve,{passive:!1})}),t({setActiveItem:G}),(me,oe)=>(E(),de(ir,{to:"body",disabled:!e.teleported},[ee(Zn,{name:"viewer-fade",appear:""},{default:ie(()=>[M("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:A(i(u).e("wrapper")),style:Fe({zIndex:S.value})},[ee(i(Ci),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:J,onReleaseRequested:ae},{default:ie(()=>[M("div",{class:A(i(u).e("mask")),onClick:oe[0]||(oe[0]=et(re=>e.hideOnClickModal&&H(),["self"]))},null,2),se(" CLOSE "),M("span",{class:A([i(u).e("btn"),i(u).e("close")]),onClick:H},[ee(i(He),null,{default:ie(()=>[ee(i(la))]),_:1})],2),se(" ARROW "),k.value?se("v-if",!0):(E(),F(Oe,{key:0},[M("span",{class:A(T.value),onClick:q},[ee(i(He),null,{default:ie(()=>[ee(i(El))]),_:1})],2),M("span",{class:A(I.value),onClick:X},[ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})],2)],64)),me.$slots.progress||e.showProgress?(E(),F("div",{key:1,class:A([i(u).e("btn"),i(u).e("progress")])},[ue(me.$slots,"progress",{activeIndex:y.value,total:e.urlList.length},()=>[ze(ye(_.value),1)])],2)):se("v-if",!0),se(" ACTIONS "),M("div",{class:A([i(u).e("btn"),i(u).e("actions")])},[M("div",{class:A(i(u).e("actions__inner"))},[ue(me.$slots,"toolbar",{actions:Z,prev:q,next:X,reset:Y,activeIndex:y.value,setActiveItem:G},()=>[ee(i(He),{onClick:oe[1]||(oe[1]=re=>Z("zoomOut"))},{default:ie(()=>[ee(i(FB))]),_:1}),ee(i(He),{onClick:oe[2]||(oe[2]=re=>Z("zoomIn"))},{default:ie(()=>[ee(i(W2))]),_:1}),M("i",{class:A(i(u).e("actions__divider"))},null,2),ee(i(He),{onClick:Y},{default:ie(()=>[(E(),de(dt(b.value.icon)))]),_:1}),M("i",{class:A(i(u).e("actions__divider"))},null,2),ee(i(He),{onClick:oe[3]||(oe[3]=re=>Z("anticlockwise"))},{default:ie(()=>[ee(i(wB))]),_:1}),ee(i(He),{onClick:oe[4]||(oe[4]=re=>Z("clockwise"))},{default:ie(()=>[ee(i(CB))]),_:1})])],2)],2),se(" CANVAS "),M("div",{class:A(i(u).e("canvas"))},[p.value&&me.$slots["viewer-error"]?ue(me.$slots,"viewer-error",{key:0,activeIndex:y.value,src:$.value}):(E(),F("img",{ref_key:"imgRef",ref:f,key:$.value,src:$.value,style:Fe(P.value),class:A(i(u).e("img")),crossorigin:e.crossorigin,onLoad:O,onError:R,onMousedown:D,onTouchstart:K},null,46,Aj))],2),ue(me.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})],8,["disabled"]))}}),Lj=Dj;const t$=ut(Lj),Bj=["src","loading","crossorigin"],Vj={key:0};var Fj=fe({name:"ElImage",inheritAttrs:!1,__name:"image",props:Mj,emits:Oj,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=Tt(),s=ke("image"),r=Za(),u=C(()=>Zr(Object.entries(r).filter(([R])=>/^(data-|on[A-Z])/i.test(R)||["id","style"].includes(R)))),c=rp({excludeListeners:!0,excludeKeys:C(()=>Object.keys(u.value))}),d=B(),f=B(!1),v=B(!0),h=B(!1),g=B(),p=B(),m=Lt&&"loading"in HTMLImageElement.prototype;let y;const b=C(()=>[s.e("inner"),S.value&&s.e("preview"),v.value&&s.is("loading")]),w=C(()=>{const{fit:R}=o;return Lt&&R?{objectFit:R}:{}}),S=C(()=>{const{previewSrcList:R}=o;return xe(R)&&R.length>0}),k=C(()=>{const{previewSrcList:R,initialIndex:D}=o;let K=D;return D>R.length-1&&(K=0),K}),x=C(()=>o.loading==="eager"?!1:!m&&o.loading==="lazy"||o.lazy),N=()=>{Lt&&(v.value=!0,f.value=!1,d.value=o.src)};function $(R){v.value=!1,f.value=!1,a("load",R)}function T(R){v.value=!1,f.value=!0,a("error",R)}function I(R){R&&(N(),H())}const P=qk(I,200,!0);async function _(){if(!Lt)return;await Pe();const{scrollContainer:R}=o;if(No(R))p.value=R;else if(Ve(R)&&R!=="")p.value=document.querySelector(R)??void 0;else if(g.value){const K=hg(g.value);p.value=oc(K)?void 0:K}const{stop:D}=eA(g,([K])=>{P(K.isIntersecting)},{root:p});y=D}function H(){!Lt||!P||(y?.(),p.value=void 0,y=void 0)}function L(){S.value&&(h.value=!0,a("show"))}function z(){h.value=!1,a("close")}function O(R){a("switch",R)}return pe(()=>o.src,()=>{x.value?(v.value=!0,f.value=!1,H(),_()):N()}),st(()=>{x.value?_():N()}),t({showPreview:L}),(R,D)=>(E(),F("div",ft({ref_key:"container",ref:g},u.value,{class:[i(s).b(),R.$attrs.class]}),[f.value?ue(R.$slots,"error",{key:0},()=>[M("div",{class:A(i(s).e("error"))},ye(i(l)("el.image.error")),3)]):(E(),F(Oe,{key:1},[d.value!==void 0?(E(),F("img",ft({key:0},i(c),{src:d.value,loading:e.loading,style:w.value,class:b.value,crossorigin:e.crossorigin,onClick:L,onLoad:$,onError:T}),null,16,Bj)):se("v-if",!0),v.value?(E(),F("div",{key:1,class:A(i(s).e("wrapper"))},[ue(R.$slots,"placeholder",{},()=>[M("div",{class:A(i(s).e("placeholder"))},null,2)])],2)):se("v-if",!0)],64)),S.value?(E(),F(Oe,{key:2},[h.value?(E(),de(i(t$),{key:0,"z-index":e.zIndex,"initial-index":k.value,infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:z,onSwitch:O},bo({toolbar:ie(K=>[ue(R.$slots,"toolbar",ml(yl(K)))]),default:ie(()=>[R.$slots.viewer?(E(),F("div",Vj,[ue(R.$slots,"viewer")])):se("v-if",!0)]),_:2},[R.$slots.progress?{name:"progress",fn:ie(K=>[ue(R.$slots,"progress",ml(yl(K)))]),key:"0"}:void 0,R.$slots["viewer-error"]?{name:"viewer-error",fn:ie(K=>[ue(R.$slots,"viewer-error",ml(yl(K)))]),key:"1"}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):se("v-if",!0)],64)):se("v-if",!0)],16))}}),zj=Fj;const Hj=ut(zj),Kj=Te({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:{type:Boolean,default:void 0},size:On,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:ne([String,Number,null]),validator:e=>e===null||We(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...co(["ariaLabel"]),inputmode:{type:ne(String),default:void 0},align:{type:ne(String),default:"center"},disabledScientific:Boolean,formatter:{type:Function},parser:{type:Function},tabindex:{type:[String,Number],default:0}}),Wj={[xt]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Tn]:e=>We(e)||hn(e),[at]:e=>We(e)||hn(e)},jj=["aria-label"],Yj=["aria-label"];var Uj=fe({name:"ElInputNumber",__name:"input-number",props:Kj,emits:Wj,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=Tt(),s=ke("input-number"),r=B(),u=zt({currentValue:o.modelValue,userInput:null}),{formItem:c}=Kn(),d=C(()=>We(o.modelValue)&&o.modelValue<=o.min),f=C(()=>We(o.modelValue)&&o.modelValue>=o.max),v=C(()=>{const R=b(o.step);return _t(o.precision)?Math.max(b(o.modelValue),R):(R>o.precision&&Yt("InputNumber","precision should not be less than the decimal places of step"),o.precision)}),h=C(()=>o.controls&&o.controlsPosition==="right"),g=Nn(),p=cn(),m=C(()=>{if(u.userInput!==null)return u.userInput;let R=u.currentValue;if(hn(R))return"";if(We(R)){if(Number.isNaN(R))return"";_t(o.precision)||(R=R.toFixed(o.precision))}return R}),y=(R,D)=>{if(_t(D)&&(D=v.value),D===0)return Math.round(R);let K=String(R);const V=K.indexOf(".");if(V===-1||!K.replace(".","").split("")[V+D])return R;const Y=K.length;return K.charAt(Y-1)==="5"&&(K=`${K.slice(0,Math.max(0,Y-1))}6`),Number.parseFloat(Number(K).toFixed(D))},b=R=>{if(hn(R))return 0;const D=R.toString(),K=D.indexOf(".");let V=0;return K!==-1&&(V=D.length-K-1),V},w=(R,D=1)=>We(R)?R>=Number.MAX_SAFE_INTEGER&&D===1?(Yt("InputNumber","The value has reached the maximum safe integer limit."),R):R<=Number.MIN_SAFE_INTEGER&&D===-1?(Yt("InputNumber","The value has reached the minimum safe integer limit."),R):y(R+o.step*D):u.currentValue,S=R=>{const D=Xt(R),K=l2(R);if(o.disabledScientific&&["e","E"].includes(K)){R.preventDefault();return}switch(D){case Ee.up:R.preventDefault(),k();break;case Ee.down:R.preventDefault(),x();break}},k=()=>{o.readonly||p.value||f.value||($(w(Number(m.value)||0)),a(Tn,u.currentValue),z())},x=()=>{o.readonly||p.value||d.value||($(w(Number(m.value)||0,-1)),a(Tn,u.currentValue),z())},N=(R,D)=>{const{max:K,min:V,step:Y,precision:G,stepStrictly:q,valueOnClear:X}=o;KK||ZK?K:V,D&&a("update:modelValue",Z)),Z},$=(R,D=!0)=>{const K=u.currentValue,V=N(R);if(!D){a(at,V);return}u.userInput=null,!(K===V&&R)&&(a(at,V),K!==V&&a(xt,V,K),o.validateEvent&&c?.validate?.("change").catch(ht),u.currentValue=V)},T=R=>{u.userInput=R;let D=R===""?null:Number.parseFloat(R);Number.isNaN(D)&&(D=null),a(Tn,D),$(D,!1)},I=R=>{const D=R!==""?Number.parseFloat(R):"";(We(D)&&!Number.isNaN(D)||o.formatter&&Number.isNaN(D)||D==="")&&$(D),z(),u.userInput=null},P=()=>{r.value?.focus?.()},_=()=>{r.value?.blur?.()},H=R=>{a("focus",R)},L=R=>{u.userInput=null,u.currentValue===null&&r.value?.input&&(r.value.input.value=o.formatter?.("")??""),a("blur",R),o.validateEvent&&c?.validate?.("blur").catch(ht)},z=()=>{u.currentValue!==o.modelValue&&(u.currentValue=o.modelValue)},O=R=>{document.activeElement===R.target&&R.preventDefault()};return pe(()=>o.modelValue,(R,D)=>{const K=N(R,!0);u.userInput===null&&K!==D&&(u.currentValue=K)},{immediate:!0}),pe(()=>o.precision,()=>{u.currentValue=N(o.modelValue)}),st(()=>{const{min:R,max:D,modelValue:K}=o,V=r.value?.input;if(V.setAttribute("role","spinbutton"),Number.isFinite(D)?V.setAttribute("aria-valuemax",String(D)):V.removeAttribute("aria-valuemax"),Number.isFinite(R)?V.setAttribute("aria-valuemin",String(R)):V.removeAttribute("aria-valuemin"),V.setAttribute("aria-valuenow",u.currentValue||u.currentValue===0?String(u.currentValue):""),V.setAttribute("aria-disabled",String(p.value)),!We(K)&&K!=null){let Y=Number(K);Number.isNaN(Y)&&(Y=null),a(at,Y)}V.addEventListener("wheel",O,{passive:!1})}),Sa(()=>{r.value?.input?.setAttribute("aria-valuenow",`${u.currentValue??""}`)}),t({focus:P,blur:_}),(R,D)=>(E(),F("div",{class:A([i(s).b(),i(s).m(i(g)),i(s).is("disabled",i(p)),i(s).is("without-controls",!e.controls),i(s).is("controls-right",h.value),i(s).is(e.align,!!e.align)]),onDragstart:D[0]||(D[0]=et(()=>{},["prevent"]))},[e.controls?Ue((E(),F("span",{key:0,role:"button","aria-label":i(l)("el.inputNumber.decrease"),class:A([i(s).e("decrease"),i(s).is("disabled",d.value)]),onKeydown:sn(x,["enter"])},[ue(R.$slots,"decrease-icon",{},()=>[ee(i(He),null,{default:ie(()=>[h.value?(E(),de(i(Qa),{key:0})):(E(),de(i(cB),{key:1}))]),_:1})])],42,jj)),[[i(af),x]]):se("v-if",!0),e.controls?Ue((E(),F("span",{key:1,role:"button","aria-label":i(l)("el.inputNumber.increase"),class:A([i(s).e("increase"),i(s).is("disabled",f.value)]),onKeydown:sn(k,["enter"])},[ue(R.$slots,"increase-icon",{},()=>[ee(i(He),null,{default:ie(()=>[h.value?(E(),de(i(bp),{key:0})):(E(),de(i(H2),{key:1}))]),_:1})])],42,Yj)),[[i(af),k]]):se("v-if",!0),ee(i(Gn),{id:e.id,ref_key:"input",ref:r,type:e.formatter?"text":"number",step:e.step,"model-value":m.value,placeholder:e.placeholder,readonly:e.readonly,disabled:i(p),size:i(g),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,formatter:e.formatter,parser:e.parser,tabindex:e.tabindex,onKeydown:S,onBlur:L,onFocus:H,onInput:T,onChange:I},bo({_:2},[R.$slots.prefix?{name:"prefix",fn:ie(()=>[ue(R.$slots,"prefix")]),key:"0"}:void 0,R.$slots.suffix?{name:"suffix",fn:ie(()=>[ue(R.$slots,"suffix")]),key:"1"}:void 0]),1032,["id","type","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode","formatter","parser","tabindex"])],34))}}),qj=Uj;const n$=ut(qj),Gj=Te({modelValue:{type:ne(Array)},max:Number,tagType:{...$l.type,default:"info"},tagEffect:$l.effect,effect:{type:ne(String),default:"light"},trigger:{type:ne(String),default:Ee.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:""},size:On,clearable:Boolean,clearIcon:{type:Gt,default:el},disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},readonly:Boolean,autofocus:Boolean,id:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},placeholder:String,autocomplete:{type:ne(String),default:"off"},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),Xj={[at]:e=>xe(e)||_t(e),[xt]:e=>xe(e)||_t(e),[Tn]:e=>Ve(e),"add-tag":e=>Ve(e)||xe(e),"remove-tag":(e,t)=>Ve(e)&&We(t),"drag-tag":(e,t,n)=>We(e)&&We(t)&&Ve(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function Zj({wrapperRef:e,handleDragged:t,afterDragged:n}){const o=ke("input-tag"),a=Ct(),l=B(!1);let s,r,u,c;function d(g){return`.${o.e("inner")} .${o.namespace.value}-tag:nth-child(${g+1})`}function f(g,p){s=p,r=e.value.querySelector(d(p)),r&&(r.style.opacity="0.5"),g.dataTransfer.effectAllowed="move"}function v(g,p){if(u=p,g.preventDefault(),g.dataTransfer.dropEffect="move",_t(s)||s===p){l.value=!1;return}const m=e.value.querySelector(d(p)).getBoundingClientRect(),y=s+1!==p,b=s-1!==p,w=g.clientX-m.left,S=y?b?.5:1:-1,k=b?y?.5:0:1;w<=m.width*S?c="before":w>m.width*k?c="after":c=void 0;const x=e.value.querySelector(`.${o.e("inner")}`),N=x.getBoundingClientRect(),$=Number.parseFloat(fl(x,"gap"))/2,T=m.top-N.top;let I=-9999;if(c==="before")I=Math.max(m.left-N.left-$,Math.floor(-$/2));else if(c==="after"){const P=m.right-N.left;I=P+(N.width===P?Math.floor($/2):$)}e2(a.value,{top:`${T}px`,left:`${I}px`}),l.value=!!c}function h(g){g.preventDefault(),r&&(r.style.opacity=""),c&&!_t(s)&&!_t(u)&&s!==u&&t(s,u,c),l.value=!1,s=void 0,r=null,u=void 0,c=void 0,n?.()}return{dropIndicatorRef:a,showDropIndicator:l,handleDragStart:f,handleDragOver:v,handleDragEnd:h}}function Jj(){const e=B(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function Qj({props:e,emit:t,formItem:n}){const o=cn(),a=Nn(),l=Ct(),s=B(),r=B(),u=C(()=>["small"].includes(a.value)?"small":"default"),c=C(()=>e.modelValue?.length?void 0:e.placeholder),d=C(()=>!(e.readonly||o.value)),f=C(()=>_t(e.max)?!1:(e.modelValue?.length??0)>=e.max),v=C(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),h=C(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),g=O=>{const R=[...e.modelValue??[],...Bn(O)];t(at,R),t(xt,R),t("add-tag",O),s.value=void 0},p=O=>{const R=O.split(e.delimiter),D=R.length>1?R.map(K=>K.trim()).filter(Boolean):[];if(e.max){const K=e.max-(e.modelValue?.length??0);D.splice(K)}return D.length===1?D[0]:D},m=O=>{const R=O.clipboardData?.getData("text");if(e.readonly||f.value||!e.delimiter||!R)return;const{selectionStart:D=0,selectionEnd:K=0,value:V}=O.target,Y=V.slice(0,D)+R+V.slice(K),G=p(Y);G.length&&(g(G),t(Tn,Y),O.preventDefault())},y=O=>{if(f.value){s.value=void 0;return}if(!_.value){if(e.delimiter&&s.value){const R=p(s.value);R.length&&g(R)}t(Tn,O.target.value)}},b=O=>{if(!_.value)switch(Xt(O)){case e.trigger:O.preventDefault(),O.stopPropagation(),S();break;case Ee.numpadEnter:e.trigger===Ee.enter&&(O.preventDefault(),O.stopPropagation(),S());break;case Ee.backspace:!s.value&&e.modelValue?.length&&(O.preventDefault(),O.stopPropagation(),k(e.modelValue.length-1));break}},w=O=>{_.value||!Jk()||Xt(O)===Ee.space&&e.trigger===Ee.space&&(O.preventDefault(),O.stopPropagation(),S())},S=()=>{const O=s.value?.trim();!O||f.value||g(O)},k=O=>{const R=(e.modelValue??[]).slice(),[D]=R.splice(O,1);t(at,R),t(xt,R),t("remove-tag",D,O)},x=()=>{s.value=void 0,t(at,void 0),t(xt,void 0),t("clear")},N=(O,R,D)=>{const K=(e.modelValue??[]).slice(),[V]=K.splice(O,1),Y=R>O&&D==="before"?-1:R{l.value?.focus()},T=()=>{l.value?.blur()},{wrapperRef:I,isFocused:P}=Pl(l,{disabled:o,beforeBlur(O){return r.value?.isFocusInsideContent(O)},afterBlur(){e.saveOnBlur?S():s.value=void 0,e.validateEvent&&n?.validate?.("blur").catch(ht)}}),{isComposing:_,handleCompositionStart:H,handleCompositionUpdate:L,handleCompositionEnd:z}=fc({afterComposition:y});return pe(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(xt).catch(ht)}),{inputRef:l,wrapperRef:I,tagTooltipRef:r,isFocused:P,isComposing:_,inputValue:s,size:a,tagSize:u,placeholder:c,closable:d,disabled:o,inputLimit:f,showTagList:v,collapseTagList:h,handleDragged:N,handlePaste:m,handleInput:y,handleKeydown:b,handleKeyup:w,handleAddTag:S,handleRemoveTag:k,handleClear:x,handleCompositionStart:H,handleCompositionUpdate:L,handleCompositionEnd:z,focus:$,blur:T}}function eY({props:e,isFocused:t,hovering:n,disabled:o,inputValue:a,size:l,validateState:s,validateIcon:r,needStatusIcon:u}){const c=Za(),d=mn(),f=ke("input-tag"),v=ke("input"),h=B(),g=B(),p=C(()=>[f.b(),f.is("focused",t.value),f.is("hovering",n.value),f.is("disabled",o.value),f.m(l.value),f.e("wrapper"),c.class]),m=C(()=>[c.style]),y=C(()=>[f.e("inner"),f.is("draggable",e.draggable),f.is("left-space",!e.modelValue?.length&&!d.prefix),f.is("right-space",!e.modelValue?.length&&!w.value)]),b=C(()=>e.clearable&&!o.value&&!e.readonly&&(e.modelValue?.length||a.value)&&(t.value||n.value)),w=C(()=>d.suffix||b.value||s.value&&r.value&&u.value),S=zt({innerWidth:0,collapseItemWidth:0}),k=()=>{if(!g.value)return 0;const T=window.getComputedStyle(g.value);return Number.parseFloat(T.gap||"6px")},x=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(g.value).width)},N=()=>{S.collapseItemWidth=h.value.getBoundingClientRect().width},$=C(()=>{if(!e.collapseTags)return{};const T=k(),I=T+11,P=h.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-T-I:S.innerWidth-I;return{maxWidth:`${Math.max(P,0)}px`}});return ln(g,x),ln(h,N),{ns:f,nsInput:v,containerKls:p,containerStyle:m,innerKls:y,showClear:b,showSuffix:w,tagStyle:$,collapseItemRef:h,innerRef:g}}const tY=["id","minlength","maxlength","disabled","readonly","autocomplete","tabindex","placeholder","autofocus","ariaLabel"],nY=["textContent"];var oY=fe({name:"ElInputTag",inheritAttrs:!1,__name:"input-tag",props:Gj,emits:Xj,setup(e,{expose:t,emit:n}){const o=e,a=n,l=rp(),s=mn(),{form:r,formItem:u}=Kn(),{inputId:c}=Ro(o,{formItemContext:u}),d=C(()=>r?.statusIcon??!1),f=C(()=>u?.validateState||""),v=C(()=>f.value&&Sp[f.value]),{inputRef:h,wrapperRef:g,tagTooltipRef:p,isFocused:m,inputValue:y,size:b,tagSize:w,placeholder:S,closable:k,disabled:x,showTagList:N,collapseTagList:$,handleDragged:T,handlePaste:I,handleInput:P,handleKeydown:_,handleKeyup:H,handleRemoveTag:L,handleClear:z,handleCompositionStart:O,handleCompositionUpdate:R,handleCompositionEnd:D,focus:K,blur:V}=Qj({props:o,emit:a,formItem:u}),{hovering:Y,handleMouseEnter:G,handleMouseLeave:q}=Jj(),{calculatorRef:X,inputStyle:Z}=fg(),{dropIndicatorRef:J,showDropIndicator:ae,handleDragStart:ve,handleDragOver:me,handleDragEnd:oe}=Zj({wrapperRef:g,handleDragged:T,afterDragged:K}),{ns:re,nsInput:W,containerKls:te,containerStyle:j,innerKls:U,showClear:Q,showSuffix:le,tagStyle:ce,collapseItemRef:Ce,innerRef:we}=eY({props:o,hovering:Y,isFocused:m,inputValue:y,disabled:x,size:b,validateState:f,validateIcon:v,needStatusIcon:d});return t({focus:K,blur:V}),(he,be)=>(E(),F("div",{ref_key:"wrapperRef",ref:g,class:A(i(te)),style:Fe(i(j)),onMouseenter:be[9]||(be[9]=(...ge)=>i(G)&&i(G)(...ge)),onMouseleave:be[10]||(be[10]=(...ge)=>i(q)&&i(q)(...ge))},[i(s).prefix?(E(),F("div",{key:0,class:A(i(re).e("prefix"))},[ue(he.$slots,"prefix")],2)):se("v-if",!0),M("div",{ref_key:"innerRef",ref:we,class:A(i(U))},[(E(!0),F(Oe,null,mt(i(N),(ge,$e)=>(E(),de(i(wl),{key:$e,size:i(w),closable:i(k),type:e.tagType,effect:e.tagEffect,draggable:i(k)&&e.draggable,style:Fe(i(ce)),"disable-transitions":"",onClose:Me=>i(L)($e),onDragstart:Me=>i(ve)(Me,$e),onDragover:Me=>i(me)(Me,$e),onDragend:i(oe),onDrop:be[0]||(be[0]=et(()=>{},["stop"]))},{default:ie(()=>[ue(he.$slots,"tag",{value:ge,index:$e},()=>[ze(ye(ge),1)])]),_:2},1032,["size","closable","type","effect","draggable","style","onClose","onDragstart","onDragover","onDragend"]))),128)),e.collapseTags&&e.modelValue&&e.modelValue.length>e.maxCollapseTags?(E(),de(i(Hn),{key:0,ref_key:"tagTooltipRef",ref:p,disabled:!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom"},{default:ie(()=>[M("div",{ref_key:"collapseItemRef",ref:Ce,class:A(i(re).e("collapse-tag"))},[ee(i(wl),{closable:!1,size:i(w),type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:ie(()=>[ze(" + "+ye(e.modelValue.length-e.maxCollapseTags),1)]),_:1},8,["size","type","effect"])],2)]),content:ie(()=>[M("div",{class:A(i(re).e("input-tag-list"))},[(E(!0),F(Oe,null,mt(i($),(ge,$e)=>(E(),de(i(wl),{key:$e,size:i(w),closable:i(k),type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:Me=>i(L)($e+e.maxCollapseTags)},{default:ie(()=>[ue(he.$slots,"tag",{value:ge,index:$e+e.maxCollapseTags},()=>[ze(ye(ge),1)])]),_:2},1032,["size","closable","type","effect","onClose"]))),128))],2)]),_:3},8,["disabled","effect"])):se("v-if",!0),M("div",{class:A(i(re).e("input-wrapper"))},[Ue(M("input",ft({id:i(c),ref_key:"inputRef",ref:h,"onUpdate:modelValue":be[1]||(be[1]=ge=>gt(y)?y.value=ge:null)},i(l),{type:"text",minlength:e.minlength,maxlength:e.maxlength,disabled:i(x),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,placeholder:i(S),autofocus:e.autofocus,ariaLabel:e.ariaLabel,class:i(re).e("input"),style:i(Z),onCompositionstart:be[2]||(be[2]=(...ge)=>i(O)&&i(O)(...ge)),onCompositionupdate:be[3]||(be[3]=(...ge)=>i(R)&&i(R)(...ge)),onCompositionend:be[4]||(be[4]=(...ge)=>i(D)&&i(D)(...ge)),onPaste:be[5]||(be[5]=(...ge)=>i(I)&&i(I)(...ge)),onInput:be[6]||(be[6]=(...ge)=>i(P)&&i(P)(...ge)),onKeydown:be[7]||(be[7]=(...ge)=>i(_)&&i(_)(...ge)),onKeyup:be[8]||(be[8]=(...ge)=>i(H)&&i(H)(...ge))}),null,16,tY),[[an,i(y)]]),M("span",{ref_key:"calculatorRef",ref:X,"aria-hidden":"true",class:A(i(re).e("input-calculator")),textContent:ye(i(y))},null,10,nY)],2),Ue(M("div",{ref_key:"dropIndicatorRef",ref:J,class:A(i(re).e("drop-indicator"))},null,2),[[Vt,i(ae)]])],2),i(le)?(E(),F("div",{key:1,class:A(i(re).e("suffix"))},[ue(he.$slots,"suffix"),i(Q)?(E(),de(i(He),{key:0,class:A([i(re).e("icon"),i(re).e("clear")]),onMousedown:et(i(ht),["prevent"]),onClick:i(z)},{default:ie(()=>[(E(),de(dt(e.clearIcon)))]),_:1},8,["class","onMousedown","onClick"])):se("v-if",!0),f.value&&v.value&&d.value?(E(),de(i(He),{key:1,class:A([i(W).e("icon"),i(W).e("validateIcon"),i(W).is("loading",f.value==="validating")])},{default:ie(()=>[(E(),de(dt(v.value)))]),_:1},8,["class"])):se("v-if",!0)],2)):se("v-if",!0)],38))}}),aY=oY;const lY=ut(aY),sY={[at]:e=>Ve(e),[xt]:e=>Ve(e),finish:e=>Ve(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},rY=["id","aria-label","aria-labelledby"],iY=["value","type","disabled","readonly","inputmode","aria-label","onClick","onKeydown","onInput"];var uY=fe({name:"ElInputOtp",__name:"input-otp",props:{modelValue:{type:[String,Number],required:!1},length:{type:Number,required:!1,default:6},validator:{type:Function,required:!1,default:()=>!0},inputmode:{type:null,required:!1},type:{type:String,required:!1,default:"outlined"},size:{type:null,required:!1},mask:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1,default:void 0},readonly:{type:Boolean,required:!1},id:{type:String,required:!1},validateEvent:{type:Boolean,required:!1,default:!0},separator:{type:[String,Object,Function],required:!1},ariaLabel:{type:String,required:!1}},emits:sY,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const P=String(o.modelValue??"");return Array.from({length:o.length},(_,H)=>P.charAt(H))}),s=C(()=>{const{separator:P}=o,_=je(P)?P:()=>P;return Array.from({length:o.length-1},(H,L)=>_(L))}),r=B(l.value),u=B(!1),c=B([]),d=ke("input-otp"),{t:f}=Tt(),{formItem:v}=Kn(),{inputId:h,isLabeledByFormItem:g}=Ro(o,{formItemContext:v}),p=Nn(),m=cn();let y=o.modelValue;const b=P=>{const _=r.value.findIndex((H,L)=>!H&&L<=P);return _===-1?P:_},w=P=>{c.value?.includes(P.relatedTarget)||(u.value=!0,a("focus",P))},S=P=>{c.value?.includes(P.relatedTarget)||(u.value=!1,a("blur",P),o.validateEvent&&v?.validate?.("blur").catch(ht))},k=(P=!0)=>{const _=r.value.join("").slice(0,o.length);_!==o.modelValue&&(a(at,_),P&&_.length===o.length&&a("finish",_))},x=(P,_)=>{const H=Xt(P);let L=!0;switch(H){case Ee.backspace:if(o.readonly)break;r.value[_]="",T(_-1),k();break;case Ee.delete:if(o.readonly)break;r.value[_]="",T(_),k();break;case Ee.up:case Ee.left:T(_-1);break;case Ee.down:case Ee.right:T(_+1);break;default:L=!1}L&&P.preventDefault()},N=(P,_)=>{const H=P.target,L=b(_);let z=L+1,O=H.value;if(O.length>1){const R=$(O,L);H.value=r.value[_]??"",R.forEach((D,K)=>r.value[L+K]=D),T(L+R.length),k();return}o.validator(O,L)||(H.value=r.value[_]??"",O=H.value,z=L),r.value[L]=O,L!==_&&(H.value=r.value[_]??""),T(z),k()},$=(P,_=0)=>{const H=`${P??""}`.split(""),L=[];for(const z of H){if(L.length+_>=o.length)break;o.validator(z,L.length+_)&&L.push(z)}return L},T=(P=0)=>{const _=ip(P,0,o.length-1),H=c.value?.[_];document.activeElement!==H&&H?.focus(),Po(()=>{!o.readonly&&document.activeElement===H&&H?.select()})},I=()=>{c.value?.find(P=>document.activeElement===P)?.blur()};return pe(()=>o.modelValue,()=>{r.value=l.value,o.validateEvent&&v?.validate?.("change").catch(ht)}),pe(()=>o.length,()=>{r.value=l.value,k(!1)}),pe(u,P=>{if(P){y=o.modelValue;return}y!==o.modelValue&&a(xt,o.modelValue)}),t({inputRefs:c,focus:T,blur:I}),(P,_)=>(E(),F("div",{id:i(h),class:A([i(d).b(),i(d).m(i(p)),i(d).m(e.type),i(d).is("disabled",i(m))]),role:"group","aria-label":i(g)?void 0:e.ariaLabel||i(f)("el.inputOTP.groupLabel"),"aria-labelledby":i(g)?i(v)?.labelId:void 0},[(E(!0),F(Oe,null,mt(e.length,(H,L)=>(E(),F(Oe,{key:L},[M("label",{class:A(i(d).e("input-field"))},[M("input",{ref_for:!0,ref_key:"inputRefs",ref:c,value:r.value[L],class:A(i(d).e("input")),type:e.mask?"password":"text",disabled:i(m),readonly:e.readonly,inputmode:e.inputmode,autocomplete:"one-time-code","aria-label":i(f)("el.inputOTP.defaultLabel",{index:L+1}),onFocus:w,onBlur:S,onClick:z=>T(L),onKeydown:z=>x(z,L),onInput:z=>N(z,L)},null,42,iY)],2),(P.$slots.separator||s.value[L])&&L[(E(),de(dt(()=>s.value[L])))]):se("v-if",!0)],64))),128))],10,rY))}}),cY=uY;const dY=ut(cY),fY=Te({type:{type:String,values:["primary","success","warning","info","danger","default"],default:void 0},underline:{type:[Boolean,String],values:[!0,!1,"always","never","hover"],default:void 0},disabled:Boolean,href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:Gt}}),pY={click:e=>e instanceof MouseEvent},vY=["href","target"];var hY=fe({name:"ElLink",__name:"link",props:fY,emits:pY,setup(e,{emit:t}){const n=e,o=t,a=Rl("link");Va({scope:"el-link",from:"The underline option (boolean)",replacement:"'always' | 'hover' | 'never'",version:"3.0.0",ref:"https://element-plus.org/en-US/component/link.html#underline"},C(()=>qt(n.underline)));const l=ke("link"),s=C(()=>[l.b(),l.m(n.type??a.value?.type??"default"),l.is("disabled",n.disabled),l.is("underline",r.value==="always"),l.is("hover-underline",r.value==="hover"&&!n.disabled)]),r=C(()=>qt(n.underline)?n.underline?"hover":"never":n.underline??a.value?.underline??"hover");function u(c){n.disabled||o("click",c)}return(c,d)=>(E(),F("a",{class:A(s.value),href:e.disabled||!e.href?void 0:e.href,target:e.disabled||!e.href?void 0:e.target,onClick:u},[e.icon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1})):se("v-if",!0),c.$slots.default?(E(),F("span",{key:1,class:A(i(l).e("inner"))},[ue(c.$slots,"default")],2)):se("v-if",!0),c.$slots.icon?ue(c.$slots,"icon",{key:2}):se("v-if",!0)],10,vY))}}),mY=hY;const gY=ut(mY),uy="rootMenu",Sf="subMenu:";function o$(e,t){const n=C(()=>{let o=e.parent;const a=[t.value];for(;o.type.name!=="ElMenu";)o.props.index&&a.unshift(o.props.index),o=o.parent;return a});return{parentMenu:C(()=>{let o=e.parent;for(;o&&!["ElMenu","ElSubMenu"].includes(o.type.name);)o=o.parent;return o}),indexPath:n}}function yY(e){return C(()=>{const t=e.backgroundColor;return t?new wn(t).shade(20).toString():""})}const a$=(e,t)=>{const n=ke("menu");return C(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":yY(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},bY=Te({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:{type:ne([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Gt},expandOpenIcon:{type:Gt},collapseCloseIcon:{type:Gt},collapseOpenIcon:{type:Gt}}),$v="ElSubMenu";var cy=fe({name:$v,props:bY,setup(e,{slots:t,expose:n}){const o=ct(),{indexPath:a,parentMenu:l}=o$(o,C(()=>e.index)),s=ke("menu"),r=ke("sub-menu"),u=Be(uy);u||rn($v,"can not inject root menu");const c=Be(`${Sf}${l.value.uid}`);c||rn($v,"can not inject sub menu");const d=B({}),f=B({});let v;const h=B(!1),g=B(),p=B(),m=C(()=>c.level===0),y=C(()=>$.value==="horizontal"&&m.value?"bottom-start":"right-start"),b=C(()=>$.value==="horizontal"&&m.value||$.value==="vertical"&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?x.value?e.expandOpenIcon:e.expandCloseIcon:Qa:e.collapseCloseIcon&&e.collapseOpenIcon?x.value?e.collapseOpenIcon:e.collapseCloseIcon:io),w=C(()=>{const G=e.teleported;return _t(G)?m.value:G}),S=C(()=>u.props.collapse?`${s.namespace.value}-zoom-in-left`:`${s.namespace.value}-zoom-in-top`),k=C(()=>$.value==="horizontal"&&m.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),x=C(()=>u.openedMenus.includes(e.index)),N=C(()=>[...Object.values(d.value),...Object.values(f.value)].some(({active:G})=>G)),$=C(()=>u.props.mode),T=C(()=>u.props.persistent),I=zt({index:e.index,indexPath:a,active:N}),P=a$(u.props,c.level+1),_=C(()=>e.popperOffset??u.props.popperOffset),H=C(()=>e.popperClass??u.props.popperClass),L=C(()=>e.popperStyle??u.props.popperStyle),z=C(()=>e.showTimeout??u.props.showTimeout),O=C(()=>e.hideTimeout??u.props.hideTimeout),R=()=>p.value?.popperRef?.popperInstanceRef?.destroy(),D=G=>{G||R()},K=()=>{u.props.menuTrigger==="hover"&&u.props.mode==="horizontal"||u.props.collapse&&u.props.mode==="vertical"||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:a.value,active:N.value})},V=(G,q=z.value)=>{if(G.type!=="focus"){if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"||e.disabled){c.mouseInChild.value=!0;return}c.mouseInChild.value=!0,v?.(),{stop:v}=Qr(()=>{u.openMenu(e.index,a.value)},q),w.value&&l.value.vnode.el?.dispatchEvent(new MouseEvent("mouseenter")),G.type==="mouseenter"&&G.target&&Pe(()=>{sc(G.target,{preventScroll:!0})})}},Y=(G=!1)=>{if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"){c.mouseInChild.value=!1;return}v?.(),c.mouseInChild.value=!1,{stop:v}=Qr(()=>!h.value&&u.closeMenu(e.index,a.value),O.value),w.value&&G&&c.handleMouseleave?.(!0)};pe(()=>u.props.collapse,G=>D(!!G));{const G=X=>{f.value[X.index]=X},q=X=>{delete f.value[X.index]};kt(`${Sf}${o.uid}`,{addSubMenu:G,removeSubMenu:q,handleMouseleave:Y,mouseInChild:h,level:c.level+1})}return n({opened:x}),st(()=>{u.addSubMenu(I),c.addSubMenu(I)}),Ht(()=>{c.removeSubMenu(I),u.removeSubMenu(I)}),()=>{const G=[t.title?.(),De(He,{class:r.e("icon-arrow"),style:{transform:x.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>Ve(b.value)?De(o.appContext.components[b.value]):De(b.value)})],q=u.isMenuPopup?De(Hn,{ref:p,visible:x.value,effect:"light",pure:!0,offset:_.value,showArrow:!1,persistent:T.value,popperClass:H.value,popperStyle:L.value,placement:y.value,teleported:w.value,fallbackPlacements:k.value,transition:S.value,gpuAcceleration:!1},{content:()=>De("div",{class:[s.m($.value),s.m("popup-container"),H.value],onMouseenter:X=>V(X,100),onMouseleave:()=>Y(!0),onFocus:X=>V(X,100)},[De("ul",{class:[s.b(),s.m("popup"),s.m(`popup-${y.value}`)],style:P.value},[t.default?.()])]),default:()=>De("div",{class:r.e("title"),onClick:K},G)}):De(Oe,{},[De("div",{class:r.e("title"),ref:g,onClick:K},G),De(Ep,{},{default:()=>Ue(De("ul",{role:"menu",class:[s.b(),s.m("inline")],style:P.value},[t.default?.()]),[[Vt,x.value]])})]);return De("li",{class:[r.b(),r.is("active",N.value),r.is("opened",x.value),r.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:x.value,onMouseenter:V,onMouseleave:()=>Y(),onFocus:V},[q])}}}),wY=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){const e=this.parent.domNode;this.subMenuItems.forEach(t=>{t.addEventListener("keydown",n=>{const o=Xt(n);let a=!1;switch(o){case Ee.down:this.gotoSubIndex(this.subIndex+1),a=!0;break;case Ee.up:this.gotoSubIndex(this.subIndex-1),a=!0;break;case Ee.tab:id(e,"mouseleave");break;case Ee.enter:case Ee.numpadEnter:case Ee.space:a=!0,n.currentTarget.click();break}return a&&(n.preventDefault(),n.stopPropagation()),!1})})}},SY=class{constructor(e,t){this.domNode=e,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute("tabindex","0");const t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new wY(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",e=>{const t=Xt(e);let n=!1;switch(t){case Ee.down:id(e.currentTarget,"mouseenter"),this.submenu?.gotoSubIndex(0),n=!0;break;case Ee.up:id(e.currentTarget,"mouseenter"),this.submenu?.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break;case Ee.tab:id(e.currentTarget,"mouseleave");break;case Ee.enter:case Ee.numpadEnter:case Ee.space:n=!0,e.currentTarget.click();break}n&&e.preventDefault()})}},CY=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){const t=this.domNode.childNodes;Array.from(t).forEach(n=>{n.nodeType===1&&new SY(n,e)})}},kY=fe({name:"ElMenuCollapseTransition",__name:"menu-collapse-transition",setup(e){const t=ke("menu"),n={onBeforeEnter:o=>o.style.opacity="0.2",onEnter(o,a){Jo(o,`${t.namespace.value}-opacity-transition`),o.style.opacity="1",a()},onAfterEnter(o){ro(o,`${t.namespace.value}-opacity-transition`),o.style.opacity=""},onBeforeLeave(o){o.dataset||(o.dataset={}),Fa(o,t.m("collapse"))?(ro(o,t.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),Jo(o,t.m("collapse"))):(Jo(o,t.m("collapse")),o.dataset.oldOverflow=o.style.overflow,o.dataset.scrollWidth=o.clientWidth.toString(),ro(o,t.m("collapse"))),o.style.width=`${o.scrollWidth}px`,o.style.overflow="hidden"},onLeave(o){Jo(o,"horizontal-collapse-transition"),o.style.width=`${o.dataset.scrollWidth}px`}};return(o,a)=>(E(),de(Zn,ft({mode:"out-in"},n),{default:ie(()=>[ue(o.$slots,"default")]),_:3},16))}}),xY=kY;const EY=Te({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:ne(Array),default:()=>fn([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Gt,default:()=>pB},popperEffect:{type:ne(String),default:"dark"},popperClass:{type:ne([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Tv=e=>xe(e)&&e.every(t=>Ve(t)),$Y={close:(e,t)=>Ve(e)&&Tv(t),open:(e,t)=>Ve(e)&&Tv(t),select:(e,t,n,o)=>Ve(e)&&Tv(t)&<(n)&&(_t(o)||o instanceof Promise)},cw=64;var TY=fe({name:"ElMenu",props:EY,emits:$Y,setup(e,{emit:t,slots:n,expose:o}){const a=ct(),l=a.appContext.config.globalProperties.$router,s=B(),r=B(),u=ke("menu"),c=ke("sub-menu");let d=cw;const f=B(-1),v=B(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),h=B(e.defaultActive),g=B({}),p=B({}),m=C(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),y=()=>{const R=h.value&&g.value[h.value];!R||e.mode==="horizontal"||e.collapse||R.indexPath.forEach(D=>{const K=p.value[D];K&&b(D,K.indexPath)})},b=(R,D)=>{v.value.includes(R)||(e.uniqueOpened&&(v.value=v.value.filter(K=>D.includes(K))),v.value.push(R),t("open",R,D))},w=R=>{const D=v.value.indexOf(R);D!==-1&&v.value.splice(D,1)},S=(R,D)=>{w(R),t("close",R,D)},k=({index:R,indexPath:D})=>{v.value.includes(R)?S(R,D):b(R,D)},x=R=>{(e.mode==="horizontal"||e.collapse)&&(v.value=[]);const{index:D,indexPath:K}=R;if(!(hn(D)||hn(K)))if(e.router&&l){const V=R.route||D,Y=l.push(V).then(G=>(G||(h.value=D),G));t("select",D,K,{index:D,indexPath:K,route:V},Y)}else h.value=D,t("select",D,K,{index:D,indexPath:K})},N=R=>{const D=g.value;h.value=(D[R]||h.value&&D[h.value]||D[e.defaultActive])?.index??R},$=R=>{const D=getComputedStyle(R),K=Number.parseInt(D.marginLeft,10),V=Number.parseInt(D.marginRight,10);return R.offsetWidth+K+V||0},T=()=>{if(!s.value)return-1;const R=Array.from(s.value.childNodes).filter(X=>X.nodeName!=="#comment"&&(X.nodeName!=="#text"||X.nodeValue)),D=getComputedStyle(s.value),K=Number.parseInt(D.paddingLeft,10),V=Number.parseInt(D.paddingRight,10),Y=s.value.clientWidth-K-V;let G=0,q=0;return R.forEach((X,Z)=>{G+=$(X),G<=Y-d&&(q=Z+1)}),q===R.length?-1:q},I=R=>p.value[R].indexPath,P=(R,D=33.34)=>{let K;return()=>{K&&clearTimeout(K),K=setTimeout(()=>{R()},D)}};let _=!0;const H=()=>{const R=Mn(r);if(R&&(d=$(R)||cw),f.value===T())return;const D=()=>{f.value=-1,Pe(()=>{f.value=T()})};_?D():P(D)(),_=!1};pe(()=>e.defaultActive,R=>{g.value[R]||(h.value=""),N(R)}),pe(()=>e.collapse,R=>{R&&(v.value=[])}),pe(g.value,y);let L;uo(()=>{e.mode==="horizontal"&&e.ellipsis?L=ln(s,H).stop:L?.()});const z=B(!1);{const R=Y=>{p.value[Y.index]=Y},D=Y=>{delete p.value[Y.index]};kt(uy,zt({props:e,openedMenus:v,items:g,subMenus:p,activeIndex:h,isMenuPopup:m,addMenuItem:Y=>{g.value[Y.index]=Y},removeMenuItem:Y=>{delete g.value[Y.index]},addSubMenu:R,removeSubMenu:D,openMenu:b,closeMenu:S,handleMenuItemClick:x,handleSubMenuClick:k})),kt(`${Sf}${a.uid}`,{addSubMenu:R,removeSubMenu:D,mouseInChild:z,level:0})}st(()=>{e.mode==="horizontal"&&new CY(a.vnode.el,u.namespace.value)}),o({open:D=>{const{indexPath:K}=p.value[D];K.forEach(V=>b(V,K))},close:w,updateActiveIndex:N,handleResize:H});const O=a$(e,0);return()=>{let R=n.default?.()??[];const D=[];if(e.mode==="horizontal"&&s.value){const Y=Fo(R).filter(X=>X?.shapeFlag!==8),G=f.value===-1?Y:Y.slice(0,f.value),q=f.value===-1?[]:Y.slice(f.value);q?.length&&e.ellipsis&&(R=G,D.push(De(cy,{ref:r,index:"sub-menu-more",class:c.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>De(He,{class:c.e("icon-more")},{default:()=>De(e.ellipsisIcon)}),default:()=>q})))}const K=e.closeOnClickOutside?[[cs,()=>{v.value.length&&(z.value||(v.value.forEach(Y=>t("close",Y,I(Y))),v.value=[]))}]]:[],V=Ue(De("ul",{key:String(e.collapse),role:"menubar",ref:s,style:O.value,class:{[u.b()]:!0,[u.m(e.mode)]:!0,[u.m("collapse")]:e.collapse}},[...R,...D]),K);return e.collapseTransition&&e.mode==="vertical"?De(xY,()=>V):V}}});const NY=Te({index:{type:String,required:!0},route:{type:ne([String,Object])},disabled:Boolean}),_Y={click:e=>Ve(e.index)&&xe(e.indexPath)},IY={title:String},Nv="ElMenuItem";var MY=fe({name:Nv,__name:"menu-item",props:NY,emits:_Y,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ct(),s=Be(uy),r=ke("menu"),u=ke("menu-item");s||rn(Nv,"can not inject root menu");const{parentMenu:c,indexPath:d}=o$(l,bt(o,"index")),f=Be(`${Sf}${c.value.uid}`);f||rn(Nv,"can not inject sub menu");const v=C(()=>o.index===s.activeIndex),h=zt({index:o.index,indexPath:d,active:v}),g=()=>{o.disabled||(s.handleMenuItemClick({index:o.index,indexPath:d.value,route:o.route}),a("click",h))};return st(()=>{f.addSubMenu(h),s.addMenuItem(h)}),Ht(()=>{f.removeSubMenu(h),s.removeMenuItem(h)}),t({parentMenu:c,rootMenu:s,active:v,nsMenu:r,nsMenuItem:u,handleClick:g}),(p,m)=>(E(),F("li",{class:A([i(u).b(),i(u).is("active",v.value),i(u).is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:g},[i(c).type.name==="ElMenu"&&i(s).props.collapse&&p.$slots.title?(E(),de(i(Hn),{key:0,effect:i(s).props.popperEffect,placement:"right","fallback-placements":["left"],"popper-class":i(s).props.popperClass,"popper-style":i(s).props.popperStyle,persistent:i(s).props.persistent,"focus-on-target":""},{content:ie(()=>[ue(p.$slots,"title")]),default:ie(()=>[M("div",{class:A(i(r).be("tooltip","trigger"))},[ue(p.$slots,"default")],2)]),_:3},8,["effect","popper-class","popper-style","persistent"])):(E(),F(Oe,{key:1},[ue(p.$slots,"default"),ue(p.$slots,"title")],64))],2))}}),l$=MY,OY=fe({name:"ElMenuItemGroup",__name:"menu-item-group",props:IY,setup(e){const t=ke("menu-item-group");return(n,o)=>(E(),F("li",{class:A(i(t).b())},[M("div",{class:A(i(t).e("title"))},[n.$slots.title?ue(n.$slots,"title",{key:1}):(E(),F(Oe,{key:0},[ze(ye(e.title),1)],64))],2),M("ul",null,[ue(n.$slots,"default")])],2))}}),s$=OY;const PY=ut(TY,{MenuItem:l$,MenuItemGroup:s$,SubMenu:cy}),RY=un(l$),AY=un(s$),DY=un(cy),LY=Te({icon:{type:Gt,default:()=>LL},title:String,content:{type:String,default:""}}),BY={back:()=>!0},VY=["aria-label"];var FY=fe({name:"ElPageHeader",__name:"page-header",props:LY,emits:BY,setup(e,{emit:t}){const n=t,{t:o}=Tt(),a=ke("page-header");function l(){n("back")}return(s,r)=>(E(),F("div",{class:A([i(a).b(),i(a).is("contentful",!!s.$slots.default),{[i(a).m("has-breadcrumb")]:!!s.$slots.breadcrumb,[i(a).m("has-extra")]:!!s.$slots.extra}])},[s.$slots.breadcrumb?(E(),F("div",{key:0,class:A(i(a).e("breadcrumb"))},[ue(s.$slots,"breadcrumb")],2)):se("v-if",!0),M("div",{class:A(i(a).e("header"))},[M("div",{class:A(i(a).e("left"))},[M("div",{class:A(i(a).e("back")),role:"button",tabindex:"0",onClick:l},[e.icon||s.$slots.icon?(E(),F("div",{key:0,"aria-label":e.title||i(o)("el.pageHeader.title"),class:A(i(a).e("icon"))},[ue(s.$slots,"icon",{},()=>[e.icon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1})):se("v-if",!0)])],10,VY)):se("v-if",!0),M("div",{class:A(i(a).e("title"))},[ue(s.$slots,"title",{},()=>[ze(ye(e.title||i(o)("el.pageHeader.title")),1)])],2)],2),ee(i(jE),{direction:"vertical"}),M("div",{class:A(i(a).e("content"))},[ue(s.$slots,"content",{},()=>[ze(ye(e.content),1)])],2)],2),s.$slots.extra?(E(),F("div",{key:0,class:A(i(a).e("extra"))},[ue(s.$slots,"extra")],2)):se("v-if",!0)],2),s.$slots.default?(E(),F("div",{key:1,class:A(i(a).e("main"))},[ue(s.$slots,"default")],2)):se("v-if",!0)],2))}}),zY=FY;const HY=ut(zY),r$=Symbol("elPaginationKey"),KY=Te({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Gt}}),WY={click:e=>e instanceof MouseEvent},jY=["disabled","aria-label","aria-disabled"],YY={key:0};var UY=fe({name:"ElPaginationPrev",__name:"prev",props:KY,emits:WY,setup(e){const t=e,{t:n}=Tt(),o=C(()=>t.disabled||t.currentPage<=1);return(a,l)=>(E(),F("button",{type:"button",class:"btn-prev",disabled:o.value,"aria-label":a.prevText||i(n)("el.pagination.prev"),"aria-disabled":o.value,onClick:l[0]||(l[0]=s=>a.$emit("click",s))},[a.prevText?(E(),F("span",YY,ye(a.prevText),1)):(E(),de(i(He),{key:1},{default:ie(()=>[(E(),de(dt(a.prevIcon)))]),_:1}))],8,jY))}}),qY=UY;const GY=Te({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Gt}}),XY=["disabled","aria-label","aria-disabled"],ZY={key:0};var JY=fe({name:"ElPaginationNext",__name:"next",props:GY,emits:["click"],setup(e){const t=e,{t:n}=Tt(),o=C(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(a,l)=>(E(),F("button",{type:"button",class:"btn-next",disabled:o.value,"aria-label":a.nextText||i(n)("el.pagination.next"),"aria-disabled":o.value,onClick:l[0]||(l[0]=s=>a.$emit("click",s))},[a.nextText?(E(),F("span",ZY,ye(a.nextText),1)):(E(),de(i(He),{key:1},{default:ie(()=>[(E(),de(dt(a.nextIcon)))]),_:1}))],8,XY))}}),QY=JY;const dy=()=>Be(r$,{}),eU=Te({pageSize:{type:Number,required:!0},pageSizes:{type:ne(Array),default:()=>fn([10,20,30,40,50,100])},popperClass:{type:ne([String,Array,Object,Boolean]),default:void 0},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},disabled:Boolean,teleported:Boolean,size:{type:String,values:Ca},appendSizeTo:String});var tU=fe({name:"ElPaginationSizes",__name:"sizes",props:eU,emits:["page-size-change"],setup(e,{emit:t}){const n=e,o=t,{t:a}=Tt(),l=ke("pagination"),s=dy(),r=B(n.pageSize);pe(()=>n.pageSizes,(d,f)=>{dn(d,f)||xe(d)&&o("page-size-change",d.includes(n.pageSize)?n.pageSize:n.pageSizes[0])}),pe(()=>n.pageSize,d=>{r.value=d});const u=C(()=>n.pageSizes);function c(d){d!==r.value&&(r.value=d,s.handleSizeChange?.(Number(d)))}return(d,f)=>(E(),F("span",{class:A(i(l).e("sizes"))},[ee(i(ds),{"model-value":r.value,disabled:d.disabled,"popper-class":d.popperClass,"popper-style":d.popperStyle,size:d.size,teleported:d.teleported,"validate-event":!1,"append-to":d.appendSizeTo,onChange:c},{default:ie(()=>[(E(!0),F(Oe,null,mt(u.value,v=>(E(),de(i(rf),{key:v,value:v,label:v+i(a)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","popper-style","size","teleported","append-to"])],2))}}),nU=tU;const oU=Te({size:{type:String,values:Ca}}),aU=["disabled"];var lU=fe({name:"ElPaginationJumper",__name:"jumper",props:oU,setup(e){const{t}=Tt(),n=ke("pagination"),{pageCount:o,disabled:a,currentPage:l,changeEvent:s}=dy(),r=B(),u=C(()=>r.value??l?.value);function c(f){r.value=f?+f:""}function d(f){f=Math.trunc(+f),s?.(f),r.value=void 0}return(f,v)=>(E(),F("span",{class:A(i(n).e("jump")),disabled:i(a)},[M("span",{class:A([i(n).e("goto")])},ye(i(t)("el.pagination.goto")),3),ee(i(Gn),{size:f.size,class:A([i(n).e("editor"),i(n).is("in-pagination")]),min:1,max:i(o),disabled:i(a),"model-value":u.value,"validate-event":!1,"aria-label":i(t)("el.pagination.page"),type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value","aria-label"]),M("span",{class:A([i(n).e("classifier")])},ye(i(t)("el.pagination.pageClassifier")),3)],10,aU))}}),sU=lU;const rU=Te({total:{type:Number,default:1e3}}),iU=["disabled"];var uU=fe({name:"ElPaginationTotal",__name:"total",props:rU,setup(e){const{t}=Tt(),n=ke("pagination"),{disabled:o}=dy();return(a,l)=>(E(),F("span",{class:A(i(n).e("total")),disabled:i(o)},ye(i(t)("el.pagination.total",{total:a.total})),11,iU))}}),cU=uU;const dU=Te({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),fU=["aria-current","aria-label","tabindex"],pU=["tabindex","aria-label"],vU=["aria-current","aria-label","tabindex"],hU=["tabindex","aria-label"],mU=["aria-current","aria-label","tabindex"];var gU=fe({name:"ElPaginationPager",__name:"pager",props:dU,emits:[xt],setup(e,{emit:t}){const n=e,o=t,a=ke("pager"),l=ke("icon"),{t:s}=Tt(),r=B(!1),u=B(!1),c=B(!1),d=B(!1),f=B(!1),v=B(!1),h=C(()=>{const k=n.pagerCount,x=(k-1)/2,N=Number(n.currentPage),$=Number(n.pageCount);let T=!1,I=!1;$>k&&(N>k-x&&(T=!0),N<$-x&&(I=!0));const P=[];if(T&&!I){const _=$-(k-2);for(let H=_;H<$;H++)P.push(H)}else if(!T&&I)for(let _=2;_["more","btn-quickprev",l.b(),a.is("disabled",n.disabled)]),p=C(()=>["more","btn-quicknext",l.b(),a.is("disabled",n.disabled)]),m=C(()=>n.disabled?-1:0);pe(()=>[n.pageCount,n.pagerCount,n.currentPage],([k,x,N])=>{const $=(x-1)/2;let T=!1,I=!1;k>x&&(T=N>x-$,I=N$&&(N=$)),N!==T&&o(xt,N)}return(k,x)=>(E(),F("ul",{class:A(i(a).b()),onClick:S,onKeyup:sn(w,["enter"])},[k.pageCount>0?(E(),F("li",{key:0,class:A([[i(a).is("active",k.currentPage===1),i(a).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===1,"aria-label":i(s)("el.pagination.currentPage",{pager:1}),tabindex:m.value}," 1 ",10,fU)):se("v-if",!0),r.value?(E(),F("li",{key:1,class:A(g.value),tabindex:m.value,"aria-label":i(s)("el.pagination.prevPages",{pager:k.pagerCount-2}),onMouseenter:x[0]||(x[0]=N=>y(!0)),onMouseleave:x[1]||(x[1]=N=>c.value=!1),onFocus:x[2]||(x[2]=N=>b(!0)),onBlur:x[3]||(x[3]=N=>f.value=!1)},[(c.value||f.value)&&!k.disabled?(E(),de(i(rs),{key:0})):(E(),de(i(H0),{key:1}))],42,pU)):se("v-if",!0),(E(!0),F(Oe,null,mt(h.value,N=>(E(),F("li",{key:N,class:A([[i(a).is("active",k.currentPage===N),i(a).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===N,"aria-label":i(s)("el.pagination.currentPage",{pager:N}),tabindex:m.value},ye(N),11,vU))),128)),u.value?(E(),F("li",{key:2,class:A(p.value),tabindex:m.value,"aria-label":i(s)("el.pagination.nextPages",{pager:k.pagerCount-2}),onMouseenter:x[4]||(x[4]=N=>y()),onMouseleave:x[5]||(x[5]=N=>d.value=!1),onFocus:x[6]||(x[6]=N=>b()),onBlur:x[7]||(x[7]=N=>v.value=!1)},[(d.value||v.value)&&!k.disabled?(E(),de(i(is),{key:0})):(E(),de(i(H0),{key:1}))],42,hU)):se("v-if",!0),k.pageCount>1?(E(),F("li",{key:3,class:A([[i(a).is("active",k.currentPage===k.pageCount),i(a).is("disabled",k.disabled)],"number"]),"aria-current":k.currentPage===k.pageCount,"aria-label":i(s)("el.pagination.currentPage",{pager:k.pageCount}),tabindex:m.value},ye(k.pageCount),11,mU)):se("v-if",!0)],34))}}),yU=gU;const fo=e=>typeof e!="number",bU=Te({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>We(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:ne(Array),default:()=>fn([10,20,30,40,50,100])},popperClass:{type:ne([String,Array,Object,Boolean]),default:""},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},prevText:{type:String,default:""},prevIcon:{type:Gt,default:()=>El},nextText:{type:String,default:""},nextIcon:{type:Gt,default:()=>io},teleported:{type:Boolean,default:!0},small:Boolean,size:On,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),wU={"update:current-page":e=>We(e),"update:page-size":e=>We(e),"size-change":e=>We(e),change:(e,t)=>We(e)&&We(t),"current-change":e=>We(e),"prev-click":e=>We(e),"next-click":e=>We(e)},dw="ElPagination";var SU=fe({name:dw,props:bU,emits:wU,setup(e,{emit:t,slots:n}){const{t:o}=Tt(),a=ke("pagination"),l=ct().vnode.props||{},s=D2(),r=C(()=>e.small?"small":e.size??s.value);Va({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},C(()=>!!e.small));const u="onUpdate:currentPage"in l||"onUpdate:current-page"in l||"onCurrentChange"in l,c="onUpdate:pageSize"in l||"onUpdate:page-size"in l||"onSizeChange"in l,d=C(()=>{if(fo(e.total)&&fo(e.pageCount)||!fo(e.currentPage)&&!u)return!1;if(e.layout.includes("sizes")){if(fo(e.pageCount)){if(!fo(e.total)&&!fo(e.pageSize)&&!c)return!1}else if(!c)return!1}return!0}),f=B(fo(e.defaultPageSize)?10:e.defaultPageSize),v=B(fo(e.defaultCurrentPage)?1:e.defaultCurrentPage),h=C({get(){return fo(e.pageSize)?f.value:e.pageSize},set(k){fo(e.pageSize)&&(f.value=k),c&&(t("update:page-size",k),t("size-change",k))}}),g=C(()=>{let k=0;return fo(e.pageCount)?fo(e.total)||(k=Math.max(1,Math.ceil(e.total/h.value))):k=e.pageCount,k}),p=C({get(){return fo(e.currentPage)?v.value:e.currentPage},set(k){let x=k;k<1?x=1:k>g.value&&(x=g.value),fo(e.currentPage)&&(v.value=x),u&&(t("update:current-page",x),t("current-change",x))}});pe(g,k=>{p.value>k&&(p.value=k)}),pe([p,h],k=>{t(xt,...k)},{flush:"post"});function m(k){p.value=k}function y(k){h.value=k;const x=g.value;p.value>x&&(p.value=x)}function b(){e.disabled||(p.value-=1,t("prev-click",p.value))}function w(){e.disabled||(p.value+=1,t("next-click",p.value))}function S(k,x){k&&(k.props||(k.props={}),k.props.class=[k.props.class,x].join(" "))}return kt(r$,{pageCount:g,disabled:C(()=>e.disabled),currentPage:p,changeEvent:m,handleSizeChange:y}),()=>{if(!d.value)return Yt(dw,o("el.pagination.deprecationWarning")),null;if(!e.layout||e.hideOnSinglePage&&g.value<=1)return null;const k=[],x=[],N=De("div",{class:a.e("rightwrapper")},x),$={prev:De(qY,{disabled:e.disabled,currentPage:p.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:b}),jumper:De(sU,{size:r.value}),pager:De(yU,{currentPage:p.value,pageCount:g.value,pagerCount:e.pagerCount,onChange:m,disabled:e.disabled}),next:De(QY,{disabled:e.disabled,currentPage:p.value,pageCount:g.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:w}),sizes:De(nU,{pageSize:h.value,pageSizes:e.pageSizes,popperClass:e.popperClass,popperStyle:e.popperStyle,disabled:e.disabled,teleported:e.teleported,size:r.value,appendSizeTo:e.appendSizeTo}),slot:n?.default?.()??null,total:De(cU,{total:fo(e.total)?0:e.total})},T=e.layout.split(",").map(P=>P.trim());let I=!1;return T.forEach(P=>{if(P==="->"){I=!0;return}I?x.push($[P]):k.push($[P])}),S(k[0],a.is("first")),S(k[k.length-1],a.is("last")),I&&x.length>0&&(S(x[0],a.is("first")),S(x[x.length-1],a.is("last")),k.push(N)),De("div",{class:[a.b(),a.is("background",e.background),a.m(r.value)]},k)}}});const CU=ut(SU),kU=Te({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:Eh,default:"primary"},cancelButtonType:{type:String,values:Eh,default:"text"},icon:{type:Gt,default:()=>yB},iconColor:{type:String,default:"#f90"},hideIcon:Boolean,hideAfter:{type:Number,default:200},effect:{...on.effect,default:"light"},teleported:on.teleported,persistent:on.persistent,width:{type:[String,Number],default:150},virtualTriggering:Ks.virtualTriggering,virtualRef:Ks.virtualRef}),xU={confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent};var EU=fe({name:"ElPopconfirm",__name:"popconfirm",props:kU,emits:xU,setup(e,{expose:t,emit:n}){const o=e,a=n,{t:l}=Tt(),s=ke("popconfirm"),r=B(),u=B(),c=C(()=>i(r)?.popperRef),d=()=>{u.value?.focus?.()},f=()=>{r.value?.onClose?.()},v=C(()=>({width:pn(o.width)})),h=y=>{a("confirm",y),f()},g=y=>{a("cancel",y),f()},p=C(()=>o.confirmButtonText||l("el.popconfirm.confirmButtonText")),m=C(()=>o.cancelButtonText||l("el.popconfirm.cancelButtonText"));return t({popperRef:c,hide:f}),(y,b)=>(E(),de(i(Hn),ft({ref_key:"tooltipRef",ref:r,trigger:"click",effect:e.effect},y.$attrs,{"virtual-triggering":e.virtualTriggering,"virtual-ref":e.virtualRef,"popper-class":`${i(s).namespace.value}-popover`,"popper-style":v.value,teleported:e.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":e.hideAfter,persistent:e.persistent,loop:"",onShow:d}),{content:ie(()=>[M("div",{ref_key:"rootRef",ref:u,tabindex:"-1",class:A(i(s).b())},[M("div",{class:A(i(s).e("main"))},[!e.hideIcon&&e.icon?(E(),de(i(He),{key:0,class:A(i(s).e("icon")),style:Fe({color:e.iconColor})},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1},8,["class","style"])):se("v-if",!0),ze(" "+ye(e.title),1)],2),M("div",{class:A(i(s).e("action"))},[ue(y.$slots,"actions",{confirm:h,cancel:g},()=>[ee(i(Fn),{size:"small",type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",onClick:g},{default:ie(()=>[ze(ye(m.value),1)]),_:1},8,["type","text"]),ee(i(Fn),{size:"small",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",onClick:h},{default:ie(()=>[ze(ye(p.value),1)]),_:1},8,["type","text"])])],2)],2)]),default:ie(()=>[y.$slots.reference?ue(y.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["effect","virtual-triggering","virtual-ref","popper-class","popper-style","teleported","hide-after","persistent"]))}}),$U=EU;const TU=ut($U),NU=Te({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:ne(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:ne([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:ne(Function),default:e=>`${e}%`}}),_U=["aria-valuenow"],IU={viewBox:"0 0 100 100"},MU=["d","stroke","stroke-linecap","stroke-width"],OU=["d","stroke","opacity","stroke-linecap","stroke-width"],PU={key:0};var RU=fe({name:"ElProgress",__name:"progress",props:NU,setup(e){const t={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},n=e,o=ke("progress"),a=C(()=>{const w={width:`${n.percentage}%`,animationDuration:`${n.duration}s`},S=b(n.percentage);return S.includes("gradient")?w.background=S:w.backgroundColor=S,w}),l=C(()=>(n.strokeWidth/n.width*100).toFixed(1)),s=C(()=>["circle","dashboard"].includes(n.type)?Number.parseInt(`${50-Number.parseFloat(l.value)/2}`,10):0),r=C(()=>{const w=s.value,S=n.type==="dashboard";return` - M 50 50 - m 0 ${S?"":"-"}${w} - a ${w} ${w} 0 1 1 0 ${S?"-":""}${w*2} - a ${w} ${w} 0 1 1 0 ${S?"":"-"}${w*2} - `}),u=C(()=>2*Math.PI*s.value),c=C(()=>n.type==="dashboard"?.75:1),d=C(()=>`${-1*u.value*(1-c.value)/2}px`),f=C(()=>({strokeDasharray:`${u.value*c.value}px, ${u.value}px`,strokeDashoffset:d.value})),v=C(()=>({strokeDasharray:`${u.value*c.value*(n.percentage/100)}px, ${u.value}px`,strokeDashoffset:d.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),h=C(()=>{let w;return n.color?w=b(n.percentage):w=t[n.status]||t.default,w}),g=C(()=>n.status==="warning"?wp:n.type==="line"?n.status==="success"?Og:el:n.status==="success"?si:la),p=C(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),m=C(()=>n.format(n.percentage));function y(w){const S=100/w.length;return w.map((k,x)=>Ve(k)?{color:k,percentage:(x+1)*S}:k).sort((k,x)=>k.percentage-x.percentage)}const b=w=>{const{color:S}=n;if(je(S))return S(w);if(Ve(S))return S;{const k=y(S);for(const x of k)if(x.percentage>w)return x.color;return k[k.length-1]?.color}};return(w,S)=>(E(),F("div",{class:A([i(o).b(),i(o).m(e.type),i(o).is(e.status),{[i(o).m("without-text")]:!e.showText,[i(o).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(E(),F("div",{key:0,class:A(i(o).b("bar"))},[M("div",{class:A(i(o).be("bar","outer")),style:Fe({height:`${e.strokeWidth}px`})},[M("div",{class:A([i(o).be("bar","inner"),{[i(o).bem("bar","inner","indeterminate")]:e.indeterminate},{[i(o).bem("bar","inner","striped")]:e.striped},{[i(o).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:Fe(a.value)},[(e.showText||w.$slots.default)&&e.textInside?(E(),F("div",{key:0,class:A(i(o).be("bar","innerText"))},[ue(w.$slots,"default",{percentage:e.percentage},()=>[M("span",null,ye(m.value),1)])],2)):se("v-if",!0)],6)],6)],2)):(E(),F("div",{key:1,class:A(i(o).b("circle")),style:Fe({height:`${e.width}px`,width:`${e.width}px`})},[(E(),F("svg",IU,[M("path",{class:A(i(o).be("circle","track")),d:r.value,stroke:`var(${i(o).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":l.value,fill:"none",style:Fe(f.value)},null,14,MU),M("path",{class:A(i(o).be("circle","path")),d:r.value,stroke:h.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":l.value,style:Fe(v.value)},null,14,OU)]))],6)),(e.showText||w.$slots.default)&&!e.textInside?(E(),F("div",{key:2,class:A(i(o).e("text")),style:Fe({fontSize:`${p.value}px`})},[ue(w.$slots,"default",{percentage:e.percentage},()=>[e.status?(E(),de(i(He),{key:1},{default:ie(()=>[(E(),de(dt(g.value)))]),_:1})):(E(),F("span",PU,ye(m.value),1))])],6)):se("v-if",!0)],10,_U))}}),AU=RU;const fy=ut(AU),DU=Te({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:ne([Array,Object]),default:()=>fn(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:ne([Array,Object]),default:()=>[Rc,Rc,Rc]},voidIcon:{type:Gt,default:()=>PB},disabledVoidIcon:{type:Gt,default:()=>Rc},disabled:{type:Boolean,default:void 0},allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:ne(Array),default:()=>fn(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:On,clearable:Boolean,...co(["ariaLabel"])}),LU={[xt]:e=>We(e),[at]:e=>We(e)},BU=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax","tabindex","aria-disabled"],VU=["onMousemove","onClick"];var FU=fe({name:"ElRate",__name:"rate",props:DU,emits:LU,setup(e,{expose:t,emit:n}){function o(D,K){const V=G=>lt(G),Y=K[Object.keys(K).map(G=>+G).filter(G=>{const q=K[G];return V(q)&&q.excluded?DG-q)[0]];return V(Y)&&Y.value||Y}const a=e,l=n,s=Be(Xa,void 0),r=Nn(),u=ke("rate"),{inputId:c,isLabeledByFormItem:d}=Ro(a,{formItemContext:s}),f=B(To(a.modelValue,0,a.max)),v=B(-1),h=B(!0),g=B([]),p=C(()=>g.value.map(D=>D.$el.clientWidth)),m=C(()=>[u.b(),u.m(r.value)]),y=cn(),b=C(()=>u.cssVarBlock({"void-color":a.voidColor,"disabled-void-color":a.disabledVoidColor,"fill-color":x.value})),w=C(()=>{let D="";return a.showScore?D=a.scoreTemplate.replace(/\{\s*value\s*\}/,y.value?`${a.modelValue}`:`${f.value}`):a.showText&&(D=a.texts[Math.ceil(f.value)-1]),D}),S=C(()=>a.modelValue*100-Math.floor(a.modelValue)*100),k=C(()=>xe(a.colors)?{[a.lowThreshold]:a.colors[0],[a.highThreshold]:{value:a.colors[1],excluded:!0},[a.max]:a.colors[2]}:a.colors),x=C(()=>{const D=o(f.value,k.value);return lt(D)?"":D}),N=C(()=>{let D="";return y.value?D=`${S.value}%`:a.allowHalf&&(D="50%"),{color:x.value,width:D}}),$=C(()=>{let D=xe(a.icons)?[...a.icons]:{...a.icons};return D=yo(D),xe(D)?{[a.lowThreshold]:D[0],[a.highThreshold]:{value:D[1],excluded:!0},[a.max]:D[2]}:D}),T=C(()=>o(a.modelValue,$.value)),I=C(()=>y.value?Ve(a.disabledVoidIcon)?a.disabledVoidIcon:yo(a.disabledVoidIcon):Ve(a.voidIcon)?a.voidIcon:yo(a.voidIcon)),P=C(()=>o(f.value,$.value));function _(D){const K=y.value&&S.value>0&&D-1a.modelValue,V=a.allowHalf&&h.value&&D-.5<=f.value&&D>f.value;return K||V}function H(D){a.clearable&&D===a.modelValue&&(D=0),l(at,D),a.modelValue!==D&&l(xt,D)}function L(D){y.value||(a.allowHalf&&h.value?H(f.value):H(D))}function z(D){if(y.value)return;const K=Xt(D),V=a.allowHalf?.5:1;let Y=f.value;switch(K){case Ee.up:case Ee.right:Y+=V;break;case Ee.left:case Ee.down:Y-=V;break}if(Y=To(Y,0,a.max),Y!==f.value)return D.stopPropagation(),D.preventDefault(),l(at,Y),l(xt,Y),Y}function O(D,K){y.value||(a.allowHalf&&K?(h.value=K.offsetX*2<=p.value[D-1],f.value=h.value?D-.5:D):f.value=D,v.value=D)}function R(){y.value||(a.allowHalf&&(h.value=a.modelValue!==Math.floor(a.modelValue)),f.value=To(a.modelValue,0,a.max),v.value=-1)}return pe(()=>a.modelValue,D=>{f.value=To(D,0,a.max),h.value=a.modelValue!==Math.floor(a.modelValue)}),a.modelValue||l(at,0),t({setCurrentValue:O,resetCurrentValue:R}),(D,K)=>(E(),F("div",{id:i(c),class:A([m.value,i(u).is("disabled",i(y))]),role:"slider","aria-label":i(d)?void 0:e.ariaLabel||"rating","aria-labelledby":i(d)?i(s)?.labelId:void 0,"aria-valuenow":f.value,"aria-valuetext":w.value||void 0,"aria-valuemin":"0","aria-valuemax":e.max,style:Fe(b.value),tabindex:i(y)?void 0:0,"aria-disabled":i(y),onKeydown:z},[(E(!0),F(Oe,null,mt(e.max,(V,Y)=>(E(),F("span",{key:Y,class:A(i(u).e("item")),onMousemove:G=>O(V,G),onMouseleave:R,onClick:G=>L(V)},[ee(i(He),{ref_for:!0,ref_key:"iconRefs",ref:g,class:A([i(u).e("icon"),{hover:v.value===V},i(u).is("active",V<=f.value),i(u).is("focus-visible",V===Math.ceil(f.value||1))])},{default:ie(()=>[Ue((E(),de(dt(P.value),null,null,512)),[[Vt,!_(V)&&V<=f.value]]),Ue((E(),de(dt(I.value),null,null,512)),[[Vt,!_(V)&&V>f.value]]),Ue((E(),de(dt(I.value),{class:A([i(u).em("decimal","box")])},null,8,["class"])),[[Vt,_(V)]]),Ue(ee(i(He),{style:Fe(N.value),class:A([i(u).e("icon"),i(u).e("decimal")])},{default:ie(()=>[(E(),de(dt(T.value)))]),_:1},8,["style","class"]),[[Vt,_(V)]])]),_:2},1032,["class"])],42,VU))),128)),e.showText||e.showScore?(E(),F("span",{key:0,class:A(i(u).e("text")),style:Fe({color:e.textColor})},ye(w.value),7)):se("v-if",!0)],46,BU))}}),zU=FU;const HU=ut(zU),Ts={primary:"icon-primary",success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},fw={[Ts.primary]:$u,[Ts.success]:jL,[Ts.warning]:wp,[Ts.error]:Pg,[Ts.info]:$u},KU=Te({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["primary","success","warning","info","error"],default:"info"}});var WU=fe({name:"ElResult",__name:"result",props:KU,setup(e){const t=e,n=ke("result"),o=C(()=>{const a=t.icon,l=a&&Ts[a]?Ts[a]:"icon-info";return{class:l,component:fw[l]||fw["icon-info"]}});return(a,l)=>(E(),F("div",{class:A(i(n).b())},[M("div",{class:A(i(n).e("icon"))},[ue(a.$slots,"icon",{},()=>[o.value.component?(E(),de(dt(o.value.component),{key:0,class:A(o.value.class)},null,8,["class"])):se("v-if",!0)])],2),e.title||a.$slots.title?(E(),F("div",{key:0,class:A(i(n).e("title"))},[ue(a.$slots,"title",{},()=>[M("p",null,ye(e.title),1)])],2)):se("v-if",!0),e.subTitle||a.$slots["sub-title"]?(E(),F("div",{key:1,class:A(i(n).e("subtitle"))},[ue(a.$slots,"sub-title",{},()=>[M("p",null,ye(e.subTitle),1)])],2)):se("v-if",!0),a.$slots.extra?(E(),F("div",{key:2,class:A(i(n).e("extra"))},[ue(a.$slots,"extra")],2)):se("v-if",!0)],2))}}),jU=WU;const YU=ut(jU),py=Symbol("ElSelectV2Injection"),UU=Te({allowCreate:Boolean,autocomplete:{type:ne(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Gt,default:el},effect:{type:ne(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:ne(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:{type:Boolean,default:void 0},estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:{type:ne(Function)},height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:ne([Array,String,Number,Boolean,Object]),default:void 0},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:{type:ne(Function)},reserveKeyword:{type:Boolean,default:!0},options:{type:ne(Array),required:!0},placeholder:{type:String},teleported:on.teleported,persistent:{type:Boolean,default:!0},popperClass:on.popperClass,popperStyle:on.popperStyle,popperOptions:{type:ne(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},size:On,props:{type:ne(Object),default:()=>sf},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},placement:{type:ne(String),values:Ja,default:"bottom-start"},fallbackPlacements:{type:ne(Array),default:["bottom-start","top-start","right","left"]},tagType:{...$l.type,default:"info"},tagEffect:{...$l.effect,default:"light"},tabindex:{type:[String,Number],default:0},appendTo:on.appendTo,fitInputWidth:{type:[Boolean,Number],default:!0,validator(e){return qt(e)||We(e)}},suffixIcon:{type:Gt,default:Qa},...vr,...co(["ariaLabel"])}),qU=Te({data:Array,disabled:Boolean,hovering:Boolean,item:{type:ne(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),GU={[at]:e=>!0,[xt]:e=>!0,"end-reached":Nu["end-reached"],"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},XU={hover:e=>We(e),select:(e,t)=>!0};var ZU=fe({props:{item:{type:Object,required:!0},style:{type:Object},height:Number},setup(){return{ns:ke("select")}}});function JU(e,t,n,o,a,l){return E(),F("div",{class:A(e.ns.be("group","title")),style:Fe({...e.style,lineHeight:`${e.height}px`})},ye(e.item.label),7)}var QU=An(ZU,[["render",JU]]);function eq(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}var tq=fe({props:qU,emits:XU,setup(e,{emit:t}){const n=Be(py),o=ke("select"),a=Jr?null:"mousemove",{hoverItem:l,selectOptionClick:s}=eq(e,{emit:t}),{getLabel:r}=mc(n.props),u=n.contentId;return{ns:o,contentId:u,mouseMoveEventName:a,hoverItem:l,handleMousedown:d=>{let f=d.target;const v=d.currentTarget;for(;f&&f!==v;){if(Js(f))return;f=f.parentElement}d.preventDefault()},selectOptionClick:s,getLabel:r}}});const nq=["id","aria-selected","aria-disabled"];function oq(e,t,n,o,a,l){return E(),F("li",ft({id:`${e.contentId}-${e.index}`,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled||void 0,style:e.style,class:[e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]},{[Ds(e.mouseMoveEventName)]:t[0]||(t[0]=(...s)=>e.hoverItem&&e.hoverItem(...s))},{onMousedown:t[1]||(t[1]=(...s)=>e.handleMousedown&&e.handleMousedown(...s)),onClick:t[2]||(t[2]=et((...s)=>e.selectOptionClick&&e.selectOptionClick(...s),["stop"]))}),[ue(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[M("span",null,ye(e.getLabel(e.item)),1)])],16,nq)}var aq=An(tq,[["render",oq]]),lq=fe({name:"ElSelectDropdown",props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number,id:String,ariaLabel:String},emits:{"end-reached":Nu["end-reached"]},setup(e,{slots:t,expose:n,emit:o}){const a=Be(py),l=ke("select"),{getLabel:s,getValue:r,getDisabled:u}=mc(a.props),c=B([]),d=B(),f=C(()=>e.data.length);pe(()=>f.value,()=>{a.tooltipRef.value?.updatePopper?.()});const v=C(()=>_t(a.props.estimatedOptionHeight)),h=C(()=>v.value?{itemSize:a.props.itemHeight}:{estimatedSize:a.props.estimatedOptionHeight,itemSize:_=>c.value[_]}),g=(_=[],H)=>{const{props:{valueKey:L}}=a;return lt(H)?_&&_.some(z=>en(Cn(z,L))===Cn(H,L)):_.includes(H)},p=(_,H)=>{if(lt(H)){const{valueKey:L}=a.props;return Cn(_,L)===Cn(H,L)}else return _===H},m=(_,H)=>a.props.multiple?g(_,r(H)):p(_,r(H)),y=(_,H)=>{const{disabled:L,multiple:z,multipleLimit:O}=a.props;return L||!H&&(z?O>0&&_.length>=O:!1)},b=_=>e.hoveringIndex===_;n({listRef:d,isSized:v,isItemDisabled:y,isItemHovering:b,isItemSelected:m,scrollToItem:_=>{const H=d.value;H&&H.scrollToItem(_)},resetScrollTop:()=>{const _=d.value;_&&_.resetScrollTop()}});const k=_=>{const{index:H,data:L,style:z}=_,O=i(v),{itemSize:R,estimatedSize:D}=i(h),{modelValue:K}=a.props,{onSelect:V,onHover:Y}=a,G=L[H];if(G.type==="Group")return ee(QU,{item:G,style:z,height:O?R:D},null);const q=m(K,G),X=y(K,q),Z=b(H);return ee(aq,ft(_,{selected:q,disabled:u(G)||X,created:!!G.created,hovering:Z,item:G,onSelect:V,onHover:Y}),{default:J=>t.default?.(J)||ee("span",null,[s(G)])})},{onKeyboardNavigate:x,onKeyboardSelect:N}=a,$=()=>{x("forward")},T=()=>{x("backward")},I=_=>{const H=Xt(_),{tab:L,esc:z,down:O,up:R,enter:D,numpadEnter:K}=Ee;switch([z,O,R,D,K].includes(H)&&(_.preventDefault(),_.stopPropagation()),H){case L:case z:break;case O:$();break;case R:T();break;case D:case K:N();break}},P=_=>{o("end-reached",_)};return()=>{const{data:_,width:H}=e,{height:L,multiple:z,scrollbarAlwaysOn:O}=a.props,R=Jr?!0:O,D=i(v)?gc:pz;return ee("div",{class:[l.b("dropdown"),l.is("multiple",z)],style:{width:`${H}px`}},[t.header?.(),t.loading?.()||t.empty?.()||ee(D,ft({ref:d},i(h),{className:l.be("dropdown","list"),scrollbarAlwaysOn:R,data:_,height:L,width:H,total:_.length,innerElement:"ul",innerProps:{id:e.id,role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},onEndReached:P,onKeydown:I}),{default:K=>ee(k,K,null)}),t.footer?.()])}}});function sq(e,t){const{aliasProps:n,getLabel:o,getValue:a}=mc(e),l=B(0),s=B(),r=C(()=>e.allowCreate&&e.filterable);pe(()=>e.options,h=>{const g=new Set(h.map(p=>o(p)));t.createdOptions=t.createdOptions.filter(p=>!g.has(o(p)))});function u(h){const g=p=>o(p)===h;return e.options&&e.options.some(g)||t.createdOptions.some(g)}function c(h){r.value&&(e.multiple&&h.created?l.value++:s.value=h)}function d(h){if(r.value)if(h&&h.length>0){if(u(h)){t.createdOptions=t.createdOptions.filter(p=>o(p)!==t.previousQuery);return}const g={[n.value.value]:h,[n.value.label]:h,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=l.value?t.createdOptions[l.value]=g:t.createdOptions.push(g)}else if(e.multiple)t.createdOptions.length=l.value;else{const g=s.value;t.createdOptions.length=0,g&&g.created&&t.createdOptions.push(g)}}function f(h){if(!r.value||!h||!h.created||h.created&&e.reserveKeyword&&t.inputValue===o(h))return;const g=t.createdOptions.findIndex(p=>a(p)===a(h));~g&&(t.createdOptions.splice(g,1),l.value--)}function v(){r.value&&(t.createdOptions.length=0,l.value=0)}return{createNewOption:d,removeNewOption:f,selectNewOption:c,clearAllNewOption:v}}const rq=(e,t)=>{const{t:n}=Tt(),o=mn(),a=ke("select"),l=ke("input"),{form:s,formItem:r}=Kn(),{inputId:u}=Ro(e,{formItemContext:r}),{aliasProps:c,getLabel:d,getValue:f,getDisabled:v,getOptions:h}=mc(e),{valueOnClear:g,isEmptyValue:p}=pc(e),m=zt({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),y=B(-1),b=B(!1),w=B(),S=B(),k=B(),x=B(),N=B(),$=B(),T=B(),I=B(),P=B(),_=B(),{isComposing:H,handleCompositionStart:L,handleCompositionEnd:z,handleCompositionUpdate:O}=fc({afterComposition:Ae=>nn(Ae)}),R=cn(),{wrapperRef:D,isFocused:K,handleBlur:V}=Pl(N,{disabled:R,afterFocus(){e.automaticDropdown&&!X.value&&(X.value=!0,m.menuVisibleOnFocus=!0)},beforeBlur(Ae){return k.value?.isFocusInsideContent(Ae)||x.value?.isFocusInsideContent(Ae)},afterBlur(){X.value=!1,m.menuVisibleOnFocus=!1,e.validateEvent&&r?.validate?.("blur").catch(ht)}}),Y=C(()=>ce("")),G=C(()=>e.loading?!1:e.options.length>0||m.createdOptions.length>0),q=B([]),X=B(!1),Z=C(()=>s?.statusIcon??!1),J=C(()=>{const Ae=q.value.length*e.itemHeight;return Ae>e.height?e.height:Ae}),ae=C(()=>e.multiple?xe(e.modelValue)&&e.modelValue.length>0:!p(e.modelValue)),ve=C(()=>e.clearable&&!R.value&&ae.value&&(K.value||m.inputHovering)),me=C(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),oe=C(()=>me.value&&a.is("reverse",X.value)),re=C(()=>r?.validateState||""),W=C(()=>{if(re.value)return Sp[re.value]}),te=C(()=>e.remote?e.debounce:0),j=C(()=>e.remote&&!m.inputValue&&!G.value),U=C(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&m.inputValue&&G.value&&q.value.length===0?e.noMatchText||n("el.select.noMatch"):G.value?null:e.noDataText||n("el.select.noData")),Q=C(()=>e.filterable&&je(e.filterMethod)),le=C(()=>e.filterable&&e.remote&&je(e.remoteMethod)),ce=Ae=>{const Dt=new RegExp(pg(Ae),"i"),Pt=Mt=>Q.value||le.value?!0:Ae?Dt.test(d(Mt)||""):!0;return e.loading?[]:[...m.createdOptions,...e.options].reduce((Mt,Un)=>{const Ao=h(Un);if(xe(Ao)){const xc=Ao.filter(Pt);xc.length>0&&Mt.push({label:d(Un),type:"Group"},...xc)}else(e.remote||Pt(Un))&&Mt.push(Un);return Mt},[])},Ce=()=>{q.value=ce(m.inputValue)},we=C(()=>{const Ae=new Map;return Y.value.forEach((Dt,Pt)=>{Ae.set(Je(f(Dt)),{option:Dt,index:Pt})}),Ae}),he=C(()=>{const Ae=new Map;return q.value.forEach((Dt,Pt)=>{Ae.set(Je(f(Dt)),{option:Dt,index:Pt})}),Ae}),be=C(()=>q.value.every(Ae=>v(Ae))),ge=Nn(),$e=C(()=>ge.value==="small"?"small":"default"),Me=()=>{if(We(e.fitInputWidth)){y.value=e.fitInputWidth;return}const Ae=w.value?.offsetWidth||200;!e.fitInputWidth&&G.value?Pe(()=>{y.value=Math.max(Ae,Qe())}):y.value=Ae},Qe=()=>{const Ae=document.createElement("canvas").getContext("2d"),Dt=a.be("dropdown","item"),Pt=(I.value?.listRef?.innerRef||document).querySelector(`.${Dt}`);if(Pt===null||Ae===null)return 0;const Mt=getComputedStyle(Pt),Un=Number.parseFloat(Mt.paddingLeft)+Number.parseFloat(Mt.paddingRight);return Ae.font=`bold ${Mt.font.replace(new RegExp(`\\b${Mt.fontWeight}\\b`),"")}`,q.value.reduce((Ao,xc)=>{const EN=Ae.measureText(d(xc));return Math.max(EN.width,Ao)},0)+Un},tt=()=>{if(!S.value)return 0;const Ae=window.getComputedStyle(S.value);return Number.parseFloat(Ae.gap||"6px")},qe=C(()=>{const Ae=tt(),Dt=e.filterable?Ae+11:0;return{maxWidth:`${_.value&&e.maxCollapseTags===1?m.selectionWidth-m.collapseItemWidth-Ae-Dt:m.selectionWidth-Dt}px`}}),Et=C(()=>({maxWidth:`${m.selectionWidth}px`})),At=C(()=>xe(e.modelValue)?e.modelValue.length===0&&!m.inputValue:e.filterable?!m.inputValue:!0),Kt=C(()=>{const Ae=e.placeholder??n("el.select.placeholder");return e.multiple||!ae.value?Ae:m.selectedLabel}),Rt=C(()=>k.value?.popperRef?.contentRef),Ut=C(()=>{if(e.multiple){const Ae=e.modelValue.length;if(Ae>0&&he.value.has(e.modelValue[Ae-1])){const{index:Dt}=he.value.get(e.modelValue[Ae-1]);return Dt}}else if(!p(e.modelValue)&&he.value.has(e.modelValue)){const{index:Ae}=he.value.get(e.modelValue);return Ae}return-1}),Se=C({get(){return X.value&&(e.loading||!j.value||e.remote&&!!o.empty)&&(!b.value||!mo(m.previousQuery)||G.value)},set(Ae){X.value=Ae}}),_e=C(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(0,e.maxCollapseTags):m.cachedOptions:[]),Ze=C(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:Ne,removeNewOption:Ge,selectNewOption:Le,clearAllNewOption:nt}=sq(e,m),vt=Ae=>{R.value||e.filterable&&X.value&&Ae&&!T.value?.contains(Ae.target)||(m.menuVisibleOnFocus?m.menuVisibleOnFocus=!1:X.value=!X.value)},rt=()=>{m.inputValue.length>0&&!X.value&&(X.value=!0),Ne(m.inputValue),Pe(()=>{It(m.inputValue)})},St=ac(()=>{rt(),b.value=!1},te),It=Ae=>{m.previousQuery===Ae||H.value||(m.previousQuery=Ae,e.filterable&&je(e.filterMethod)?e.filterMethod(Ae):e.filterable&&e.remote&&je(e.remoteMethod)&&e.remoteMethod(Ae),e.defaultFirstOption&&(e.filterable||e.remote)&&q.value.length?Pe(pt):Pe(jt))},pt=()=>{const Ae=q.value.filter(Mt=>!Mt.disabled&&Mt.type!=="Group"),Dt=Ae.find(Mt=>Mt.created),Pt=Ae[0];m.hoveringIndex=Ke(q.value,Dt||Pt)},Jt=Ae=>{dn(e.modelValue,Ae)||t(xt,Ae)},vn=Ae=>{t(at,Ae),Jt(Ae),m.previousValue=e.multiple?String(Ae):Ae,Pe(()=>{if(e.multiple&&xe(e.modelValue)){const Dt=m.cachedOptions.slice(),Pt=e.modelValue.map(Mt=>Xy(Mt,Dt));dn(m.cachedOptions,Pt)||(m.cachedOptions=Pt)}else kc(!0)})},Ke=(Ae=[],Dt)=>{if(!lt(Dt))return Ae.indexOf(Dt);const Pt=e.valueKey;let Mt=-1;return Ae.some((Un,Ao)=>Cn(Un,Pt)===Cn(Dt,Pt)?(Mt=Ao,!0):!1),Mt},Je=Ae=>lt(Ae)?Cn(Ae,e.valueKey):Ae,it=()=>{Me()},Ie=Ae=>{t("end-reached",Ae)},Xe=()=>{m.selectionWidth=Number.parseFloat(window.getComputedStyle(S.value).width)},Ye=()=>{m.collapseItemWidth=_.value.getBoundingClientRect().width},Bt=()=>{k.value?.updatePopper?.()},Zt=()=>{x.value?.updatePopper?.()},gn=Ae=>{const Dt=f(Ae);if(e.multiple){let Pt=e.modelValue.slice();const Mt=Ke(Pt,Dt);Mt>-1?(Pt=[...Pt.slice(0,Mt),...Pt.slice(Mt+1)],m.cachedOptions.splice(Mt,1),Ge(Ae)):(e.multipleLimit<=0||Pt.length{let Pt=e.modelValue.slice();const Mt=Ke(Pt,f(Dt));Mt>-1&&!R.value&&(Pt=[...e.modelValue.slice(0,Mt),...e.modelValue.slice(Mt+1)],m.cachedOptions.splice(Mt,1),vn(Pt),t("remove-tag",f(Dt)),Ge(Dt)),Ae.stopPropagation(),Co()},Co=()=>{N.value?.focus()},Ta=()=>{if(X.value){X.value=!1,Pe(()=>N.value?.blur());return}N.value?.blur()},Dl=()=>{m.inputValue.length>0?m.inputValue="":X.value=!1},mr=Ae=>Bk(Ae,Dt=>!m.cachedOptions.some(Pt=>f(Pt)===Dt&&v(Pt))),ol=Ae=>{const Dt=Xt(Ae);if(e.multiple&&Dt!==Ee.delete&&m.inputValue.length===0){Ae.preventDefault();const Pt=e.modelValue.slice(),Mt=mr(Pt);if(Mt<0)return;const Un=Pt[Mt];Pt.splice(Mt,1);const Ao=m.cachedOptions[Mt];m.cachedOptions.splice(Mt,1),Ge(Ao),vn(Pt),t("remove-tag",Un)}},zp=()=>{let Ae;xe(e.modelValue)?Ae=[]:Ae=g.value,m.selectedLabel="",X.value=!1,vn(Ae),t("clear"),nt(),Co()},gr=(Ae,Dt=void 0)=>{const Pt=q.value;if(!["forward","backward"].includes(Ae)||R.value||Pt.length<=0||be.value||H.value)return;if(!X.value)return vt();_t(Dt)&&(Dt=m.hoveringIndex);let Mt=-1;Ae==="forward"?(Mt=Dt+1,Mt>=Pt.length&&(Mt=0)):Ae==="backward"&&(Mt=Dt-1,(Mt<0||Mt>=Pt.length)&&(Mt=Pt.length-1));const Un=Pt[Mt];if(v(Un)||Un.type==="Group")return gr(Ae,Mt);m.hoveringIndex=Mt,Ll(Mt)},Re=()=>{if(X.value)~m.hoveringIndex&&q.value[m.hoveringIndex]&&gn(q.value[m.hoveringIndex]);else return vt()},wt=Ae=>{m.hoveringIndex=Ae??-1},jt=()=>{if(!e.multiple)m.hoveringIndex=q.value.findIndex(Ae=>Je(f(Ae))===Je(e.modelValue));else{const Ae=e.modelValue.length;if(Ae>0){const Dt=e.modelValue[Ae-1];m.hoveringIndex=q.value.findIndex(Pt=>Je(Dt)===Je(f(Pt)))}else m.hoveringIndex=-1}},nn=Ae=>{if(m.inputValue=Ae.target.value,e.remote)b.value=!0,St();else return rt()},In=Ae=>{X.value=!1,K.value&&V(new FocusEvent("blur",Ae))},ko=()=>(m.isBeforeHide=!1,Pe(()=>{~Ut.value&&Ll(Ut.value)})),Ll=Ae=>{I.value.scrollToItem(Ae)},Xy=(Ae,Dt)=>{const Pt=Je(Ae);if(we.value.has(Pt)){const{option:Mt}=we.value.get(Pt);return Mt}if(Dt&&Dt.length){const Mt=Dt.find(Un=>Je(f(Un))===Pt);if(Mt)return Mt}return{[c.value.value]:Ae,[c.value.label]:Ae}},xN=Ae=>we.value.get(f(Ae))?.index??-1,kc=(Ae=!1)=>{if(e.multiple)if(e.modelValue.length>0){const Dt=m.cachedOptions.slice();m.cachedOptions.length=0,m.previousValue=e.modelValue.toString();for(const Pt of e.modelValue){const Mt=Xy(Pt,Dt);m.cachedOptions.push(Mt)}}else m.cachedOptions=[],m.previousValue=void 0;else if(ae.value){m.previousValue=e.modelValue;const Dt=q.value,Pt=Dt.findIndex(Mt=>Je(f(Mt))===Je(e.modelValue));~Pt?m.selectedLabel=d(Dt[Pt]):(!m.selectedLabel||Ae)&&(m.selectedLabel=Je(e.modelValue))}else m.selectedLabel="",m.previousValue=void 0;nt(),Me()};pe(()=>e.fitInputWidth,()=>{Me()}),pe(X,Ae=>{Ae?(e.persistent||Me(),It("")):(m.inputValue="",m.previousQuery=null,m.isBeforeHide=!0,m.menuVisibleOnFocus=!1,Ne(""))}),pe(()=>e.modelValue,(Ae,Dt)=>{(!Ae||xe(Ae)&&Ae.length===0||e.multiple&&!dn(Ae.toString(),m.previousValue)||!e.multiple&&Je(Ae)!==Je(m.previousValue))&&kc(!0),!dn(Ae,Dt)&&e.validateEvent&&r?.validate?.("change").catch(ht)},{deep:!0}),pe(()=>e.options,()=>{const Ae=N.value;(!Ae||Ae&&document.activeElement!==Ae)&&kc()},{deep:!0,flush:"post"}),pe(()=>q.value,()=>(Me(),I.value&&Pe(I.value.resetScrollTop))),uo(()=>{m.isBeforeHide||Ce()}),uo(()=>{const{valueKey:Ae,options:Dt}=e,Pt=new Map;for(const Mt of Dt){const Un=f(Mt);let Ao=Un;if(lt(Ao)&&(Ao=Cn(Un,Ae)),Pt.get(Ao)){Yt("ElSelectV2","The option values you provided seem to be duplicated, which may cause some problems, please check.");break}else Pt.set(Ao,!0)}}),st(()=>{kc()}),ln(w,it),ln(S,Xe),ln(D,Bt),ln(P,Zt),ln(_,Ye);let Hp;return pe(()=>Se.value,Ae=>{Ae?Hp=ln(I,Bt).stop:(Hp?.(),Hp=void 0),t("visible-change",Ae)}),{inputId:u,collapseTagSize:$e,currentPlaceholder:Kt,expanded:X,emptyText:U,popupHeight:J,debounce:te,allOptions:Y,allOptionsValueMap:we,filteredOptions:q,iconComponent:me,iconReverse:oe,tagStyle:qe,collapseTagStyle:Et,popperSize:y,dropdownMenuVisible:Se,hasModelValue:ae,shouldShowPlaceholder:At,selectDisabled:R,selectSize:ge,needStatusIcon:Z,showClearBtn:ve,states:m,isFocused:K,nsSelect:a,nsInput:l,inputRef:N,menuRef:I,tagMenuRef:P,tooltipRef:k,tagTooltipRef:x,selectRef:w,wrapperRef:D,selectionRef:S,prefixRef:$,suffixRef:T,collapseItemRef:_,popperRef:Rt,validateState:re,validateIcon:W,showTagList:_e,collapseTagList:Ze,debouncedOnInputChange:St,deleteTag:Qn,getLabel:d,getValue:f,getDisabled:v,getValueKey:Je,getIndex:xN,handleClear:zp,handleClickOutside:In,handleDel:ol,handleEsc:Dl,focus:Co,blur:Ta,handleMenuEnter:ko,handleResize:it,resetSelectionWidth:Xe,updateTooltip:Bt,updateTagTooltip:Zt,updateOptions:Ce,toggleMenu:vt,scrollTo:Ll,onInput:nn,onKeyboardNavigate:gr,onKeyboardSelect:Re,onEndReached:Ie,onSelect:gn,onHover:wt,handleCompositionStart:L,handleCompositionEnd:z,handleCompositionUpdate:O}};var iq=fe({name:"ElSelectV2",components:{ElSelectMenu:lq,ElTag:wl,ElTooltip:Hn,ElIcon:He},directives:{ClickOutside:cs},props:UU,emits:GU,setup(e,{emit:t}){const n=C(()=>{const{modelValue:u,multiple:c}=e,d=c?[]:void 0;return xe(u)?c?u:d:c?d:u}),o=rq(zt({...Rn(e),modelValue:n}),t),{calculatorRef:a,inputStyle:l}=fg(),s=Jn();kt(py,{props:zt({...Rn(e),height:o.popupHeight,modelValue:n}),expanded:o.expanded,tooltipRef:o.tooltipRef,contentId:s,onSelect:o.onSelect,onHover:o.onHover,onKeyboardNavigate:o.onKeyboardNavigate,onKeyboardSelect:o.onKeyboardSelect});const r=C(()=>e.multiple?o.states.cachedOptions.map(u=>o.getLabel(u)):o.states.selectedLabel);return{...o,modelValue:n,selectedLabel:r,calculatorRef:a,inputStyle:l,contentId:s,BORDER_HORIZONTAL_WIDTH:2}}});const uq=["id","value","autocomplete","tabindex","aria-expanded","aria-label","disabled","aria-controls","aria-activedescendant","readonly","name"],cq=["textContent"],dq={key:1};function fq(e,t,n,o,a,l){const s=Ot("el-tag"),r=Ot("el-tooltip"),u=Ot("el-icon"),c=Ot("el-select-menu"),d=zm("click-outside");return Ue((E(),F("div",{ref:"selectRef",class:A([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||(t[15]=f=>e.states.inputHovering=!0),onMouseleave:t[16]||(t[16]=f=>e.states.inputHovering=!1)},[ee(r,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[14]||(t[14]=f=>e.states.isBeforeHide=!1)},{default:ie(()=>[M("div",{ref:"wrapperRef",class:A([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[11]||(t[11]=et((...f)=>e.toggleMenu&&e.toggleMenu(...f),["prevent"]))},[e.$slots.prefix?(E(),F("div",{key:0,ref:"prefixRef",class:A(e.nsSelect.e("prefix"))},[ue(e.$slots,"prefix")],2)):se("v-if",!0),M("div",{ref:"selectionRef",class:A([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?ue(e.$slots,"tag",{key:0,data:e.states.cachedOptions,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),F(Oe,null,mt(e.showTagList,f=>(E(),F("div",{key:e.getValueKey(e.getValue(f)),class:A(e.nsSelect.e("selected-item"))},[ee(s,{closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Fe(e.tagStyle),onClose:v=>e.deleteTag(v,f)},{default:ie(()=>[M("span",{class:A(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[ze(ye(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.cachedOptions.length>e.maxCollapseTags?(E(),de(r,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:ie(()=>[M("div",{ref:"collapseItemRef",class:A(e.nsSelect.e("selected-item"))},[ee(s,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,style:Fe(e.collapseTagStyle),"disable-transitions":""},{default:ie(()=>[M("span",{class:A(e.nsSelect.e("tags-text"))}," + "+ye(e.states.cachedOptions.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:ie(()=>[M("div",{ref:"tagMenuRef",class:A(e.nsSelect.e("selection"))},[(E(!0),F(Oe,null,mt(e.collapseTagList,f=>(E(),F("div",{key:e.getValueKey(e.getValue(f)),class:A(e.nsSelect.e("selected-item"))},[ee(s,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:v=>e.deleteTag(v,f)},{default:ie(()=>[M("span",{class:A(e.nsSelect.e("tags-text"))},[ue(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[ze(ye(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):se("v-if",!0)]):se("v-if",!0),M("div",{class:A([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||e.multiple&&!e.states.inputValue&&!e.isFocused)])},[M("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,style:Fe(e.inputStyle),autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-autocomplete":"none","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:A([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox","aria-controls":e.contentId,"aria-activedescendant":e.states.hoveringIndex>=0?`${e.contentId}-${e.states.hoveringIndex}`:"",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onInput:t[0]||(t[0]=(...f)=>e.onInput&&e.onInput(...f)),onChange:t[1]||(t[1]=et(()=>{},["stop"])),onCompositionstart:t[2]||(t[2]=(...f)=>e.handleCompositionStart&&e.handleCompositionStart(...f)),onCompositionupdate:t[3]||(t[3]=(...f)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...f)),onCompositionend:t[4]||(t[4]=(...f)=>e.handleCompositionEnd&&e.handleCompositionEnd(...f)),onKeydown:[t[5]||(t[5]=sn(et(f=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[6]||(t[6]=sn(et(f=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[7]||(t[7]=sn(et((...f)=>e.onKeyboardSelect&&e.onKeyboardSelect(...f),["stop","prevent"]),["enter"])),t[8]||(t[8]=sn(et((...f)=>e.handleEsc&&e.handleEsc(...f),["stop","prevent"]),["esc"])),t[9]||(t[9]=sn(et((...f)=>e.handleDel&&e.handleDel(...f),["stop"]),["delete"]))],onClick:t[10]||(t[10]=et((...f)=>e.toggleMenu&&e.toggleMenu(...f),["stop"]))},null,46,uq),e.filterable?(E(),F("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:A(e.nsSelect.e("input-calculator")),textContent:ye(e.states.inputValue)},null,10,cq)):se("v-if",!0)],2),e.shouldShowPlaceholder?(E(),F("div",{key:1,class:A([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?ue(e.$slots,"label",{key:0,index:e.allOptionsValueMap.get(e.modelValue)?.index??-1,label:e.currentPlaceholder,value:e.modelValue},()=>[M("span",null,ye(e.currentPlaceholder),1)]):(E(),F("span",dq,ye(e.currentPlaceholder),1))],2)):se("v-if",!0)],2),M("div",{ref:"suffixRef",class:A(e.nsSelect.e("suffix"))},[e.iconComponent?Ue((E(),de(u,{key:0,class:A([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:ie(()=>[(E(),de(dt(e.iconComponent)))]),_:1},8,["class"])),[[Vt,!e.showClearBtn]]):se("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),de(u,{key:1,class:A([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.nsSelect.e("clear")]),onClick:et(e.handleClear,["prevent","stop"])},{default:ie(()=>[(E(),de(dt(e.clearIcon)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),de(u,{key:2,class:A([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:ie(()=>[(E(),de(dt(e.validateIcon)))]),_:1},8,["class"])):se("v-if",!0)],2)],2)]),content:ie(()=>[ee(c,{id:e.contentId,ref:"menuRef",data:e.filteredOptions,width:e.popperSize-e.BORDER_HORIZONTAL_WIDTH,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn,"aria-label":e.ariaLabel,onEndReached:e.onEndReached},bo({default:ie(f=>[ue(e.$slots,"default",ml(yl(f)))]),_:2},[e.$slots.header?{name:"header",fn:ie(()=>[M("div",{class:A(e.nsSelect.be("dropdown","header")),onClick:t[12]||(t[12]=et(()=>{},["stop"]))},[ue(e.$slots,"header")],2)]),key:"0"}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:ie(()=>[M("div",{class:A(e.nsSelect.be("dropdown","loading"))},[ue(e.$slots,"loading")],2)]),key:"1"}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:ie(()=>[M("div",{class:A(e.nsSelect.be("dropdown","empty"))},[ue(e.$slots,"empty",{},()=>[M("span",null,ye(e.emptyText),1)])],2)]),key:"2"}:void 0,e.$slots.footer?{name:"footer",fn:ie(()=>[M("div",{class:A(e.nsSelect.be("dropdown","footer")),onClick:t[13]||(t[13]=et(()=>{},["stop"]))},[ue(e.$slots,"footer")],2)]),key:"3"}:void 0]),1032,["id","data","width","hovering-index","scrollbar-always-on","aria-label","onEndReached"])]),_:3},8,["visible","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","placement","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],34)),[[d,e.handleClickOutside,e.popperRef]])}var pq=An(iq,[["render",fq]]);const vq=ut(pq),hq=Te({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:ne([Number,Object])}}),mq=Te({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}});var gq=fe({name:"ElSkeletonItem",__name:"skeleton-item",props:mq,setup(e){const t=ke("skeleton");return(n,o)=>(E(),F("div",{class:A([i(t).e("item"),i(t).e(e.variant)])},[e.variant==="image"?(E(),de(i(hB),{key:0})):se("v-if",!0)],2))}}),Cf=gq,yq=fe({name:"ElSkeleton",__name:"skeleton",props:hq,setup(e,{expose:t}){const n=e,o=ke("skeleton"),a=SD(bt(n,"loading"),n.throttle);return t({uiLoading:a}),(l,s)=>i(a)?(E(),F("div",ft({key:0,class:[i(o).b(),i(o).is("animated",e.animated)]},l.$attrs),[(E(!0),F(Oe,null,mt(e.count,r=>(E(),F(Oe,{key:r},[i(a)?ue(l.$slots,"template",{key:r},()=>[ee(Cf,{class:A(i(o).is("first")),variant:"p"},null,8,["class"]),(E(!0),F(Oe,null,mt(e.rows,u=>(E(),de(Cf,{key:u,class:A([i(o).e("paragraph"),i(o).is("last",u===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):se("v-if",!0)],64))),128))],16)):ue(l.$slots,"default",ml(ft({key:1},l.$attrs)))}}),bq=yq;const wq=ut(bq,{SkeletonItem:Cf}),Sq=un(Cf),i$=Symbol("sliderContextKey"),Cq=Te({modelValue:{type:ne([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:ne([Number,String]),default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:On,inputSize:On,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:ne(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:ne(Function),default:void 0},tooltipClass:{type:ne([String,Array,Object,Boolean]),default:void 0},placement:{type:String,values:Ja,default:"top"},marks:{type:ne(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...co(["ariaLabel"])}),_v=e=>We(e)||xe(e)&&e.every(We),kq={[at]:_v,[Tn]:_v,[xt]:_v},xq=(e,t,n)=>{const o=B();return st(async()=>{e.range?(xe(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!We(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),Wt(window,"resize",n),await Pe(),n()}),{sliderWrapper:o}},Eq=e=>{const t=C(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((n,o)=>n-o).filter(n=>n<=e.max&&n>=e.min).map(n=>({point:n,position:(n-e.min)*100/(e.max-e.min),mark:e.marks[n]})):[]);return uo(()=>{if(e.step==="mark"&&!e.marks&&Yt("ElSlider","marks prop must be provided when step is mark"),e.marks){const n=Object.keys(e.marks),o=t.value.map(l=>l.point),a=n.filter(l=>{const s=Number.parseFloat(l);return Number.isNaN(s)||!o.includes(s)});a.length>0&&Yt("ElSlider",`Some marks keys are invalid (not a number or out of [min, max]): [${a.map(l=>`'${l}'`).join(", ")}] and will be ignored.`)}}),t},$q=(e,t,n)=>{const{formItem:o}=Kn(),a=Ct(),l=B(),s=B(),r={firstButton:l,secondButton:s},u=cn(),c=C(()=>Math.min(t.firstValue,t.secondValue)),d=C(()=>Math.max(t.firstValue,t.secondValue)),f=C(()=>e.range?`${100*(d.value-c.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),v=C(()=>e.range?`${100*(c.value-e.min)/(e.max-e.min)}%`:"0%"),h=C(()=>e.vertical?{height:e.height}:{}),g=C(()=>e.vertical?{height:f.value,bottom:v.value}:{width:f.value,left:v.value}),p=()=>{a.value&&(t.sliderSize=a.value.getBoundingClientRect()[e.vertical?"height":"width"])},m=P=>{const _=e.min+P*(e.max-e.min)/100;if(!e.range)return l;let H;return Math.abs(c.value-_)t.secondValue?"firstButton":"secondButton",r[H]},y=P=>{const _=m(P);return _.value.setPosition(P),_},b=P=>{t.firstValue=P??e.min,S(e.range?[c.value,d.value]:P??e.min)},w=P=>{t.secondValue=P,e.range&&S([c.value,d.value])},S=P=>{n(at,P),n(Tn,P)},k=async()=>{await Pe(),n(xt,e.range?[c.value,d.value]:e.modelValue)},x=P=>{if(u.value||t.dragging)return;p();let _=0;if(e.vertical){const H=P.touches?.item(0)?.clientY??P.clientY;_=(a.value.getBoundingClientRect().bottom-H)/t.sliderSize*100}else _=((P.touches?.item(0)?.clientX??P.clientX)-a.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(_<0||_>100))return y(_)};return{elFormItem:o,slider:a,firstButton:l,secondButton:s,sliderDisabled:u,minValue:c,maxValue:d,runwayStyle:h,barStyle:g,resetSize:p,setPosition:y,emitChange:k,onSliderWrapperPrevent:P=>{(r.firstButton.value?.dragging||r.secondButton.value?.dragging)&&P.preventDefault()},onSliderClick:P=>{x(P)&&k()},onSliderDown:async P=>{const _=x(P);_&&(await Pe(),_.value.onButtonDown(P))},onSliderMarkerDown:P=>{u.value||t.dragging||y(P)&&k()},setFirstValue:b,setSecondValue:w}},Tq=(e,t,n,o)=>({stops:C(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step==="mark"||e.step===0)return e.step===0&&Yt("ElSlider","step should not be 0."),[];const s=Math.ceil((e.max-e.min)/e.step),r=100*e.step/(e.max-e.min),u=Array.from({length:s-1}).map((c,d)=>(d+1)*r);return e.range?u.filter(c=>c<100*(n.value-e.min)/(e.max-e.min)||c>100*(o.value-e.min)/(e.max-e.min)):u.filter(c=>c>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:s=>e.vertical?{bottom:`${s}%`}:{left:`${s}%`}}),Nq=(e,t,n,o,a,l)=>{const s=c=>{a(at,c),a(Tn,c)},r=()=>e.range?![n.value,o.value].every((c,d)=>c===t.oldValue[d]):e.modelValue!==t.oldValue,u=()=>{e.min>e.max&&rn("Slider","min should not be greater than max.");const c=e.modelValue;e.range&&xe(c)?c[1]e.max?s([e.max,e.max]):c[0]e.max?s([c[0],e.max]):(t.firstValue=c[0],t.secondValue=c[1],r()&&(e.validateEvent&&l?.validate?.("change").catch(ht),t.oldValue=c.slice())):!e.range&&We(c)&&!Number.isNaN(c)&&(ce.max?s(e.max):(t.firstValue=c,r()&&(e.validateEvent&&l?.validate?.("change").catch(ht),t.oldValue=c)))};u(),pe(()=>t.dragging,c=>{c||u()}),pe(()=>e.modelValue,(c,d)=>{t.dragging||xe(c)&&xe(d)&&c.every((f,v)=>f===d[v])&&t.firstValue===c[0]&&t.secondValue===c[1]||u()},{deep:!0}),pe(()=>[e.min,e.max],()=>{u()})},_q=(e,t,n)=>{const o=B(),a=B(!1),l=C(()=>t.value instanceof Function);return{tooltip:o,tooltipVisible:a,formatValue:C(()=>l.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:ja(()=>{n.value&&(a.value=!0)},50),hideTooltip:ja(()=>{n.value&&(a.value=!1)},50)}},Iq=(e,t,n)=>{const{disabled:o,min:a,max:l,step:s,showTooltip:r,persistent:u,precision:c,sliderSize:d,formatTooltip:f,emitChange:v,resetSize:h,updateDragging:g,markList:p}=Be(i$),{tooltip:m,tooltipVisible:y,formatValue:b,displayTooltip:w,hideTooltip:S}=_q(e,f,r),k=B(),x=C(()=>`${(e.modelValue-a.value)/(l.value-a.value)*100}%`),N=C(()=>e.vertical?{bottom:x.value}:{left:x.value}),$=C(()=>s.value==="mark"&&p.value.length>0),T=()=>{t.hovering=!0,w()},I=()=>{t.hovering=!1,t.dragging||S()},P=J=>{o.value||(J.preventDefault(),G(J),window.addEventListener("mousemove",q),window.addEventListener("touchmove",q),window.addEventListener("mouseup",X),window.addEventListener("touchend",X),window.addEventListener("contextmenu",X),k.value.focus())},_=J=>{o.value||(t.newPosition=Number.parseFloat(x.value)+J/(l.value-a.value)*100,Z(t.newPosition),v())},H=J=>{if(o.value||!p.value.length)return;const ae=e.modelValue,ve=Number.EPSILON,me=Math.abs(J);let oe;if(J>0){const re=p.value.findIndex(W=>W.point>ae+ve);if(re!==-1){const W=Math.min(re+me-1,p.value.length-1);oe=p.value[W].point}}else{let re=-1;for(let W=p.value.length-1;W>=0;W--)if(p.value[W].point{$.value?H(-1):We(s.value)&&_(-s.value)},z=()=>{$.value?H(1):We(s.value)&&_(s.value)},O=()=>{$.value?H(-4):We(s.value)&&_(-s.value*4)},R=()=>{$.value?H(4):We(s.value)&&_(s.value*4)},D=()=>{o.value||(Z(0),v())},K=()=>{o.value||(Z(100),v())},V=J=>{const ae=Xt(J);let ve=!0;switch(ae){case Ee.left:case Ee.down:L();break;case Ee.right:case Ee.up:z();break;case Ee.home:D();break;case Ee.end:K();break;case Ee.pageDown:O();break;case Ee.pageUp:R();break;default:ve=!1;break}ve&&J.preventDefault()},Y=J=>{let ae,ve;return J.type.startsWith("touch")?(ve=J.touches[0].clientY,ae=J.touches[0].clientX):(ve=J.clientY,ae=J.clientX),{clientX:ae,clientY:ve}},G=J=>{t.dragging=!0,t.isClick=!0;const{clientX:ae,clientY:ve}=Y(J);e.vertical?t.startY=ve:t.startX=ae,t.startPosition=Number.parseFloat(x.value),t.newPosition=t.startPosition},q=J=>{if(t.dragging){t.isClick=!1,w(),h();let ae;const{clientX:ve,clientY:me}=Y(J);e.vertical?(t.currentY=me,ae=(t.startY-t.currentY)/d.value*100):(t.currentX=ve,ae=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+ae,Z(t.newPosition)}},X=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||S(),t.isClick||Z(t.newPosition),v()},0),window.removeEventListener("mousemove",q),window.removeEventListener("touchmove",q),window.removeEventListener("mouseup",X),window.removeEventListener("touchend",X),window.removeEventListener("contextmenu",X))},Z=async J=>{if(J===null||Number.isNaN(+J))return;J=To(J,0,100);let ae;if(s.value==="mark")p.value.length===0?ae=J<=50?a.value:l.value:ae=p.value.reduce((ve,me)=>Math.abs(me.position-J)t.dragging,J=>{g(J)}),Wt(k,"touchstart",P,{passive:!1}),{disabled:o,button:k,tooltip:m,tooltipVisible:y,showTooltip:r,persistent:u,wrapperStyle:N,formatValue:b,handleMouseEnter:T,handleMouseLeave:I,onButtonDown:P,onKeyDown:V,setPosition:Z}},Mq=Te({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:{type:ne([String,Array,Object,Boolean]),default:void 0},placement:{type:String,values:Ja,default:"top"}}),Oq={[at]:e=>We(e)},Pq=["tabindex"];var Rq=fe({name:"ElSliderButton",__name:"button",props:Mq,emits:Oq,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("slider"),s=zt({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:o.modelValue}),r=C(()=>f.value?v.value:!1),{disabled:u,button:c,tooltip:d,showTooltip:f,persistent:v,tooltipVisible:h,wrapperStyle:g,formatValue:p,handleMouseEnter:m,handleMouseLeave:y,onButtonDown:b,onKeyDown:w,setPosition:S}=Iq(o,s,a),{hovering:k,dragging:x}=Rn(s);return t({onButtonDown:b,onKeyDown:w,setPosition:S,hovering:k,dragging:x}),(N,$)=>(E(),F("div",{ref_key:"button",ref:c,class:A([i(l).e("button-wrapper"),{hover:i(k),dragging:i(x)}]),style:Fe(i(g)),tabindex:i(u)?void 0:0,onMouseenter:$[0]||($[0]=(...T)=>i(m)&&i(m)(...T)),onMouseleave:$[1]||($[1]=(...T)=>i(y)&&i(y)(...T)),onMousedown:$[2]||($[2]=(...T)=>i(b)&&i(b)(...T)),onFocus:$[3]||($[3]=(...T)=>i(m)&&i(m)(...T)),onBlur:$[4]||($[4]=(...T)=>i(y)&&i(y)(...T)),onKeydown:$[5]||($[5]=(...T)=>i(w)&&i(w)(...T))},[ee(i(Hn),{ref_key:"tooltip",ref:d,visible:i(h),placement:N.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":N.tooltipClass,disabled:!i(f),persistent:r.value},{content:ie(()=>[M("span",null,ye(i(p)),1)]),default:ie(()=>[M("div",{class:A([i(l).e("button"),{hover:i(k),dragging:i(x)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled","persistent"])],46,Pq))}}),pw=Rq;const Aq=Te({mark:{type:ne([String,Object]),default:void 0}});var Dq=fe({name:"ElSliderMarker",props:Aq,setup(e){const t=ke("slider"),n=C(()=>Ve(e.mark)?e.mark:e.mark.label),o=C(()=>Ve(e.mark)?void 0:e.mark.style);return()=>De("div",{class:t.e("marks-text"),style:o.value},n.value)}});const Lq=["id","role","aria-label","aria-labelledby"],Bq={key:1};var Vq=fe({name:"ElSlider",__name:"slider",props:Cq,emits:kq,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("slider"),{t:s}=Tt(),r=zt({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:u,slider:c,firstButton:d,secondButton:f,sliderDisabled:v,minValue:h,maxValue:g,runwayStyle:p,barStyle:m,resetSize:y,emitChange:b,onSliderWrapperPrevent:w,onSliderClick:S,onSliderDown:k,onSliderMarkerDown:x,setFirstValue:N,setSecondValue:$}=$q(o,r,a),{stops:T,getStopStyle:I}=Tq(o,r,h,g),{inputId:P,isLabeledByFormItem:_}=Ro(o,{formItemContext:u}),H=Nn(),L=C(()=>o.inputSize||H.value),z=C(()=>o.showInput&&!o.range&&o.step!=="mark"),O=C(()=>o.ariaLabel||s("el.slider.defaultLabel",{min:o.min,max:o.max})),R=C(()=>o.range?o.rangeStartLabel||s("el.slider.defaultRangeStartLabel"):O.value),D=C(()=>o.formatValueText?o.formatValueText(J.value):`${J.value}`),K=C(()=>o.rangeEndLabel||s("el.slider.defaultRangeEndLabel")),V=C(()=>o.formatValueText?o.formatValueText(ae.value):`${ae.value}`),Y=C(()=>[l.b(),l.m(H.value),l.is("vertical",o.vertical),{[l.m("with-input")]:z.value}]),G=Eq(o);Nq(o,r,h,g,a,u);const q=C(()=>We(o.step)?o.step:1),X=C(()=>{const oe=We(o.step)?o.step:1,re=[o.min,o.max,oe].map(W=>{const te=`${W}`.split(".")[1];return te?te.length:0});return Math.max.apply(null,re)}),{sliderWrapper:Z}=xq(o,r,y),{firstValue:J,secondValue:ae,sliderSize:ve}=Rn(r),me=oe=>{r.dragging=oe};return Wt(Z,"touchstart",w,{passive:!1}),Wt(Z,"touchmove",w,{passive:!1}),kt(i$,{...Rn(o),sliderSize:ve,disabled:v,precision:X,markList:G,emitChange:b,resetSize:y,updateDragging:me}),t({onSliderClick:S}),(oe,re)=>(E(),F("div",{id:oe.range?i(P):void 0,ref_key:"sliderWrapper",ref:Z,class:A(Y.value),role:oe.range?"group":void 0,"aria-label":oe.range&&!i(_)?O.value:void 0,"aria-labelledby":oe.range&&i(_)?i(u)?.labelId:void 0},[M("div",{ref_key:"slider",ref:c,class:A([i(l).e("runway"),{"show-input":z.value},i(l).is("disabled",i(v))]),style:Fe(i(p)),onMousedown:re[0]||(re[0]=(...W)=>i(k)&&i(k)(...W)),onTouchstartPassive:re[1]||(re[1]=(...W)=>i(k)&&i(k)(...W))},[M("div",{class:A(i(l).e("bar")),style:Fe(i(m))},null,6),ee(pw,{id:oe.range?void 0:i(P),ref_key:"firstButton",ref:d,"model-value":i(J),vertical:oe.vertical,"tooltip-class":oe.tooltipClass,placement:oe.placement,role:"slider","aria-label":oe.range||!i(_)?R.value:void 0,"aria-labelledby":!oe.range&&i(_)?i(u)?.labelId:void 0,"aria-valuemin":oe.min,"aria-valuemax":oe.range?i(ae):oe.max,"aria-valuenow":i(J),"aria-valuetext":D.value,"aria-orientation":oe.vertical?"vertical":"horizontal","aria-disabled":i(v),"onUpdate:modelValue":i(N)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),oe.range?(E(),de(pw,{key:0,ref_key:"secondButton",ref:f,"model-value":i(ae),vertical:oe.vertical,"tooltip-class":oe.tooltipClass,placement:oe.placement,role:"slider","aria-label":K.value,"aria-valuemin":i(J),"aria-valuemax":oe.max,"aria-valuenow":i(ae),"aria-valuetext":V.value,"aria-orientation":oe.vertical?"vertical":"horizontal","aria-disabled":i(v),"onUpdate:modelValue":i($)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):se("v-if",!0),oe.showStops?(E(),F("div",Bq,[(E(!0),F(Oe,null,mt(i(T),(W,te)=>(E(),F("div",{key:te,class:A(i(l).e("stop")),style:Fe(i(I)(W))},null,6))),128))])):se("v-if",!0),i(G).length>0?(E(),F(Oe,{key:2},[M("div",null,[(E(!0),F(Oe,null,mt(i(G),(W,te)=>(E(),F("div",{key:te,style:Fe(i(I)(W.position)),class:A([i(l).e("stop"),i(l).e("marks-stop")])},null,6))),128))]),M("div",{class:A(i(l).e("marks"))},[(E(!0),F(Oe,null,mt(i(G),(W,te)=>(E(),de(i(Dq),{key:te,mark:W.mark,style:Fe(i(I)(W.position)),onMousedown:et(j=>i(x)(W.position),["stop"])},null,8,["mark","style","onMousedown"]))),128))],2)],64)):se("v-if",!0)],38),z.value?(E(),de(i(n$),{key:0,ref:"input","model-value":i(J),class:A(i(l).e("input")),step:q.value,disabled:i(v),controls:oe.showInputControls,min:oe.min,max:oe.max,precision:X.value,size:L.value,"onUpdate:modelValue":i(N),onChange:i(b)},null,8,["model-value","class","step","disabled","controls","min","max","precision","size","onUpdate:modelValue","onChange"])):se("v-if",!0)],10,Lq))}}),Fq=Vq;const zq=ut(Fq),Hq=Te({prefixCls:{type:String}}),vw=fe({name:"ElSpaceItem",props:Hq,setup(e,{slots:t}){const n=ke("space"),o=C(()=>`${e.prefixCls||n.b()}__item`);return()=>De("div",{class:o.value},ue(t,"default"))}}),hw={small:8,default:12,large:16};function Kq(e){const t=ke("space"),n=C(()=>[t.b(),t.m(e.direction),e.class]),o=B(0),a=B(0),l=C(()=>[e.wrap||e.fill?{flexWrap:"wrap"}:{},{alignItems:e.alignment},{rowGap:`${a.value}px`,columnGap:`${o.value}px`},e.style]),s=C(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return uo(()=>{const{size:r="small",wrap:u,direction:c,fill:d}=e;if(xe(r)){const[f=0,v=0]=r;o.value=f,a.value=v}else{let f;We(r)?f=r:f=hw[r||"small"]||hw.small,(u||d)&&c==="horizontal"?o.value=a.value=f:c==="horizontal"?(o.value=f,a.value=0):(a.value=f,o.value=0)}}),{classes:n,containerStyle:l,itemStyle:s}}const Wq=Te({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:ne([String,Object,Array,Boolean]),default:""},style:{type:ne([String,Array,Object,Boolean]),default:""},alignment:{type:ne(String),default:"center"},prefixCls:{type:String},spacer:{type:ne([Object,String,Number,Array]),default:null,validator:e=>Qt(e)||We(e)||Ve(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:Ca,validator:e=>We(e)||xe(e)&&e.length===2&&e.every(We)}}),jq=fe({name:"ElSpace",props:Wq,setup(e,{slots:t}){const{classes:n,containerStyle:o,itemStyle:a}=Kq(e);function l(s,r="",u=[]){const{prefixCls:c}=e;return s.forEach((d,f)=>{yh(d)?xe(d.children)&&d.children.forEach((v,h)=>{yh(v)&&xe(v.children)?l(v.children,`${r+h}-`,u):Qt(v)&&v?.type===$n?u.push(v):u.push(ee(vw,{style:a.value,prefixCls:c,key:`nested-${r+h}`},{default:()=>[v]},12,["style","prefixCls"]))}):CL(d)&&u.push(ee(vw,{style:a.value,prefixCls:c,key:`LoopKey${r+f}`},{default:()=>[d]},12,["style","prefixCls"]))}),u}return()=>{const{spacer:s,direction:r}=e,u=ue(t,"default",{key:0},()=>[]);if((u.children??[]).length===0)return null;if(xe(u.children)){let c=l(u.children);if(s){const d=c.length-1;c=c.reduce((f,v,h)=>{const g=[...f,v];return h!==d&&g.push(ee("span",{style:[a.value,r==="vertical"?"width: 100%":null],key:h},[Qt(s)?ya(s):ze(s,1)],4)),g},[])}return ee("div",{class:n.value,style:o.value},c,6)}return u.children}}}),Yq=ut(jq),Uq=Te({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),qq={[xt]:(e,t)=>[e,t].every(We)},u$="ElSteps",Gq=Te({title:{type:String,default:""},icon:{type:Gt},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}});var Xq=fe({name:"ElSteps",__name:"steps",props:Uq,emits:qq,setup(e,{emit:t}){const n=e,o=t,a=ke("steps"),{children:l,addChild:s,removeChild:r,ChildrenSorter:u}=yp(ct(),"ElStep");return pe(l,()=>{l.value.forEach((c,d)=>{c.setIndex(d)})}),kt(u$,{props:n,steps:l,addStep:s,removeStep:r}),pe(()=>n.active,(c,d)=>{o(xt,c,d)}),(c,d)=>(E(),F("div",{class:A([i(a).b(),i(a).m(e.simple?"simple":e.direction)])},[ue(c.$slots,"default"),ee(i(u))],2))}}),Zq=Xq,Jq=fe({name:"ElStep",__name:"item",props:Gq,setup(e){const t=e,n=ke("step"),o=B(-1),a=B({}),l=B(""),s=Be(u$),r=ct();let u=0,c=0;st(()=>{pe([()=>s.props.active,()=>s.props.processStatus,()=>s.props.finishStatus],([$],[T])=>{c=T||0,u=$-c,x($)},{immediate:!0})});const d=C(()=>t.status||l.value),f=C(()=>{const $=s.steps.value[o.value-1];return $?$.internalStatus.value:"wait"}),v=C(()=>s.props.alignCenter),h=C(()=>s.props.direction==="vertical"),g=C(()=>s.props.simple),p=C(()=>s.steps.value.length),m=C(()=>s.steps.value[p.value-1]?.uid===r.uid),y=C(()=>g.value?"":s.props.space),b=C(()=>[n.b(),n.is(g.value?"simple":s.props.direction),n.is("flex",m.value&&!y.value&&!v.value),n.is("center",v.value&&!h.value&&!g.value)]),w=C(()=>{const $={flexBasis:We(y.value)?`${y.value}px`:y.value?y.value:`${100/(p.value-(v.value?0:1))}%`};return h.value||m.value&&($.maxWidth=`${100/p.value}%`),$}),S=$=>{o.value=$},k=$=>{const T=$==="wait",I={transitionDelay:`${Math.abs(u)===1?0:u>0?(o.value+1-c)*150:-(o.value+1-s.props.active)*150}ms`},P=$===s.props.processStatus||T?0:100;I.borderWidth=P&&!g.value?"1px":0,I[s.props.direction==="vertical"?"height":"width"]=`${P}%`,a.value=I},x=$=>{$>o.value?l.value=s.props.finishStatus:$===o.value&&f.value!=="error"?l.value=s.props.processStatus:l.value="wait";const T=s.steps.value[o.value-1];T&&T.calcProgress(l.value)},N={uid:r.uid,getVnode:()=>r.vnode,currentStatus:d,internalStatus:l,setIndex:S,calcProgress:k};return s.addStep(N),Ht(()=>{s.removeStep(N)}),($,T)=>(E(),F("div",{style:Fe(w.value),class:A(b.value)},[se(" icon & line "),M("div",{class:A([i(n).e("head"),i(n).is(d.value)])},[g.value?se("v-if",!0):(E(),F("div",{key:0,class:A(i(n).e("line"))},[M("i",{class:A(i(n).e("line-inner")),style:Fe(a.value)},null,6)],2)),M("div",{class:A([i(n).e("icon"),i(n).is(e.icon||$.$slots.icon?"icon":"text")])},[ue($.$slots,"icon",{},()=>[e.icon?(E(),de(i(He),{key:0,class:A(i(n).e("icon-inner"))},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1},8,["class"])):d.value==="success"?(E(),de(i(He),{key:1,class:A([i(n).e("icon-inner"),i(n).is("status")])},{default:ie(()=>[ee(i(si))]),_:1},8,["class"])):d.value==="error"?(E(),de(i(He),{key:2,class:A([i(n).e("icon-inner"),i(n).is("status")])},{default:ie(()=>[ee(i(la))]),_:1},8,["class"])):g.value?se("v-if",!0):(E(),F("div",{key:3,class:A(i(n).e("icon-inner"))},ye(o.value+1),3))])],2)],2),se(" title & description "),M("div",{class:A(i(n).e("main"))},[M("div",{class:A([i(n).e("title"),i(n).is(d.value)])},[ue($.$slots,"title",{},()=>[ze(ye(e.title),1)])],2),g.value?(E(),F("div",{key:0,class:A(i(n).e("arrow"))},null,2)):(E(),F("div",{key:1,class:A([i(n).e("description"),i(n).is(d.value)])},[ue($.$slots,"description",{},()=>[ze(ye(e.description),1)])],2))],2)],6))}}),c$=Jq;const Qq=ut(Zq,{Step:c$}),eG=un(c$),d$=e=>["",...Ca].includes(e),tG=Te({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:d$},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:Gt},activeActionIcon:{type:Gt},activeIcon:{type:Gt},inactiveIcon:{type:Gt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:ne(Function)},id:String,tabindex:{type:[String,Number]},...co(["ariaLabel"])}),nG={[at]:e=>qt(e)||Ve(e)||We(e),[xt]:e=>qt(e)||Ve(e)||We(e),[Tn]:e=>qt(e)||Ve(e)||We(e)},oG=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],aG=["aria-hidden"],lG={key:1},sG={key:1},rG=["aria-hidden"],Yc="ElSwitch";var iG=fe({name:Yc,__name:"switch",props:tG,emits:nG,setup(e,{expose:t,emit:n}){const o=e,a=n,{formItem:l}=Kn(),s=Nn(),r=ke("switch"),{inputId:u}=Ro(o,{formItemContext:l}),c=cn(C(()=>{if(o.loading)return!0})),d=B(o.modelValue!==!1),f=Ct(),v=C(()=>[r.b(),r.m(s.value),r.is("disabled",c.value),r.is("checked",y.value)]),h=C(()=>[r.e("label"),r.em("label","left"),r.is("active",!y.value)]),g=C(()=>[r.e("label"),r.em("label","right"),r.is("active",y.value)]),p=C(()=>({width:pn(o.width)}));pe(()=>o.modelValue,()=>{d.value=!0});const m=C(()=>d.value?o.modelValue:!1),y=C(()=>m.value===o.activeValue);[o.activeValue,o.inactiveValue].includes(m.value)||(Yt(Yc,"model-value must be active-value or inactive-value"),a(at,o.inactiveValue),a(xt,o.inactiveValue),a(Tn,o.inactiveValue)),pe(y,k=>{f.value.checked=k,o.validateEvent&&l?.validate?.("change").catch(ht)});const b=()=>{const k=y.value?o.inactiveValue:o.activeValue;a(at,k),a(xt,k),a(Tn,k),Pe(()=>{f.value.checked=y.value})},w=()=>{if(c.value)return;const{beforeChange:k}=o;if(!k){b();return}const x=k();[ns(x),qt(x)].includes(!0)||rn(Yc,"beforeChange must return type `Promise` or `boolean`"),ns(x)?x.then(N=>{N&&b()}).catch(N=>{Yt(Yc,`some error occurred: ${N}`)}):x&&b()},S=()=>{f.value?.focus?.()};return st(()=>{f.value.checked=y.value}),t({focus:S,checked:y}),(k,x)=>(E(),F("div",{class:A(v.value),onClick:et(w,["prevent"])},[M("input",{id:i(u),ref_key:"input",ref:f,class:A(i(r).e("input")),type:"checkbox",role:"switch","aria-checked":y.value,"aria-disabled":i(c),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:i(c),tabindex:e.tabindex,onChange:b,onKeydown:sn(w,["enter"])},null,42,oG),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||k.$slots.inactive)?(E(),F("span",{key:0,class:A(h.value)},[ue(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.inactiveIcon)))]),_:1})):se("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),F("span",{key:1,"aria-hidden":y.value},ye(e.inactiveText),9,aG)):se("v-if",!0)])],2)):se("v-if",!0),M("span",{class:A(i(r).e("core")),style:Fe(p.value)},[e.inlinePrompt?(E(),F("div",{key:0,class:A(i(r).e("inner"))},[y.value?(E(),F("div",{key:1,class:A(i(r).e("inner-wrapper"))},[ue(k.$slots,"active",{},()=>[e.activeIcon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.activeIcon)))]),_:1})):se("v-if",!0),!e.activeIcon&&e.activeText?(E(),F("span",sG,ye(e.activeText),1)):se("v-if",!0)])],2)):(E(),F("div",{key:0,class:A(i(r).e("inner-wrapper"))},[ue(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.inactiveIcon)))]),_:1})):se("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),F("span",lG,ye(e.inactiveText),1)):se("v-if",!0)])],2))],2)):se("v-if",!0),M("div",{class:A(i(r).e("action"))},[e.loading?(E(),de(i(He),{key:0,class:A(i(r).is("loading"))},{default:ie(()=>[ee(i(sa))]),_:1},8,["class"])):y.value?ue(k.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.activeActionIcon)))]),_:1})):se("v-if",!0)]):y.value?se("v-if",!0):ue(k.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.inactiveActionIcon)))]),_:1})):se("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||k.$slots.active)?(E(),F("span",{key:1,class:A(g.value)},[ue(k.$slots,"active",{},()=>[e.activeIcon?(E(),de(i(He),{key:0},{default:ie(()=>[(E(),de(dt(e.activeIcon)))]),_:1})):se("v-if",!0),!e.activeIcon&&e.activeText?(E(),F("span",{key:1,"aria-hidden":!y.value},ye(e.activeText),9,rG)):se("v-if",!0)])],2)):se("v-if",!0)],2))}}),uG=iG;const cG=ut(uG),dG={data:{type:Array,default:()=>[]},size:On,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array,Boolean],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};let fG=1,pG=1;const vG=e=>`${e}-table_${fG++}`,hG=e=>`${e}_column_${pG++}`,Iv=function(e){return e.target?.closest("td")},mG=function(e,t,n,o,a){if(!t&&!o&&(!a||xe(a)&&!a.length))return e;Ve(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const l=o?null:function(r,u){return a?Vk(Bn(a),c=>Ve(c)?Cn(r,c):c(r,u,e)):(t!=="$key"&<(r)&&"$value"in r&&(r=r.$value),[lt(r)?t?Cn(r,t):null:r])},s=function(r,u){if(o)return o(r.value,u.value);for(let c=0,d=r.key?.length??0;cu.key?.[c])return 1}return 0};return e.map((r,u)=>({value:r,index:u,key:l?l(r,u):null})).sort((r,u)=>{let c=s(r,u);return c||(c=r.index-u.index),c*+n}).map(r=>r.value)},f$=function(e,t){let n=null;return e.columns.forEach(o=>{o.id===t&&(n=o)}),n},gG=function(e,t){let n=null;for(let o=0;o{if(!e)throw new Error("Row is required when get row identity");if(Ve(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let o=e;for(const a of n)o=o[a];return`${o}`}else if(je(t))return t.call(null,e);return""},zr=function(e,t,n=!1,o="children"){const a=e||[],l={};return a.forEach((s,r)=>{if(l[xn(s,t)]={row:s,index:r},n){const u=s[o];xe(u)&&Object.assign(l,zr(u,t,!0,o))}}),l};function yG(e,t){const n={};let o;for(o in e)n[o]=e[o];for(o in t)if(Ft(t,o)){const a=t[o];_t(a)||(n[o]=a)}return n}function vy(e){return e===""||_t(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function p$(e){return e===""||_t(e)||(e=vy(e),Number.isNaN(e)&&(e=80)),e}function bG(e){return We(e)?e:Ve(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function wG(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...o)=>t(n(...o)))}function Mr(e,t,n,o,a,l,s){let r=l??0,u=!1;const d=(()=>{if(!s)return e.indexOf(t);const p=xn(t,s);return e.findIndex(m=>xn(m,s)===p)})(),f=d!==-1,v=a?.call(null,t,r),h=p=>{p==="add"?e.push(t):e.splice(d,1),u=!0},g=p=>{let m=0;const y=o?.children&&p[o.children];return y&&xe(y)&&(m+=y.length,y.forEach(b=>{m+=g(b)})),m};return(!a||v)&&(qt(n)?n&&!f?h("add"):!n&&f&&h("remove"):h(f?"remove":"add")),!o?.checkStrictly&&o?.children&&xe(t[o.children])&&t[o.children].forEach(p=>{const m=Mr(e,p,n??!f,o,a,r+1,s);r+=g(p)+1,m&&(u=m)}),u}function SG(e,t,n="children",o="hasChildren",a=!1){const l=r=>!(xe(r)&&r.length);function s(r,u,c){t(r,u,c),u.forEach(d=>{if(d[o]&&a){t(d,null,c+1);return}const f=d[n];l(f)||s(d,f,c+1)})}e.forEach(r=>{if(r[o]&&a){t(r,null,0);return}const u=r[n];l(u)||s(r,u,0)})}const CG=(e,t,n,o)=>{const a=je(o?.tooltipFormatter)?o.tooltipFormatter({row:n,column:o,cellValue:Ql(n,o.property).value}):void 0;return Qt(a)?{slotContent:a,content:null,strategy:"fixed",...e}:{slotContent:null,content:a??t,strategy:"fixed",...e}};let Eo=null;function kG(e,t,n,o,a,l){const s=CG(e,t,n,o),r={...s,slotContent:void 0};if(Eo?.trigger===a){const h=Eo.vm?.component;zk(h?.props,r),h&&s.slotContent&&(h.slots.content=()=>[s.slotContent]);return}Eo?.();const u=l?.refs.tableWrapper,c=u?.dataset.prefix,d=ee(Hn,{virtualTriggering:!0,virtualRef:a,appendTo:u,placement:"top",transition:"none",offset:0,hideAfter:0,...r},s.slotContent?{content:()=>s.slotContent}:void 0);d.appContext={...l.appContext,...l};const f=document.createElement("div");ls(d,f),d.component.exposed.onOpen();const v=u?.querySelector(`.${c}-scrollbar__wrap`);Eo=()=>{d.component?.exposed?.onClose&&d.component.exposed.onClose(),ls(null,f);const h=Eo;v?.removeEventListener("scroll",h),h.trigger=void 0,h.vm=void 0,Eo=null},Eo.trigger=a??void 0,Eo.vm=d,v?.addEventListener("scroll",Eo)}function v$(e){return e.children?Vk(e.children,v$):[e]}function gw(e,t){return e+t.colSpan}const h$=(e,t,n,o)=>{let a=0,l=e;const s=n.states.columns.value;if(o){const u=v$(o[e]);a=s.slice(0,s.indexOf(u[0])).reduce(gw,0),l=a+u.reduce(gw,0)-1}else a=e;let r;switch(t){case"left":l=s.length-n.states.rightFixedLeafColumnsLength.value&&(r="right");break;default:l=s.length-n.states.rightFixedLeafColumnsLength.value&&(r="right")}return r?{direction:r,start:a,after:l}:{}},hy=(e,t,n,o,a,l=0)=>{const s=[],{direction:r,start:u,after:c}=h$(t,n,o,a);if(r){const d=r==="left";s.push(`${e}-fixed-column--${r}`),d&&c+l===o.states.fixedLeafColumnsLength.value-1?s.push("is-last-column"):!d&&u-l===o.states.columns.value.length-o.states.rightFixedLeafColumnsLength.value&&s.push("is-first-column")}return s};function yw(e,t){return e+(sp(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const my=(e,t,n,o)=>{const{direction:a,start:l=0,after:s=0}=h$(e,t,n,o);if(!a)return;const r={},u=a==="left",c=n.states.columns.value;return u?r.left=c.slice(0,l).reduce(yw,0):r.right=c.slice(s+1).reverse().reduce(yw,0),r},ui=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function m$(e){return e.some(t=>Qt(t)?!(t.type===$n||t.type===Oe&&!m$(t.children)):!0)?e:null}function xG(e){const t=ct(),n=B(!1),o=B([]),a=(c,d)=>{const f=t.store.states.rowExpandable.value;return f?.(c,d)??!0};return{updateExpandRows:()=>{const c=e.data.value||[],d=e.rowKey.value;if(n.value)o.value=t.store.states.rowExpandable.value?c.filter(a):c.slice();else if(d){const f=zr(o.value,d);o.value=c.filter((v,h)=>!!f[xn(v,d)]&&a(v,h))}else o.value=[]},toggleRowExpansion:(c,d)=>{const f=(e.data.value||[]).indexOf(c);f>-1&&!a(c,f)||Mr(o.value,c,d,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",c,o.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const d=e.data.value||[],f=e.rowKey.value,v=zr(d,f);o.value=c.reduce((h,g)=>{const p=v[g];return p&&a(p.row,p.index)&&h.push(p.row),h},[])},isRowExpanded:c=>{const d=e.rowKey.value;return d?!!zr(o.value,d)[xn(c,d)]:o.value.includes(c)},states:{expandRows:o,defaultExpandAll:n}}}function EG(e){const t=ct(),n=B(null),o=B(null),a=c=>{t.store.assertRowKey(),n.value=c,s(c)},l=()=>{n.value=null},s=c=>{const{data:d,rowKey:f}=e,v=o.value;let h=null;f.value&&(h=(i(d)||[]).find(g=>xn(g,f.value)===c)??null),o.value=h??null,t.emit("current-change",o.value,v)};return{setCurrentRowKey:a,restoreCurrentRowKey:l,setCurrentRowByKey:s,updateCurrentRow:c=>{const d=o.value;if(c&&c!==d){o.value=c,t.emit("current-change",o.value,d);return}!c&&d&&(o.value=null,t.emit("current-change",null,d))},updateCurrentRowData:()=>{const c=e.rowKey.value,d=e.data.value||[],f=o.value;f&&!d.includes(f)?c?s(xn(f,c)):(o.value=null,t.emit("current-change",null,f)):n.value&&(s(n.value),l())},states:{_currentRowKey:n,currentRow:o}}}function $G(e){const t=B([]),n=B({}),o=B(16),a=B(!1),l=B({}),s=B("hasChildren"),r=B("children"),u=B(!1),c=ct(),d=C(()=>e.rowKey.value?v(e.data.value||[]):{}),f=C(()=>{const S=e.rowKey.value,k=Object.keys(l.value),x={};return k.length&&k.forEach(N=>{if(l.value[N].length){const $={children:[]};l.value[N].forEach(T=>{const I=xn(T,S);$.children.push(I),T[s.value]&&!x[I]&&(x[I]={children:[]})}),x[N]=$}}),x}),v=S=>{const k=e.rowKey.value,x={};return SG(S,(N,$,T)=>{const I=xn(N,k);xe($)?x[I]={children:$.map(P=>xn(P,k)),level:T}:a.value&&(x[I]={children:[],lazy:!0,level:T})},r.value,s.value,a.value),x},h=(S=!1,k)=>{k||=c.store?.states.defaultExpandAll.value;const x=d.value,N=f.value,$=Object.keys(x),T={};if($.length){const I=i(n),P=[],_=(L,z)=>{if(S)return t.value?k||t.value.includes(z):!!(k||L?.expanded);{const O=k||t.value&&t.value.includes(z);return!!(L?.expanded||O)}};$.forEach(L=>{const z=I[L],O={...x[L]};if(O.expanded=_(z,L),O.lazy){const{loaded:R=!1,loading:D=!1}=z||{};O.loaded=!!R,O.loading=!!D,P.push(L)}T[L]=O});const H=Object.keys(N);a.value&&H.length&&P.length&&H.forEach(L=>{const z=I[L],O=N[L].children;if(P.includes(L)){if(T[L].children?.length!==0)throw new Error("[ElTable]children must be an empty array.");T[L].children=O}else{const{loaded:R=!1,loading:D=!1}=z||{};T[L]={lazy:!0,loaded:!!R,loading:!!D,expanded:_(z,L),children:O,level:void 0}}})}n.value=T,c.store?.updateTableScrollY()};pe(()=>t.value,()=>{h(!0)},{deep:!0}),pe(()=>d.value,()=>{h()}),pe(()=>f.value,()=>{h()});const g=S=>{t.value=S,h()},p=S=>a.value&&S&&"loaded"in S&&!S.loaded,m=(S,k)=>{c.store.assertRowKey();const x=e.rowKey.value,N=xn(S,x),$=N&&n.value[N];if(N&&$&&"expanded"in $){const T=$.expanded;k=_t(k)?!$.expanded:k,n.value[N].expanded=k,T!==k&&c.emit("expand-change",S,k),k&&p($)&&b(S,N,$),c.store.updateTableScrollY()}},y=S=>{c.store.assertRowKey();const k=e.rowKey.value,x=xn(S,k),N=n.value[x];p(N)?b(S,x,N):m(S,void 0)},b=(S,k,x)=>{const{load:N}=c.props;N&&!n.value[k].loaded&&(n.value[k].loading=!0,N(S,x,$=>{if(!xe($))throw new TypeError("[ElTable] data must be an array");n.value[k].loading=!1,n.value[k].loaded=!0,n.value[k].expanded=!0,$.length&&(l.value={...l.value,[k]:$}),c.emit("expand-change",S,!0)}))};return{loadData:b,loadOrToggle:y,toggleTreeExpansion:m,updateTreeExpandKeys:g,updateTreeData:h,updateKeyChildren:(S,k)=>{const{lazy:x,rowKey:N}=c.props;if(x){if(!N)throw new Error("[Table] rowKey is required in updateKeyChild");l.value[S]&&(l.value={...l.value,[S]:k})}},normalize:v,states:{expandRowKeys:t,treeData:n,indent:o,lazy:a,lazyTreeNodeMap:l,lazyColumnIdentifier:s,childrenColumnName:r,checkStrictly:u}}}const TG=(e,t)=>{const n=t.sortingColumn;return!n||Ve(n.sortable)?e:mG(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},xd=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,xd(n.children)):t.push(n)}),t};function NG(){const e=ct(),{size:t}=Rn(e.proxy?.$props),n=B(null),o=B([]),a=B([]),l=B(!1),s=B([]),r=B([]),u=B([]),c=B([]),d=B([]),f=B([]),v=B([]),h=B([]),g=[],p=B(0),m=B(0),y=B(0),b=B(!1),w=B([]),S=B({}),k=B(!1),x=B(!1),N=B(null),$=B(null),T=B({}),I=B(null),P=B(null),_=B(null),H=B(null),L=B(null);let z=[];const O=C(()=>n.value?zr(w.value,n.value):void 0),R=Le=>{const{childrenColumnName:nt,lazyTreeNodeMap:vt}=e.store.states,rt=Le[nt.value]??[];if(!n.value)return rt;const St=xn(Le,n.value);return[...vt.value?.[St]??[],...rt]};pe(o,()=>{e.state&&(Y(!1),e.props.tableLayout==="auto"&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});const D=()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},K=Le=>{Le.children?.forEach(nt=>{nt.fixed=Le.fixed,K(nt)})},V=()=>{s.value.forEach(pt=>{K(pt)}),c.value=s.value.filter(pt=>[!0,"left"].includes(pt.fixed));const Le=s.value.find(pt=>pt.type==="selection");let nt;Le&&Le.fixed!=="right"&&!c.value.includes(Le)&&s.value.indexOf(Le)===0&&c.value.length&&(c.value.unshift(Le),nt=!0),d.value=s.value.filter(pt=>pt.fixed==="right");const vt=s.value.filter(pt=>(nt?pt.type!=="selection":!0)&&!pt.fixed);r.value=Array.from(c.value).concat(vt).concat(d.value);const rt=xd(vt),St=xd(c.value),It=xd(d.value);p.value=rt.length,m.value=St.length,y.value=It.length,u.value=Array.from(St).concat(rt).concat(It),l.value=c.value.length>0||d.value.length>0},Y=(Le,nt=!1)=>{Le&&V(),nt?e.state.doLayout():e.state.debouncedUpdateLayout()},G=Le=>O.value?!!O.value[xn(Le,n.value)]:w.value.includes(Le),q=C(()=>{const Le=new Map;if(!n.value||!N.value)return Le;let nt=0;const vt=rt=>{xe(rt)&&rt.forEach(St=>{const It=xn(St,n.value);Le.set(It,nt),nt+=1;const pt=R(St);pt.length&&vt(pt)})};return vt(o.value||[]),Le}),X=(Le={})=>{const{emitChange:nt=!0}=Le;if(Rt.checkStrictly.value||!n.value){S.value={},z=[];return}const vt=n.value,rt=Le.rowIndexMap??q.value,St=N.value,It=new WeakMap,pt=Ye=>{const Bt=It.get(Ye);if(Bt)return Bt;const Zt=xn(Ye,vt);return It.set(Ye,Zt),Zt},Jt={},vn=[],Ke=new Set(w.value.map(Ye=>pt(Ye))),Je=[];let it=!1;const Ie=(Ye,Bt,Zt)=>{const gn=Ke.has(Bt);Zt&&!gn?(Je.push(Ye),Ke.add(Bt),it=!0):!Zt&&gn&&(Ke.delete(Bt),it=!0)},Xe=Ye=>{let Bt=0,Zt=0;return xe(Ye)?(Ye.forEach(gn=>{const Qn=pt(gn),Co=R(gn);let Ta=0,Dl=0;if(Co.length){const ol=Xe(Co);Ta=ol.selectedCount,Dl=ol.selectableCount}const mr=St?St.call(null,gn,rt.get(Qn)??0):!0;if(mr&&Dl>0){const ol=Ta===Dl;!ol&&Ta!==0&&(Jt[Qn]=!0,vn.push(gn)),Ie(gn,Qn,ol)}mr&&(Zt+=1,Ke.has(Qn)&&(Bt+=1)),Bt+=Ta,Zt+=Dl}),{selectedCount:Bt,selectableCount:Zt}):{selectedCount:Bt,selectableCount:Zt}};if(Xe(o.value||[]),it){const Ye=w.value.filter(Bt=>Ke.has(pt(Bt)));Je.forEach(Bt=>{Ke.has(pt(Bt))&&Ye.push(Bt)}),w.value=Ye}S.value=Jt,z=vn,it&&nt&&e.emit("selection-change",w.value?w.value.slice():[])},Z=()=>{b.value=!1;const Le=w.value;w.value=[],S.value={},z=[],Le.length&&e.emit("selection-change",[])},J=()=>{let Le;if(n.value){Le=[];const nt=e?.store?.states?.childrenColumnName.value,vt=zr(o.value,n.value,!0,nt),{lazyTreeNodeMap:rt}=e.store.states;rt.value&&Object.entries(rt.value).forEach(([St,It])=>{vt[St]&&It.forEach(pt=>{const Jt=xn(pt,n.value);vt[Jt]||(vt[Jt]={row:pt,index:-1})})});for(const St in O.value)Ft(O.value,St)&&!vt[St]&&Le.push(O.value[St].row)}else Le=w.value.filter(nt=>!o.value.includes(nt));if(Le.length){const nt=w.value.filter(vt=>!Le.includes(vt));w.value=nt,X({emitChange:!1}),e.emit("selection-change",[...nt])}},ae=()=>(w.value||[]).slice(),ve=()=>z.slice(),me=(Le,nt,vt)=>{if(!n.value||Rt.checkStrictly.value||!Rt.lazy.value)return;const{lazyTreeNodeMap:rt,childrenColumnName:St}=e.store.states,It=xn(Le,n.value),pt=rt.value?.[It]??[],Jt=Le[St.value]??[],vn={children:St.value,checkStrictly:!1};for(const Ke of pt){const Je=vt.get(xn(Ke,n.value))??0;Mr(w.value,Ke,nt,vn,N.value,Je,n.value),me(Ke,nt,vt)}for(const Ke of Jt)me(Ke,nt,vt)},oe=(Le,nt,vt=!0,rt=!1)=>{const St={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(Mr(w.value,Le,nt,St,rt?void 0:N.value,o.value.indexOf(Le),n.value)){Rt.lazy.value&&!Rt.checkStrictly.value?(me(Le,nt??G(Le),q.value),X({emitChange:!1,rowIndexMap:q.value})):X({emitChange:!1});const It=(w.value||[]).slice();vt&&e.emit("select",It,Le),e.emit("selection-change",It)}},re=()=>{const Le=x.value?!b.value:!(b.value||w.value.length);b.value=Le;let nt=!1,vt=0;const rt=e?.store?.states?.rowKey.value,{childrenColumnName:St}=e.store.states,It={children:St.value,checkStrictly:!1};o.value.forEach((Jt,vn)=>{const Ke=vn+vt;Mr(w.value,Jt,Le,It,N.value,Ke,rt)&&(nt=!0),vt+=j(xn(Jt,rt))});const pt=q.value;if(Rt.lazy.value&&!Rt.checkStrictly.value&&rt)for(const Jt of Object.values(Rt.lazyTreeNodeMap.value))for(const vn of Jt){const Ke=pt.get(xn(vn,rt))??0;Mr(w.value,vn,Le,It,N.value,Ke,rt)&&(nt=!0),me(vn,Le,pt)}X({emitChange:!1,rowIndexMap:pt}),nt&&e.emit("selection-change",w.value?[...w.value]:[]),e.emit("select-all",(w.value||[]).slice())},W=()=>{if(o.value?.length===0){b.value=!1;return}let Le=0,nt=0;const vt=St=>{for(const It of St){const pt=N.value&&N.value.call(null,It,Le);if(G(It))nt++;else if(!N.value||pt)return!1;Le++;const Jt=R(It);if(Jt.length&&!vt(Jt))return!1}return!0},rt=vt(o.value||[]);b.value=nt===0?!1:rt},te=Le=>{if(!n.value)return!1;const nt=xn(Le,n.value);return!!S.value[nt]},j=Le=>{if(!e||!e.store)return 0;const{treeData:nt}=e.store.states;let vt=0;const rt=nt.value[Le]?.children;return rt&&(vt+=rt.length,rt.forEach(St=>{vt+=j(St)})),vt},U=(Le,nt)=>{const vt={};return Bn(Le).forEach(rt=>{T.value[rt.id]=nt,vt[rt.columnKey||rt.id]=nt}),vt},Q=(Le,nt,vt)=>{P.value&&P.value!==Le&&(P.value.order=null),P.value=Le,_.value=nt,H.value=vt},le=()=>{let Le=i(a);Object.keys(T.value).forEach(nt=>{const vt=T.value[nt];if(!vt||vt.length===0)return;const rt=f$({columns:u.value},nt);rt&&rt.filterMethod&&(Le=Le.filter(St=>vt.some(It=>rt.filterMethod.call(null,It,St,rt))))}),I.value=Le},ce=()=>{o.value=TG(I.value??[],{sortingColumn:P.value,sortProp:_.value,sortOrder:H.value})},Ce=(Le=void 0)=>{Le?.filter||le(),ce()},we=Le=>{const{tableHeaderRef:nt}=e.refs;if(!nt)return;const vt=Object.assign({},nt.filterPanels),rt=Object.keys(vt);if(rt.length)if(Ve(Le)&&(Le=[Le]),xe(Le)){const St=Le.map(It=>gG({columns:u.value},It));rt.forEach(It=>{const pt=St.find(Jt=>Jt.id===It);pt&&(pt.filteredValue=[])}),e.store.commit("filterChange",{column:St,values:[],silent:!0,multi:!0})}else rt.forEach(St=>{const It=u.value.find(pt=>pt.id===St);It&&(It.filteredValue=[])}),T.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},he=()=>{P.value&&(Q(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:be,toggleRowExpansion:ge,updateExpandRows:$e,states:Me,isRowExpanded:Qe}=xG({data:o,rowKey:n}),{updateTreeExpandKeys:tt,toggleTreeExpansion:qe,updateTreeData:Et,updateKeyChildren:At,loadOrToggle:Kt,states:Rt}=$G({data:o,rowKey:n}),{updateCurrentRowData:Ut,updateCurrentRow:Se,setCurrentRowKey:_e,states:Ze}=EG({data:o,rowKey:n}),Ne=Le=>{be(Le),tt(Le)},Ge=(Le,nt)=>{u.value.some(({type:vt})=>vt==="expand")?ge(Le,nt):qe(Le,nt)};return pe(()=>Rt.checkStrictly.value,Le=>{Le?(S.value={},z=[]):X({emitChange:!1}),W()}),pe(()=>Rt.lazyTreeNodeMap.value,()=>{if(!Rt.lazy.value||Rt.checkStrictly.value||!n.value)return;const Le=q.value,nt=w.value.length;for(const rt of Object.keys(Rt.lazyTreeNodeMap.value))O.value?.[rt]&&me(O.value[rt].row,!0,Le);const vt=w.value.length!==nt;X({emitChange:!vt,rowIndexMap:Le}),W(),vt&&e.emit("selection-change",[...w.value])}),{assertRowKey:D,updateColumns:V,scheduleLayout:Y,isSelected:G,clearSelection:Z,cleanSelection:J,getSelectionRows:ae,getHalfSelectionRows:ve,toggleRowSelection:oe,_toggleAllSelection:re,toggleAllSelection:null,updateAllSelected:W,updateSelectionByChildren:X,getRowIndeterminate:te,updateFilters:U,updateCurrentRow:Se,updateSort:Q,execFilter:le,execSort:ce,execQuery:Ce,clearFilter:we,clearSort:he,toggleRowExpansion:ge,setExpandRowKeysAdapter:Ne,setCurrentRowKey:_e,toggleRowExpansionAdapter:Ge,isRowExpanded:Qe,updateExpandRows:$e,updateCurrentRowData:Ut,loadOrToggle:Kt,updateTreeData:Et,updateKeyChildren:At,states:{tableSize:t,rowKey:n,data:o,_data:a,isComplex:l,_columns:s,originColumns:r,columns:u,fixedColumns:c,rightFixedColumns:d,leafColumns:f,fixedLeafColumns:v,rightFixedLeafColumns:h,updateOrderFns:g,leafColumnsLength:p,fixedLeafColumnsLength:m,rightFixedLeafColumnsLength:y,isAllSelected:b,selection:w,selectionIndeterminate:S,reserveSelection:k,selectOnIndeterminate:x,selectable:N,rowExpandable:$,filters:T,filteredData:I,sortingColumn:P,sortProp:_,sortOrder:H,hoverRow:L,...Me,...Rt,...Ze}}}function em(e,t){return e.map(n=>n.id===t.id?t:(n.children?.length&&(n.children=em(n.children,t)),n))}function tm(e){e.forEach(t=>{t.no=t.getColumnIndex?.(),t.children?.length&&tm(t.children)}),e.sort((t,n)=>t.no-n.no)}function _G(){const e=ct(),t=NG(),n=ke("table"),{t:o}=Tt();return{ns:n,t:o,...t,mutations:{setData(r,u){const c=i(r._data)!==u;r.data.value=u,r._data.value=u,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),i(r.reserveSelection)?e.store.assertRowKey():c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateSelectionByChildren({emitChange:!1}),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(r,u,c,d){const f=i(r._columns);let v=[];c?(c&&!c.children&&(c.children=[]),c.children?.push(u),v=em(f,c)):(f.push(u),v=f),tm(v),r._columns.value=v,r.updateOrderFns.push(d),u.type==="selection"&&(r.selectable.value=u.selectable,r.reserveSelection.value=u.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(r,u){u.getColumnIndex?.()!==u.no&&(tm(r._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(r,u,c,d){const f=i(r._columns)||[];if(c)c.children?.splice(c.children.findIndex(h=>h.id===u.id),1),Pe(()=>{c.children?.length===0&&delete c.children}),r._columns.value=em(f,c);else{const h=f.indexOf(u);h>-1&&(f.splice(h,1),r._columns.value=f)}const v=r.updateOrderFns.indexOf(d);v>-1&&r.updateOrderFns.splice(v,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(r,u){const{prop:c,order:d,init:f}=u;if(c){const v=i(r.columns).find(h=>h.property===c);v&&(v.order=d,e.store.updateSort(v,c,d),e.store.commit("changeSortCondition",{init:f}))}},changeSortCondition(r,u){const{sortingColumn:c,sortProp:d,sortOrder:f}=r,v=i(c),h=i(d),g=i(f);sp(g)&&(r.sortingColumn.value=null,r.sortProp.value=null),e.store.execQuery({filter:!0}),(!u||!(u.silent||u.init))&&e.emit("sort-change",{column:v,prop:h,order:g}),e.store.updateTableScrollY()},filterChange(r,u){const{column:c,values:d,silent:f}=u,v=e.store.updateFilters(c,d);e.store.execQuery(),f||e.emit("filter-change",v),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(r,u){e.store.toggleRowSelection(u),e.store.updateAllSelected()},setHoverRow(r,u){r.hoverRow.value=u},setCurrentRow(r,u){e.store.updateCurrentRow(u)}},commit:function(r,...u){const c=e.store.mutations;if(c[r])c[r].apply(e,[e.store.states,...u]);else throw new Error(`Action not found: ${r}`)},updateTableScrollY:function(){Pe(()=>e.layout.updateScrollY.apply(e.layout))}}}const gy={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function IG(e,t){if(!e)throw new Error("Table is required.");const n=_G();return n.toggleAllSelection=ja(n._toggleAllSelection,10),Object.keys(gy).forEach(o=>{g$(y$(t,o),o,n)}),MG(n,t),n}function MG(e,t){Object.keys(gy).forEach(n=>{pe(()=>y$(t,n),o=>{g$(o,n,e)})})}function g$(e,t,n){let o=e,a=gy[t];lt(a)&&(o=o||a.default,a=a.key),n.states[a].value=o}function y$(e,t){if(t.includes(".")){const n=t.split(".");let o=e;return n.forEach(a=>{o=o[a]}),o}else return e[t]}var OG=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.heightMap={},this.height=B(null),this.scrollX=B(!1),this.scrollY=B(!1),this.bodyWidth=B(null),this.fixedWidth=B(null),this.rightFixedWidth=B(null),this.gutterWidth=0;for(const t in e)Ft(e,t)&&(gt(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(sp(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let n=!0;const o=this.scrollY.value;return n=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=n,o!==n}return!1}setHeight(e,t="height"){if(!Lt)return;const n=this.table.vnode.el;if(e=bG(e),this.height.value=Number(e),this.heightMap[t]=e,!n&&(e||e===0)){Pe(()=>{this.heightMap[t]===e&&this.setHeight(e,t)});return}n&&We(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&Ve(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!Lt)return;const e=this.fit,t=this.table.vnode.el?.clientWidth;let n=0;const o=this.getFlattenColumns(),a=o.filter(r=>!We(r.width));if(o.forEach(r=>{We(r.width)&&r.realWidth&&(r.realWidth=null)}),a.length>0&&e){if(o.forEach(r=>{n+=Number(r.width||r.minWidth||80)}),n<=t){this.scrollX.value=!1;const r=t-n;if(a.length===1)a[0].realWidth=Number(a[0].minWidth||80)+r;else{const u=r/a.reduce((d,f)=>d+Number(f.minWidth||80),0);let c=0;a.forEach((d,f)=>{if(f===0)return;const v=Math.floor(Number(d.minWidth||80)*u);c+=v,d.realWidth=Number(d.minWidth||80)+v}),a[0].realWidth=Number(a[0].minWidth||80)+r-c}}else this.scrollX.value=!0,a.forEach(r=>{r.realWidth=Number(r.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else o.forEach(r=>{!r.width&&!r.minWidth?r.realWidth=80:r.realWidth=Number(r.width||r.minWidth),n+=r.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const l=this.store.states.fixedColumns.value;if(l.length>0){let r=0;l.forEach(u=>{r+=Number(u.realWidth||u.width)}),this.fixedWidth.value=r}const s=this.store.states.rightFixedColumns.value;if(s.length>0){let r=0;s.forEach(u=>{r+=Number(u.realWidth||u.width)}),this.rightFixedWidth.value=r}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case"columns":t.state?.onColumnsChange(this);break;case"scrollable":t.state?.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}};const Ea=Symbol("ElTable"),b$=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,b$(n.children))):t.push(n)}),t},w$=e=>{let t=1;const n=(a,l)=>{if(l&&(a.level=l.level+1,t{n(r,a),s+=r.colSpan}),a.colSpan=s}else a.colSpan=1};e.forEach(a=>{a.level=1,n(a,void 0)});const o=[];for(let a=0;a{a.children?(a.rowSpan=1,a.children.forEach(l=>l.isSubColumn=!0)):a.rowSpan=t-a.level+1,o[a.level-1].push(a)}),o};function PG(e){const t=Be(Ea),n=C(()=>w$(e.store.states.originColumns.value));return{isGroup:C(()=>{const l=n.value.length>1;return l&&t&&(t.state.isGroup.value=!0),l}),toggleAllSelection:l=>{l.stopPropagation(),t?.store.commit("toggleAllSelection")},columnRows:n}}var RG=fe({name:"ElTableFilterPanel",components:{ElCheckbox:ha,ElCheckboxGroup:Zg,ElScrollbar:wa,ElTooltip:Hn,ElIcon:He,ArrowDown:Qa,ArrowUp:bp},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:on.appendTo},setup(e){const t=ct(),{t:n}=Tt(),o=ke("table-filter"),a=t?.parent;e.column&&!a.filterPanels.value[e.column.id]&&(a.filterPanels.value[e.column.id]=t);const l=B(null),s=B(null),r=B(0),u=C(()=>e.column&&e.column.filters),c=C(()=>e.column&&e.column.filterClassName?`${o.b()} ${e.column.filterClassName}`:o.b()),d=C({get:()=>(e.column?.filteredValue||[])[0],set:N=>{if(e.column){const $=[...e.column.filteredValue??[]];Vo(N)?$.splice(0,1):$.splice(0,1,N),e.upDataColumn?.("filteredValue",$)}}}),f=C({get(){return e.column?e.column.filteredValue||[]:[]},set(N){e.column&&e.upDataColumn?.("filteredValue",N)}}),v=C(()=>e.column?e.column.filterMultiple:!0),h=N=>N.value===d.value,g=()=>{l.value?.onClose()},p=()=>{b(f.value),g()},m=()=>{f.value=[],b(f.value),g()},y=(N,$)=>{d.value=N,r.value=$,Vo(N)?b([]):b(f.value),g()},b=N=>{e.store?.commit("filterChange",{column:e.column,values:N}),e.store?.updateAllSelected()},w=()=>{s.value?.focus(),!v.value&&k(),e.column&&e.upDataColumn?.("filterOpened",!0)},S=()=>{e.column&&e.upDataColumn?.("filterOpened",!1)},k=()=>{if(Vo(d)){r.value=0;return}const N=(u.value||[]).findIndex($=>$.value===d.value);r.value=N>=0?N+1:0};return{multiple:v,filterClassName:c,filteredValue:f,filterValue:d,filters:u,handleConfirm:p,handleReset:m,handleSelect:y,isPropAbsent:Vo,isActive:h,t:n,ns:o,tooltipRef:l,rootRef:s,checkedIndex:r,handleShowTooltip:w,handleHideTooltip:S,handleKeydown:N=>{const $=Xt(N),T=(u.value?u.value.length:0)+1;let I=r.value,P=!0;switch($){case Ee.down:case Ee.right:I=(I+1)%T;break;case Ee.up:case Ee.left:I=(I-1+T)%T;break;case Ee.tab:g(),P=!1;break;case Ee.enter:case Ee.space:if(I===0)y(null,0);else{const _=(u.value||[])[I-1];_.value&&y(_.value,I)}break;default:P=!1;break}P&&N.preventDefault(),r.value=I,s.value?.querySelector(`.${o.e("list-item")}:nth-child(${I+1})`)?.focus()}}}});const AG=["disabled"],DG=["tabindex","aria-checked"],LG=["tabindex","aria-checked","onClick"],BG=["aria-label"];function VG(e,t,n,o,a,l){const s=Ot("el-checkbox"),r=Ot("el-checkbox-group"),u=Ot("el-scrollbar"),c=Ot("arrow-up"),d=Ot("arrow-down"),f=Ot("el-icon"),v=Ot("el-tooltip");return E(),de(v,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:ie(()=>[e.multiple?(E(),F("div",{key:0,ref:"rootRef",tabindex:"-1",class:A(e.ns.e("multiple"))},[M("div",{class:A(e.ns.e("content"))},[ee(u,{"wrap-class":e.ns.e("wrap")},{default:ie(()=>[ee(r,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=h=>e.filteredValue=h),class:A(e.ns.e("checkbox-group"))},{default:ie(()=>[(E(!0),F(Oe,null,mt(e.filters,h=>(E(),de(s,{key:h.value,value:h.value},{default:ie(()=>[ze(ye(h.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),M("div",{class:A(e.ns.e("bottom"))},[M("button",{class:A(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...h)=>e.handleConfirm&&e.handleConfirm(...h))},ye(e.t("el.table.confirmFilter")),11,AG),M("button",{type:"button",onClick:t[2]||(t[2]=(...h)=>e.handleReset&&e.handleReset(...h))},ye(e.t("el.table.resetFilter")),1)],2)],2)):(E(),F("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:A(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...h)=>e.handleKeydown&&e.handleKeydown(...h))},[M("li",{role:"radio",class:A([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=h=>e.handleSelect(null,0))},ye(e.t("el.table.clearFilter")),11,DG),(E(!0),F(Oe,null,mt(e.filters,(h,g)=>(E(),F("li",{key:h.value,role:"radio",class:A([e.ns.e("list-item"),e.ns.is("active",e.isActive(h))]),tabindex:e.checkedIndex===g+1?0:-1,"aria-checked":e.isActive(h),onClick:p=>e.handleSelect(h.value,g+1)},ye(h.text),11,LG))),128))],34))]),default:ie(()=>[M("button",{type:"button",class:A(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:e.column?.label||""})},[ee(f,null,{default:ie(()=>[ue(e.$slots,"filter-icon",{},()=>[e.column?.filterOpened?(E(),de(c,{key:0})):(E(),de(d,{key:1}))])]),_:3})],10,BG)]),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var FG=An(RG,[["render",VG]]);function yy(e){const t=ct();Zu(()=>{n.value.addObserver(t)}),st(()=>{o(n.value),a(n.value)}),Sa(()=>{o(n.value),a(n.value)}),ur(()=>{n.value.removeObserver(t)});const n=C(()=>{const l=e.layout;if(!l)throw new Error("Can not find table layout.");return l}),o=l=>{const s=e.vnode.el?.querySelectorAll("colgroup > col")||[];if(!s.length)return;const r=l.getFlattenColumns(),u={};r.forEach(c=>{u[c.id]=c});for(let c=0,d=s.length;c{const s=e.vnode.el?.querySelectorAll("colgroup > col[name=gutter]")||[];for(let u=0,c=s.length;u{p.stopPropagation()},l=(p,m)=>{!m.filters&&m.sortable?g(p,m,!1):m.filterable&&!m.sortable&&a(p),o?.emit("header-click",m,p)},s=(p,m)=>{o?.emit("header-contextmenu",m,p)},r=B(null),u=B(!1),c=B(),d=(p,m)=>{if(Lt&&!(m.children&&m.children.length>0)&&r.value&&e.border&&r.value.id===m.id){u.value=!0;const y=o;t("set-drag-visible",!0);const b=y?.vnode.el?.getBoundingClientRect().left,w=n?.vnode?.el?.querySelector(`th.${m.id}`),S=w.getBoundingClientRect(),k=S.left-b+30;Jo(w,"noclick"),c.value={startMouseLeft:p.clientX,startLeft:S.right-b,startColumnLeft:S.left-b,tableLeft:b};const x=y?.refs.resizeProxy;x.style.left=`${c.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const N=T=>{const I=T.clientX-c.value.startMouseLeft,P=c.value.startLeft+I;x.style.left=`${Math.max(k,P)}px`},$=()=>{if(u.value){const{startColumnLeft:T,startLeft:I}=c.value;m.width=m.realWidth=Number.parseInt(x.style.left,10)-T,y?.emit("header-dragend",m.width,I-T,m,p),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",u.value=!1,r.value=null,c.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",$),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ro(w,"noclick")},0)};document.addEventListener("mousemove",N),document.addEventListener("mouseup",$)}},f=(p,m)=>{if(!e.border||m.children&&m.children.length>0)return;const y=p.target,b=No(y)?y.closest("th"):null;if(!b)return;const w=Fa(b,"is-sortable");if(w){const T=u.value?"col-resize":"";b.style.cursor=T;const I=b.querySelector(".caret-wrapper");I&&(I.style.cursor=T)}if(!m.resizable||u.value){r.value=null;return}const S=b.getBoundingClientRect(),k=b.parentNode?.lastElementChild===b,x=e.allowDragLastColumn||!k,N=S.width>12&&S.right-p.clientX<8&&x,$=N?"col-resize":"";document.body.style.cursor=$,r.value=N?m:null,w&&(b.style.cursor=$)},v=()=>{!Lt||u.value||(document.body.style.cursor="")},h=({order:p,sortOrders:m})=>{if(p==="")return m[0];const y=m.indexOf(p||null);return m[y>m.length-2?0:y+1]},g=(p,m,y)=>{p.stopPropagation();const b=m.order===y?null:y||h(m),w=p.target?.closest("th");if(w&&Fa(w,"noclick")){ro(w,"noclick");return}if(!m.sortable)return;const S=p.currentTarget;if(["ascending","descending"].some(T=>Fa(S,T)&&!m.sortOrders.includes(T)))return;const k=e.store.states;let x=k.sortProp.value,N;const $=k.sortingColumn.value;($!==m||$===m&&sp($.order))&&($&&($.order=null),k.sortingColumn.value=m,x=m.property??null),b?N=m.order=b:N=m.order=null,k.sortProp.value=x,k.sortOrder.value=N,o?.store.commit("changeSortCondition")};return{handleHeaderClick:l,handleHeaderContextMenu:s,handleMouseDown:d,handleMouseMove:f,handleMouseOut:v,handleSortClick:g,handleFilterClick:a}}function HG(e){const t=Be(Ea),n=ke("table");return{getHeaderRowStyle:r=>{const u=t?.props.headerRowStyle;return je(u)?u.call(null,{rowIndex:r}):u},getHeaderRowClass:r=>{const u=[],c=t?.props.headerRowClassName;return Ve(c)?u.push(c):je(c)&&u.push(c.call(null,{rowIndex:r})),u.join(" ")},getHeaderCellStyle:(r,u,c,d)=>{let f=t?.props.headerCellStyle??{};je(f)&&(f=f.call(null,{rowIndex:r,columnIndex:u,row:c,column:d}));const v=my(u,d.fixed,e.store,c);return ui(v,"left"),ui(v,"right"),Object.assign({},f,v)},getHeaderCellClass:(r,u,c,d)=>{const f=hy(n.b(),u,d.fixed,e.store,c),v=[d.id,d.order,d.headerAlign,d.className,d.labelClassName,...f];d.children||v.push("is-leaf"),d.sortable&&v.push("is-sortable");const h=t?.props.headerCellClassName;return Ve(h)?v.push(h):je(h)&&v.push(h.call(null,{rowIndex:r,columnIndex:u,row:c,column:d})),v.push(n.e("cell")),v.filter(g=>!!g).join(" ")}}}var bw=fe({name:"ElTableHeader",components:{ElCheckbox:ha},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=ct(),o=Be(Ea),a=ke("table"),l=B({}),{onColumnsChange:s,onScrollableChange:r}=yy(o),u=o?.props.tableLayout==="auto",c=zt(new Map),d=B();let f;const v=()=>{f&&(clearTimeout(f),f=void 0),f=setTimeout(()=>{f=void 0;const _=d.value;_&&c.size>0&&(c.forEach((H,L)=>{const z=_.querySelector(`.${L.replace(/\s/g,".")}`);z&&(H.width=z.getBoundingClientRect().width||H.width)}),c.clear())})};pe(c,v),Ht(()=>{f&&(clearTimeout(f),f=void 0)}),st(async()=>{await Pe(),await Pe();const{prop:_,order:H}=e.defaultSort;o?.store.commit("sort",{prop:_,order:H,init:!0}),v()});const{handleHeaderClick:h,handleHeaderContextMenu:g,handleMouseDown:p,handleMouseMove:m,handleMouseOut:y,handleSortClick:b,handleFilterClick:w}=zG(e,t),{getHeaderRowStyle:S,getHeaderRowClass:k,getHeaderCellStyle:x,getHeaderCellClass:N}=HG(e),{isGroup:$,toggleAllSelection:T,columnRows:I}=PG(e),{t:P}=Tt();return n.state={onColumnsChange:s,onScrollableChange:r},n.filterPanels=l,{ns:a,t:P,filterPanels:l,onColumnsChange:s,onScrollableChange:r,columnRows:I,getHeaderRowClass:k,getHeaderRowStyle:S,getHeaderCellClass:N,getHeaderCellStyle:x,handleHeaderClick:h,handleHeaderContextMenu:g,handleMouseDown:p,handleMouseMove:m,handleMouseOut:y,handleSortClick:b,handleFilterClick:w,isGroup:$,toggleAllSelection:T,saveIndexSelection:c,isTableLayoutAuto:u,theadRef:d,updateFixedColumnStyle:v}},render(){const{ns:e,t,isGroup:n,columnRows:o,getHeaderCellStyle:a,getHeaderCellClass:l,getHeaderRowClass:s,getHeaderRowStyle:r,handleHeaderClick:u,handleHeaderContextMenu:c,handleMouseDown:d,handleMouseMove:f,handleSortClick:v,handleMouseOut:h,store:g,$parent:p,saveIndexSelection:m,isTableLayoutAuto:y}=this;let b=1;return De("thead",{ref:"theadRef",class:e.is("group",n)},o.map((w,S)=>De("tr",{class:s(S),key:S,style:r(S)},w.map((k,x)=>{k.rowSpan>b&&(b=k.rowSpan);const N=l(S,x,w,k);return y&&k.fixed&&m.set(N,k),De("th",{class:N,colspan:k.colSpan,key:`${k.id}-thead`,rowspan:k.rowSpan,scope:k.colSpan>1?"colgroup":"col",ariaSort:k.sortable?k.order:void 0,style:a(S,x,w,k),onClick:$=>{$.currentTarget?.classList.contains("noclick")||u($,k)},onContextmenu:$=>c($,k),onMousedown:$=>d($,k),onMousemove:$=>f($,k),onMouseout:h},[De("div",{class:["cell",k.filteredValue&&k.filteredValue.length>0?"highlight":""]},[k.renderHeader?k.renderHeader({column:k,$index:x,store:g,_self:p}):k.label,k.sortable&&De("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:k.label||""}),onClick:$=>v($,k)},[De("i",{onClick:$=>v($,k,"ascending"),class:"sort-caret ascending"}),De("i",{onClick:$=>v($,k,"descending"),class:"sort-caret descending"})]),k.filterable&&De(FG,{store:g,placement:k.filterPlacement||"bottom-start",appendTo:p?.appendFilterPanelTo,column:k,upDataColumn:($,T)=>{k[$]=T}},{"filter-icon":()=>k.renderFilterIcon?k.renderFilterIcon({filterOpened:k.filterOpened}):null})])])}))))}});function KG(e){const t=Be(Ea),n=B(""),o=B(De("div")),a=(g,p,m)=>{const y=t,b=Iv(g);let w=null;const S=y?.vnode.el?.dataset.prefix;b&&(w=mw({columns:e.store?.states.columns.value??[]},b,S),w&&y?.emit(`cell-${m}`,p,w,b,g)),y?.emit(`row-${m}`,p,w,g)},l=(g,p)=>{a(g,p,"dblclick")},s=(g,p)=>{e.store?.commit("setCurrentRow",p),a(g,p,"click")},r=(g,p)=>{a(g,p,"contextmenu")},u=ja(g=>{e.store?.commit("setHoverRow",g)},30),c=ja(()=>{e.store?.commit("setHoverRow",null)},30),d=g=>{const p=window.getComputedStyle(g,null);return{left:Number.parseInt(p.paddingLeft,10)||0,right:Number.parseInt(p.paddingRight,10)||0,top:Number.parseInt(p.paddingTop,10)||0,bottom:Number.parseInt(p.paddingBottom,10)||0}},f=(g,p,m)=>{let y=p?.target?.parentNode;for(;g>1&&(y=y?.nextSibling,!(!y||y.nodeName!=="TR"));)m(y,"hover-row hover-fixed-row"),g--};return{handleDoubleClick:l,handleClick:s,handleContextMenu:r,handleMouseEnter:u,handleMouseLeave:c,handleCellMouseEnter:(g,p,m)=>{if(!t)return;const y=t,b=Iv(g),w=y?.vnode.el?.dataset.prefix;let S=null;if(b){if(S=mw({columns:e.store?.states.columns.value??[]},b,w),!S)return;b.rowSpan>1&&f(b.rowSpan,g,Jo);const R=y.hoverState={cell:b,column:S,row:p};y?.emit("cell-mouse-enter",R.row,R.column,R.cell,g)}if(!m){Eo?.trigger===b&&Eo?.();return}const k=g.target.querySelector(".cell");if(!(Fa(k,`${w}-tooltip`)&&k.childNodes.length&&k.textContent?.trim()))return;const x=document.createRange();x.setStart(k,0),x.setEnd(k,k.childNodes.length);const{width:N,height:$}=x.getBoundingClientRect(),{width:T,height:I}=k.getBoundingClientRect(),{top:P,left:_,right:H,bottom:L}=d(k),z=_+H,O=P+L;Ha(N+z,T)||Ha($+O,I)||Ha(k.scrollWidth,T)?kG(m,(b?.innerText||b?.textContent)??"",p,S,b,y):Eo?.trigger===b&&Eo?.()},handleCellMouseLeave:g=>{const p=Iv(g);if(!p)return;p.rowSpan>1&&f(p.rowSpan,g,ro);const m=t?.hoverState;t?.emit("cell-mouse-leave",m?.row,m?.column,m?.cell,g)},tooltipContent:n,tooltipTrigger:o}}function WG(e){const t=Be(Ea),n=ke("table");return{getRowStyle:(c,d)=>{const f=t?.props.rowStyle;return je(f)?f.call(null,{row:c,rowIndex:d}):f||null},getRowClass:(c,d,f)=>{const v=[n.e("row")];t?.props.highlightCurrentRow&&c===e.store?.states.currentRow.value&&v.push("current-row"),e.stripe&&f%2===1&&v.push(n.em("row","striped"));const h=t?.props.rowClassName;return Ve(h)?v.push(h):je(h)&&v.push(h.call(null,{row:c,rowIndex:d})),v},getCellStyle:(c,d,f,v)=>{const h=t?.props.cellStyle;let g=h??{};je(h)&&(g=h.call(null,{rowIndex:c,columnIndex:d,row:f,column:v}));const p=my(d,e?.fixed,e.store);return ui(p,"left"),ui(p,"right"),Object.assign({},g,p)},getCellClass:(c,d,f,v,h)=>{const g=hy(n.b(),d,e?.fixed,e.store,void 0,h),p=[v.id,v.align,v.className,...g],m=t?.props.cellClassName;return Ve(m)?p.push(m):je(m)&&p.push(m.call(null,{rowIndex:c,columnIndex:d,row:f,column:v})),p.push(n.e("cell")),p.filter(y=>!!y).join(" ")},getSpan:(c,d,f,v)=>{let h=1,g=1;const p=t?.props.spanMethod;if(je(p)){const m=p({row:c,column:d,rowIndex:f,columnIndex:v});xe(m)?(h=m[0],g=m[1]):lt(m)&&(h=m.rowspan,g=m.colspan)}return{rowspan:h,colspan:g}},getColspanRealWidth:(c,d,f)=>{if(d<1)return c[f].realWidth;const v=c.map(({realWidth:h,width:g})=>h||g).slice(f,f+d);return Number(v.reduce((h,g)=>Number(h)+Number(g),-1))}}}const jG=["colspan","rowspan"];var YG=fe({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(E(),F("td",{colspan:e.colspan,rowspan:e.rowspan},[ue(t.$slots,"default")],8,jG))}}),UG=YG;function qG(e){const t=Be(Ea),n=ke("table"),{handleDoubleClick:o,handleClick:a,handleContextMenu:l,handleMouseEnter:s,handleMouseLeave:r,handleCellMouseEnter:u,handleCellMouseLeave:c,tooltipContent:d,tooltipTrigger:f}=KG(e),{getRowStyle:v,getRowClass:h,getCellStyle:g,getCellClass:p,getSpan:m,getColspanRealWidth:y}=WG(e);let b=-1;const w=C(()=>e.store?.states.columns.value.findIndex(({type:$})=>$==="default")),S=($,T)=>{const I=t?.props?.rowKey;return I?xn($,I):T},k=($,T,I,P=!1)=>{const{tooltipEffect:_,tooltipOptions:H,store:L}=e,{indent:z,columns:O}=L.states,R=[];let D=!0;return I&&(R.push(n.em("row",`level-${I.level}`)),D=!!I.display),T===0&&(b=-1),e.stripe&&D&&b++,R.push(...h($,T,b)),De("tr",{style:[D?null:{display:"none"},v($,T)],class:R,key:S($,T),onDblclick:K=>o(K,$),onClick:K=>a(K,$),onContextmenu:K=>l(K,$),onMouseenter:()=>s(T),onMouseleave:r},O.value.map((K,V)=>{const{rowspan:Y,colspan:G}=m($,K,T,V);if(!Y||!G)return null;const q=Object.assign({},K);q.realWidth=y(O.value,G,V);const X={store:L,_self:e.context||t,column:q,row:$,$index:T,cellIndex:V,expanded:P};V===w.value&&I&&(X.treeNode={indent:I.level&&I.level*z.value,level:I.level},qt(I.expanded)&&(X.treeNode.expanded=I.expanded,"loading"in I&&(X.treeNode.loading=I.loading),"noLazyChildren"in I&&(X.treeNode.noLazyChildren=I.noLazyChildren)));const Z=`${S($,T)},${V}`,J=q.columnKey||q.rawColumnKey||"",ae=K.showOverflowTooltip&&zk({effect:_},H,K.showOverflowTooltip);return De(UG,{style:g(T,V,$,K),class:p(T,V,$,K,G-1),key:`${J}${Z}`,rowspan:Y,colspan:G,onMouseenter:ve=>u(ve,$,ae),onMouseleave:c},{default:()=>x(V,K,X)})}))},x=($,T,I)=>T.renderCell(I);return{wrappedRowRender:($,T)=>{const I=e.store,{isRowExpanded:P,assertRowKey:_}=I,{treeData:H,lazyTreeNodeMap:L,childrenColumnName:z,rowKey:O}=I.states,R=I.states.columns.value;if(R.some(({type:D})=>D==="expand")){const D=P($),K=k($,T,void 0,D),V=t?.renderExpanded;if(!V)return console.error("[Element Error]renderExpanded is required."),K;const Y=[[K]];return(t.props.preserveExpandedContent||D)&&Y[0].push(De("tr",{key:`expanded-row__${K.key}`,style:{display:D?"":"none"}},[De("td",{colspan:R.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[V({row:$,$index:T,store:I,expanded:D})])])),Y}else if(Object.keys(H.value).length){_();const D=xn($,O.value);let K=H.value[D],V=null;K&&(V={expanded:K.expanded,level:K.level,display:!0,noLazyChildren:void 0,loading:void 0},qt(K.lazy)&&(V&&qt(K.loaded)&&K.loaded&&(V.noLazyChildren=!(K.children&&K.children.length)),V.loading=K.loading));const Y=[k($,T,V??void 0)];if(K){let G=0;const q=(X,Z)=>{X&&X.length&&Z&&X.forEach(J=>{const ae={display:Z.display&&Z.expanded,level:Z.level+1,expanded:!1,noLazyChildren:!1,loading:!1},ve=xn(J,O.value);if(Vo(ve))throw new Error("For nested data item, row-key is required.");K={...H.value[ve]},K&&(ae.expanded=K.expanded,K.level=K.level||ae.level,K.display=!!(K.expanded&&ae.display),qt(K.lazy)&&(qt(K.loaded)&&K.loaded&&(ae.noLazyChildren=!(K.children&&K.children.length)),ae.loading=K.loading)),G++,Y.push(k(J,T+G,ae)),K&&q(L.value[ve]||J[z.value],K)})};K.display=!0,q(L.value[D]||$[z.value],K)}return Y}else return k($,T,void 0)},tooltipContent:d,tooltipTrigger:f}}const GG={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var XG=fe({name:"ElTableBody",props:GG,setup(e){const t=ct(),n=Be(Ea),o=ke("table"),{wrappedRowRender:a,tooltipContent:l,tooltipTrigger:s}=qG(e),{onColumnsChange:r,onScrollableChange:u}=yy(n),c=[];return pe(e.store?.states.hoverRow,(d,f)=>{const v=t?.vnode.el,h=Array.from(v?.children||[]).filter(m=>m?.classList.contains(`${o.e("row")}`));let g=d;const p=h[g]?.childNodes;if(p?.length){let m=0;Array.from(p).reduce((y,b,w)=>(p[w]?.colSpan>1&&(m=p[w]?.colSpan),b.nodeName!=="TD"&&m===0&&y.push(w),m>0&&m--,y),[]).forEach(y=>{for(g=d;g>0;){const b=h[g-1]?.childNodes;if(b[y]&&b[y].nodeName==="TD"&&b[y].rowSpan>1){Jo(b[y],"hover-cell"),c.push(b[y]);break}g--}})}else c.forEach(m=>ro(m,"hover-cell")),c.length=0;!e.store?.states.isComplex.value||!Lt||Po(()=>{const m=h[f],y=h[d];m&&!m.classList.contains("hover-fixed-row")&&ro(m,"hover-row"),y&&Jo(y,"hover-row")})}),ur(()=>{Eo?.()}),{ns:o,onColumnsChange:r,onScrollableChange:u,wrappedRowRender:a,tooltipContent:l,tooltipTrigger:s}},render(){const{wrappedRowRender:e,store:t}=this;return De("tbody",{tabIndex:-1},[(t?.states.data.value||[]).reduce((n,o)=>n.concat(e(o,n.length)),[])])}});function ZG(){const e=Be(Ea)?.store;return{leftFixedLeafCount:C(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:C(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:C(()=>e?.states.columns.value.length??0),leftFixedCount:C(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:C(()=>e?.states.rightFixedColumns.value.length??0),columns:C(()=>e?.states.columns.value??[])}}function JG(e){const{columns:t}=ZG(),n=ke("table");return{getCellClasses:(l,s)=>{const r=l[s],u=[n.e("cell"),r.id,r.align,r.labelClassName,...hy(n.b(),s,r.fixed,e.store)];return r.className&&u.push(r.className),r.children||u.push(n.is("leaf")),u},getCellStyles:(l,s)=>{const r=my(s,l.fixed,e.store);return ui(r,"left"),ui(r,"right"),r},columns:t}}var ww=fe({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=Be(Ea),n=ke("table"),{getCellClasses:o,getCellStyles:a,columns:l}=JG(e),{onScrollableChange:s,onColumnsChange:r}=yy(t);return{ns:n,onScrollableChange:s,onColumnsChange:r,getCellClasses:o,getCellStyles:a,columns:l}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:o,sumText:a}=this,l=this.store.states.data.value;let s=[];return o?s=o({columns:e,data:l}):e.forEach((r,u)=>{if(u===0){s[u]=a;return}const c=l.map(h=>Number(h[r.property])),d=[];let f=!0;c.forEach(h=>{if(!Number.isNaN(+h)){f=!1;const g=`${h}`.split(".")[1];d.push(g?g.length:0)}});const v=Math.max.apply(null,d);f?s[u]="":s[u]=c.reduce((h,g)=>{const p=Number(g);return Number.isNaN(+p)?h:Number.parseFloat((h+g).toFixed(Math.min(v,20)))},0)}),De(De("tfoot",[De("tr",{},[...e.map((r,u)=>De("td",{key:u,colspan:r.colSpan,rowspan:r.rowSpan,class:n(e,u),style:t(r,u)},[De("div",{class:["cell",r.labelClassName]},[s[u]])]))])]))}});function QG(e){return{setCurrentRow:v=>{e.commit("setCurrentRow",v)},getSelectionRows:()=>e.getSelectionRows(),getHalfSelectionRows:()=>e.getHalfSelectionRows(),toggleRowSelection:(v,h,g=!0)=>{e.toggleRowSelection(v,h,!1,g),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:v=>{e.clearFilter(v)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(v,h)=>{e.toggleRowExpansionAdapter(v,h)},clearSort:()=>{e.clearSort()},sort:(v,h)=>{e.commit("sort",{prop:v,order:h})},updateKeyChildren:(v,h)=>{e.updateKeyChildren(v,h)}}}function eX(e,t,n,o){const a=B(!1),l=B(null),s=B(!1),r=z=>{s.value=z},u=B({width:null,height:null,headerHeight:null}),c=B(!1),d={display:"inline-block",verticalAlign:"middle"},f=B(),v=B(0),h=B(0),g=B(0),p=B(0),m=B(0);pe(()=>e.height,z=>{t.setHeight(z??null)},{immediate:!0}),pe(()=>e.maxHeight,z=>{t.setMaxHeight(z??null)},{immediate:!0}),pe(()=>[e.currentRowKey,n.states.rowKey],([z,O])=>{!i(O)||!i(z)||n.setCurrentRowKey(`${z}`)},{immediate:!0}),pe(()=>e.data,z=>{o.store.commit("setData",z)},{immediate:!0,deep:!0}),uo(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const y=()=>{o.store.commit("setHoverRow",null),o.hoverState&&(o.hoverState=null)},b=(z,O)=>{const{pixelX:R,pixelY:D}=O;Math.abs(R)>=Math.abs(D)&&(o.refs.bodyWrapper.scrollLeft+=O.pixelX/5)},w=C(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),S=C(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),k=()=>{w.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(T)};st(async()=>{await Pe(),n.updateColumns(),I(),requestAnimationFrame(k);const z=o.vnode.el,O=o.refs.headerWrapper;e.flexible&&z&&z.parentElement&&(z.parentElement.style.minWidth="0"),u.value={width:f.value=z.offsetWidth,height:z.offsetHeight,headerHeight:e.showHeader&&O?O.offsetHeight:null},n.states.columns.value.forEach(R=>{R.filteredValue&&R.filteredValue.length&&o.store.commit("filterChange",{column:R,values:R.filteredValue,silent:!0})}),o.$ready=!0});const x=(z,O)=>{if(!z)return;const R=Array.from(z.classList).filter(D=>!D.startsWith("is-scrolling-"));R.push(t.scrollX.value?O:"is-scrolling-none"),z.className=R.join(" ")},N=z=>{const{tableWrapper:O}=o.refs;x(O,z)},$=z=>{const{tableWrapper:O}=o.refs;return!!(O&&O.classList.contains(z))},T=function(){if(!o.refs.scrollBarRef)return;if(!t.scrollX.value){const Y="is-scrolling-none";$(Y)||N(Y);return}const z=o.refs.scrollBarRef.wrapRef;if(!z)return;const{scrollLeft:O,offsetWidth:R,scrollWidth:D}=z,{headerWrapper:K,footerWrapper:V}=o.refs;K&&(K.scrollLeft=O),V&&(V.scrollLeft=O),O>=D-R-1?N("is-scrolling-right"):N(O===0?"is-scrolling-left":"is-scrolling-middle")},I=()=>{o.refs.scrollBarRef&&(o.refs.scrollBarRef.wrapRef&&Wt(o.refs.scrollBarRef.wrapRef,"scroll",T,{passive:!0}),e.fit?ln(o.vnode.el,P):Wt(window,"resize",P),ln(o.refs.tableInnerWrapper,()=>{P(),o.refs?.scrollBarRef?.update()}))},P=()=>{const z=o.vnode.el;if(!o.$ready||!z)return;let O=!1;const{width:R,height:D,headerHeight:K}=u.value,V=f.value=z.offsetWidth;R!==V&&(O=!0);const Y=z.offsetHeight;(e.height||w.value)&&D!==Y&&(O=!0);const G=e.tableLayout==="fixed"?o.refs.headerWrapper:o.refs.tableHeaderRef?.$el;e.showHeader&&G?.offsetHeight!==K&&(O=!0),v.value=o.refs.tableWrapper?.scrollHeight||0,g.value=G?.scrollHeight||0,p.value=o.refs.footerWrapper?.offsetHeight||0,m.value=o.refs.appendWrapper?.offsetHeight||0,h.value=v.value-g.value-p.value-m.value,O&&(u.value={width:V,height:Y,headerHeight:e.showHeader&&G?.offsetHeight||0},k())},_=Nn(),H=C(()=>{const{bodyWidth:z,scrollY:O,gutterWidth:R}=t;return z.value?`${z.value-(O.value?R:0)}px`:""}),L=C(()=>e.maxHeight?"fixed":e.tableLayout);return{isHidden:a,renderExpanded:l,setDragVisible:r,isGroup:c,handleMouseLeave:y,handleHeaderFooterMousewheel:b,tableSize:_,emptyBlockStyle:C(()=>{if(e.data&&e.data.length)return;let z="100%";e.height&&h.value&&(z=`${h.value}px`);const O=f.value;return{width:O?`${O}px`:"",height:z}}),resizeProxyVisible:s,bodyWidth:H,resizeState:u,doLayout:k,tableBodyStyles:S,tableLayout:L,scrollbarViewStyle:d,scrollbarStyle:C(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${g.value+p.value}px)`}:{maxHeight:`${+e.maxHeight-g.value-p.value}px`}:{})}}function tX(e){let t;const n=()=>{const o=e.vnode.el.querySelector(".hidden-columns"),a={childList:!0,subtree:!0},l=e.store.states.updateOrderFns;t=new MutationObserver(()=>{l.forEach(s=>s())}),t.observe(o,a)};st(()=>{n()}),ur(()=>{t?.disconnect()})}function Ed(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:a})=>_t(a))&&(n=[]);const o=a=>{const l={key:`${e.tableLayout}_${a.id}`,style:{},name:void 0};return t?l.style={width:`${a.width}px`}:l.name=a.id,l};return De("colgroup",{},n.map(a=>De("col",o(a))))}Ed.props=["columns","tableLayout"];const nX=()=>{const e=B(),t=(l,s)=>{const r=e.value;r&&r.scrollTo(l,s)},n=(l,s)=>{const r=e.value;r&&We(s)&&["Top","Left"].includes(l)&&r[`setScroll${l}`](s)};return{scrollBarRef:e,scrollTo:t,setScrollTop:l=>n("Top",l),setScrollLeft:l=>n("Left",l)}},oX=["data-prefix"],aX={ref:"hiddenColumns",class:"hidden-columns"};var lX=fe({name:"ElTable",__name:"table",props:dG,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-dblclick","cell-contextmenu","cell-click","row-dblclick","row-click","row-contextmenu","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e,{expose:t}){const n=e,{t:o}=Tt(),a=ke("table"),l=Rl("table"),s=ct();kt(Ea,s);const r=IG(s,n);s.store=r;const u=new OG({store:s.store,table:s,fit:n.fit,showHeader:n.showHeader});s.layout=u;const c=C(()=>(r.states.data.value||[]).length===0),{setCurrentRow:d,getSelectionRows:f,getHalfSelectionRows:v,toggleRowSelection:h,clearSelection:g,clearFilter:p,toggleAllSelection:m,toggleRowExpansion:y,clearSort:b,sort:w,updateKeyChildren:S}=QG(r),{isHidden:k,renderExpanded:x,setDragVisible:N,isGroup:$,handleMouseLeave:T,handleHeaderFooterMousewheel:I,tableSize:P,emptyBlockStyle:_,resizeProxyVisible:H,bodyWidth:L,resizeState:z,doLayout:O,tableBodyStyles:R,tableLayout:D,scrollbarViewStyle:K,scrollbarStyle:V}=eX(n,u,r,s),{scrollBarRef:Y,scrollTo:G,setScrollLeft:q,setScrollTop:X}=nX(),Z=ja(O,50),J=vG(a.namespace.value),ae=s;s.tableId=J,s.state={isGroup:$,resizeState:z,doLayout:O,debouncedUpdateLayout:Z};const ve=C(()=>n.sumText??o("el.table.sumText")),me=C(()=>n.emptyText??o("el.table.emptyText")),oe=C(()=>n.tooltipEffect??l.value?.tooltipEffect),re=C(()=>n.tooltipOptions??l.value?.tooltipOptions),W=C(()=>w$(r.states.originColumns.value)[0]);return tX(s),Ht(()=>{Z.cancel()}),t({ns:a,layout:u,store:r,columns:W,handleHeaderFooterMousewheel:I,handleMouseLeave:T,tableId:J,tableSize:P,isHidden:k,isEmpty:c,renderExpanded:x,resizeProxyVisible:H,resizeState:z,isGroup:$,bodyWidth:L,tableBodyStyles:R,emptyBlockStyle:_,debouncedUpdateLayout:Z,setCurrentRow:d,getSelectionRows:f,getHalfSelectionRows:v,toggleRowSelection:h,clearSelection:g,clearFilter:p,toggleAllSelection:m,toggleRowExpansion:y,clearSort:b,doLayout:O,sort:w,updateKeyChildren:S,t:o,setDragVisible:N,context:ae,computedSumText:ve,computedEmptyText:me,computedTooltipEffect:oe,computedTooltipOptions:re,tableLayout:D,scrollbarViewStyle:K,scrollbarStyle:V,scrollBarRef:Y,scrollTo:G,setScrollLeft:q,setScrollTop:X,allowDragLastColumn:n.allowDragLastColumn}),(te,j)=>(E(),F("div",{ref:"tableWrapper",class:A([{[i(a).m("fit")]:e.fit,[i(a).m("striped")]:e.stripe,[i(a).m("border")]:e.border||i($),[i(a).m("hidden")]:i(k),[i(a).m("group")]:i($),[i(a).m("fluid-height")]:e.maxHeight,[i(a).m("scrollable-x")]:i(u).scrollX.value,[i(a).m("scrollable-y")]:i(u).scrollY.value,[i(a).m("enable-row-hover")]:!i(r).states.isComplex.value,[i(a).m("enable-row-transition")]:(i(r).states.data.value||[]).length!==0&&(i(r).states.data.value||[]).length<100,"has-footer":e.showSummary},i(a).m(i(P)),e.className,i(a).b(),i(a).m(`layout-${i(D)}`)]),style:Fe(e.style),"data-prefix":i(a).namespace.value,onMouseleave:j[1]||(j[1]=(...U)=>i(T)&&i(T)(...U))},[M("div",{ref:"tableInnerWrapper",class:A(i(a).e("inner-wrapper"))},[M("div",aX,[ue(te.$slots,"default")],512),e.showHeader&&i(D)==="fixed"?Ue((E(),F("div",{key:0,ref:"headerWrapper",class:A(i(a).e("header-wrapper"))},[M("table",{ref:"tableHeader",class:A(i(a).e("header")),style:Fe(i(R)),border:"0",cellpadding:"0",cellspacing:"0"},[ee(i(Ed),{columns:i(r).states.columns.value,"table-layout":i(D)},null,8,["columns","table-layout"]),ee(i(bw),{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:i(r),"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:i(N)},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[i(N1),i(I)]]):se("v-if",!0),M("div",{ref:"bodyWrapper",class:A(i(a).e("body-wrapper"))},[ee(i(wa),{ref_key:"scrollBarRef",ref:Y,"view-style":i(K),"wrap-style":i(V),always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:j[0]||(j[0]=U=>te.$emit("scroll",U))},{default:ie(()=>[M("table",{ref:"tableBody",class:A(i(a).e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Fe({width:i(L),tableLayout:i(D)})},[ee(i(Ed),{columns:i(r).states.columns.value,"table-layout":i(D)},null,8,["columns","table-layout"]),e.showHeader&&i(D)==="auto"?(E(),de(i(bw),{key:0,ref:"tableHeaderRef",class:A(i(a).e("body-header")),border:e.border,"default-sort":e.defaultSort,store:i(r),"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:i(N)},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):se("v-if",!0),ee(i(XG),{context:i(ae),highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":oe.value,"tooltip-options":re.value,"row-style":e.rowStyle,store:i(r),stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&i(D)==="auto"?(E(),de(i(ww),{key:1,class:A(i(a).e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:i(r),"sum-text":ve.value,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):se("v-if",!0)],6),c.value?(E(),F("div",{key:0,ref:"emptyBlock",style:Fe(i(_)),class:A(i(a).e("empty-block"))},[M("span",{class:A(i(a).e("empty-text"))},[ue(te.$slots,"empty",{},()=>[ze(ye(me.value),1)])],2)],6)):se("v-if",!0),te.$slots.append?(E(),F("div",{key:1,ref:"appendWrapper",class:A(i(a).e("append-wrapper"))},[ue(te.$slots,"append")],2)):se("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&i(D)==="fixed"?Ue((E(),F("div",{key:1,ref:"footerWrapper",class:A(i(a).e("footer-wrapper"))},[M("table",{class:A(i(a).e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Fe(i(R))},[ee(i(Ed),{columns:i(r).states.columns.value,"table-layout":i(D)},null,8,["columns","table-layout"]),ee(i(ww),{border:e.border,"default-sort":e.defaultSort,store:i(r),"sum-text":ve.value,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[Vt,!c.value],[i(N1),i(I)]]):se("v-if",!0),e.border||i($)?(E(),F("div",{key:2,class:A(i(a).e("border-left-patch"))},null,2)):se("v-if",!0)],2),Ue(M("div",{ref:"resizeProxy",class:A(i(a).e("column-resize-proxy"))},null,2),[[Vt,i(H)]])],46,oX))}}),sX=lX;const rX={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}},iX={selection:"table-column--selection",expand:"table__expand-column"},uX={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},cX=e=>iX[e]||"",dX={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return De(ha,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:o}){return De(ha,{disabled:t.selectable?!t.selectable.call(null,e,o):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:a=>a.stopPropagation(),modelValue:n.isSelected(e),indeterminate:n.getRowIndeterminate(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const o=e.index;return We(o)?n=t+o:je(o)&&(n=o(t)),De("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:o,$index:a}){const{ns:l}=n,s=[l.e("expand-icon")];!e.renderExpand&&o&&s.push(l.em("expand-icon","expanded"));const r=function(c){c.stopPropagation(),n.toggleRowExpansion(t)},u=n.states.rowExpandable.value?.(t,a)??!0;return u||s.push(l.is("disabled")),De("button",{type:"button",disabled:!u,"aria-label":n.t(o?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":o,class:s,onClick:r},{default:()=>e.renderExpand?[e.renderExpand({expanded:o,expandable:u})]:[De(He,null,{default:()=>[De(io)]})]})},sortable:!1,resizable:!1}};function fX({row:e,column:t,$index:n}){const o=t.property,a=o&&Ql(e,o).value;return t&&t.formatter?t.formatter(e,t,a,n):a?.toString?.()||""}function pX({row:e,treeNode:t,store:n},o=!1){const{ns:a}=n;if(!t)return o?[De("span",{class:a.e("placeholder")})]:null;const l=[],s=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&l.push(De("span",{class:a.e("indent"),style:{"padding-left":`${t.indent}px`}})),qt(t.expanded)&&!t.noLazyChildren){const r=[a.e("expand-icon"),t.expanded?a.em("expand-icon","expanded"):""];let u=io;t.loading&&(u=sa),l.push(De("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:r,onClick:s},{default:()=>[De(He,{class:a.is("loading",t.loading)},{default:()=>[De(u)]})]}))}else l.push(De("span",{class:a.e("placeholder")}));return l}function Sw(e,t){return e.reduce((n,o)=>(n[o]=o,n),t)}function vX(e,t){const n=ct();return{registerComplexWatchers:()=>{const l=["fixed"],s={realWidth:"width",realMinWidth:"minWidth"},r=Sw(l,s);Object.keys(r).forEach(u=>{const c=s[u];Ft(t,c)&&pe(()=>t[c],d=>{let f=d;c==="width"&&u==="realWidth"&&(f=vy(d)),c==="minWidth"&&u==="realMinWidth"&&(f=p$(d)),n.columnConfig.value[c]=f,n.columnConfig.value[u]=f;const v=c==="fixed";e.value.store.scheduleLayout(v)})})},registerNormalWatchers:()=>{const l=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],s=["showOverflowTooltip"],r={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},u=Sw(l,r);Object.keys(u).forEach(d=>{const f=r[d];Ft(t,f)&&pe(()=>t[f],v=>{n.columnConfig.value[d]=v,(d==="filters"||d==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),s.forEach(d=>{Ft(e.value.props,d)&&pe(()=>e.value.props[d],f=>{n.columnConfig.value.type!=="selection"&&_t(t[d])&&(n.columnConfig.value[d]=f)})});const c=Rl("table");c.value&&Ft(c.value,"showOverflowTooltip")&&pe(()=>c.value?.showOverflowTooltip,d=>{n.columnConfig.value.type!=="selection"&&(!_t(t.showOverflowTooltip)||!_t(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=d))})}}}function hX(e,t,n){const o=ct(),a=B(""),l=B(!1),s=B(),r=B(),u=ke("table");uo(()=>{s.value=e.align?`is-${e.align}`:null,s.value}),uo(()=>{r.value=e.headerAlign?`is-${e.headerAlign}`:s.value,r.value});const c=C(()=>{let S=o.vnode.vParent||o.parent;for(;S&&!S.tableId&&!S.columnId;)S=S.vnode.vParent||S.parent;return S}),d=C(()=>{const{store:S}=o.parent;if(!S)return!1;const{treeData:k}=S.states,x=k.value;return x&&Object.keys(x).length>0}),f=B(vy(e.width)),v=B(p$(e.minWidth)),h=S=>(f.value&&(S.width=f.value),v.value&&(S.minWidth=v.value),!f.value&&v.value&&(S.width=void 0),S.minWidth||(S.minWidth=80),S.realWidth=Number(_t(S.width)?S.minWidth:S.width),S),g=S=>{const k=S.type,x=dX[k]||{};Object.keys(x).forEach($=>{const T=x[$];$!=="className"&&!_t(T)&&(S[$]=T)});const N=cX(k);if(N){const $=`${i(u.namespace)}-${N}`;S.className=S.className?`${S.className} ${$}`:$}return S},p=S=>{xe(S)?S.forEach(x=>k(x)):k(S);function k(x){x?.type?.name==="ElTableColumn"&&(x.vParent=o)}};return{columnId:a,realAlign:s,isSubColumn:l,realHeaderAlign:r,columnOrTableParent:c,setColumnWidth:h,setColumnForcedProps:g,setColumnRenders:S=>{e.renderHeader?Yt("TableColumn","Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):S.type!=="selection"&&(S.renderHeader=x=>{if(o.columnConfig.value.label,t.header){const N=t.header(x);if(m$(N))return De(Oe,N)}return ze(S.label)}),t["filter-icon"]&&(S.renderFilterIcon=x=>ue(t,"filter-icon",x)),t.expand&&(S.renderExpand=x=>ue(t,"expand",x));let k=S.renderCell;return S.type==="expand"?(S.renderCell=x=>De("div",{class:"cell"},[k(x)]),n.value.renderExpanded=x=>t.default?t.default(x):t.default):(k=k||fX,S.renderCell=x=>{let N=null;if(t.default){const _=t.default(x);N=_.some(H=>H.type!==$n)?_:k(x)}else N=k(x);const{columns:$}=n.value.store.states,T=$.value.findIndex(_=>_.type==="default"),I=pX(x,d.value&&x.cellIndex===T),P={class:"cell",style:{}};return S.showOverflowTooltip&&(P.class=`${P.class} ${i(u.namespace)}-tooltip`,P.style={width:`${(x.column.realWidth||Number(x.column.width))-1}px`}),p(N),De("div",P,[I,N])}),S},getPropsData:(...S)=>S.reduce((k,x)=>(xe(x)&&x.forEach(N=>{k[N]=e[N]}),k),{}),getColumnElIndex:(S,k)=>Array.prototype.indexOf.call(S,k),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",o.columnConfig.value)}}}var mX=fe({name:"ElTableColumn",__name:"index",props:rX,setup(e){const t=e,n=mn(),o=ct(),a=Rl("table"),l=B({}),s=C(()=>{let x=o.parent;for(;x&&!x.tableId;)x=x.parent;return x}),{registerNormalWatchers:r,registerComplexWatchers:u}=vX(s,t),{columnId:c,isSubColumn:d,realHeaderAlign:f,columnOrTableParent:v,setColumnWidth:h,setColumnForcedProps:g,setColumnRenders:p,getPropsData:m,getColumnElIndex:y,realAlign:b,updateColumnOrder:w}=hX(t,n,s),S=v.value;c.value=hG("tableId"in S?S.tableId:S.columnId),Zu(()=>{d.value=s.value!==S;const x=t.type||"default",N=t.sortable===""?!0:t.sortable,$=x==="selection"?!1:_t(t.showOverflowTooltip)?S.props.showOverflowTooltip??a.value?.showOverflowTooltip:t.showOverflowTooltip,T=_t(t.tooltipFormatter)?S.props.tooltipFormatter??a.value?.tooltipFormatter:t.tooltipFormatter,I={...uX[x],id:c.value,type:x,property:t.prop||t.property,align:b,headerAlign:f,showOverflowTooltip:$,tooltipFormatter:T,filterable:t.filters||t.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:N,index:t.index,rawColumnKey:o.vnode.key};let P=m(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);P=yG(I,P),P=wG(p,h,g)(P),l.value=P,r(),u()}),st(()=>{const x=v.value,N=d.value?x.vnode.el?.children:x.refs.hiddenColumns?.children,$=()=>y(N||[],o.vnode.el);l.value.getColumnIndex=$,$()>-1&&s.value.store.commit("insertColumn",l.value,d.value?"columnConfig"in x&&x.columnConfig.value:null,w)}),Ht(()=>{const x=l.value.getColumnIndex;(x?x():-1)>-1&&s.value.store.commit("removeColumn",l.value,d.value?"columnConfig"in S&&S.columnConfig.value:null,w)}),o.columnId=c.value,o.columnConfig=l;const k=()=>{try{const x=n.default?.({row:{},column:{},$index:-1}),N=[];if(xe(x))for(const $ of x)$.type?.name==="ElTableColumn"||$.shapeFlag&2?N.push($):$.type===Oe&&xe($.children)&&$.children.forEach(T=>{T?.patchFlag!==1024&&!Ve(T?.children)&&N.push(T)});return De("div",N)}catch{return De("div",[])}};return(x,N)=>(E(),de(k))}}),gX=mX,yX=gX,S$=yX;const bX=ut(sX,{TableColumn:S$}),wX=un(S$),nm={asc:"desc",desc:"asc"},Du=Symbol("placeholder"),C$=String,yc={type:ne(Array),required:!0},by={type:ne(Array)},k$={...by,required:!0},SX=String,Cw={type:ne(Array),default:()=>fn([])},Ns={type:Number,required:!0},x$={type:ne([String,Number,Symbol]),default:"id"},kw={type:ne(Object)},Rs=Te({class:String,columns:yc,columnsStyles:{type:ne(Object),required:!0},depth:Number,expandColumnKey:SX,estimatedRowHeight:{...Ws.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:ne(Function)},onRowHover:{type:ne(Function)},onRowHeightChange:{type:ne(Function)},rowData:{type:ne(Object),required:!0},rowEventHandlers:{type:ne(Object)},rowIndex:{type:Number,required:!0},rowKey:x$,style:{type:ne(Object)}}),Mv={type:Number,required:!0},wy=Te({class:String,columns:yc,fixedHeaderData:{type:ne(Array)},headerData:{type:ne(Array),required:!0},headerHeight:{type:ne([Number,Array]),default:50},rowWidth:Mv,rowHeight:{type:Number,default:50},height:Mv,width:Mv}),$d=Te({columns:yc,data:k$,fixedData:by,estimatedRowHeight:Rs.estimatedRowHeight,width:Ns,height:Ns,headerWidth:Ns,headerHeight:wy.headerHeight,bodyWidth:Ns,rowHeight:Ns,cache:jx.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:Ws.scrollbarAlwaysOn,scrollbarStartGap:Ws.scrollbarStartGap,scrollbarEndGap:Ws.scrollbarEndGap,class:C$,style:kw,containerStyle:kw,getRowHeight:{type:ne(Function),required:!0},rowKey:Rs.rowKey,onRowsRendered:{type:ne(Function)},onScroll:{type:ne(Function)}}),CX=Te({cache:$d.cache,estimatedRowHeight:Rs.estimatedRowHeight,rowKey:x$,headerClass:{type:ne([String,Function])},headerProps:{type:ne([Object,Function])},headerCellProps:{type:ne([Object,Function])},headerHeight:wy.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:ne([String,Function])},rowProps:{type:ne([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:ne([Object,Function])},columns:yc,data:k$,dataGetter:{type:ne(Function)},fixedData:by,expandColumnKey:Rs.expandColumnKey,expandedRowKeys:Cw,defaultExpandedRowKeys:Cw,class:C$,fixed:Boolean,style:{type:ne(Object)},width:Ns,height:Ns,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:Ws.hScrollbarSize,vScrollbarSize:Ws.vScrollbarSize,scrollbarAlwaysOn:qx.alwaysOn,sortBy:{type:ne(Object),default:()=>({})},sortState:{type:ne(Object),default:void 0},onColumnSort:{type:ne(Function)},onExpandedRowsChange:{type:ne(Function)},onEndReached:{type:ne(Function)},onRowExpand:Rs.onRowExpand,onScroll:$d.onScroll,onRowsRendered:$d.onRowsRendered,rowEventHandlers:Rs.rowEventHandlers}),kX=(e,t,n)=>{const o={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow??0,flexShrink:e.flexShrink??1}},a={...e.style??{},...o,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(a.maxWidth=e.maxWidth),e.minWidth&&(a.minWidth=e.minWidth)),a};function xX(e,t,n){const o=C(()=>i(t).map((m,y)=>({...m,key:m.key??m.dataKey??y}))),a=C(()=>i(o).filter(m=>!m.hidden)),l=C(()=>i(a).filter(m=>m.fixed==="left"||m.fixed===!0)),s=C(()=>i(a).filter(m=>m.fixed==="right")),r=C(()=>i(a).filter(m=>!m.fixed)),u=C(()=>{const m=[];return i(l).forEach(y=>{m.push({...y,placeholderSign:Du})}),i(r).forEach(y=>{m.push(y)}),i(s).forEach(y=>{m.push({...y,placeholderSign:Du})}),m}),c=C(()=>i(l).length||i(s).length),d=C(()=>i(o).reduce((m,y)=>(m[y.key]=kX(y,i(n),e.fixed),m),{})),f=C(()=>i(a).reduce((m,y)=>m+y.width,0)),v=m=>i(o).find(y=>y.key===m),h=m=>i(d)[m],g=(m,y)=>{m.width=y};function p(m){const{key:y}=m.currentTarget.dataset;if(!y)return;const{sortState:b,sortBy:w}=e;let S="asc";lt(b)?S=nm[b[y]]:S=nm[w.order],e.onColumnSort?.({column:v(y),key:y,order:S})}return{columns:o,columnsStyles:d,columnsTotalWidth:f,fixedColumnsOnLeft:l,fixedColumnsOnRight:s,hasFixedColumns:c,mainColumns:u,normalColumns:r,visibleColumns:a,getColumn:v,getColumnStyle:h,updateColumnWidth:g,onColumnSorted:p}}const EX=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,onMaybeEndReached:a})=>{const l=B({scrollLeft:0,scrollTop:0});function s(h){const{scrollTop:g}=h;t.value?.scrollTo(h),n.value?.scrollToTop(g),o.value?.scrollToTop(g)}function r(h){l.value=h,s(h)}function u(h){l.value.scrollTop=h,s(i(l))}function c(h){l.value.scrollLeft=h,t.value?.scrollTo?.(i(l))}function d(h){r(h),e.onScroll?.(h)}function f({scrollTop:h}){const{scrollTop:g}=i(l);h!==g&&u(h)}function v(h,g="auto"){t.value?.scrollToRow(h,g)}return pe(()=>i(l).scrollTop,(h,g)=>{h>g&&a()}),{scrollPos:l,scrollTo:r,scrollToLeft:c,scrollToTop:u,scrollToRow:v,onScroll:d,onVerticalScroll:f}},$X=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,tableInstance:a,ns:l,isScrolling:s})=>{const r=ct(),{emit:u}=r,c=Ct(!1),d=B(e.defaultExpandedRowKeys||[]),f=B(-1),v=Ct(null),h=B({}),g=B({}),p=Ct({}),m=Ct({}),y=Ct({}),b=C(()=>We(e.estimatedRowHeight));function w(I){e.onRowsRendered?.(I),I.rowCacheEnd>i(f)&&(f.value=I.rowCacheEnd)}function S({hovered:I,rowKey:P}){s.value||a.vnode.el.querySelectorAll(`[rowkey="${String(P)}"]`).forEach(_=>{I?_.classList.add(l.is("hovered")):_.classList.remove(l.is("hovered"))})}function k({expanded:I,rowData:P,rowIndex:_,rowKey:H}){const L=[...i(d)],z=L.indexOf(H);I?z===-1&&L.push(H):z>-1&&L.splice(z,1),d.value=L,u("update:expandedRowKeys",L),e.onRowExpand?.({expanded:I,rowData:P,rowIndex:_,rowKey:H}),e.onExpandedRowsChange?.(L),a.vnode.el.querySelector(`.${l.is("hovered")}[rowkey="${String(H)}"]`)&&Pe(()=>S({hovered:!0,rowKey:H}))}const x=ja(()=>{c.value=!0,h.value={...i(h),...i(g)},N(i(v),!1),g.value={},v.value=null,t.value?.forceUpdate(),n.value?.forceUpdate(),o.value?.forceUpdate(),r.proxy?.$forceUpdate(),c.value=!1},0);function N(I,P=!1){i(b)&&[t,n,o].forEach(_=>{const H=i(_);H&&H.resetAfterRowIndex(I,P)})}function $(I,P,_){const H=i(v);(H===null||H>_)&&(v.value=_),g.value[I]=P}function T({rowKey:I,height:P,rowIndex:_},H){H?H==="right"?y.value[I]=P:p.value[I]=P:m.value[I]=P;const L=Math.max(...[p,y,m].map(z=>z.value[I]||0));i(h)[I]!==L&&($(I,L,_),x())}return{expandedRowKeys:d,lastRenderedRowIndex:f,isDynamic:b,isResetting:c,rowHeights:h,resetAfterIndex:N,onRowExpanded:k,onRowHovered:S,onRowsRendered:w,onRowHeightChange:T}},TX=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:o})=>{const a=B({}),l=C(()=>{const r={},{data:u,rowKey:c}=e,d=i(t);if(!d||!d.length)return u;const f=[],v=new Set;d.forEach(g=>v.add(g));let h=u.slice();for(h.forEach(g=>r[g[c]]=0);h.length>0;){const g=h.shift();f.push(g),v.has(g[c])&&xe(g.children)&&g.children.length>0&&(h=[...g.children,...h],g.children.forEach(p=>r[p[c]]=r[g[c]]+1))}return a.value=r,f}),s=C(()=>{const{data:r,expandColumnKey:u}=e;return u?i(l):r});return pe(s,(r,u)=>{r!==u&&(n.value=-1,o(0,!0))}),{data:s,depthMap:a}},NX=(e,t)=>e+t,Td=e=>xe(e)?e.reduce(NX,0):e,nr=(e,t,n={})=>je(e)?e(t):e??n,Jl=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=pn(e[t])}),e),E$=e=>Qt(e)?t=>De(e,t):e,_X=(e,{columnsTotalWidth:t,rowsHeight:n,fixedColumnsOnLeft:o,fixedColumnsOnRight:a})=>{const l=C(()=>{const{fixed:p,width:m,vScrollbarSize:y}=e,b=m-y;return p?Math.max(Math.round(i(t)),b):b}),s=C(()=>{const{height:p=0,maxHeight:m=0,footerHeight:y,hScrollbarSize:b}=e;if(m>0){const w=i(v),S=i(n),k=i(f)+w+S+b;return Math.min(k,m-y)}return p-y}),r=C(()=>{const{maxHeight:p}=e,m=i(s);if(We(p)&&p>0)return m;const y=i(n)+i(f)+i(v);return Math.min(m,y)}),u=p=>p.width,c=C(()=>Td(i(o).map(u))),d=C(()=>Td(i(a).map(u))),f=C(()=>Td(e.headerHeight)),v=C(()=>(e.fixedData?.length||0)*e.rowHeight),h=C(()=>i(s)-i(f)-i(v)),g=C(()=>{const{style:p={},height:m,width:y}=e;return Jl({...p,height:m,width:y})});return{bodyWidth:l,fixedTableHeight:r,mainTableHeight:s,leftTableWidth:c,rightTableWidth:d,windowHeight:h,footerHeight:C(()=>Jl({height:e.footerHeight})),emptyStyle:C(()=>({top:pn(i(f)),bottom:pn(e.footerHeight),width:pn(e.width)})),rootStyle:g,headerHeight:f}};function IX(e){const t=B(),n=B(),o=B(),{columns:a,columnsStyles:l,columnsTotalWidth:s,fixedColumnsOnLeft:r,fixedColumnsOnRight:u,hasFixedColumns:c,mainColumns:d,onColumnSorted:f}=xX(e,bt(e,"columns"),bt(e,"fixed")),{scrollTo:v,scrollToLeft:h,scrollToTop:g,scrollToRow:p,onScroll:m,onVerticalScroll:y,scrollPos:b}=EX(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,onMaybeEndReached:te}),w=ke("table-v2"),S=ct(),k=Ct(!1),{expandedRowKeys:x,lastRenderedRowIndex:N,isDynamic:$,isResetting:T,rowHeights:I,resetAfterIndex:P,onRowExpanded:_,onRowHeightChange:H,onRowHovered:L,onRowsRendered:z}=$X(e,{mainTableRef:t,leftTableRef:n,rightTableRef:o,tableInstance:S,ns:w,isScrolling:k}),{data:O,depthMap:R}=TX(e,{expandedRowKeys:x,lastRenderedRowIndex:N,resetAfterIndex:P}),D=C(()=>{const{estimatedRowHeight:j,rowHeight:U}=e,Q=i(O);return We(j)?Object.values(i(I)).reduce((le,ce)=>le+ce,0):Q.length*U}),{bodyWidth:K,fixedTableHeight:V,mainTableHeight:Y,leftTableWidth:G,rightTableWidth:q,windowHeight:X,footerHeight:Z,emptyStyle:J,rootStyle:ae,headerHeight:ve}=_X(e,{columnsTotalWidth:s,fixedColumnsOnLeft:r,fixedColumnsOnRight:u,rowsHeight:D}),me=B(),oe=C(()=>{const j=i(O).length===0;return xe(e.fixedData)?e.fixedData.length===0&&j:j});function re(j){const{estimatedRowHeight:U,rowHeight:Q,rowKey:le}=e;return U?i(I)[i(O)[j][le]]||U:Q}const W=B(!1);function te(){const{onEndReached:j}=e;if(!j)return;const{scrollTop:U}=i(b),Q=i(D),le=Q-(U+i(X))+e.hScrollbarSize;!W.value&&i(N)>=0&&Q<=U+i(Y)-i(ve)?(W.value=!0,j(le)):W.value=!1}return pe(()=>i(D),()=>W.value=!1),pe(()=>e.expandedRowKeys,j=>x.value=j,{deep:!0}),{columns:a,containerRef:me,mainTableRef:t,leftTableRef:n,rightTableRef:o,isDynamic:$,isResetting:T,isScrolling:k,hasFixedColumns:c,columnsStyles:l,columnsTotalWidth:s,data:O,expandedRowKeys:x,depthMap:R,fixedColumnsOnLeft:r,fixedColumnsOnRight:u,mainColumns:d,bodyWidth:K,emptyStyle:J,rootStyle:ae,footerHeight:Z,mainTableHeight:Y,fixedTableHeight:V,leftTableWidth:G,rightTableWidth:q,showEmpty:oe,getRowHeight:re,onColumnSorted:f,onRowHovered:L,onRowExpanded:_,onRowsRendered:z,onRowHeightChange:H,scrollTo:v,scrollToLeft:h,scrollToTop:g,scrollToRow:p,onScroll:m,onVerticalScroll:y}}const Sy=Symbol("tableV2"),$$="tableV2GridScrollLeft",MX=fe({name:"ElTableV2Header",props:wy,setup(e,{slots:t,expose:n}){const o=ke("table-v2"),a=Be($$),l=B(),s=C(()=>Jl({width:e.width,height:e.height})),r=C(()=>Jl({width:e.rowWidth,height:e.height})),u=C(()=>Bn(i(e.headerHeight))),c=v=>{const h=i(l);Pe(()=>{h?.scroll&&h.scroll({left:v})})},d=()=>{const v=o.e("fixed-header-row"),{columns:h,fixedHeaderData:g,rowHeight:p}=e;return g?.map((m,y)=>{const b=Jl({height:p,width:"100%"});return t.fixed?.({class:v,columns:h,rowData:m,rowIndex:-(y+1),style:b})})},f=()=>{const v=o.e("dynamic-header-row"),{columns:h}=e;return i(u).map((g,p)=>{const m=Jl({width:"100%",height:g});return t.dynamic?.({class:v,columns:h,headerIndex:p,style:m})})};return Sa(()=>{a?.value&&c(a.value)}),n({scrollToLeft:c}),()=>{if(!(e.height<=0))return ee("div",{ref:l,class:e.class,style:i(s),role:"rowgroup"},[ee("div",{style:i(r),class:o.e("header")},[f(),d()])])}}}),OX="ElTableV2Grid",PX=e=>{const t=B(),n=B(),o=B(0),a=C(()=>{const{data:m,rowHeight:y,estimatedRowHeight:b}=e;if(!b)return m.length*y}),l=C(()=>{const{fixedData:m,rowHeight:y}=e;return(m?.length||0)*y}),s=C(()=>Td(e.headerHeight)),r=C(()=>{const{height:m}=e;return Math.max(0,m-i(s)-i(l))}),u=C(()=>i(s)+i(l)>0),c=({data:m,rowIndex:y})=>m[y][e.rowKey];function d({rowCacheStart:m,rowCacheEnd:y,rowVisibleStart:b,rowVisibleEnd:w}){e.onRowsRendered?.({rowCacheStart:m,rowCacheEnd:y,rowVisibleStart:b,rowVisibleEnd:w})}function f(m,y){n.value?.resetAfterRowIndex(m,y)}function v(m,y){const b=i(t),w=i(n);lt(m)?(b?.scrollToLeft(m.scrollLeft),o.value=m.scrollLeft,w?.scrollTo(m)):(b?.scrollToLeft(m),o.value=m,w?.scrollTo({scrollLeft:m,scrollTop:y}))}function h(m){i(n)?.scrollTo({scrollTop:m})}function g(m,y){const b=i(n);if(!b)return;const w=o.value;b.scrollToItem(m,0,y),w&&v({scrollLeft:w})}function p(){i(n)?.$forceUpdate(),i(t)?.$forceUpdate()}return pe(()=>e.bodyWidth,()=>{We(e.estimatedRowHeight)&&n.value?.resetAfter({columnIndex:0},!1)}),{bodyRef:n,forceUpdate:p,fixedRowHeight:l,gridHeight:r,hasHeader:u,headerHeight:s,headerRef:t,totalHeight:a,itemKey:c,onItemRendered:d,resetAfterRowIndex:f,scrollTo:v,scrollToTop:h,scrollToRow:g,scrollLeft:o}},Cy=fe({name:OX,props:$d,setup(e,{slots:t,expose:n}){const{ns:o}=Be(Sy),{bodyRef:a,fixedRowHeight:l,gridHeight:s,hasHeader:r,headerRef:u,headerHeight:c,totalHeight:d,forceUpdate:f,itemKey:v,onItemRendered:h,resetAfterRowIndex:g,scrollTo:p,scrollToTop:m,scrollToRow:y,scrollLeft:b}=PX(e);kt($$,b),Xu(async()=>{await Pe();const S=a.value?.states.scrollTop;S&&m(Math.round(S)+1)}),n({forceUpdate:f,totalHeight:d,scrollTo:p,scrollToTop:m,scrollToRow:y,resetAfterRowIndex:g});const w=()=>e.bodyWidth;return()=>{const{cache:S,columns:k,data:x,fixedData:N,useIsScrolling:$,scrollbarAlwaysOn:T,scrollbarEndGap:I,scrollbarStartGap:P,style:_,rowHeight:H,bodyWidth:L,estimatedRowHeight:z,headerWidth:O,height:R,width:D,getRowHeight:K,onScroll:V}=e,Y=We(z),G=Y?wz:mz,q=i(c);return ee("div",{role:"table",class:[o.e("table"),e.class],style:_},[ee(G,{ref:a,data:x,useIsScrolling:$,itemKey:v,columnCache:0,columnWidth:Y?w:L,totalColumn:1,totalRow:x.length,rowCache:S,rowHeight:Y?K:H,width:D,height:i(s),class:o.e("body"),role:"rowgroup",scrollbarStartGap:P,scrollbarEndGap:I,scrollbarAlwaysOn:T,onScroll:V,onItemRendered:h,perfMode:!1},{default:X=>{const Z=x[X.rowIndex];return t.row?.({...X,columns:k,rowData:Z})}}),i(r)&&ee(MX,{ref:u,class:o.e("header-wrapper"),columns:k,headerData:x,headerHeight:e.headerHeight,fixedHeaderData:N,rowWidth:O,rowHeight:H,width:D,height:Math.min(q+i(l),R)},{dynamic:t.header,fixed:t.row})])}}});function RX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}const AX=(e,{slots:t})=>{const{mainTableRef:n,...o}=e;return ee(Cy,ft({ref:n},o),RX(t)?t:{default:()=>[t]})};function DX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}const LX=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:n,...o}=e;return ee(Cy,ft({ref:n},o),DX(t)?t:{default:()=>[t]})};function BX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}const VX=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:n,...o}=e;return ee(Cy,ft({ref:n},o),BX(t)?t:{default:()=>[t]})},FX=e=>{const{isScrolling:t}=Be(Sy),n=B(!1),o=B(),a=C(()=>We(e.estimatedRowHeight)&&e.rowIndex>=0),l=(u=!1)=>{const c=i(o);if(!c)return;const{columns:d,onRowHeightChange:f,rowKey:v,rowIndex:h,style:g}=e,{height:p}=c.getBoundingClientRect();n.value=!0,Pe(()=>{if(u||p!==Number.parseInt(g.height)){const m=d[0],y=m?.placeholderSign===Du;f?.({rowKey:v,height:p,rowIndex:h},m&&!y&&m.fixed)}})},s=C(()=>{const{rowData:u,rowIndex:c,rowKey:d,onRowHover:f}=e,v=e.rowEventHandlers||{},h={};return Object.entries(v).forEach(([g,p])=>{je(p)&&(h[g]=m=>{p({event:m,rowData:u,rowIndex:c,rowKey:d})})}),f&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:g,hovered:p})=>{const m=h[g];h[g]=y=>{f({event:y,hovered:p,rowData:u,rowIndex:c,rowKey:d}),m?.(y)}}),h}),r=u=>{const{onRowExpand:c,rowData:d,rowIndex:f,rowKey:v}=e;c?.({expanded:u,rowData:d,rowIndex:f,rowKey:v})};return st(()=>{i(a)&&l(!0)}),{isScrolling:t,measurable:a,measured:n,rowRef:o,eventHandlers:s,onExpand:r}},zX=fe({name:"ElTableV2TableRow",props:Rs,setup(e,{expose:t,slots:n,attrs:o}){const{eventHandlers:a,isScrolling:l,measurable:s,measured:r,rowRef:u,onExpand:c}=FX(e);return t({onExpand:c}),()=>{const{columns:d,columnsStyles:f,expandColumnKey:v,depth:h,rowData:g,rowIndex:p,style:m}=e;let y=d.map((b,w)=>{const S=xe(g.children)&&g.children.length>0&&b.key===v;return n.cell({column:b,columns:d,columnIndex:w,depth:h,style:f[b.key],rowData:g,rowIndex:p,isScrolling:i(l),expandIconProps:S?{rowData:g,rowIndex:p,onExpand:c}:void 0})});if(n.row&&(y=n.row({cells:y.map(b=>xe(b)&&b.length===1?b[0]:b),style:m,columns:d,depth:h,rowData:g,rowIndex:p,isScrolling:i(l)})),i(s)){const{height:b,...w}=m||{},S=i(r);return ee("div",ft({ref:u,class:e.class,style:S?m:w,role:"row"},o,i(a)),[y])}return ee("div",ft(o,{ref:u,class:e.class,style:m,role:"row"},i(a)),[y])}}});function HX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}const KX=(e,{slots:t})=>{const{columns:n,columnsStyles:o,depthMap:a,expandColumnKey:l,expandedRowKeys:s,estimatedRowHeight:r,hasFixedColumns:u,rowData:c,rowIndex:d,style:f,isScrolling:v,rowProps:h,rowClass:g,rowKey:p,rowEventHandlers:m,ns:y,onRowHovered:b,onRowExpanded:w}=e,S=nr(g,{columns:n,rowData:c,rowIndex:d},""),k=nr(h,{columns:n,rowData:c,rowIndex:d}),x=c[p],N=a[x]||0,$=!!l,T=d<0,I=[y.e("row"),S,y.is("expanded",$&&s.includes(x)),y.is("fixed",!N&&T),y.is("customized",!!t.row),{[y.e(`row-depth-${N}`)]:$&&d>=0}],P=u?b:void 0,_={...k,columns:n,columnsStyles:o,class:I,depth:N,expandColumnKey:l,estimatedRowHeight:T?void 0:r,isScrolling:v,rowIndex:d,rowData:c,rowKey:x,rowEventHandlers:m,style:f};return ee(zX,ft(_,{onRowExpand:w,onMouseenter:z=>{P?.({hovered:!0,rowKey:x,event:z,rowData:c,rowIndex:d})},onMouseleave:z=>{P?.({hovered:!1,rowKey:x,event:z,rowData:c,rowIndex:d})},rowkey:x}),HX(t)?t:{default:()=>[t]})},ky=(e,{slots:t})=>{const{cellData:n,style:o}=e,a=n?.toString?.()||"",l=ue(t,"default",e,()=>[a]);return ee("div",{class:e.class,title:a,style:o},[l])};ky.displayName="ElTableV2Cell";ky.inheritAttrs=!1;const T$=e=>{const{expanded:t,expandable:n,onExpand:o,style:a,size:l,ariaLabel:s}=e;return ee("button",ft({onClick:n?()=>o(!t):void 0,ariaLabel:s,ariaExpanded:t,class:e.class},{type:"button"}),[ee(He,{size:l,style:a},{default:()=>[ee(io,null,null)]})])};T$.inheritAttrs=!1;const om=({columns:e,column:t,columnIndex:n,depth:o,expandIconProps:a,isScrolling:l,rowData:s,rowIndex:r,style:u,expandedRowKeys:c,ns:d,t:f,cellProps:v,expandColumnKey:h,indentSize:g,iconSize:p,rowKey:m},{slots:y})=>{const b=Jl(u);if(t.placeholderSign===Du)return ee("div",{class:d.em("row-cell","placeholder"),style:b},null);const{cellRenderer:w,dataKey:S,dataGetter:k}=t,x=je(k)?k({columns:e,column:t,columnIndex:n,rowData:s,rowIndex:r}):Cn(s,S??""),N=nr(v,{cellData:x,columns:e,column:t,columnIndex:n,rowIndex:r,rowData:s}),$={class:d.e("cell-text"),columns:e,column:t,columnIndex:n,cellData:x,isScrolling:l,rowData:s,rowIndex:r},T=E$(w),I=T?T($):ue(y,"default",$,()=>[ee(ky,$,null)]),P=[d.e("row-cell"),t.class,t.align==="center"&&d.is("align-center"),t.align==="right"&&d.is("align-right")],_=r>=0&&h&&t.key===h,H=r>=0&&c.includes(s[m]);let L;const z=`margin-inline-start: ${o*g}px;`;return _&&(lt(a)?L=ee(T$,ft(a,{class:[d.e("expand-icon"),d.is("expanded",H)],size:p,expanded:H,ariaLabel:f(H?"el.table.collapseRowLabel":"el.table.expandRowLabel"),style:z,expandable:!0}),null):L=ee("div",{style:[z,`width: ${p}px; height: ${p}px;`].join(" ")},null)),ee("div",ft({class:P,style:b},N,{role:"cell"}),[L,I])};om.inheritAttrs=!1;const WX=Te({class:String,columns:yc,columnsStyles:{type:ne(Object),required:!0},headerIndex:Number,style:{type:ne(Object)}}),jX=fe({name:"ElTableV2HeaderRow",props:WX,setup(e,{slots:t}){return()=>{const{columns:n,columnsStyles:o,headerIndex:a,style:l}=e;let s=n.map((r,u)=>t.cell({columns:n,column:r,columnIndex:u,headerIndex:a,style:o[r.key]}));return t.header&&(s=t.header({cells:s.map(r=>xe(r)&&r.length===1?r[0]:r),columns:n,headerIndex:a})),ee("div",{class:e.class,style:l,role:"row"},[s])}}});function YX(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}const UX=({columns:e,columnsStyles:t,headerIndex:n,style:o,headerClass:a,headerProps:l,ns:s},{slots:r})=>{const u={columns:e,headerIndex:n},c=[s.e("header-row"),nr(a,u,""),s.is("customized",!!r.header)];return ee(jX,{...nr(l,u),columnsStyles:t,class:c,columns:e,headerIndex:n,style:o},YX(r)?r:{default:()=>[r]})},xy=(e,{slots:t})=>ue(t,"default",e,()=>[ee("div",{class:e.class,title:e.column?.title},[e.column?.title])]);xy.displayName="ElTableV2HeaderCell";xy.inheritAttrs=!1;const qX=e=>{const{sortOrder:t}=e;return ee("button",{type:"button","aria-label":e.ariaLabel,class:e.class},[ee(He,{size:14},{default:()=>[ee(t==="asc"?IB:NB,null,null)]})])},xw=(e,{slots:t})=>{const{column:n,ns:o,t:a,style:l,onColumnSorted:s}=e,r=Jl(l);if(n.placeholderSign===Du)return ee("div",{class:o.em("header-row-cell","placeholder"),style:r},null);const{headerCellRenderer:u,headerClass:c,sortable:d}=n,f={...e,class:o.e("header-cell-text")},v=E$(u),h=v?v(f):ue(t,"default",f,()=>[ee(xy,f,null)]),{sortBy:g,sortState:p,headerCellProps:m}=e;let y,b,w;if(p){const k=p[n.key];y=!!nm[k],b=y?k:"asc"}else y=n.key===g.key,b=y?g.order:"asc";b==="asc"?w="ascending":b==="desc"?w="descending":w=void 0;const S=[o.e("header-cell"),nr(c,e,""),n.align==="center"&&o.is("align-center"),n.align==="right"&&o.is("align-right"),d&&o.is("sortable")];return ee("div",ft({...nr(m,e),onClick:n.sortable?s:void 0,ariaSort:d?w:void 0,class:S,style:r,"data-key":n.key},{role:"columnheader"}),[h,d&&ee(qX,{class:[o.e("sort-icon"),y&&o.is("sorting")],sortOrder:b,ariaLabel:a("el.table.sortLabel",{column:n.title||""})},null)])},N$=(e,{slots:t})=>ee("div",{class:e.class,style:e.style},[t.default?.()]);N$.displayName="ElTableV2Footer";const _$=(e,{slots:t})=>{const n=ue(t,"default",{},()=>[ee(e$,null,null)]);return ee("div",{class:e.class,style:e.style},[n])};_$.displayName="ElTableV2Empty";const I$=(e,{slots:t})=>ee("div",{class:e.class,style:e.style},[t.default?.()]);I$.displayName="ElTableV2Overlay";function Ri(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Qt(e)}const GX=fe({name:"ElTableV2",props:CX,slots:Object,setup(e,{slots:t,expose:n}){const o=ke("table-v2"),{t:a}=Tt(),{columnsStyles:l,fixedColumnsOnLeft:s,fixedColumnsOnRight:r,mainColumns:u,mainTableHeight:c,fixedTableHeight:d,leftTableWidth:f,rightTableWidth:v,data:h,depthMap:g,expandedRowKeys:p,hasFixedColumns:m,mainTableRef:y,leftTableRef:b,rightTableRef:w,isDynamic:S,isResetting:k,isScrolling:x,bodyWidth:N,emptyStyle:$,rootStyle:T,footerHeight:I,showEmpty:P,scrollTo:_,scrollToLeft:H,scrollToTop:L,scrollToRow:z,getRowHeight:O,onColumnSorted:R,onRowHeightChange:D,onRowHovered:K,onRowExpanded:V,onRowsRendered:Y,onScroll:G,onVerticalScroll:q}=IX(e);return n({scrollTo:_,scrollToLeft:H,scrollToTop:L,scrollToRow:z}),kt(Sy,{ns:o,isResetting:k,isScrolling:x}),()=>{const{cache:X,cellProps:Z,estimatedRowHeight:J,expandColumnKey:ae,fixedData:ve,headerHeight:me,headerClass:oe,headerProps:re,headerCellProps:W,sortBy:te,sortState:j,rowHeight:U,rowClass:Q,rowEventHandlers:le,rowKey:ce,rowProps:Ce,scrollbarAlwaysOn:we,indentSize:he,iconSize:be,useIsScrolling:ge,vScrollbarSize:$e,width:Me}=e,Qe=i(h),tt={cache:X,class:o.e("main"),columns:i(u),data:Qe,fixedData:ve,estimatedRowHeight:J,bodyWidth:i(N),headerHeight:me,headerWidth:i(N),height:i(c),mainTableRef:y,rowKey:ce,rowHeight:U,scrollbarAlwaysOn:we,scrollbarStartGap:2,scrollbarEndGap:$e,useIsScrolling:ge,width:Me,getRowHeight:O,onRowsRendered:Y,onScroll:G},qe=i(f),Et=i(d),At={cache:X,class:o.e("left"),columns:i(s),data:Qe,fixedData:ve,estimatedRowHeight:J,leftTableRef:b,rowHeight:U,bodyWidth:qe,headerWidth:qe,headerHeight:me,height:Et,rowKey:ce,scrollbarAlwaysOn:we,scrollbarStartGap:2,scrollbarEndGap:$e,useIsScrolling:ge,width:qe,getRowHeight:O,onScroll:q},Kt=i(v),Rt={cache:X,class:o.e("right"),columns:i(r),data:Qe,fixedData:ve,estimatedRowHeight:J,rightTableRef:w,rowHeight:U,bodyWidth:Kt,headerWidth:Kt,headerHeight:me,height:Et,rowKey:ce,scrollbarAlwaysOn:we,scrollbarStartGap:2,scrollbarEndGap:$e,width:Kt,style:`${o.cssVarName("table-scrollbar-size")}: ${$e}px`,useIsScrolling:ge,getRowHeight:O,onScroll:q},Ut=i(l),Se={ns:o,depthMap:i(g),columnsStyles:Ut,expandColumnKey:ae,expandedRowKeys:i(p),estimatedRowHeight:J,hasFixedColumns:i(m),rowProps:Ce,rowClass:Q,rowKey:ce,rowEventHandlers:le,onRowHovered:K,onRowExpanded:V,onRowHeightChange:D},_e={cellProps:Z,expandColumnKey:ae,indentSize:he,iconSize:be,rowKey:ce,expandedRowKeys:i(p),ns:o,t:a},Ze={ns:o,headerClass:oe,headerProps:re,columnsStyles:Ut},Ne={ns:o,t:a,sortBy:te,sortState:j,headerCellProps:W,onColumnSorted:R},Ge={row:vt=>ee(KX,ft(vt,Se),{row:t.row,cell:rt=>{let St;return t.cell?ee(om,ft(rt,_e,{style:Ut[rt.column.key]}),Ri(St=t.cell(rt))?St:{default:()=>[St]}):ee(om,ft(rt,_e,{style:Ut[rt.column.key]}),null)}}),header:vt=>ee(UX,ft(vt,Ze),{header:t.header,cell:rt=>{let St;return t["header-cell"]?ee(xw,ft(rt,Ne,{style:Ut[rt.column.key]}),Ri(St=t["header-cell"](rt))?St:{default:()=>[St]}):ee(xw,ft(rt,Ne,{style:Ut[rt.column.key]}),null)}})},Le=[e.class,o.b(),o.e("root"),o.is("dynamic",i(S))],nt={class:o.e("footer"),style:i(I)};return ee("div",{class:Le,style:i(T)},[ee(AX,tt,Ri(Ge)?Ge:{default:()=>[Ge]}),ee(LX,At,Ri(Ge)?Ge:{default:()=>[Ge]}),ee(VX,Rt,Ri(Ge)?Ge:{default:()=>[Ge]}),t.footer&&ee(N$,nt,{default:t.footer}),i(P)&&ee(_$,{class:o.e("empty"),style:i($)},{default:t.empty}),t.overlay&&ee(I$,{class:o.e("overlay")},{default:t.overlay})])}}}),XX=Te({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:ne(Function)}}),ZX=e=>{const t=B(),n=B(0),o=B(0);let a;return st(()=>{a=ln(t,([l])=>{const{width:s,height:r}=l.contentRect,{paddingLeft:u,paddingRight:c,paddingTop:d,paddingBottom:f}=getComputedStyle(l.target),v=Number.parseInt(u)||0,h=Number.parseInt(c)||0,g=Number.parseInt(d)||0,p=Number.parseInt(f)||0;n.value=s-v-h,o.value=r-g-p}).stop}),Ht(()=>{a?.()}),pe([n,o],([l,s])=>{e.onResize?.({width:l,height:s})}),{sizer:t,width:n,height:o}},JX=fe({name:"ElAutoResizer",props:XX,setup(e,{slots:t}){const n=ke("auto-resizer"),{height:o,width:a,sizer:l}=ZX(e),s={width:"100%",height:"100%"};return()=>ee("div",{ref:l,class:n.b(),style:s},[t.default?.({height:o.value,width:a.value})])}}),QX=ut(GX),eZ=ut(JX),Np=Symbol("tabsRootContextKey"),tZ=Te({tabs:{type:ne(Array),default:()=>fn([])},tabRefs:{type:ne(Object),default:()=>fn({})}}),Ew="ElTabBar";var nZ=fe({name:Ew,__name:"tab-bar",props:tZ,setup(e,{expose:t}){const n=e,o=Be(Np);o||rn(Ew,"");const a=ke("tabs"),l=B(),s=B(),r=C(()=>_t(o.props.defaultValue)||!!s.value?.transform),u=()=>{let h=0,g=0;const p=["top","bottom"].includes(o.props.tabPosition)?"width":"height",m=p==="width"?"x":"y",y=m==="x"?"left":"top";return n.tabs.every(b=>{if(_t(b.paneName))return!1;const w=n.tabRefs[b.paneName];if(!w)return!1;if(!b.active)return!0;h=w[`offset${iv(y)}`],g=w[`client${iv(p)}`];const S=window.getComputedStyle(w);return p==="width"&&(g-=Number.parseFloat(S.paddingLeft)+Number.parseFloat(S.paddingRight),h+=Number.parseFloat(S.paddingLeft)),!1}),{[p]:`${g}px`,transform:`translate${iv(m)}(${h}px)`}},c=()=>s.value=u(),d=[],f=()=>{d.forEach(h=>h.stop()),d.length=0,Object.values(n.tabRefs).forEach(h=>{d.push(ln(h,c))})};pe(()=>n.tabs,async()=>{await Pe(),c(),f()},{immediate:!0});const v=ln(l,()=>c());return Ht(()=>{d.forEach(h=>h.stop()),d.length=0,v.stop()}),t({ref:l,update:c}),(h,g)=>r.value?(E(),F("div",{key:0,ref_key:"barRef",ref:l,class:A([i(a).e("active-bar"),i(a).is(i(o).props.tabPosition)]),style:Fe(s.value)},null,6)):se("v-if",!0)}}),oZ=nZ;const aZ=5,lZ=({scrollable:e,navOffset:t,navSize:n,navContainerSize:o,isHorizontal:a})=>{const l=B(!1),s=C(()=>Math.max(n.value-o.value,0));let r,u;const c=v=>{if(!e.value||v.touches.length!==1)return;const{clientX:h,clientY:g}=mf(v);r={startX:h,startY:g,startOffset:t.value},u=void 0},d=v=>{if(!r||!e.value)return;if(v.touches.length!==1){f();return}const{clientX:h,clientY:g}=mf(v),p=r.startX-h,m=r.startY-g,y=a.value?p:m,b=a.value?m:p,w=Math.abs(y),S=Math.abs(b);if(Fk(u)){if(Math.max(w,S)<=aZ)return;u=w>S}if(!u)return;const k=To(r.startOffset+y,0,s.value);s.value<=0||k===t.value||!v.cancelable||(v.preventDefault(),l.value=!0,t.value=k)},f=()=>{r=void 0,u=void 0,l.value=!1};return{isTouchScrolling:l,handleTouchStart:c,handleTouchMove:d,handleTouchEnd:f}},sZ=Te({panes:{type:ne(Array),default:()=>fn([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),rZ={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},$w="ElTabNav",iZ=fe({name:$w,props:sZ,emits:rZ,setup(e,{expose:t,emit:n}){const o=Be(Np);o||rn($w,"");const a=ke("tabs"),l=QR(),s=nA(),r=B(),u=B(),c=B(),d=B({}),f=B(),v=B(!1),h=B(0),g=B(!1),p=B(!0),m=B(!1),y=Ct(),b=C(()=>["top","bottom"].includes(o.props.tabPosition)),w=C(()=>b.value?"width":"height"),S=C(()=>{const J=w.value==="width"?"X":"Y";return{transition:m.value||H.value?"none":void 0,transform:`translate${J}(-${h.value}px)`}}),{width:k,height:x}=Jd(r),{width:N,height:$}=Jd(u,{width:0,height:0},{box:"border-box"}),T=C(()=>b.value?k.value:x.value),I=C(()=>b.value?N.value:$.value),{onWheel:P}=Xx({atStartEdge:C(()=>h.value<=0),atEndEdge:C(()=>I.value-h.value<=T.value),layout:C(()=>b.value?"horizontal":"vertical")},J=>{h.value=To(h.value+J,0,I.value-T.value)}),_=J=>{m.value=!0,P(J),Po(()=>{m.value=!1})},{isTouchScrolling:H,handleTouchStart:L,handleTouchMove:z,handleTouchEnd:O}=lZ({scrollable:v,navOffset:h,navSize:I,navContainerSize:T,isHorizontal:b}),R=()=>{if(!r.value)return;const J=r.value.getBoundingClientRect()[w.value],ae=h.value;ae&&(h.value=ae>J?ae-J:0)},D=()=>{if(!r.value||!u.value)return;const J=u.value.getBoundingClientRect()[w.value],ae=r.value.getBoundingClientRect()[w.value],ve=h.value;Ha(J-ve,ae)&&(h.value=J-ve>ae*2?ve+ae:J-ae)},K=async()=>{const J=u.value;if(!v.value||!c.value||!r.value||!J)return;await Pe();const ae=d.value[e.currentName];if(!ae)return;const ve=r.value,me=ae.getBoundingClientRect(),oe=ve.getBoundingClientRect(),re=oe.left+1,W=oe.right-1,te=J.getBoundingClientRect(),j=b.value?te.width-oe.width:te.height-oe.height,U=h.value;let Q=U;b.value?(me.leftW&&(Q=U+me.right-W)):(me.topoe.bottom&&(Q=U+(me.bottom-oe.bottom))),Q=Math.max(Q,0),h.value=Math.min(Q,j)},V=()=>{if(!u.value||!r.value)return;e.stretch&&f.value?.update();const J=u.value.getBoundingClientRect()[w.value],ae=r.value.getBoundingClientRect()[w.value],ve=h.value;ae0&&(h.value=0))},Y=J=>{const ae=Xt(J);let ve=0;switch(ae){case Ee.left:case Ee.up:ve=-1;break;case Ee.right:case Ee.down:ve=1;break;default:return}const me=Array.from(J.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let oe=me.indexOf(J.target)+ve;oe<0?oe=me.length-1:oe>=me.length&&(oe=0),me[oe].focus({preventScroll:!0}),me[oe].click(),G()},G=()=>{p.value&&(g.value=!0)},q=()=>g.value=!1,X=(J,ae)=>{d.value[ae]=J},Z=async()=>{await Pe(),d.value[e.currentName]?.focus({preventScroll:!0})};return pe(l,J=>{J==="hidden"?p.value=!1:J==="visible"&&setTimeout(()=>p.value=!0,50)}),pe(s,J=>{J?setTimeout(()=>p.value=!0,50):p.value=!1}),ln(c,()=>{Po(V)}),st(()=>setTimeout(()=>K(),0)),Sa(()=>V()),t({scrollToActiveTab:K,removeFocus:q,focusActiveTab:Z,tabListRef:u,tabBarRef:f,scheduleRender:()=>sd(y)}),()=>{const J=v.value?[ee("span",{class:[a.e("nav-prev"),a.is("disabled",!v.value.prev)],onClick:R},[ee(He,null,{default:()=>[ee(El,null,null)]})]),ee("span",{class:[a.e("nav-next"),a.is("disabled",!v.value.next)],onClick:D},[ee(He,null,{default:()=>[ee(io,null,null)]})])]:null,ae=e.panes.map((ve,me)=>{const oe=ve.uid,re=ve.props.disabled,W=ve.props.name??ve.index??`${me}`,te=!re&&(ve.isClosable||ve.props.closable!==!1&&e.editable);ve.index=`${me}`;const j=te?ee(He,{class:"is-icon-close",onClick:le=>n("tabRemove",ve,le)},{default:()=>[ee(la,null,null)]}):null,U=ve.slots.label?.()||ve.props.label,Q=!re&&ve.active?e.tabindex??o.props.tabindex:-1;return ee("div",{ref:le=>X(le,W),class:[a.e("item"),a.is(o.props.tabPosition),a.is("active",ve.active),a.is("disabled",re),a.is("closable",te),a.is("focus",g.value)],id:`tab-${W}`,key:`tab-${oe}`,"aria-controls":`pane-${W}`,role:"tab","aria-selected":ve.active,tabindex:Q,onFocus:()=>G(),onBlur:()=>q(),onClick:le=>{q(),n("tabClick",ve,W,le)},onKeydown:le=>{const ce=Xt(le);te&&(ce===Ee.delete||ce===Ee.backspace)&&n("tabRemove",ve,le)}},[U,j])});return y.value,ee("div",{ref:c,class:[a.e("nav-wrap"),a.is("scrollable",!!v.value),a.is(o.props.tabPosition)]},[J,ee("div",{class:a.e("nav-scroll"),ref:r},[e.panes.length>0?ee("div",{class:[a.e("nav"),a.is(o.props.tabPosition),a.is("stretch",e.stretch&&["top","bottom"].includes(o.props.tabPosition))],ref:u,style:S.value,role:"tablist",onKeydown:Y,onWheel:_,onTouchstart:L,onTouchmove:z,onTouchend:O,onTouchcancel:O},[e.type?null:ee(oZ,{ref:f,tabs:[...e.panes],tabRefs:d.value},null),ae]):null])])}}}),uZ=Te({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:ne(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),Ov=e=>Ve(e)||We(e),cZ={[at]:e=>Ov(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>Ov(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>Ov(e),tabAdd:()=>!0},dZ=fe({name:"ElTabs",props:uZ,emits:cZ,setup(e,{emit:t,slots:n,expose:o}){const a=ke("tabs"),l=C(()=>["left","right"].includes(e.tabPosition)),{children:s,addChild:r,removeChild:u,ChildrenSorter:c}=yp(ct(),"ElTabPane"),d=B(),f=B((_t(e.modelValue)?e.defaultValue:e.modelValue)??"0"),v=async(b,w=!1)=>{if(!(f.value===b||_t(b)))try{let S;if(e.beforeLeave){const k=e.beforeLeave(b,f.value);S=k instanceof Promise?await k:k}else S=!0;if(S!==!1){const k=s.value.find(x=>x.paneName===f.value)?.isFocusInsidePane();f.value=b,w&&(t(at,b),t("tabChange",b)),d.value?.removeFocus?.(),k&&d.value?.focusActiveTab()}}catch{}},h=(b,w,S)=>{b.props.disabled||(t("tabClick",b,S),v(w,!0))},g=(b,w)=>{b.props.disabled||_t(b.props.name)||(w.stopPropagation(),t("edit",b.props.name,"remove"),t("tabRemove",b.props.name))},p=()=>{t("edit",void 0,"add"),t("tabAdd")},m=b=>{const w=Xt(b);[Ee.enter,Ee.numpadEnter].includes(w)&&p()},y=b=>{const w=b.el.firstChild,S=["bottom","right"].includes(e.tabPosition)?b.children[0].el:b.children[1].el;w!==S&&w.before(S)};return pe(()=>e.modelValue,b=>v(b)),pe(f,async()=>{await Pe(),d.value?.scrollToActiveTab()}),kt(Np,{props:e,currentName:f,registerPane:r,unregisterPane:u,nav$:d}),o({currentName:f,get tabNavRef(){return pr(d.value,["scheduleRender"])}}),()=>{const b=n["add-icon"],w=e.editable||e.addable?ee("div",{class:[a.e("new-tab"),l.value&&a.e("new-tab-vertical")],tabindex:e.tabindex,onClick:p,onKeydown:m},[b?ue(n,"add-icon"):ee(He,{class:a.is("icon-plus")},{default:()=>[ee(H2,null,null)]})]):null,S=()=>ee(iZ,{ref:d,currentName:f.value,editable:e.editable,type:e.type,panes:s.value,stretch:e.stretch,onTabClick:h,onTabRemove:g},null),k=ee("div",{class:[a.e("header"),l.value&&a.e("header-vertical"),a.is(e.tabPosition)]},[ee(c,null,{default:S,$stable:!0}),w]),x=ee("div",{class:a.e("content")},[ue(n,"default")]);return ee("div",{class:[a.b(),a.m(e.tabPosition),{[a.m("card")]:e.type==="card",[a.m("border-card")]:e.type==="border-card"}],onVnodeMounted:y,onVnodeUpdated:y},[x,k])}}}),fZ=Te({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),pZ=["id","aria-hidden","aria-labelledby"],Tw="ElTabPane";var vZ=fe({name:Tw,__name:"tab-pane",props:fZ,setup(e){const t=e,n=ct(),o=mn(),a=Be(Np);a||rn(Tw,"usage: ");const l=ke("tab-pane"),s=B(),r=B(),u=C(()=>t.closable??a.props.closable),c=C(()=>a.currentName.value===(t.name??r.value)),d=B(c.value),f=C(()=>t.name??r.value),v=C(()=>!t.lazy||d.value||c.value),h=()=>s.value?.contains(document.activeElement);pe(c,p=>{p&&(d.value=!0)});const g=zt({uid:n.uid,getVnode:()=>n.vnode,slots:o,props:t,paneName:f,active:c,index:r,isClosable:u,isFocusInsidePane:h});return a.registerPane(g),Ht(()=>{a.unregisterPane(g)}),Vm(()=>{o.label&&a.nav$.value?.scheduleRender()}),(p,m)=>v.value?Ue((E(),F("div",{key:0,id:`pane-${f.value}`,ref_key:"paneRef",ref:s,class:A(i(l).b()),role:"tabpanel","aria-hidden":!c.value,"aria-labelledby":`tab-${f.value}`},[ue(p.$slots,"default")],10,pZ)),[[Vt,c.value]]):se("v-if",!0)}}),M$=vZ;const hZ=ut(dZ,{TabPane:M$}),mZ=un(M$),gZ=Te({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:Ca,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}});var yZ=fe({name:"ElText",__name:"text",props:gZ,setup(e){const t=e,n=Za(),o=B(),a=Nn(),l=ke("text"),s=C(()=>[l.b(),l.m(t.type),l.m(a.value),l.is("truncated",t.truncated),l.is("line-clamp",!_t(t.lineClamp))]),r=async()=>{if(await Pe(),n.title)return;let u=!1;const c=o.value?.textContent||"";if(t.truncated){const d=o.value?.offsetWidth,f=o.value?.scrollWidth;d&&f&&f>d&&(u=!0)}else if(!_t(t.lineClamp)){const d=o.value?.offsetHeight,f=o.value?.scrollHeight;d&&f&&f>d&&(u=!0)}u?o.value?.setAttribute("title",c):o.value?.removeAttribute("title")};return st(r),Sa(r),(u,c)=>(E(),de(dt(e.tag),{ref_key:"textRef",ref:o,class:A(s.value),style:Fe({"-webkit-line-clamp":e.lineClamp})},{default:ie(()=>[ue(u.$slots,"default")]),_:3},8,["class","style"]))}}),bZ=yZ;const Ey=ut(bZ),O$="09:00",P$="18:00",R$="00:30",wZ=Te({format:{type:String,default:"HH:mm"},modelValue:{type:ne(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:ne(String),default:"light"},clearable:{type:Boolean,default:!0},size:On,placeholder:String,start:{type:String,default:O$},end:{type:String,default:P$},step:{type:String,default:R$},minTime:{type:ne(String)},maxTime:{type:ne(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:ne([String,Object]),default:()=>z2},clearIcon:{type:ne([String,Object]),default:()=>el},popperClass:{type:ne([String,Array,Object,Boolean]),default:""},popperStyle:{type:ne([String,Array,Object,Boolean]),default:void 0},...vr}),js=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const o=Number.parseInt(t[1],10);if(Number.isNaN(n)||Number.isNaN(o))return null;const a=e.toUpperCase();return a.includes("AM")&&n===12?n=0:a.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:o}}return null},SZ=e=>!!e&&e.hours>=0&&e.minutes>=0&&!Number.isNaN(e.hours)&&!Number.isNaN(e.minutes),Pv=(e,t)=>{const n=js(e);if(!n)return-1;const o=js(t);if(!o)return-1;const a=n.minutes+n.hours*60,l=o.minutes+o.hours*60;return a===l?0:a>l?1:-1},Nw=e=>`${e}`.padStart(2,"0"),Nd=e=>`${Nw(e.hours)}:${Nw(e.minutes)}`,CZ=(e,t)=>{const n=js(e);if(!n)return"";const o=js(t);if(!o)return"";const a={hours:n.hours,minutes:n.minutes};return a.minutes+=o.minutes,a.hours+=o.hours,a.hours+=Math.floor(a.minutes/60),a.minutes=a.minutes%60,Nd(a)};var kZ=fe({name:"ElTimeSelect",__name:"time-select",props:wZ,emits:[xt,"blur","focus","clear",at],setup(e,{expose:t}){ot.extend(jg);const{Option:n}=ds,o=e,a=ke("input"),l=B(),s=cn(),{lang:r}=Tt(),u=(b,w,S,k=!0)=>{const x=js(b);return!SZ(x)||!k&&x.hours===0&&x.minutes===0?(Yt("ElTimeSelect",`invalid ${w}, fallback to default ${w} (${S}).`),S):Nd(x)},c=C(()=>o.modelValue),d=C(()=>u(o.start,"start",O$)),f=C(()=>u(o.end,"end",P$)),v=C(()=>{const b=js(o.minTime||"");return b?Nd(b):null}),h=C(()=>{const b=js(o.maxTime||"");return b?Nd(b):null}),g=C(()=>u(o.step,"step",R$,!1)),p=C(()=>{const b=[],w=(k,x)=>{b.push({value:k,rawValue:x,disabled:Pv(x,v.value||"-1:-1")<=0||Pv(x,h.value||"100:100")>=0})};let S=d.value;for(;Pv(S,f.value)<=0;)w(ot(S,"HH:mm").locale(r.value).format(o.format),S),S=CZ(S,g.value);return o.includeEndTime&&b[b.length-1]?.rawValue!==f.value&&w(ot(f.value,"HH:mm").locale(r.value).format(o.format),f.value),b});return t({blur:()=>{l.value?.blur?.()},focus:()=>{l.value?.focus?.()}}),(b,w)=>(E(),de(i(ds),{ref_key:"select",ref:l,name:e.name,"model-value":c.value,disabled:i(s),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"popper-class":e.popperClass,"popper-style":e.popperStyle,"onUpdate:modelValue":w[0]||(w[0]=S=>b.$emit(i("update:modelValue"),S)),onChange:w[1]||(w[1]=S=>b.$emit(i("change"),S)),onBlur:w[2]||(w[2]=S=>b.$emit("blur",S)),onFocus:w[3]||(w[3]=S=>b.$emit("focus",S)),onClear:w[4]||(w[4]=()=>b.$emit("clear"))},{prefix:ie(()=>[e.prefixIcon?(E(),de(i(He),{key:0,class:A(i(a).e("prefix-icon"))},{default:ie(()=>[(E(),de(dt(e.prefixIcon)))]),_:1},8,["class"])):se("v-if",!0)]),default:ie(()=>[(E(!0),F(Oe,null,mt(p.value,S=>(E(),de(i(n),{key:S.value,label:S.value,value:S.value,disabled:S.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["name","model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","popper-class","popper-style"]))}}),xZ=kZ;const EZ=ut(xZ),A$="timeline",$Z=Te({mode:{type:String,values:["start","alternate","alternate-reverse","end"],default:"start"},reverse:Boolean}),TZ=fe({name:"ElTimeline",props:$Z,setup(e,{slots:t}){const n=ke("timeline");kt(A$,{props:e,slots:t});const o=C(()=>[n.b(),n.is(e.mode)]);return()=>{const a=Fo(t.default?.()??[]);return De("ul",{class:o.value},e.reverse?a.reverse():a)}}}),NZ=Te({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Gt},hollow:Boolean});var _Z=fe({name:"ElTimelineItem",__name:"timeline-item",props:NZ,setup(e){const t=e,{props:n}=Be(A$),o=ke("timeline-item"),a=C(()=>[o.e("node"),o.em("node",t.size||""),o.em("node",t.type||""),o.is("hollow",t.hollow)]),l=C(()=>[o.b(),{[o.e("center")]:t.center},o.is(n.mode)]);return(s,r)=>(E(),F("li",{class:A(l.value)},[M("div",{class:A(i(o).e("tail"))},null,2),s.$slots.dot?se("v-if",!0):(E(),F("div",{key:0,class:A(a.value),style:Fe({backgroundColor:e.color})},[e.icon?(E(),de(i(He),{key:0,class:A(i(o).e("icon"))},{default:ie(()=>[(E(),de(dt(e.icon)))]),_:1},8,["class"])):se("v-if",!0)],6)),s.$slots.dot?(E(),F("div",{key:1,class:A(i(o).e("dot"))},[ue(s.$slots,"dot")],2)):se("v-if",!0),M("div",{class:A(i(o).e("wrapper"))},[!e.hideTimestamp&&e.placement==="top"?(E(),F("div",{key:0,class:A([i(o).e("timestamp"),i(o).is("top")])},ye(e.timestamp),3)):se("v-if",!0),M("div",{class:A(i(o).e("content"))},[ue(s.$slots,"default")],2),!e.hideTimestamp&&e.placement==="bottom"?(E(),F("div",{key:1,class:A([i(o).e("timestamp"),i(o).is("bottom")])},ye(e.timestamp),3)):se("v-if",!0)],2)],2))}}),D$=_Z;const IZ=ut(TZ,{TimelineItem:D$}),MZ=un(D$),L$="left-check-change",B$="right-check-change",Wl=Te({data:{type:ne(Array),default:()=>[]},titles:{type:ne(Array),default:()=>[]},buttonTexts:{type:ne(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:ne(Function)},leftDefaultChecked:{type:ne(Array),default:()=>[]},rightDefaultChecked:{type:ne(Array),default:()=>[]},renderContent:{type:ne(Function)},modelValue:{type:ne(Array),default:()=>[]},format:{type:ne(Object),default:()=>({})},filterable:Boolean,props:{type:ne(Object),default:()=>fn({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0},virtualScroll:Boolean,itemSize:{type:Number,default:30}}),am=(e,t)=>[e,t].every(xe)||xe(e)&&hn(t),OZ={[xt]:(e,t,n)=>[e,n].every(xe)&&["left","right"].includes(t),[at]:e=>xe(e),[L$]:am,[B$]:am},bc=e=>{const t={label:"label",key:"key",disabled:"disabled"};return C(()=>({...t,...e.props}))},PZ=(e,t)=>({onSourceCheckedChange:(a,l)=>{e.leftChecked=a,l&&t(L$,a,l)},onTargetCheckedChange:(a,l)=>{e.rightChecked=a,l&&t(B$,a,l)}}),RZ=e=>{const t=bc(e),n=C(()=>e.data.reduce((o,a)=>(o[a[t.value.key]]=a,o),{}));return{sourceData:C(()=>e.data.filter(o=>!e.modelValue.includes(o[t.value.key]))),targetData:C(()=>e.targetOrder==="original"?e.data.filter(o=>e.modelValue.includes(o[t.value.key])):e.modelValue.reduce((o,a)=>{const l=n.value[a];return l&&o.push(l),o},[]))}},AZ=(e,t,n)=>{const o=bc(e),a=(r,u,c)=>{n(at,r),n(xt,r,u,c)};return{addToLeft:()=>{const r=e.modelValue.slice();t.rightChecked.forEach(u=>{const c=r.indexOf(u);c>-1&&r.splice(c,1)}),a(r,"left",t.rightChecked)},addToRight:()=>{let r=e.modelValue.slice();const u=e.data.filter(c=>{const d=c[o.value.key];return t.leftChecked.includes(d)&&!e.modelValue.includes(d)}).map(c=>c[o.value.key]);r=e.targetOrder==="unshift"?u.concat(r):r.concat(u),e.targetOrder==="original"&&(r=e.data.filter(c=>r.includes(c[o.value.key])).map(c=>c[o.value.key])),a(r,"right",t.leftChecked)}}},lm="checked-change",DZ=Te({data:Wl.data,optionRender:{type:ne(Function)},placeholder:String,title:String,filterable:Boolean,format:Wl.format,filterMethod:Wl.filterMethod,defaultChecked:Wl.leftDefaultChecked,props:Wl.props,virtualScroll:Wl.virtualScroll,itemSize:Wl.itemSize}),LZ={[lm]:am},BZ=(e,t,n)=>{const o=bc(e),a=C(()=>e.data.filter(h=>je(e.filterMethod)?e.filterMethod(t.query,h):String(h[o.value.label]||h[o.value.key]).toLowerCase().includes(t.query.toLowerCase()))),l=C(()=>a.value.filter(h=>!h[o.value.disabled])),s=C(()=>{const h=t.checked.length,g=e.data.length,{noChecked:p,hasChecked:m}=e.format;return p&&m?h>0?m.replace(/\${checked}/g,h.toString()).replace(/\${total}/g,g.toString()):p.replace(/\${total}/g,g.toString()):`${h}/${g}`}),r=C(()=>{const h=t.checked.length;return h>0&&h{const h=l.value.map(g=>g[o.value.key]);t.allChecked=h.length>0&&h.every(g=>t.checked.includes(g))},c=h=>{t.checked=h?l.value.map(g=>g[o.value.key]):[]},d=B(),{height:f}=Jd(C(()=>d.value?.$el)),v=B();return pe(()=>t.checked,(h,g)=>{u(),t.checkChangeByUser?n(lm,h,h.concat(g).filter(p=>!h.includes(p)||!g.includes(p))):(n(lm,h),t.checkChangeByUser=!0)}),pe(l,()=>{u()}),pe(()=>e.data,()=>{const h=[],g=a.value.map(p=>p[o.value.key]);t.checked.forEach(p=>{g.includes(p)&&h.push(p)}),t.checkChangeByUser=!1,t.checked=h}),pe(()=>e.defaultChecked,(h,g)=>{if(g&&h.length===g.length&&h.every(y=>g.includes(y)))return;const p=[],m=l.value.map(y=>y[o.value.key]);h.forEach(y=>{m.includes(y)&&p.push(y)}),t.checkChangeByUser=!1,t.checked=p},{immediate:!0}),pe(()=>t.query,()=>{e.virtualScroll&&v.value?.scrollToItem(0)},{flush:"post"}),{filteredData:a,checkableData:l,checkedSummary:s,virtualListRef:v,isIndeterminate:r,checkboxGroupRef:d,virtualListHeight:f,updateAllChecked:u,handleAllCheckedChange:c}};var VZ=fe({name:"ElTransferPanel",__name:"transfer-panel",props:DZ,emits:LZ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=mn(),s=({option:N})=>N,{t:r}=Tt(),u=ke("transfer"),c=zt({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=bc(o),{filteredData:f,checkedSummary:v,virtualListRef:h,isIndeterminate:g,checkboxGroupRef:p,virtualListHeight:m,handleAllCheckedChange:y}=BZ(o,c,a),b=C(()=>!mo(c.query)&&mo(f.value)),w=C(()=>!mo(l.default()[0].children)),{checked:S,allChecked:k,query:x}=Rn(c);return t({query:x}),(N,$)=>(E(),F("div",{class:A(i(u).b("panel"))},[M("p",{class:A(i(u).be("panel","header"))},[ee(i(ha),{modelValue:i(k),"onUpdate:modelValue":$[0]||($[0]=T=>gt(k)?k.value=T:null),indeterminate:i(g),"validate-event":!1,onChange:i(y)},{default:ie(()=>[M("span",{class:A(i(u).be("panel","header-title"))},ye(e.title),3),M("span",{class:A(i(u).be("panel","header-count"))},ye(i(v)),3)]),_:1},8,["modelValue","indeterminate","onChange"])],2),M("div",{class:A([i(u).be("panel","body"),i(u).is("with-footer",w.value)])},[e.filterable?(E(),de(i(Gn),{key:0,modelValue:i(x),"onUpdate:modelValue":$[1]||($[1]=T=>gt(x)?x.value=T:null),class:A(i(u).be("panel","filter")),size:"default",placeholder:e.placeholder,"prefix-icon":i($B),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):se("v-if",!0),Ue(ee(i(Zg),{ref_key:"checkboxGroupRef",ref:p,modelValue:i(S),"onUpdate:modelValue":$[2]||($[2]=T=>gt(S)?S.value=T:null),"validate-event":!1,class:A([i(u).is("filterable",e.filterable),i(u).be("panel","list")])},{default:ie(()=>[e.virtualScroll?(E(),de(i(gc),{key:1,ref_key:"virtualListRef",ref:h,data:i(f),total:i(f).length,"item-size":e.itemSize,height:i(m)},{default:ie(({data:T,index:I,style:P})=>[(E(),F("div",{key:T[I][i(d).key],style:Fe(P)},[ee(i(ha),{class:A(i(u).be("panel","item")),value:T[I][i(d).key],disabled:T[I][i(d).disabled],"validate-event":!1},{default:ie(()=>[ee(s,{option:e.optionRender?.(T[I])},null,8,["option"])]),_:2},1032,["class","value","disabled"])],4))]),_:1},8,["data","total","item-size","height"])):(E(!0),F(Oe,{key:0},mt(i(f),T=>(E(),de(i(ha),{key:T[i(d).key],class:A(i(u).be("panel","item")),value:T[i(d).key],disabled:T[i(d).disabled],"validate-event":!1},{default:ie(()=>[ee(s,{option:e.optionRender?.(T)},null,8,["option"])]),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[Vt,!b.value&&!i(mo)(e.data)]]),Ue(M("div",{class:A(i(u).be("panel","empty"))},[ue(N.$slots,"empty",{},()=>[ze(ye(b.value?i(r)("el.transfer.noMatch"):i(r)("el.transfer.noData")),1)])],2),[[Vt,b.value||i(mo)(e.data)]])],2),w.value?(E(),F("p",{key:0,class:A(i(u).be("panel","footer"))},[ue(N.$slots,"default")],2)):se("v-if",!0)],2))}}),_w=VZ;const FZ={key:0},zZ={key:0};var HZ=fe({name:"ElTransfer",__name:"transfer",props:Wl,emits:OZ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=mn(),{t:s}=Tt(),r=ke("transfer"),{formItem:u}=Kn(),c=zt({leftChecked:[],rightChecked:[]}),d=bc(o),{sourceData:f,targetData:v}=RZ(o),{onSourceCheckedChange:h,onTargetCheckedChange:g}=PZ(c,a),{addToLeft:p,addToRight:m}=AZ(o,c,a),y=B(),b=B(),w=T=>{switch(T){case"left":y.value.query="";break;case"right":b.value.query="";break}},S=C(()=>o.buttonTexts.length===2),k=C(()=>o.titles[0]||s("el.transfer.titles.0")),x=C(()=>o.titles[1]||s("el.transfer.titles.1")),N=C(()=>o.filterPlaceholder||s("el.transfer.filterPlaceholder"));pe(()=>o.modelValue,()=>{o.validateEvent&&u?.validate?.("change").catch(ht)});const $=C(()=>T=>{if(o.renderContent)return o.renderContent(De,T);const I=(l.default?.({option:T})||[]).filter(P=>P.type!==$n);return I.length?I:De("span",T[d.value.label]||T[d.value.key])});return t({clearQuery:w,leftPanel:y,rightPanel:b}),(T,I)=>(E(),F("div",{class:A(i(r).b())},[ee(_w,{ref_key:"leftPanel",ref:y,data:i(f),"option-render":$.value,placeholder:N.value,title:k.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,"default-checked":e.leftDefaultChecked,props:o.props,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,onCheckedChange:i(h)},{empty:ie(()=>[ue(T.$slots,"left-empty")]),default:ie(()=>[ue(T.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","virtual-scroll","item-size","onCheckedChange"]),M("div",{class:A(i(r).e("buttons"))},[ee(i(Fn),{type:"primary",class:A([i(r).e("button"),i(r).is("with-texts",S.value)]),disabled:i(mo)(c.rightChecked),onClick:i(p)},{default:ie(()=>[ee(i(He),null,{default:ie(()=>[ee(i(El))]),_:1}),i(_t)(e.buttonTexts[0])?se("v-if",!0):(E(),F("span",FZ,ye(e.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),ee(i(Fn),{type:"primary",class:A([i(r).e("button"),i(r).is("with-texts",S.value)]),disabled:i(mo)(c.leftChecked),onClick:i(m)},{default:ie(()=>[i(_t)(e.buttonTexts[1])?se("v-if",!0):(E(),F("span",zZ,ye(e.buttonTexts[1]),1)),ee(i(He),null,{default:ie(()=>[ee(i(io))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),ee(_w,{ref_key:"rightPanel",ref:b,data:i(v),"option-render":$.value,placeholder:N.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,title:x.value,"default-checked":e.rightDefaultChecked,props:o.props,"virtual-scroll":e.virtualScroll,"item-size":e.itemSize,onCheckedChange:i(g)},{empty:ie(()=>[ue(T.$slots,"right-empty")]),default:ie(()=>[ue(T.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","virtual-scroll","item-size","onCheckedChange"])],2))}}),KZ=HZ;const WZ=ut(KZ),$y="RootTree",V$="NodeInstance",Iw="TreeNodeMap",F$=Te({data:{type:ne(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:ne(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:ne(Function)},allowDrop:{type:ne(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:Gt}}),jZ={"check-change":(e,t,n)=>e&&qt(t)&&qt(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,o)=>e&&t&&o instanceof Event,"node-contextmenu":(e,t,n,o)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,o)=>e&&o,"node-drop":(e,t,n,o)=>e&&t&&o,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n},z$="$treeNodeId",Mw=function(e,t){!t||t.$treeNodeId||Object.defineProperty(t,z$,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},Ty=(e,t)=>t?.[e||"$treeNodeId"],sm=(e,t,n)=>{const o=e.value.currentNode;n();const a=e.value.currentNode;o!==a&&t("current-change",a?a.data:null,a)},H$=e=>{let t=!0,n=!0,o=!0,a=!0;for(let l=0,s=e.length;l{n.canFocus=t,rm(n.childNodes,t)})};let YZ=0;var im=class _d{constructor(t){this.isLeafByUser=void 0,this.isLeaf=void 0,this.isEffectivelyChecked=!1,this.id=YZ++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)Ft(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const n=t.props;if(n&&typeof n.isLeaf<"u"){const l=Uc(this,"isLeaf");qt(l)&&(this.isLeafByUser=l)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),xe(this.data)||Mw(this,this.data),!this.data)return;const o=t.defaultExpandedKeys,a=t.key;a&&!hn(this.key)&&o&&o.includes(this.key)&&this.expand(null,t.autoExpandParent),a&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode&&(t.currentNode.isCurrent=!1),t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||this.parent?.expanded===!0)&&(this.canFocus=!0)}setData(t){xe(t)||Mw(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&xe(this.data)?n=this.data:n=Uc(this,"children")||[];for(let o=0,a=n.length;o-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(o=>o===t||n&&o.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,o){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof _d)){if(!o){const a=this.getChildren(!0);a?.includes(t.data)||(_t(n)||n<0?a?.push(t.data):a?.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=zt(new _d(t)),t instanceof _d&&t.initialize()}t.level=this.level+1,_t(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let o;n&&(o=this.childNodes.indexOf(n)),this.insertChild(t,o)}insertAfter(t,n){let o;n&&(o=this.childNodes.indexOf(n),o!==-1&&(o+=1)),this.insertChild(t,o)}removeChild(t){const n=this.getChildren()||[],o=n.indexOf(t.data);o>-1&&n.splice(o,1);const a=this.childNodes.indexOf(t);a>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(a,1)),this.updateLeafState()}removeChildByData(t){const n=this.childNodes.find(o=>o.data===t);n&&this.removeChild(n)}expand(t,n){const o=()=>{if(n){let a=this.parent;for(;a&&a.level>0;)a.expanded=!0,a=a.parent}this.expanded=!0,t&&t(),rm(this.childNodes,!0)};this.shouldLoadData()?this.loadData(a=>{xe(a)&&(this.store.checkStrictly||(this.checked?this.setChecked(!0,!0):Ki(this)),o())}):o()}doCreateChildren(t,n={}){t.forEach(o=>{this.insertChild(Object.assign({data:o},n),void 0,!0)})}collapse(){this.expanded=!1,rm(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(t,n,o,a){if(this.indeterminate=t==="half",this.checked=t===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly&&!n)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const s=()=>{if(n){const r=this.childNodes;for(let f=0,v=r.length;f{s(),Ki(this)},{checked:t!==!1});return}else s()}const l=this.parent;!l||l.level===0||!o&&!this.store.checkStrictly&&Ki(l)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const o=this.store.props;let a="children";return o&&(a=o.children||"children"),_t(n[a])&&(n[a]=null),t&&!n[a]&&(n[a]=[]),n[a]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(l=>l.data),o={},a=[];t.forEach((l,s)=>{const r=l[z$];r&&n.some(u=>u?.$treeNodeId===r)?o[r]={index:s,data:l}:a.push({index:s,data:l})}),this.store.lazy||n.forEach(l=>{o[l?.$treeNodeId]||this.removeChildByData(l)}),a.forEach(({index:l,data:s})=>{this.insertChild({data:s},l)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const o=l=>{this.childNodes=[],this.doCreateChildren(l,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,l)},a=()=>{this.loading=!1};this.store.load(this,o,a)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const o=n.shift();n.unshift(...o.childNodes),t(o)}}reInitChecked(){this.store.checkStrictly||Ki(this)}},UZ=class{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(const t in e)Ft(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new im({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const e=this.load;e(this.root,t=>{this.root.doCreateChildren(t),this._initDefaultCheckedNodes()},ht)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,n=this.lazy,o=async function(a){const l=a.root?a.root.childNodes:a.childNodes;for(const[s,r]of l.entries())r.visible=!!t?.call(r,e,r.data,r),s%80===0&&s>0&&await Pe(),await o(r);if(!a.visible&&l.length){let s=!0;s=!l.some(r=>r.visible),a.root?a.root.visible=s===!1:a.visible=s===!1}e&&a.visible&&!a.isLeaf&&(!n||a.loaded)&&a.expand()};o(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof im)return e;const t=lt(e)?Ty(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){const n=this.getNode(t);n.parent?.insertBefore({data:e},n)}insertAfter(e,t){const n=this.getNode(t);n.parent?.insertAfter({data:e},n)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const n=Vo(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(n=>{const o=t[n];o&&o.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){const t=this.defaultCheckedKeys||[];!hn(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{const n=e.key;hn(n)||(this.nodesMap[n]=e)}}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(t=>{this.deregisterNode(t)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const n=[],o=function(a){(a.root?a.root.childNodes:a.childNodes).forEach(l=>{(l.checked||t&&l.indeterminate)&&(!e||e&&l.isLeaf)&&n.push(l.data),o(l)})};return o(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(t=>(t||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(o=>{o.indeterminate&&e.push(o.data),t(o)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const n in t)Ft(t,n)&&e.push(t[n]);return e}updateChildren(e,t){const n=this.nodesMap[e];if(!n)return;const o=n.childNodes;for(let a=o.length-1;a>=0;a--){const l=o[a];this.remove(l.data)}for(let a=0,l=t.length;ar.level-u.level),a=Object.create(null),l=Object.keys(n);o.forEach(r=>r.setChecked(!1,!1));const s=r=>{r.childNodes.forEach(u=>{a[u.data[e]]=!0,u.childNodes?.length&&s(u)})};for(let r=0,u=o.length;r{h.isLeaf||h.setChecked(!1,!1,!0),f(h)}),v.reInitChecked()};f(c)}}}setCheckedNodes(e,t=!1){const n=this.key,o={};e.forEach(a=>{o[(a||{})[n]]=!0}),this._setCheckedKeys(n,t,o)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,o={};e.forEach(a=>{o[a]=!0}),this._setCheckedKeys(n,t,o)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(t=>{const n=this.getNode(t);n&&n.expand(null,this.autoExpandParent)})}setChecked(e,t,n){const o=this.getNode(e);o&&o.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const n=e[this.key],o=this.nodesMap[n];this.setCurrentNode(o),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,Vo(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0))}};function K$(e){const t=Be(Iw,null);let n={treeNodeExpand:o=>{e.node!==o&&e.node?.collapse()},children:new Set};return t&&t.children.add(n),Ht(()=>{t&&t.children.delete(n),n=null}),kt(Iw,n),{broadcastExpanded:o=>{if(e.accordion)for(const a of n.children)a.treeNodeExpand(o)}}}const W$=Symbol("dragEvents");function qZ({props:e,ctx:t,el$:n,dropIndicator$:o,store:a}){const l=ke("tree"),s=B({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return kt(W$,{treeNodeDragStart:({event:d,treeNode:f})=>{if(d.dataTransfer){if(je(e.allowDrag)&&!e.allowDrag(f.node))return d.preventDefault(),!1;d.dataTransfer.effectAllowed="move";try{d.dataTransfer.setData("text/plain","")}catch{}s.value.draggingNode=f,t.emit("node-drag-start",f.node,d)}},treeNodeDragOver:({event:d,treeNode:f})=>{if(!d.dataTransfer)return;const v=f,h=s.value.dropNode;h&&h.node.id!==v.node.id&&ro(h.$el,l.is("drop-inner"));const g=s.value.draggingNode;if(!g||!v)return;let p=!0,m=!0,y=!0,b=!0;je(e.allowDrop)&&(p=e.allowDrop(g.node,v.node,"prev"),b=m=e.allowDrop(g.node,v.node,"inner"),y=e.allowDrop(g.node,v.node,"next")),d.dataTransfer.dropEffect=m||p||y?"move":"none",(p||m||y)&&h?.node.id!==v.node.id&&(h&&t.emit("node-drag-leave",g.node,h.node,d),t.emit("node-drag-enter",g.node,v.node,d)),p||m||y?s.value.dropNode=v:s.value.dropNode=null,v.node.nextSibling===g.node&&(y=!1),v.node.previousSibling===g.node&&(p=!1),v.node.contains(g.node,!1)&&(m=!1),(g.node===v.node||g.node.contains(v.node))&&(p=!1,m=!1,y=!1);const w=v.$el,S=w.querySelector(`.${l.be("node","content")}`).getBoundingClientRect(),k=n.value.getBoundingClientRect(),x=n.value.scrollTop;let N;const $=p?m?.25:y?.45:1:Number.NEGATIVE_INFINITY,T=y?m?.75:p?.55:0:Number.POSITIVE_INFINITY;let I=-9999;const P=d.clientY-S.top;PS.height*T?N="after":m?N="inner":N="none";const _=w.querySelector(`.${l.be("node","expand-icon")}`).getBoundingClientRect(),H=o.value;N==="before"?I=_.top-k.top+x:N==="after"&&(I=_.bottom-k.top+x),H.style.top=`${I}px`,H.style.left=`${_.right-k.left}px`,N==="inner"?Jo(w,l.is("drop-inner")):ro(w,l.is("drop-inner")),s.value.showDropIndicator=N==="before"||N==="after",s.value.allowDrop=s.value.showDropIndicator||b,s.value.dropType=N,t.emit("node-drag-over",g.node,v.node,d)},treeNodeDragEnd:d=>{const{draggingNode:f,dropType:v,dropNode:h}=s.value;if(d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),f?.node.data&&h){const g={data:f.node.data};v!=="none"&&f.node.remove(),v==="before"?h.node.parent?.insertBefore(g,h.node):v==="after"?h.node.parent?.insertAfter(g,h.node):v==="inner"&&h.node.insertChild(g),v!=="none"&&(a.value.registerNode(g),a.value.key&&f.node.eachNode(p=>{a.value.nodesMap[p.data[a.value.key]]?.setChecked(p.checked,!a.value.checkStrictly)})),ro(h.$el,l.is("drop-inner")),t.emit("node-drag-end",f.node,h.node,v,d),v!=="none"&&t.emit("node-drop",f.node,h.node,v,d)}f&&!h&&t.emit("node-drag-end",f.node,null,v,d),s.value.showDropIndicator=!1,s.value.draggingNode=null,s.value.dropNode=null,s.value.allowDrop=!0}}),{dragState:s}}var GZ=fe({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ke("tree"),n=Be(V$),o=Be($y);return()=>{const a=e.node,{data:l,store:s}=a;return e.renderContent?e.renderContent(De,{_self:n,node:a,data:l,store:s}):ue(o.ctx.slots,"default",{node:a,data:l},()=>[De(Ey,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[a.label])])}}}),XZ=GZ,ZZ=fe({name:"ElTreeNode",components:{ElCollapseTransition:Ep,ElCheckbox:ha,NodeContent:XZ,ElIcon:He,Loading:sa},props:{node:{type:im,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=ke("tree"),{broadcastExpanded:o}=K$(e),a=Be($y),l=B(!1),s=B(!1),r=B(),u=B(),c=B(),d=Be(W$),f=ct();kt(V$,f),a||Yt("Tree","Can not find node's tree."),e.node.expanded&&(l.value=!0,s.value=!0);const v=a.props.props.children||"children";pe(()=>{const T=e.node.data?.[v];return T&&[...T]},()=>{e.node.updateChildren()}),pe(()=>e.node.indeterminate,T=>{p(e.node.checked,T)}),pe(()=>e.node.checked,T=>{p(T,e.node.indeterminate)}),pe(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),pe(()=>e.node.expanded,T=>{Pe(()=>l.value=T),T&&(s.value=!0)});const h=T=>a.props.nodeKey?Ty(a.props.nodeKey,T.data):T.id,g=T=>{const I=e.props.class;if(!I)return{};let P;if(je(I)){const{data:_}=T;P=I(_,T)}else P=I;return Ve(P)?{[P]:!0}:P},p=(T,I)=>{(r.value!==T||u.value!==I)&&a.ctx.emit("check-change",e.node.data,T,I),r.value=T,u.value=I},m=T=>{sm(a.store,a.ctx.emit,()=>{if(a?.props?.nodeKey){const I=h(e.node);a.store.value.setCurrentNodeKey(I)}else a.store.value.setCurrentNode(e.node)}),a.currentNode.value=e.node,a.props.expandOnClickNode&&b(),(a.props.checkOnClickNode||e.node.isLeaf&&a.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&w(!e.node.checked),a.ctx.emit("node-click",e.node.data,e.node,f,T)},y=T=>{a.instance.vnode.props?.onNodeContextmenu&&(T.stopPropagation(),T.preventDefault()),a.ctx.emit("node-contextmenu",T,e.node.data,e.node,f)},b=()=>{e.node.isLeaf||(l.value?(a.ctx.emit("node-collapse",e.node.data,e.node,f),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,f)}))},w=T=>{const I=a?.props.checkStrictly,P=e.node.childNodes;!I&&P.length&&(T=P.some(_=>!_.isEffectivelyChecked)),e.node.setChecked(T,!I),Pe(()=>{const _=a.store.value;a.ctx.emit("check",e.node.data,{checkedNodes:_.getCheckedNodes(),checkedKeys:_.getCheckedKeys(),halfCheckedNodes:_.getHalfCheckedNodes(),halfCheckedKeys:_.getHalfCheckedKeys()})})};return{ns:n,node$:c,tree:a,expanded:l,childNodeRendered:s,oldChecked:r,oldIndeterminate:u,getNodeKey:h,getNodeClass:g,handleSelectChange:p,handleClick:m,handleContextMenu:y,handleExpandIconClick:b,handleCheckChange:w,handleChildNodeExpand:(T,I,P)=>{o(I),a.ctx.emit("node-expand",T,I,P)},handleDragStart:T=>{a.props.draggable&&d.treeNodeDragStart({event:T,treeNode:e})},handleDragOver:T=>{T.preventDefault(),a.props.draggable&&d.treeNodeDragOver({event:T,treeNode:{$el:c.value,node:e.node}})},handleDrop:T=>{T.preventDefault()},handleDragEnd:T=>{a.props.draggable&&d.treeNodeDragEnd(T)},CaretRight:F2}}});const JZ=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],QZ=["aria-expanded"];function eJ(e,t,n,o,a,l){const s=Ot("el-icon"),r=Ot("el-checkbox"),u=Ot("loading"),c=Ot("node-content"),d=Ot("el-tree-node"),f=Ot("el-collapse-transition");return Ue((E(),F("div",{ref:"node$",class:A([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[2]||(t[2]=et((...v)=>e.handleClick&&e.handleClick(...v),["stop"])),onContextmenu:t[3]||(t[3]=(...v)=>e.handleContextMenu&&e.handleContextMenu(...v)),onDragstart:t[4]||(t[4]=et((...v)=>e.handleDragStart&&e.handleDragStart(...v),["stop"])),onDragover:t[5]||(t[5]=et((...v)=>e.handleDragOver&&e.handleDragOver(...v),["stop"])),onDragend:t[6]||(t[6]=et((...v)=>e.handleDragEnd&&e.handleDragEnd(...v),["stop"])),onDrop:t[7]||(t[7]=et((...v)=>e.handleDrop&&e.handleDrop(...v),["stop"]))},[M("div",{class:A(e.ns.be("node","content")),style:Fe({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(E(),de(s,{key:0,class:A([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:et(e.handleExpandIconClick,["stop"])},{default:ie(()=>[(E(),de(dt(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):se("v-if",!0),e.showCheckbox?(E(),de(r,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=et(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):se("v-if",!0),e.node.loading?(E(),de(s,{key:2,class:A([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:ie(()=>[ee(u)]),_:1},8,["class"])):se("v-if",!0),ee(c,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),ee(f,null,{default:ie(()=>[!e.renderAfterExpand||e.childNodeRendered?Ue((E(),F("div",{key:0,class:A(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:t[1]||(t[1]=et(()=>{},["stop"]))},[(E(!0),F(Oe,null,mt(e.node.childNodes,v=>(E(),de(d,{key:e.getNodeKey(v),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:v,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,QZ)),[[Vt,e.expanded]]):se("v-if",!0)]),_:1})],42,JZ)),[[Vt,e.node.visible]])}var tJ=An(ZZ,[["render",eJ]]);function nJ({el$:e},t){const n=ke("tree");st(()=>{l()}),Sa(()=>{e.value?.querySelectorAll("input[type=checkbox]").forEach(s=>{s.setAttribute("tabindex","-1")})});function o(s,r){const u=t.value.getNode(s[r].dataset.key);return u.canFocus&&u.visible&&(u.parent?.expanded||u.parent?.level===0)}Wt(e,"keydown",s=>{const r=s.target;if(!r.className.includes(n.b("node")))return;const u=Xt(s),c=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),d=c.indexOf(r);let f;if([Ee.up,Ee.down].includes(u)){if(s.preventDefault(),u===Ee.up){f=d===-1?0:d!==0?d-1:c.length-1;const h=f;for(;!o(c,f);){if(f--,f===h){f=-1;break}f<0&&(f=c.length-1)}}else{f=d===-1?0:d=c.length&&(f=0)}}f!==-1&&c[f].focus()}[Ee.left,Ee.right].includes(u)&&(s.preventDefault(),r.click());const v=r.querySelector('[type="checkbox"]');[Ee.enter,Ee.numpadEnter,Ee.space].includes(u)&&v&&(s.preventDefault(),v.click())});const l=()=>{if(!e.value)return;const s=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(u=>{u.setAttribute("tabindex","-1")});const r=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(r.length){r[0].setAttribute("tabindex","0");return}s[0]?.setAttribute("tabindex","0")}}var oJ=fe({name:"ElTree",components:{ElTreeNode:tJ},props:F$,emits:jZ,setup(e,t){const{t:n}=Tt(),o=ke("tree"),a=B(new UZ({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));a.value.initialize();const l=B(a.value.root),s=B(null),r=B(null),u=B(null),{broadcastExpanded:c}=K$(e),{dragState:d}=qZ({props:e,ctx:t,el$:r,dropIndicator$:u,store:a});nJ({el$:r},a);const f=ct(),v=C(()=>{let V=f?.parent;for(;V;){if(V.type.name==="ElTreeSelect")return!0;V=V.parent}return!1}),h=C(()=>{const{childNodes:V}=l.value;return(!V||V.length===0||V.every(({visible:Y})=>!Y))&&!v.value});pe(()=>e.currentNodeKey,V=>{a.value.setCurrentNodeKey(V??null)}),pe(()=>e.defaultCheckedKeys,(V,Y)=>{dn(V,Y)||a.value.setDefaultCheckedKey(V??[])}),pe(()=>e.defaultExpandedKeys,V=>{a.value.setDefaultExpandedKeys(V??[])}),pe(()=>e.data,V=>{a.value.setData(V)},{deep:!0}),pe(()=>e.checkStrictly,V=>{a.value.checkStrictly=V});const g=V=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");a.value.filter(V)},p=V=>e.nodeKey?Ty(e.nodeKey,V.data):V.id,m=V=>{if(!e.nodeKey)throw new Error(`[Tree] nodeKey is required in ${V}`)},y=V=>{m("getNodePath");const Y=a.value.getNode(V);if(!Y)return[];const G=[Y.data];let q=Y.parent;for(;q&&q!==l.value;)G.push(q.data),q=q.parent;return G.reverse()},b=(V,Y)=>a.value.getCheckedNodes(V,Y),w=V=>a.value.getCheckedKeys(V),S=()=>{const V=a.value.getCurrentNode();return V?V.data:null},k=()=>{m("getCurrentKey");const V=S();return V?V[e.nodeKey]:null},x=(V,Y)=>{m("setCheckedNodes"),a.value.setCheckedNodes(V,Y)},N=(V,Y)=>{m("setCheckedKeys"),a.value.setCheckedKeys(V,Y)},$=(V,Y,G=!1)=>{a.value.setChecked(V,Y,G)},T=()=>a.value.getHalfCheckedNodes(),I=()=>a.value.getHalfCheckedKeys(),P=(V,Y=!0)=>{m("setCurrentNode"),sm(a,t.emit,()=>{c(V),a.value.setUserCurrentNode(V,Y)})},_=(V=null,Y=!0)=>{m("setCurrentKey"),sm(a,t.emit,()=>{c(),a.value.setCurrentNodeKey(V,Y)})},H=V=>a.value.getNode(V),L=V=>{a.value.remove(V)},z=(V,Y)=>{a.value.append(V,Y)},O=(V,Y)=>{a.value.insertBefore(V,Y)},R=(V,Y)=>{a.value.insertAfter(V,Y)},D=(V,Y,G)=>{c(Y),t.emit("node-expand",V,Y,G)},K=(V,Y)=>{m("updateKeyChildren"),a.value.updateChildren(V,Y)};return kt($y,{ctx:t,props:e,store:a,root:l,currentNode:s,instance:f}),kt(Xa,void 0),{ns:o,store:a,root:l,currentNode:s,dragState:d,el$:r,dropIndicator$:u,isEmpty:h,filter:g,getNodeKey:p,getNodePath:y,getCheckedNodes:b,getCheckedKeys:w,getCurrentNode:S,getCurrentKey:k,setCheckedNodes:x,setCheckedKeys:N,setChecked:$,getHalfCheckedNodes:T,getHalfCheckedKeys:I,setCurrentNode:P,setCurrentKey:_,t:n,getNode:H,remove:L,append:z,insertBefore:O,insertAfter:R,handleNodeExpand:D,updateKeyChildren:K}}});function aJ(e,t,n,o,a,l){const s=Ot("el-tree-node");return E(),F("div",{ref:"el$",class:A([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(E(!0),F(Oe,null,mt(e.root.childNodes,r=>(E(),de(s,{key:e.getNodeKey(r),node:r,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(E(),F("div",{key:0,class:A(e.ns.e("empty-block"))},[ue(e.$slots,"empty",{},()=>[M("span",{class:A(e.ns.e("empty-text"))},ye(e.emptyText??e.t("el.tree.emptyText")),3)])],2)):se("v-if",!0),Ue(M("div",{ref:"dropIndicator$",class:A(e.ns.e("drop-indicator"))},null,2),[[Vt,e.dragState.showDropIndicator]])],2)}var lJ=An(oJ,[["render",aJ]]);const Ny=ut(lJ),sJ=(e,{attrs:t,emit:n},{select:o,tree:a,key:l})=>{const s=ke("tree-select");pe(()=>e.data,()=>{e.filterable&&Pe(()=>{a.value?.filter(o.value?.states.inputValue)})},{flush:"post"});const r=u=>{const c=u.at(-1);if(c.expanded&&c.childNodes.at(-1))r([c.childNodes.at(-1)]);else{a.value.el$?.querySelector(`[data-key="${u.at(-1).key}"]`)?.focus({preventScroll:!0});return}};return st(()=>{Wt(()=>o.value?.$el,"keydown",async u=>{const c=Xt(u),{dropdownMenuVisible:d}=o.value;[Ee.down,Ee.up].includes(c)&&d&&(await Pe(),setTimeout(()=>{if(Ee.up===c){const f=a.value.store.root.childNodes;r(f);return}o.value.optionsArray[o.value.states.hoveringIndex].$el?.parentNode?.parentNode?.focus({preventScroll:!0})}))},{capture:!0})}),{...Ya(Rn(e),Object.keys(ds.props)),...t,class:C(()=>t.class),style:C(()=>t.style),"onUpdate:modelValue":u=>n(at,u),valueKey:l,popperClass:C(()=>[s.e("popper"),e.popperClass]),filterMethod:(u="")=>{e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):a.value?.filter(u)}}},rJ=fe({extends:rf,setup(e,t){const n=rf.setup(e,t);delete n.selectOptionClick;const o=ct().proxy;return Pe(()=>{n.select.states.cachedOptions.get(o.value)||n.select.onOptionCreate(o)}),pe(()=>t.attrs.visible,a=>{Pe(()=>{n.states.visible=a})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function um(e){return e||e===0}function _y(e){return xe(e)&&e.length}function xr(e){return xe(e)?e:um(e)?[e]:[]}function Id(e,t,n,o,a){for(let l=0;l{pe([()=>e.modelValue,l],()=>{e.showCheckbox&&Pe(()=>{const g=l.value;g&&!dn(g.getCheckedKeys(),xr(e.modelValue))&&g.setCheckedKeys(xr(e.modelValue))})},{immediate:!0,deep:!0});const r=C(()=>({value:s.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),u=(g,p)=>{const m=r.value[g];return je(m)?m(p,l.value?.getNode(u("value",p))):p[m]},c=xr(e.modelValue).map(g=>Id(e.data||[],p=>u("value",p)===g,p=>u("children",p),(p,m,y,b)=>b&&u("value",b))).filter(g=>um(g)),d=C(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const g=[];return Md(e.data.concat(e.cacheData),p=>{const m=u("value",p);g.push({value:m,currentLabel:u("label",p),isDisabled:u("disabled",p)})},p=>u("children",p)),g}),f=()=>l.value?.getCheckedKeys().filter(g=>{const p=l.value?.getNode(g);return!hn(p)&&mo(p.childNodes)}),v=g=>{dn(e.modelValue,g)||o(xt,g)};function h(g){o(at,g),v(g)}return{...Ya(Rn(e),Object.keys(Ny.props)),...t,nodeKey:s,expandOnClickNode:C(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:C(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(c):c),renderContent:(g,{node:p,data:m,store:y})=>g(rJ,{value:u("value",m),label:u("label",m),disabled:u("disabled",m),visible:p.visible},e.renderContent?()=>e.renderContent(g,{node:p,data:m,store:y}):n.default?()=>n.default({node:p,data:m,store:y}):void 0),filterNodeMethod:(g,p,m)=>e.filterNodeMethod?e.filterNodeMethod(g,p,m):g?new RegExp(pg(g),"i").test(u("label",p)||""):!0,onNodeClick:(g,p,m)=>{if(t.onNodeClick?.(g,p,m),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||p.isLeaf)){if(!u("disabled",g)){const y=a.value?.states.options.get(u("value",g));a.value?.handleOptionSelect(y)}}else e.expandOnClickNode&&m.proxy.handleExpandIconClick()},onCheck:(g,p)=>{if(!e.showCheckbox)return;const m=u("value",g),y={};Md([l.value.store.root],k=>y[k.key]=k,k=>k.childNodes);const b=p.checkedKeys,w=e.multiple?xr(e.modelValue).filter(k=>!(k in y)&&!b.includes(k)):[],S=w.concat(b);if(e.checkStrictly)h(e.multiple?S:S.includes(m)?m:void 0);else if(e.multiple){const k=f();h(w.concat(k))}else{const k=Id([g],$=>!_y(u("children",$))&&!u("disabled",$),$=>u("children",$)),x=k?u("value",k):void 0,N=um(e.modelValue)&&!!Id([g],$=>u("value",$)===e.modelValue,$=>u("children",$));h(x===e.modelValue||N?void 0:x)}Pe(()=>{const k=xr(e.modelValue);l.value.setCheckedKeys(k),t.onCheck?.(g,{checkedKeys:l.value.getCheckedKeys(),checkedNodes:l.value.getCheckedNodes(),halfCheckedKeys:l.value.getHalfCheckedKeys(),halfCheckedNodes:l.value.getHalfCheckedNodes()})}),a.value?.focus()},onNodeExpand:(g,p,m)=>{t.onNodeExpand?.(g,p,m),Pe(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&p.checked){const y={},b=l.value.getCheckedKeys();Md([l.value.store.root],k=>y[k.key]=k,k=>k.childNodes);const w=xr(e.modelValue).filter(k=>!(k in y)&&!b.includes(k)),S=f();h(w.concat(S))}})},cacheOptions:d}};var uJ=fe({props:{data:{type:Array,default:()=>[]}},setup(e){const t=Be(hc);return pe(()=>e.data,()=>{e.data.forEach(o=>{t.states.cachedOptions.has(o.value)||t.states.cachedOptions.set(o.value,o)});const n=t.selectRef?.querySelectorAll("input")||[];Lt&&!Array.from(n).includes(document.activeElement)&&t.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),cJ=fe({name:"ElTreeSelect",inheritAttrs:!1,props:{...Lx,...F$,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:o,emit:a,attrs:l}=t,s={...l,onChange:void 0},r=B(),u=B(),c=C(()=>e.nodeKey||e.valueKey||"value"),d=sJ(e,{attrs:l,emit:a},{select:r,tree:u,key:c}),{cacheOptions:f,...v}=iJ(e,{attrs:s,slots:n,emit:a},{select:r,tree:u,key:c}),h=zt({});return o(h),st(()=>{Object.assign(h,{...Ya(u.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...Ya(r.value,["focus","blur","selectedLabel"]),treeRef:u.value,selectRef:r.value})}),()=>De(ds,zt({...d,ref:g=>r.value=g}),{...n,default:()=>[De(uJ,{data:f.value}),De(Ny,zt({...v,ref:g=>u.value=g}))]})}}),dJ=cJ;const fJ=ut(dJ),Iy=Symbol(),pJ={key:-1,level:-1,data:{}},j$={type:Number,default:26},vJ=Te({data:{type:ne(Array),default:()=>fn([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:ne(Object),default:()=>fn({children:"children",label:"label",disabled:"disabled",value:"id",class:""})},highlightCurrent:Boolean,showCheckbox:Boolean,defaultCheckedKeys:{type:ne(Array),default:()=>fn([])},checkStrictly:Boolean,defaultExpandedKeys:{type:ne(Array),default:()=>fn([])},indent:{type:Number,default:16},itemSize:j$,icon:{type:Gt},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},currentNodeKey:{type:ne([String,Number])},accordion:Boolean,filterMethod:{type:ne(Function)},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),hJ=Te({node:{type:ne(Object),default:()=>fn(pJ)},expanded:Boolean,checked:Boolean,indeterminate:Boolean,showCheckbox:Boolean,disabled:Boolean,current:Boolean,hiddenExpandIcon:Boolean,itemSize:j$}),mJ=Te({node:{type:ne(Object),required:!0}}),Y$="node-click",U$="node-drop",q$="node-expand",G$="node-collapse",X$="current-change",Z$="check",J$="check-change",Q$="node-contextmenu",gJ={[Y$]:(e,t,n)=>e&&t&&n,[U$]:(e,t,n)=>e&&t&&n,[q$]:(e,t)=>e&&t,[G$]:(e,t)=>e&&t,[X$]:(e,t)=>e&&t,[Z$]:(e,t)=>e&&t,[J$]:(e,t)=>e&&qt(t),[Q$]:(e,t,n)=>e&&t&&n},yJ={click:(e,t)=>!!(e&&t),drop:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&qt(t)};function bJ(e,t){const n=B(new Set),o=B(new Set),{emit:a}=ct();pe([()=>t.value,()=>e.defaultCheckedKeys],()=>Pe(()=>{b(e.defaultCheckedKeys)}),{immediate:!0});const l=(w=!1)=>{if(!t.value||!e.showCheckbox||e.checkStrictly&&!w)return;const{levelTreeNodeMap:S,maxLevel:k}=t.value,x=n.value,N=new Set;for(let $=k;$>=1;--$){const T=S.get($);T&&T.forEach(I=>{const P=I.children;let _=!I.isLeaf||I.disabled||x.has(I.key);if(P){let H=!0,L=!1;for(const z of P){const O=z.key;if(z.isEffectivelyChecked||(_=!1),x.has(O))L=!0;else if(N.has(O)){H=!1,L=!0;break}else H=!1}H?x.add(I.key):L?(N.add(I.key),x.delete(I.key)):(x.delete(I.key),N.delete(I.key))}I.isEffectivelyChecked=_})}o.value=N},s=w=>n.value.has(w.key),r=w=>o.value.has(w.key),u=(w,S,k=!0,x=!0,N=!1)=>{const $=n.value,T=w.children;(!e.checkStrictly||N)&&k&&T?.length&&(S=T.some(P=>!P.isEffectivelyChecked));const I=(P,_)=>{$[_?"add":"delete"](P.key);const H=P.children;(!e.checkStrictly||N)&&H&&H.forEach(L=>{(!L.disabled||L.children)&&I(L,_)})};I(w,S),x&&l(),k&&c(w,S)},c=(w,S)=>{const{checkedNodes:k,checkedKeys:x}=g(),{halfCheckedNodes:N,halfCheckedKeys:$}=p();a(Z$,w.data,{checkedKeys:x,checkedNodes:k,halfCheckedKeys:$,halfCheckedNodes:N}),a(J$,w.data,S)};function d(w=!1){return g(w).checkedKeys}function f(w=!1){return g(w).checkedNodes}function v(){return p().halfCheckedKeys}function h(){return p().halfCheckedNodes}function g(w=!1){const S=[],k=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:x}=t.value;n.value.forEach(N=>{const $=x.get(N);$&&(!w||w&&$.isLeaf)&&(k.push(N),S.push($.data))})}return{checkedKeys:k,checkedNodes:S}}function p(){const w=[],S=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:k}=t.value;o.value.forEach(x=>{const N=k.get(x);N&&(S.push(x),w.push(N.data))})}return{halfCheckedNodes:w,halfCheckedKeys:S}}function m(w){n.value.clear(),o.value.clear(),Pe(()=>{b(w)})}function y(w,S,k){if(t?.value&&e.showCheckbox){const x=t.value.treeNodeMap.get(w);x&&u(x,S,!1,void 0,k)}}function b(w){if(t?.value){const{treeNodeMap:S}=t.value;if(e.showCheckbox&&S&&w?.length>0){for(const k of w){const x=S.get(k);x&&!s(x)&&u(x,!0,!1,!1)}l()}}}return{updateCheckedKeys:l,toggleCheckbox:u,isChecked:s,isIndeterminate:r,getCheckedKeys:d,getCheckedNodes:f,getHalfCheckedKeys:v,getHalfCheckedNodes:h,setChecked:y,setCheckedKeys:m}}function wJ(e,t){const n=B(new Set([])),o=B(new Set([])),a=C(()=>je(e.filterMethod));function l(r){if(!a.value)return;const u=new Set,c=o.value,d=n.value,f=[],v=t.value?.treeNodes||[],h=e.filterMethod;d.clear();function g(p){p.forEach(m=>{f.push(m),h?.(r,m.data,m)?f.forEach(b=>{u.add(b.key),b.expanded=!0}):(m.expanded=!1,m.isLeaf&&d.add(m.key));const y=m.children;if(y&&g(y),!m.isLeaf){if(!u.has(m.key))d.add(m.key);else if(y){let b=!0;for(const w of y)if(!d.has(w.key)){b=!1;break}b?c.add(m.key):c.delete(m.key)}}f.pop()})}return g(v),u}function s(r){return o.value.has(r.key)}return{hiddenExpandIconKeySet:o,hiddenNodeKeySet:n,doFilter:l,isForceHiddenExpandIcon:s}}function SJ(e,t){const n=B(new Set),o=B(),a=Ct(),l=B(),{isIndeterminate:s,isChecked:r,toggleCheckbox:u,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:v,setChecked:h,setCheckedKeys:g}=bJ(e,a),{doFilter:p,hiddenNodeKeySet:m,isForceHiddenExpandIcon:y}=wJ(e,a),b=C(()=>e.props?.value||"id"),w=C(()=>e.props?.children||"children"),S=C(()=>e.props?.disabled||"disabled"),k=C(()=>e.props?.label||"label"),x=C(()=>{const re=n.value,W=m.value,te=[],j=a.value?.treeNodes||[],U=[];for(let Q=j.length-1;Q>=0;--Q)U.push(j[Q]);for(;U.length;){const Q=U.pop();if(!W.has(Q.key)&&(te.push(Q),Q.children&&re.has(Q.key)))for(let le=Q.children.length-1;le>=0;--le)U.push(Q.children[le])}return te}),N=C(()=>x.value.length>0);function $(re){const W=new Map,te=new Map;let j=1;function U(le,ce=1,Ce=void 0){const we=[];for(const he of le){const be=P(he),ge={level:ce,key:be,data:he};ge.label=H(he),ge.parent=Ce;const $e=I(he);ge.disabled=_(he),ge.isLeaf=!$e||$e.length===0,ge.expanded=n.value.has(be),$e&&$e.length&&(ge.children=U($e,ce+1,ge)),we.push(ge),W.set(be,ge),te.has(ce)||te.set(ce,[]),te.get(ce)?.push(ge)}return ce>j&&(j=ce),we}const Q=U(re);return{treeNodeMap:W,levelTreeNodeMap:te,maxLevel:j,treeNodes:Q}}function T(re){const W=p(re);W&&(n.value=W)}function I(re){return re[w.value]}function P(re){return re?re[b.value]:""}function _(re){return re[S.value]}function H(re){return re[k.value]}function L(re){n.value.has(re.key)?Y(re):V(re)}function z(re){const W=new Set,te=a.value.treeNodeMap;n.value.forEach(j=>{const U=te.get(j);U&&(U.expanded=!1)}),re.forEach(j=>{let U=te.get(j);for(;U&&!W.has(U.key);)W.add(U.key),U.expanded=!0,U=U.parent}),n.value=W}function O(re,W){D(re),t(Y$,re.data,re,W),e.expandOnClickNode&&L(re),e.showCheckbox&&(e.checkOnClickNode||re.isLeaf&&e.checkOnClickLeaf)&&!re.disabled&&u(re,!r(re),!0)}function R(re,W){t(U$,re.data,re,W)}function D(re){q(re)||(o.value=re.key,t(X$,re.data,re))}function K(re,W){u(re,W)}function V(re){const W=n.value;if(a.value&&e.accordion){const{treeNodeMap:j}=a.value;W.forEach(U=>{const Q=j.get(U);re&&re.level===Q?.level&&(W.delete(U),Q.expanded=!1)})}W.add(re.key);const te=ve(re.key);te&&(te.expanded=!0,t(q$,te.data,te))}function Y(re){n.value.delete(re.key);const W=ve(re.key);W&&(W.expanded=!1,t(G$,W.data,W))}function G(re){return!!re.disabled}function q(re){const W=o.value;return W!==void 0&&W===re.key}function X(){if(o.value!==void 0)return a.value?.treeNodeMap.get(o.value)?.data}function Z(){return o.value}function J(re){o.value=re}function ae(re){a.value=$(re)}function ve(re){const W=lt(re)?P(re):re;return a.value?.treeNodeMap.get(W)}function me(re,W="auto"){const te=ve(re);te&&l.value&&l.value.scrollToItem(x.value.indexOf(te),W)}function oe(re){l.value?.scrollTo(re)}return pe(()=>e.currentNodeKey,re=>{o.value=re},{immediate:!0}),pe(()=>e.defaultExpandedKeys,re=>{z(re||[])}),pe(()=>e.data,re=>{ae(re),z(e.defaultExpandedKeys||[])},{immediate:!0}),{tree:a,flattenTree:x,isNotEmpty:N,listRef:l,getKey:P,getChildren:I,toggleExpand:L,toggleCheckbox:u,isChecked:r,isIndeterminate:s,isDisabled:G,isCurrent:q,isForceHiddenExpandIcon:y,handleNodeClick:O,handleNodeDrop:R,handleNodeCheck:K,getCurrentNode:X,getCurrentKey:Z,setCurrentKey:J,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:v,setChecked:h,setCheckedKeys:g,filter:T,setData:ae,getNode:ve,expandNode:V,collapseNode:Y,setExpandedKeys:z,scrollToNode:me,scrollTo:oe}}var CJ=fe({name:"ElTreeNodeContent",props:mJ,setup(e){const t=Be(Iy),n=ke("tree");return()=>{const o=e.node,{data:a}=o;return t?.ctx.slots.default?t.ctx.slots.default({node:o,data:a}):De(Ey,{tag:"span",truncated:!0,class:n.be("node","label")},()=>[o?.label])}}});const kJ=["aria-expanded","aria-disabled","aria-checked","data-key"];var xJ=fe({name:"ElTreeNode",__name:"tree-node",props:hJ,emits:yJ,setup(e,{emit:t}){const n=e,o=t,a=Be(Iy),l=ke("tree"),s=C(()=>a?.props.indent??16),r=C(()=>a?.props.icon??F2),u=g=>{const p=a?.props.props?.class;if(!p)return{};let m;if(je(p)){const{data:y}=g;m=p(y,g)}else m=p;return Ve(m)?{[m]:!0}:m},c=g=>{o("click",n.node,g)},d=g=>{o("drop",n.node,g)},f=()=>{o("toggle",n.node)},v=g=>{o("check",n.node,g)},h=g=>{a?.instance?.vnode?.props?.onNodeContextmenu&&(g.stopPropagation(),g.preventDefault()),a?.ctx.emit(Q$,g,n.node?.data,n.node)};return(g,p)=>(E(),F("div",{ref:"node$",class:A([i(l).b("node"),i(l).is("expanded",e.expanded),i(l).is("current",e.current),i(l).is("focusable",!e.disabled),i(l).is("checked",!e.disabled&&e.checked),u(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.disabled,"aria-checked":e.checked,"data-key":e.node?.key,onClick:et(c,["stop"]),onContextmenu:h,onDragover:p[1]||(p[1]=et(()=>{},["prevent"])),onDragenter:p[2]||(p[2]=et(()=>{},["prevent"])),onDrop:et(d,["stop"])},[M("div",{class:A(i(l).be("node","content")),style:Fe({paddingLeft:`${(e.node.level-1)*s.value}px`,height:e.itemSize+"px"})},[r.value?(E(),de(i(He),{key:0,class:A([i(l).is("leaf",!!e.node?.isLeaf),i(l).is("hidden",e.hiddenExpandIcon),{expanded:!e.node?.isLeaf&&e.expanded},i(l).be("node","expand-icon")]),onClick:et(f,["stop"])},{default:ie(()=>[(E(),de(dt(r.value)))]),_:1},8,["class"])):se("v-if",!0),e.showCheckbox?(E(),de(i(ha),{key:1,"model-value":e.checked,indeterminate:e.indeterminate,disabled:e.disabled,onChange:v,onClick:p[0]||(p[0]=et(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):se("v-if",!0),ee(i(CJ),{node:{...e.node,expanded:e.expanded}},null,8,["node"])],6)],42,kJ))}}),EJ=xJ,$J=fe({name:"ElTreeV2",__name:"tree",props:vJ,emits:gJ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=mn(),s=C(()=>o.itemSize);kt(Iy,{ctx:{emit:a,slots:l},props:o,instance:ct()}),kt(Xa,void 0);const{t:r}=Tt(),u=ke("tree"),{flattenTree:c,isNotEmpty:d,listRef:f,toggleExpand:v,isIndeterminate:h,isChecked:g,isDisabled:p,isCurrent:m,isForceHiddenExpandIcon:y,handleNodeClick:b,handleNodeDrop:w,handleNodeCheck:S,toggleCheckbox:k,getCurrentNode:x,getCurrentKey:N,setCurrentKey:$,getCheckedKeys:T,getCheckedNodes:I,getHalfCheckedKeys:P,getHalfCheckedNodes:_,setChecked:H,setCheckedKeys:L,filter:z,setData:O,getNode:R,expandNode:D,collapseNode:K,setExpandedKeys:V,scrollToNode:Y,scrollTo:G}=SJ(o,a);return t({toggleCheckbox:k,getCurrentNode:x,getCurrentKey:N,setCurrentKey:$,getCheckedKeys:T,getCheckedNodes:I,getHalfCheckedKeys:P,getHalfCheckedNodes:_,setChecked:H,setCheckedKeys:L,filter:z,setData:O,getNode:R,expandNode:D,collapseNode:K,setExpandedKeys:V,scrollToNode:Y,scrollTo:G}),(q,X)=>(E(),F("div",{class:A([i(u).b(),{[i(u).m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[i(d)?(E(),de(i(gc),{key:0,ref_key:"listRef",ref:f,"class-name":i(u).b("virtual-list"),data:i(c),total:i(c).length,height:e.height,"item-size":s.value,"perf-mode":e.perfMode,"scrollbar-always-on":e.scrollbarAlwaysOn},{default:ie(({data:Z,index:J,style:ae})=>[(E(),de(EJ,{key:Z[J].key,style:Fe(ae),node:Z[J],expanded:Z[J].expanded,"show-checkbox":e.showCheckbox,checked:i(g)(Z[J]),indeterminate:i(h)(Z[J]),"item-size":s.value,disabled:i(p)(Z[J]),current:i(m)(Z[J]),"hidden-expand-icon":i(y)(Z[J]),onClick:i(b),onToggle:i(v),onCheck:i(S),onDrop:i(w)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck","onDrop"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode","scrollbar-always-on"])):(E(),F("div",{key:1,class:A(i(u).e("empty-block"))},[ue(q.$slots,"empty",{},()=>[M("span",{class:A(i(u).e("empty-text"))},ye(e.emptyText??i(r)("el.tree.emptyText")),3)])],2))],2))}}),TJ=$J;const NJ=ut(TJ),_J="ElUpload";var IJ=class extends Error{constructor(e,t,n,o){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=o}};function Ow(e,t,n){let o;return n.response?o=`${n.response.error||n.response}`:n.responseText?o=`${n.responseText}`:o=`fail to ${t.method} ${e} ${n.status}`,new IJ(o,n.status,t.method,e)}function MJ(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const OJ=e=>{typeof XMLHttpRequest>"u"&&rn(_J,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",l=>{const s=l;s.percent=l.total>0?l.loaded/l.total*100:0,e.onProgress(s)});const o=new FormData;if(e.data)for(const[l,s]of Object.entries(e.data))xe(s)?s.length===2&&s[0]instanceof Blob&&Ve(s[1])?o.append(l,s[0],s[1]):s.forEach(r=>{o.append(l,r)}):o.append(l,s);o.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Ow(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Ow(n,e,t));e.onSuccess(MJ(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const a=e.headers||{};if(a instanceof Headers)a.forEach((l,s)=>t.setRequestHeader(s,l));else for(const[l,s]of Object.entries(a))hn(s)||t.setRequestHeader(l,String(s));return t.send(o),t},eT=["text","picture","picture-card"];let PJ=1;const cm=()=>Date.now()+PJ++,tT=Te({action:{type:String,default:"#"},headers:{type:ne(Object)},method:{type:String,default:"post"},data:{type:ne([Object,Function,Promise]),default:()=>fn({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:ne(Array),default:()=>fn([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:eT,default:"text"},httpRequest:{type:ne(Function),default:OJ},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),RJ=Te({...tT,beforeUpload:{type:ne(Function),default:ht},beforeRemove:{type:ne(Function)},onRemove:{type:ne(Function),default:ht},onChange:{type:ne(Function),default:ht},onPreview:{type:ne(Function),default:ht},onSuccess:{type:ne(Function),default:ht},onProgress:{type:ne(Function),default:ht},onError:{type:ne(Function),default:ht},onExceed:{type:ne(Function),default:ht},crossorigin:{type:ne(String)}}),nT=Symbol("uploadContextKey"),AJ=Te({files:{type:ne(Array),default:()=>fn([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:ne(Function),default:ht},listType:{type:String,values:eT,default:"text"},crossorigin:{type:ne(String)}}),DJ={remove:e=>!!e},LJ=Te({...tT,beforeUpload:{type:ne(Function),default:ht},onRemove:{type:ne(Function),default:ht},onStart:{type:ne(Function),default:ht},onSuccess:{type:ne(Function),default:ht},onProgress:{type:ne(Function),default:ht},onError:{type:ne(Function),default:ht},onExceed:{type:ne(Function),default:ht}}),BJ=Te({disabled:{type:Boolean,default:void 0},directory:Boolean}),VJ={file:e=>xe(e)},FJ=["tabindex","aria-disabled","onKeydown"],zJ=["src","crossorigin"],HJ=["onClick"],KJ=["title"],WJ=["onClick"],jJ=["onClick"];var YJ=fe({name:"ElUploadList",__name:"upload-list",props:AJ,emits:DJ,setup(e,{emit:t}){const n=e,o=t,{t:a}=Tt(),l=ke("upload"),s=ke("icon"),r=ke("list"),u=cn(),c=B(!1),d=C(()=>[l.b("list"),l.bm("list",n.listType),l.is("disabled",u.value)]),f=async h=>{const g=h.relatedTarget;await Pe(),g?.classList.contains(l.be("list","item"))||(c.value=!1)},v=h=>{o("remove",h)};return(h,g)=>(E(),de(ZC,{tag:"ul",class:A(d.value),name:i(r).b()},{default:ie(()=>[(E(!0),F(Oe,null,mt(e.files,(p,m)=>(E(),F("li",{key:p.uid||p.name,class:A([i(l).be("list","item"),i(l).is(p.status),{focusing:c.value}]),tabindex:i(u)?void 0:0,"aria-disabled":i(u),role:"button",onKeydown:sn(y=>!i(u)&&v(p),["delete"]),onFocus:g[0]||(g[0]=y=>c.value=!0),onBlur:f,onClick:g[1]||(g[1]=y=>c.value=!1)},[ue(h.$slots,"default",{file:p,index:m},()=>[e.listType==="picture"||p.status!=="uploading"&&e.listType==="picture-card"?(E(),F("img",{key:0,class:A(i(l).be("list","item-thumbnail")),src:p.url,crossorigin:e.crossorigin,alt:""},null,10,zJ)):se("v-if",!0),p.status==="uploading"||e.listType!=="picture-card"?(E(),F("div",{key:1,class:A(i(l).be("list","item-info"))},[M("a",{class:A(i(l).be("list","item-name")),onClick:et(y=>e.handlePreview(p),["prevent"])},[ee(i(He),{class:A(i(s).m("document"))},{default:ie(()=>[ee(i(nB))]),_:1},8,["class"]),M("span",{class:A(i(l).be("list","item-file-name")),title:p.name},ye(p.name),11,KJ)],10,HJ),p.status==="uploading"?(E(),de(i(fy),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(p.percentage),style:Fe(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):se("v-if",!0)],2)):se("v-if",!0),M("label",{class:A(i(l).be("list","item-status-label"))},[e.listType==="text"?(E(),de(i(He),{key:0,class:A([i(s).m("upload-success"),i(s).m("circle-check")])},{default:ie(()=>[ee(i(Og))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(E(),de(i(He),{key:1,class:A([i(s).m("upload-success"),i(s).m("check")])},{default:ie(()=>[ee(i(si))]),_:1},8,["class"])):se("v-if",!0)],2),i(u)?se("v-if",!0):(E(),de(i(He),{key:2,class:A(i(s).m("close")),"aria-label":i(a)("el.upload.delete"),role:"button",tabindex:"0",onClick:y=>v(p),onKeydown:sn(et(y=>v(p),["prevent"]),["enter","space"])},{default:ie(()=>[ee(i(la))]),_:1},8,["class","aria-label","onClick","onKeydown"])),i(u)?se("v-if",!0):(E(),F("i",{key:3,class:A(i(s).m("close-tip"))},ye(i(a)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(E(),F("span",{key:4,class:A(i(l).be("list","item-actions"))},[M("span",{class:A(i(l).be("list","item-preview")),onClick:y=>e.handlePreview(p)},[ee(i(He),{class:A(i(s).m("zoom-in"))},{default:ie(()=>[ee(i(W2))]),_:1},8,["class"])],10,WJ),i(u)?se("v-if",!0):(E(),F("span",{key:0,class:A(i(l).be("list","item-delete")),onClick:y=>v(p)},[ee(i(He),{class:A(i(s).m("delete"))},{default:ie(()=>[ee(i(eB))]),_:1},8,["class"])],10,jJ))],2)):se("v-if",!0)])],42,FJ))),128)),ue(h.$slots,"append")]),_:3},8,["class","name"]))}}),Pw=YJ;const Rw="ElUploadDrag";var UJ=fe({name:Rw,__name:"upload-dragger",props:BJ,emits:VJ,setup(e,{emit:t}){const n=e,o=t;Be(nT)||rn(Rw,"usage: ");const a=ke("upload"),l=B(!1),s=cn(),r=v=>new Promise((h,g)=>v.file(h,g)),u=async v=>{try{if(v.isFile){const h=await r(v);return h.isDirectory=!1,[h]}if(v.isDirectory){const h=v.createReader(),g=()=>new Promise((b,w)=>h.readEntries(b,w)),p=[];let m=await g();for(;m.length>0;)p.push(...m),m=await g();const y=p.map(b=>u(b).catch(()=>[]));return Xd(await Promise.all(y))}}catch{return[]}return[]},c=async v=>{if(s.value)return;l.value=!1,v.stopPropagation();const h=Array.from(v.dataTransfer.files),g=v.dataTransfer.items||[];if(n.directory){const p=Array.from(g).map(m=>m?.webkitGetAsEntry?.()).filter(m=>m);o("file",Xd(await Promise.all(p.map(u))));return}h.forEach((p,m)=>{const y=g[m]?.webkitGetAsEntry?.();y&&(p.isDirectory=y.isDirectory)}),o("file",h)},d=()=>{s.value||(l.value=!0)},f=v=>{v.currentTarget.contains(v.relatedTarget)||(l.value=!1)};return(v,h)=>(E(),F("div",{class:A([i(a).b("dragger"),i(a).is("dragover",l.value)]),onDrop:et(c,["prevent"]),onDragover:et(d,["prevent"]),onDragleave:et(f,["prevent"])},[ue(v.$slots,"default")],34))}}),qJ=UJ;const GJ=["tabindex","aria-disabled","onKeydown"],XJ=["name","disabled","multiple","accept","webkitdirectory"];var ZJ=fe({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:LJ,setup(e,{expose:t}){const n=e,o=ke("upload"),a=cn(),l=Ct({}),s=Ct(),r=p=>{if(p.length===0)return;const{autoUpload:m,limit:y,fileList:b,multiple:w,onStart:S,onExceed:k}=n;if(y&&b.length+p.length>y){k(p,b);return}w||(p=p.slice(0,1));for(const x of p){const N=x;N.uid=cm(),S(N),m&&u(N)}},u=async p=>{if(s.value.value="",!n.beforeUpload)return d(p);let m,y={};try{const w=n.data,S=n.beforeUpload(p);y=uu(n.data)?La(n.data):n.data,m=await S,uu(n.data)&&dn(w,y)&&(y=La(n.data))}catch{m=!1}if(m===!1){n.onRemove(p);return}let b=p;m instanceof Blob&&(m instanceof File?b=m:b=new File([m],p.name,{type:p.type})),d(Object.assign(b,{uid:p.uid}),y)},c=async(p,m)=>je(p)?p(m):p,d=async(p,m)=>{const{headers:y,data:b,method:w,withCredentials:S,name:k,action:x,onProgress:N,onSuccess:$,onError:T,httpRequest:I}=n;try{m=await c(m??b,p)}catch{n.onRemove(p);return}const{uid:P}=p,_={headers:y||{},withCredentials:S,file:p,data:m,method:w,filename:k,action:x,onProgress:L=>{N(L,p)},onSuccess:L=>{$(L,p),delete l.value[P]},onError:L=>{T(L,p),delete l.value[P]}},H=I(_);l.value[P]=H,H instanceof Promise&&H.then(_.onSuccess,_.onError)},f=p=>{const m=p.target.files;m&&r(Array.from(m))},v=()=>{a.value||(s.value.value="",s.value.click())},h=()=>{v()};return t({abort:p=>{Kk(l.value).filter(p?([m])=>String(p.uid)===m:()=>!0).forEach(([m,y])=>{y instanceof XMLHttpRequest&&y.abort(),delete l.value[m]})},upload:u}),(p,m)=>(E(),F("div",{class:A([i(o).b(),i(o).m(e.listType),i(o).is("drag",e.drag),i(o).is("disabled",i(a))]),tabindex:i(a)?void 0:0,"aria-disabled":i(a),role:"button",onClick:v,onKeydown:sn(et(h,["self"]),["enter","space"])},[e.drag?(E(),de(qJ,{key:0,disabled:i(a),directory:e.directory,onFile:r},{default:ie(()=>[ue(p.$slots,"default")]),_:3},8,["disabled","directory"])):ue(p.$slots,"default",{key:1}),M("input",{ref_key:"inputRef",ref:s,class:A(i(o).e("input")),name:e.name,disabled:i(a),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:f,onClick:m[0]||(m[0]=et(()=>{},["stop"]))},null,42,XJ)],42,GJ))}}),Aw=ZJ;const Dw="ElUpload",Lw=e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)},JJ=(e,t)=>{const n=tA(e,"fileList",void 0,{passive:!0}),o=g=>n.value.find(p=>p.uid===g.uid);function a(g){t.value?.abort(g)}function l(g=["ready","uploading","success","fail"]){n.value=n.value.filter(p=>!g.includes(p.status))}function s(g){n.value=n.value.filter(p=>p.uid!==g.uid)}const r=g=>{Pe(()=>e.onChange(g,n.value))},u=(g,p)=>{const m=o(p);m&&(console.error(g),m.status="fail",s(m),e.onError(g,m,n.value),r(m))},c=(g,p)=>{const m=o(p);m&&(e.onProgress(g,m,n.value),m.status="uploading",m.percentage=Math.round(g.percent))},d=(g,p)=>{const m=o(p);m&&(m.status="success",m.response=g,e.onSuccess(g,m,n.value),r(m))},f=g=>{hn(g.uid)&&(g.uid=cm());const p={name:g.name,percentage:0,status:"ready",size:g.size,raw:g,uid:g.uid};if(e.listType==="picture-card"||e.listType==="picture")try{p.url=URL.createObjectURL(g)}catch(m){Yt(Dw,m.message),e.onError(m,p,n.value)}n.value=[...n.value,p],r(p)},v=async g=>{const p=g instanceof File?o(g):g;p||rn(Dw,"file to be removed not found");const m=y=>{a(y),s(y),e.onRemove(y,n.value),Lw(y)};e.beforeRemove?await e.beforeRemove(p,n.value)!==!1&&m(p):m(p)};function h(){n.value.filter(({status:g})=>g==="ready").forEach(({raw:g})=>g&&t.value?.upload(g))}return pe(()=>e.listType,g=>{g!=="picture-card"&&g!=="picture"||(n.value=n.value.map(p=>{const{raw:m,url:y}=p;if(!y&&m)try{p.url=URL.createObjectURL(m)}catch(b){e.onError(b,p,n.value)}return p}))}),pe(n,g=>{for(const p of g)p.uid||=cm(),p.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:n,abort:a,clearFiles:l,handleError:u,handleProgress:c,handleStart:f,handleSuccess:d,handleRemove:v,submit:h,revokeFileObjectURL:Lw}};var QJ=fe({name:"ElUpload",__name:"upload",props:RJ,setup(e,{expose:t}){const n=e,o=cn(),a=Ct(),{abort:l,submit:s,clearFiles:r,uploadFiles:u,handleStart:c,handleError:d,handleRemove:f,handleSuccess:v,handleProgress:h,revokeFileObjectURL:g}=JJ(n,a),p=C(()=>n.listType==="picture-card"),m=C(()=>({...n,fileList:u.value,onStart:c,onProgress:h,onSuccess:v,onError:d,onRemove:f}));return Ht(()=>{u.value.forEach(g)}),kt(nT,{accept:bt(n,"accept")}),t({abort:l,submit:s,clearFiles:r,handleStart:c,handleRemove:f}),(y,b)=>(E(),F("div",null,[p.value&&e.showFileList?(E(),de(Pw,{key:0,disabled:i(o),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},bo({append:ie(()=>[ee(Aw,ft({ref_key:"uploadRef",ref:a},m.value),{default:ie(()=>[y.$slots.trigger?ue(y.$slots,"trigger",{key:0}):se("v-if",!0),!y.$slots.trigger&&y.$slots.default?ue(y.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)]),_:2},[y.$slots.file?{name:"default",fn:ie(({file:w,index:S})=>[ue(y.$slots,"file",{file:w,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0),!p.value||p.value&&!e.showFileList?(E(),de(Aw,ft({key:1,ref_key:"uploadRef",ref:a},m.value),{default:ie(()=>[y.$slots.trigger?ue(y.$slots,"trigger",{key:0}):se("v-if",!0),!y.$slots.trigger&&y.$slots.default?ue(y.$slots,"default",{key:1}):se("v-if",!0)]),_:3},16)):se("v-if",!0),y.$slots.trigger?ue(y.$slots,"default",{key:2}):se("v-if",!0),ue(y.$slots,"tip"),!p.value&&e.showFileList?(E(),de(Pw,{key:3,disabled:i(o),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},bo({_:2},[y.$slots.file?{name:"default",fn:ie(({file:w,index:S})=>[ue(y.$slots,"file",{file:w,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):se("v-if",!0)]))}}),eQ=QJ;const tQ=ut(eQ),nQ=Te({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:ne([String,Array]),default:"Element Plus"},font:{type:ne(Object)},gap:{type:ne(Array),default:()=>[100,100]},offset:{type:ne(Array)}});function oQ(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function aQ(e){return Object.keys(e).map(t=>`${oQ(t)}: ${e[t]};`).join(" ")}function lQ(){return window.devicePixelRatio||1}const sQ=(e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(n=!0),n},rQ={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function Rv(e,t,n=1){const o=document.createElement("canvas"),a=o.getContext("2d"),l=e*n,s=t*n;return o.setAttribute("width",`${l}px`),o.setAttribute("height",`${s}px`),a.save(),[a,o,l,s]}function iQ(){function e(t,n,o,a,l,s,r,u,c){const[d,f,v,h]=Rv(a,l,o);let g=0;if(t instanceof HTMLImageElement)d.drawImage(t,0,0,v,h);else{const{color:G,fontSize:q,fontStyle:X,fontWeight:Z,fontFamily:J,textAlign:ae,textBaseline:ve}=s,me=Number(q)*o;d.font=`${X} normal ${Z} ${me}px/${l}px ${J}`,d.fillStyle=G,d.textAlign=ae,d.textBaseline=ve;const oe=xe(t)?t:[t];if(ve!=="top"&&oe[0]){const re=d.measureText(oe[0]);d.textBaseline="top";const W=d.measureText(oe[0]);g=re.actualBoundingBoxAscent-W.actualBoundingBoxAscent}oe?.forEach((re,W)=>{const[te,j]=rQ[ae];d.fillText(re??"",v*te+c*j,W*(me+s.fontGap*o))})}const p=Math.PI/180*Number(n),m=Math.max(a,l),[y,b,w]=Rv(m,m,o);y.translate(w/2,w/2),y.rotate(p),v>0&&h>0&&y.drawImage(f,-v/2,-h/2);function S(G,q){return[G*Math.cos(p)-q*Math.sin(p),G*Math.sin(p)+q*Math.cos(p)]}let k=0,x=0,N=0,$=0;const T=v/2,I=h/2;[[0-T,0-I],[0+T,0-I],[0+T,0+I],[0-T,0+I]].forEach(([G,q])=>{const[X,Z]=S(G,q);k=Math.min(k,X),x=Math.max(x,X),N=Math.min(N,Z),$=Math.max($,Z)});const P=k+w/2,_=N+w/2,H=x-k,L=$-N,z=r*o,O=u*o,R=(H+z)*2,D=L+O,[K,V]=Rv(R,D);function Y(G=0,q=0){K.drawImage(b,P,_,H,L,G,q+g,H,L)}return Y(),Y(H+z,-L/2-O/2),Y(H+z,+L/2+O/2),[V.toDataURL(),R/o,D/o]}return e}var uQ=fe({name:"ElWatermark",__name:"watermark",props:nQ,setup(e){const t={position:"relative"},n=e,o=C(()=>n.font?.fontGap??3),a=C(()=>n.font?.color??"rgba(0,0,0,.15)"),l=C(()=>n.font?.fontSize??16),s=C(()=>n.font?.fontWeight??"normal"),r=C(()=>n.font?.fontStyle??"normal"),u=C(()=>n.font?.fontFamily??"sans-serif"),c=C(()=>n.font?.textAlign??"center"),d=C(()=>n.font?.textBaseline??"hanging"),f=C(()=>n.gap[0]),v=C(()=>n.gap[1]),h=C(()=>f.value/2),g=C(()=>v.value/2),p=C(()=>n.offset?.[0]??h.value),m=C(()=>n.offset?.[1]??g.value),y=()=>{const P={zIndex:n.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let _=p.value-h.value,H=m.value-g.value;return _>0&&(P.left=`${_}px`,P.width=`calc(100% - ${_}px)`,_=0),H>0&&(P.top=`${H}px`,P.height=`calc(100% - ${H}px)`,H=0),P.backgroundPosition=`${_}px ${H}px`,P},b=Ct(null),w=Ct(),S=B(!1),k=()=>{w.value&&(w.value.remove(),w.value=void 0)},x=(P,_)=>{b.value&&w.value&&(S.value=!0,w.value.setAttribute("style",aQ({...y(),backgroundImage:`url('${P}')`,backgroundSize:`${Math.floor(_)}px`})),b.value?.append(w.value),setTimeout(()=>{S.value=!1}))},N=P=>{let _=120,H=64,L=0;const{image:z,content:O,width:R,height:D,rotate:K}=n;if(!z&&P.measureText){P.font=`${Number(l.value)}px ${u.value}`;const V=xe(O)?O:[O];let Y=0,G=0;V.forEach(X=>{const{width:Z,fontBoundingBoxAscent:J,fontBoundingBoxDescent:ae,actualBoundingBoxAscent:ve,actualBoundingBoxDescent:me}=P.measureText(X),oe=_t(J)?ve+me:J+ae;Z>Y&&(Y=Math.ceil(Z)),oe>G&&(G=Math.ceil(oe))}),_=Y,H=G*V.length+(V.length-1)*o.value;const q=Math.PI/180*Number(K);L=Math.ceil(Math.abs(Math.sin(q)*H)/2),_+=L}return[R??_,D??H,L]},$=iQ(),T=()=>{const P=document.createElement("canvas").getContext("2d"),_=n.image,H=n.content,L=n.rotate;if(P){w.value||(w.value=document.createElement("div"));const z=lQ(),[O,R,D]=N(P),K=V=>{const[Y,G]=$(V||"",L,z,O,R,{color:a.value,fontSize:l.value,fontStyle:r.value,fontWeight:s.value,fontFamily:u.value,fontGap:o.value,textAlign:c.value,textBaseline:d.value},f.value,v.value,D);x(Y,G)};if(_){const V=new Image;V.onload=()=>{K(V)},V.onerror=()=>{K(H)},V.crossOrigin="anonymous",V.referrerPolicy="no-referrer",V.src=_}else K(H)}};return st(()=>{T()}),pe(()=>n,()=>{T()},{deep:!0,flush:"post"}),Ht(()=>{k()}),lc(b,P=>{S.value||P.forEach(_=>{sQ(_,w.value)&&(k(),T())})},{attributes:!0,subtree:!0,childList:!0}),(P,_)=>(E(),F("div",{ref_key:"containerRef",ref:b,style:Fe([t])},[ue(P.$slots,"default")],4))}}),cQ=uQ;const dQ=ut(cQ),fQ=["absolute","fixed"],pQ=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],My=Te({placement:{type:ne(String),values:pQ,default:"bottom"},reference:{type:ne(Object),default:null},strategy:{type:ne(String),values:fQ,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),vQ={close:()=>!0},hQ=Te({modelValue:Boolean,current:{type:Number},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Gt},placement:My.placement,contentStyle:{type:ne([Object])},mask:{type:ne([Boolean,Object]),default:!0},gap:{type:ne(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:ne([Boolean,Object]),default:()=>({block:"center"})},type:{type:ne(String)},appendTo:{type:ne([String,Object]),default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),mQ={[at]:e=>qt(e),"update:current":e=>We(e),close:e=>We(e),finish:()=>!0,change:e=>We(e)},gQ=Te({target:{type:ne([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Gt},showArrow:{type:Boolean,default:void 0},placement:My.placement,mask:{type:ne([Boolean,Object]),default:void 0},contentStyle:{type:ne([Object])},prevButtonProps:{type:ne(Object)},nextButtonProps:{type:ne(Object)},scrollIntoViewOptions:{type:ne([Boolean,Object]),default:void 0},type:{type:ne(String)}}),yQ={close:()=>!0},bQ=(e,t,n,o,a)=>{const l=B(null),s=()=>{let d;return Ve(e.value)?d=document.querySelector(e.value):je(e.value)?d=e.value():d=e.value,d},r=()=>{const d=s();if(!d||!t.value){l.value=null;return}wQ(d)||d.scrollIntoView(a.value);const{left:f,top:v,width:h,height:g}=d.getBoundingClientRect();l.value={left:f,top:v,width:h,height:g,radius:0}};st(()=>{pe([t,e],()=>{r()},{immediate:!0}),window.addEventListener("resize",r)}),Ht(()=>{window.removeEventListener("resize",r)});const u=d=>(xe(n.value.offset)?n.value.offset[d]:n.value.offset)??6,c=C(()=>{if(!l.value)return l.value;const d=u(0),f=u(1),v=n.value?.radius||2;return{left:l.value.left-d,top:l.value.top-f,width:l.value.width+d*2,height:l.value.height+f*2,radius:v}});return{mergedPosInfo:c,triggerTarget:C(()=>{const d=s();return!o.value||!d||!window.DOMRect?d||void 0:{getBoundingClientRect(){return window.DOMRect.fromRect({width:c.value?.width||0,height:c.value?.height||0,x:c.value?.left||0,y:c.value?.top||0})}}})}},_p=Symbol("ElTour");function wQ(e){const t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:o,right:a,bottom:l,left:s}=e.getBoundingClientRect();return o>=0&&s>=0&&a<=t&&l<=n}const SQ=(e,t,n,o,a,l,s,r)=>{const u=B(),c=B(),d=B({}),f={x:u,y:c,placement:o,strategy:a,middlewareData:d},v=C(()=>{const y=[hL(i(l)),gL(),mL(),CQ()];return i(r)&&i(n)&&y.push(yL({element:i(n)})),y}),h=async()=>{if(!Lt)return;const y=i(e),b=i(t);if(!y||!b)return;const w=await bL(y,b,{placement:i(o),strategy:i(a),middleware:i(v)});Su(f).forEach(S=>{f[S].value=w[S]})},g=C(()=>{if(!i(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:i(s)};const{overflow:y}=i(d);return{position:i(a),zIndex:i(s),top:i(c)!=null?`${i(c)}px`:"",left:i(u)!=null?`${i(u)}px`:"",maxWidth:y?.maxWidth?`${y?.maxWidth}px`:""}}),p=C(()=>{if(!i(r))return{};const{arrow:y}=i(d);return{left:y?.x!=null?`${y?.x}px`:"",top:y?.y!=null?`${y?.y}px`:""}});let m;return st(()=>{const y=i(e),b=i(t);y&&b&&(m=pL(y,b,h)),uo(()=>{h()})}),Ht(()=>{m&&m()}),{update:h,contentStyle:g,arrowStyle:p}},CQ=()=>({name:"overflow",async fn(e){const t=await vL(e);let n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),kQ=Te({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:ne(Object)},targetAreaClickable:{type:Boolean,default:!0}}),xQ={style:{width:"100%",height:"100%"}},EQ=["d"];var $Q=fe({name:"ElTourMask",inheritAttrs:!1,__name:"mask",props:kQ,setup(e){const t=e,{ns:n}=Be(_p),o=C(()=>t.pos?.radius??2),a=C(()=>{const d=o.value,f=`a${d},${d} 0 0 1`;return{topRight:`${f} ${d},${d}`,bottomRight:`${f} ${-d},${d}`,bottomLeft:`${f} ${-d},${-d}`,topLeft:`${f} ${d},${-d}`}}),{width:l,height:s}=dg(),r=C(()=>{const d=l.value,f=s.value,v=a.value,h=`M${d},0 L0,0 L0,${f} L${d},${f} L${d},0 Z`,g=o.value;return t.pos?`${h} M${t.pos.left+g},${t.pos.top} h${t.pos.width-g*2} ${v.topRight} v${t.pos.height-g*2} ${v.bottomRight} h${-t.pos.width+g*2} ${v.bottomLeft} v${-t.pos.height+g*2} ${v.topLeft} z`:h}),u=C(()=>({position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:t.zIndex,pointerEvents:t.pos&&t.targetAreaClickable?"none":"auto"})),c=C(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return dp(bt(t,"visible"),{ns:n}),(d,f)=>e.visible?(E(),F("div",ft({key:0,class:i(n).e("mask"),style:u.value},d.$attrs),[(E(),F("svg",xQ,[M("path",{class:A(i(n).e("hollow")),style:Fe(c.value),d:r.value},null,14,EQ)]))],16)):se("v-if",!0)}}),TQ=$Q;const NQ=["data-side"];var _Q=fe({name:"ElTourContent",__name:"content",props:My,emits:vQ,setup(e,{emit:t}){const n=e,o=t,a=B(n.placement),l=B(n.strategy),s=B(null),r=B(null);pe(()=>n.placement,()=>{a.value=n.placement});const{contentStyle:u,arrowStyle:c}=SQ(bt(n,"reference"),s,r,a,l,bt(n,"offset"),bt(n,"zIndex"),bt(n,"showArrow")),d=C(()=>a.value.split("-")[0]),{ns:f}=Be(_p),v=()=>{o("close")},h=g=>{g.detail.focusReason==="pointer"&&g.preventDefault()};return(g,p)=>(E(),F("div",{ref_key:"contentRef",ref:s,style:Fe(i(u)),class:A(i(f).e("content")),"data-side":d.value,tabindex:"-1"},[ee(i(Ci),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":s.value||void 0,onReleaseRequested:v,onFocusoutPrevented:h},{default:ie(()=>[ue(g.$slots,"default")]),_:3},8,["focus-trap-el"]),e.showArrow?(E(),F("span",{key:0,ref_key:"arrowRef",ref:r,style:Fe(i(c)),class:A(i(f).e("arrow"))},null,6)):se("v-if",!0)],14,NQ))}}),IQ=_Q,MQ=fe({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:n}){let o=0;return()=>{const a=t.default?.(),l=[];let s=0;function r(u){xe(u)&&u.forEach(c=>{(c?.type||{})?.name==="ElTourStep"&&(l.push(c),s+=1)})}return a.length&&r(Fo(a[0]?.children)),o!==s&&(o=s,n("update-total",s)),l.length?l[e.current]:null}}}),OQ=fe({name:"ElTour",inheritAttrs:!1,__name:"tour",props:hQ,emits:mQ,setup(e,{emit:t}){const n=e,o=t,a=ke("tour"),l=B(0),s=B(),r=C(()=>!_t(n.current)),u=B(n.current??0),c=C({get(){return _t(n.current)?u.value:n.current},set(_){(r.value?n.current:u.value)!==_&&(r.value||(u.value=_),o("update:current",_))}}),d=C(()=>s.value?.target),f=C(()=>[a.b(),w.value==="primary"?a.m("primary"):""]),v=C(()=>s.value?.placement||n.placement),h=C(()=>s.value?.contentStyle??n.contentStyle),g=C(()=>s.value?.mask??n.mask),p=C(()=>!!g.value&&n.modelValue),m=C(()=>qt(g.value)?void 0:g.value),y=C(()=>!!d.value&&(s.value?.showArrow??n.showArrow)),b=C(()=>s.value?.scrollIntoViewOptions??n.scrollIntoViewOptions),w=C(()=>s.value?.type??n.type),{nextZIndex:S}=uc(),k=S(),x=C(()=>n.zIndex??k),{mergedPosInfo:N,triggerTarget:$}=bQ(d,bt(n,"modelValue"),bt(n,"gap"),g,b);pe(()=>n.current,_=>!_t(_)&&(u.value=_)),pe(c,(_,H)=>{!n.modelValue||_===H||o(xt,_)},{flush:"post"}),pe(()=>n.modelValue,_=>{!_&&c.value!==0&&(c.value=0)});const T=()=>{n.closeOnPressEscape&&(o(at,!1),o("close",c.value))},I=_=>{l.value=_},P=mn();return kt(_p,{currentStep:s,current:c,total:l,showClose:bt(n,"showClose"),closeIcon:bt(n,"closeIcon"),mergedType:w,ns:a,slots:P,updateModelValue(_){o(at,_)},onClose(){o("close",c.value)},onFinish(){o("finish")}}),(_,H)=>(E(),F(Oe,null,[(E(),de(ir,{to:e.appendTo},[M("div",ft({class:f.value},_.$attrs),[ee(TQ,{visible:p.value,fill:m.value?.color,style:Fe(m.value?.style),pos:i(N),"z-index":x.value,"target-area-clickable":e.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),e.modelValue?(E(),de(IQ,{key:c.value,reference:i($),placement:v.value,"show-arrow":y.value,"z-index":x.value,style:Fe(h.value),onClose:T},{default:ie(()=>[ee(i(MQ),{current:c.value,onUpdateTotal:I},{default:ie(()=>[ue(_.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):se("v-if",!0)],16)],8,["to"])),se(" just for IDE "),se("v-if",!0)],64))}}),PQ=OQ;const RQ=["aria-label"];var AQ=fe({name:"ElTourStep",__name:"step",props:gQ,emits:yQ,setup(e,{emit:t}){const n=e,o=t,{Close:a}=j2,{t:l}=Tt(),{currentStep:s,current:r,total:u,showClose:c,closeIcon:d,mergedType:f,ns:v,slots:h,updateModelValue:g,onClose:p,onFinish:m}=Be(_p);pe(n,T=>{s.value=T},{immediate:!0});const y=C(()=>n.showClose??c.value),b=C(()=>n.closeIcon??d.value??a),w=T=>{if(T)return pr(T,["children","onClick"])},S=()=>{r.value-=1,n.prevButtonProps?.onClick&&n.prevButtonProps?.onClick()},k=()=>{r.value>=u.value-1?x():r.value+=1,n.nextButtonProps?.onClick&&n.nextButtonProps.onClick()},x=()=>{N(),m()},N=()=>{g(!1),p(),o("close")},$=T=>{if(!T.target?.isContentEditable)switch(Xt(T)){case Ee.left:T.preventDefault(),r.value>0&&S();break;case Ee.right:T.preventDefault(),k();break}};return st(()=>{window.addEventListener("keydown",$)}),Ht(()=>{window.removeEventListener("keydown",$)}),(T,I)=>(E(),F(Oe,null,[y.value?(E(),F("button",{key:0,"aria-label":i(l)("el.tour.close"),class:A(i(v).e("closebtn")),type:"button",onClick:N},[ee(i(He),{class:A(i(v).e("close"))},{default:ie(()=>[(E(),de(dt(b.value)))]),_:1},8,["class"])],10,RQ)):se("v-if",!0),M("header",{class:A([i(v).e("header"),{"show-close":i(c)}])},[ue(T.$slots,"header",{},()=>[M("span",{role:"heading",class:A(i(v).e("title"))},ye(e.title),3)])],2),M("div",{class:A(i(v).e("body"))},[ue(T.$slots,"default",{},()=>[M("span",null,ye(e.description),1)])],2),M("footer",{class:A(i(v).e("footer"))},[M("div",{class:A(i(v).b("indicators"))},[i(h).indicators?(E(),de(dt(i(h).indicators),{key:0,current:i(r),total:i(u)},null,8,["current","total"])):(E(!0),F(Oe,{key:1},mt(i(u),(P,_)=>(E(),F("span",{key:P,class:A([i(v).b("indicator"),i(v).is("active",_===i(r))])},null,2))),128))],2),M("div",{class:A(i(v).b("buttons"))},[i(r)>0?(E(),de(i(Fn),ft({key:0,size:"small",type:i(f)},w(e.prevButtonProps),{onClick:S}),{default:ie(()=>[ze(ye(e.prevButtonProps?.children??i(l)("el.tour.previous")),1)]),_:1},16,["type"])):se("v-if",!0),i(r)<=i(u)-1?(E(),de(i(Fn),ft({key:1,size:"small",type:i(f)==="primary"?"default":"primary"},w(e.nextButtonProps),{onClick:k}),{default:ie(()=>[ze(ye(e.nextButtonProps?.children??(i(r)===i(u)-1?i(l)("el.tour.finish"):i(l)("el.tour.next"))),1)]),_:1},16,["type"])):se("v-if",!0)],2)],2)],64))}}),oT=AQ;const DQ=ut(PQ,{TourStep:oT}),LQ=un(oT),BQ=Te({container:{type:ne([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:ne(String),default:"default"},direction:{type:ne(String),default:"vertical"},selectScrollTop:Boolean}),VQ={change:e=>Ve(e),click:(e,t)=>e instanceof MouseEvent&&(Ve(t)||_t(t))},qc=(e=>{if(!Lt||e==="")return null;if(Ve(e))try{return document.querySelector(e)}catch{return null}return e});function FQ(e){let t=0;const n=(...o)=>{t&&ba(t),t=Po(()=>{e(...o),t=0})};return n.cancel=()=>{ba(t),t=0},n}const aT=Symbol("anchor");var zQ=fe({name:"ElAnchor",__name:"anchor",props:BQ,emits:VQ,setup(e,{expose:t,emit:n}){const o=e,a=n,l=mn(),s=B(""),r=B({}),u=B(null),c=B(null),d=B(),f={};let v=!1,h=0;const g=ke("anchor"),p=C(()=>[g.b(),o.type==="underline"?g.m("underline"):"",g.m(o.direction)]),m=_=>{f[_.href]=_.el},y=_=>{delete f[_]},b=_=>{s.value!==_&&(s.value=_,a(xt,_))};let w=null,S="";const k=_=>{if(!d.value)return;const H=qc(_);if(!H)return;if(w){if(S===_)return;w()}S=_,v=!0;const L=y0(H,d.value),z=Xh(H,L),O=L.scrollHeight-L.clientHeight,R=Math.min(z-o.offset,O);w=pA(d.value,h,R,o.duration,()=>{setTimeout(()=>{v=!1,S=""},20)})},x=_=>{_&&(b(_),k(_))},N=(_,H)=>{a("click",_,H),x(H)},$=FQ(()=>{d.value&&(h=b0(d.value));const _=T();v||_t(_)||b(_)}),T=()=>{if(!d.value)return;const _=b0(d.value),H=[];for(const L of Object.keys(f)){const z=qc(L);if(!z)continue;const O=Xh(z,y0(z,d.value));H.push({top:O-o.offset-o.bound,href:L})}H.sort((L,z)=>L.top-z.top);for(let L=0;L_))return z.href}},I=()=>{const _=qc(o.container);!_||oc(_)?d.value=window:d.value=_};Wt(d,"scroll",$);const P=()=>{Pe(()=>{if(!u.value||!c.value||!s.value){r.value={};return}const _=f[s.value];if(!_){r.value={};return}const H=u.value.getBoundingClientRect(),L=c.value.getBoundingClientRect(),z=_.getBoundingClientRect();o.direction==="horizontal"?r.value={left:`${z.left-H.left}px`,width:`${z.width}px`,opacity:1}:r.value={top:`${z.top-H.top+(z.height-L.height)/2}px`,opacity:1}})};return pe(s,P),pe(()=>l.default?.(),P),st(()=>{I();const _=decodeURIComponent(window.location.hash);qc(_)?x(_):$()}),pe(()=>o.container,()=>{I()}),kt(aT,{ns:g,direction:o.direction,currentAnchor:s,addLink:m,removeLink:y,handleClick:N}),t({scrollTo:x}),(_,H)=>(E(),F("div",{ref_key:"anchorRef",ref:u,class:A(p.value)},[e.marker?(E(),F("div",{key:0,ref_key:"markerRef",ref:c,class:A(i(g).e("marker")),style:Fe(r.value)},null,6)):se("v-if",!0),M("div",{class:A(i(g).e("list"))},[ue(_.$slots,"default")],2)],2))}}),HQ=zQ;const KQ=Te({title:String,href:String}),WQ=["href"];var jQ=fe({name:"ElAnchorLink",__name:"anchor-link",props:KQ,setup(e){const t=e,n=B(null),{ns:o,direction:a,currentAnchor:l,addLink:s,removeLink:r,handleClick:u}=Be(aT),c=C(()=>[o.e("link"),o.is("active",l.value===t.href)]),d=f=>{u(f,t.href)};return pe(()=>t.href,(f,v)=>{Pe(()=>{v&&r(v),f&&s({href:f,el:n.value})})}),st(()=>{const{href:f}=t;f&&s({href:f,el:n.value})}),Ht(()=>{const{href:f}=t;f&&r(f)}),(f,v)=>(E(),F("div",{class:A(i(o).e("item"))},[M("a",{ref_key:"linkRef",ref:n,class:A(c.value),href:e.href,onClick:d},[ue(f.$slots,"default",{},()=>[ze(ye(e.title),1)])],10,WQ),f.$slots["sub-link"]&&i(a)==="vertical"?(E(),F("div",{key:0,class:A(i(o).e("list"))},[ue(f.$slots,"sub-link")],2)):se("v-if",!0)],2))}}),lT=jQ;const YQ=ut(HQ,{AnchorLink:lT}),UQ=un(lT),sT={label:"label",value:"value",disabled:"disabled"},qQ=Te({direction:{type:ne(String),default:"horizontal"},options:{type:ne(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:ne(Object),default:()=>sT},block:Boolean,size:On,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...co(["ariaLabel"])}),GQ={[at]:e=>Ve(e)||We(e)||qt(e),[xt]:e=>Ve(e)||We(e)||qt(e)},XQ=["id","aria-label","aria-labelledby"],ZQ=["name","disabled","checked","onChange"];var JQ=fe({name:"ElSegmented",__name:"segmented",props:qQ,emits:GQ,setup(e,{emit:t}){const n=e,o=t,a=ke("segmented"),l=Jn(),s=Nn(),r=cn(),{formItem:u}=Kn(),{inputId:c,isLabeledByFormItem:d}=Ro(n,{formItemContext:u}),f=B(null),v=UR(),h=zt({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),g=(P,_)=>{const H=m(_);o(at,H),o(xt,H),P.target.checked=H===n.modelValue},p=C(()=>({...sT,...n.props})),m=P=>lt(P)?P[p.value.value]:P,y=P=>lt(P)?P[p.value.label]:P,b=P=>!!(r.value||lt(P)&&P[p.value.disabled]),w=P=>n.modelValue===m(P),S=P=>n.options.find(_=>m(_)===P),k=P=>[a.e("item"),a.is("selected",w(P)),a.is("disabled",b(P))],x=()=>{if(!f.value)return;const P=f.value.querySelector(".is-selected"),_=f.value.querySelector(".is-selected input");if(!P||!_){h.width=0,h.height=0,h.translateX=0,h.translateY=0,h.focusVisible=!1;return}h.isInit=!0,n.direction==="vertical"?(h.height=P.offsetHeight,h.translateY=P.offsetTop):(h.width=P.offsetWidth,h.translateX=P.offsetLeft);try{h.focusVisible=_.matches(":focus-visible")}catch{}},N=C(()=>[a.b(),a.m(s.value),a.is("block",n.block)]),$=C(()=>({width:n.direction==="vertical"?"100%":`${h.width}px`,height:n.direction==="vertical"?`${h.height}px`:"100%",transform:n.direction==="vertical"?`translateY(${h.translateY}px)`:`translateX(${h.translateX}px)`,display:h.isInit?"block":"none"})),T=C(()=>[a.e("item-selected"),a.is("disabled",b(S(n.modelValue))),a.is("focus-visible",h.focusVisible)]),I=C(()=>n.name||l.value);return ln(f,x),pe(v,x),pe(()=>n.options,x,{deep:!0,flush:"post"}),pe(()=>n.modelValue,()=>{x(),n.validateEvent&&u?.validate?.("change").catch(ht)},{flush:"post"}),(P,_)=>e.options.length?(E(),F("div",{key:0,id:i(c),ref_key:"segmentedRef",ref:f,class:A(N.value),role:"radiogroup","aria-label":i(d)?void 0:e.ariaLabel||"segmented","aria-labelledby":i(d)?i(u).labelId:void 0},[M("div",{class:A([i(a).e("group"),i(a).m(e.direction)])},[M("div",{style:Fe($.value),class:A(T.value)},null,6),(E(!0),F(Oe,null,mt(e.options,(H,L)=>(E(),F("label",{key:L,class:A(k(H))},[M("input",{class:A(i(a).e("item-input")),type:"radio",name:I.value,disabled:b(H),checked:w(H),onChange:z=>g(z,H)},null,42,ZQ),M("div",{class:A(i(a).e("item-label"))},[ue(P.$slots,"default",{item:H},()=>[ze(ye(y(H)),1)])],2)],2))),128))],2)],10,XQ)):se("v-if",!0)}}),QQ=JQ;const eee=ut(QQ),tee=(e,t)=>{const n=e.toLowerCase();return(t.label||t.value||"").toLowerCase().includes(n)},nee=(e,t,n)=>{const{selectionEnd:o}=e;if(o===null)return;const a=e.value,l=Bn(t);let s=-1,r;for(let u=o-1;u>=0;--u){const c=a[u];if(s===-1&&(c===n||c===` -`||c==="\r")){s=u;continue}if(l.includes(c)){const d=s===-1?o:s;r={pattern:a.slice(u+1,d),start:u+1,end:d,prefix:c,prefixIndex:u,splitIndex:s,selectionEnd:o};break}}return r},oee=(e,t={debug:!1,useSelectionEnd:!1})=>{const n=e.selectionStart!==null?e.selectionStart:0,o=e.selectionEnd!==null?e.selectionEnd:0,a=t.useSelectionEnd?o:n,l=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"];if(t.debug){const v=document.querySelector("#input-textarea-caret-position-mirror-div");v?.parentNode&&v.parentNode.removeChild(v)}const s=document.createElement("div");s.id="input-textarea-caret-position-mirror-div",document.body.appendChild(s);const r=s.style,u=window.getComputedStyle(e),c=e.nodeName==="INPUT";r.whiteSpace=c?"nowrap":"pre-wrap",c||(r.wordWrap="break-word"),r.position="absolute",t.debug||(r.visibility="hidden"),l.forEach(v=>{if(c&&v==="lineHeight")if(u.boxSizing==="border-box"){const h=Number.parseInt(u.height),g=Number.parseInt(u.paddingTop)+Number.parseInt(u.paddingBottom)+Number.parseInt(u.borderTopWidth)+Number.parseInt(u.borderBottomWidth),p=g+Number.parseInt(u.lineHeight);h>p?r.lineHeight=`${h-g}px`:h===p?r.lineHeight=u.lineHeight:r.lineHeight="0"}else r.lineHeight=u.height;else r[v]=u[v]}),cp()?e.scrollHeight>Number.parseInt(u.height)&&(r.overflowY="scroll"):r.overflow="hidden",s.textContent=e.value.slice(0,Math.max(0,a)),c&&s.textContent&&(s.textContent=s.textContent.replace(/\s/g," "));const d=document.createElement("span");d.textContent=e.value.slice(Math.max(0,a))||".",d.style.position="relative",d.style.left=`${-e.scrollLeft}px`,d.style.top=`${-e.scrollTop}px`,s.appendChild(d);const f={top:d.offsetTop+Number.parseInt(u.borderTopWidth),left:d.offsetLeft+Number.parseInt(u.borderLeftWidth),height:Number.parseInt(u.fontSize)*1.5};return t.debug?d.style.backgroundColor="#aaa":document.body.removeChild(s),f.left>=e.clientWidth&&(f.left=e.clientWidth),f},aee=Te({...Vg,options:{type:ne(Array),default:()=>[]},prefix:{type:ne([String,Array]),default:"@",validator:e=>Ve(e)?e.length===1:e.every(t=>Ve(t)&&t.length===1)},split:{type:String,default:" ",validator:e=>e.length===1},filterOption:{type:ne([Boolean,Function]),default:()=>tee,validator:e=>e===!1?!0:je(e)},placement:{type:ne(String),default:"bottom"},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:ne(Function)},modelValue:String,loading:Boolean,popperClass:on.popperClass,popperStyle:on.popperStyle,popperOptions:{type:ne(Object),default:()=>({})},props:{type:ne(Object),default:()=>rT}}),lee={[at]:e=>Ve(e),"whole-remove":(e,t)=>Ve(e)&&Ve(t),input:e=>Ve(e),search:(e,t)=>Ve(e)&&Ve(t),select:(e,t)=>lt(e)&&Ve(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},rT={value:"value",label:"label",disabled:"disabled"},see=Te({options:{type:ne(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),ree={select:e=>Ve(e.value)},iee=["id","aria-disabled","aria-selected","onMousemove","onClick"];var uee=fe({name:"ElMentionDropdown",__name:"mention-dropdown",props:see,emits:ree,setup(e,{expose:t,emit:n}){const o=e,a=n,l=ke("mention"),{t:s}=Tt(),r=B(-1),u=B(),c=B(),d=B(),f=(S,k)=>[l.be("dropdown","item"),l.is("hovering",r.value===k),l.is("disabled",S.disabled||o.disabled)],v=S=>{S.disabled||o.disabled||a("select",S)},h=S=>{r.value=S},g=C(()=>o.disabled||o.options.every(S=>S.disabled)),p=C(()=>o.options[r.value]),m=()=>{!p.value||p.value.disabled||o.disabled||a("select",p.value)},y=S=>{const{options:k}=o;if(k.length===0||g.value)return;S==="next"?(r.value++,r.value===k.length&&(r.value=0)):S==="prev"&&(r.value--,r.value<0&&(r.value=k.length-1));const x=k[r.value];if(x.disabled){y(S);return}Pe(()=>b(x))},b=S=>{const{options:k}=o,x=k.findIndex($=>$.value===S.value),N=c.value?.[x];if(N){const $=d.value?.querySelector?.(`.${l.be("dropdown","wrap")}`);$&&mg($,N)}u.value?.handleScroll()};return pe(()=>o.options,()=>{g.value||o.options.length===0?r.value=-1:r.value=o.options.findIndex(S=>!S.disabled)},{immediate:!0}),t({hoveringIndex:r,navigateOptions:y,selectHoverOption:m,hoverOption:p}),(S,k)=>(E(),F("div",{ref_key:"dropdownRef",ref:d,class:A(i(l).b("dropdown"))},[S.$slots.header?(E(),F("div",{key:0,class:A(i(l).be("dropdown","header"))},[ue(S.$slots,"header")],2)):se("v-if",!0),Ue(ee(i(wa),{id:e.contentId,ref_key:"scrollbarRef",ref:u,tag:"ul","wrap-class":i(l).be("dropdown","wrap"),"view-class":i(l).be("dropdown","list"),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:ie(()=>[(E(!0),F(Oe,null,mt(e.options,(x,N)=>(E(),F("li",{id:`${e.contentId}-${N}`,ref_for:!0,ref_key:"optionRefs",ref:c,key:N,class:A(f(x,N)),role:"option","aria-disabled":x.disabled||e.disabled||void 0,"aria-selected":r.value===N,onMousemove:$=>h(N),onClick:et($=>v(x),["stop"])},[ue(S.$slots,"label",{item:x,index:N},()=>[M("span",null,ye(x.label??x.value),1)])],42,iee))),128))]),_:3},8,["id","wrap-class","view-class","aria-label"]),[[Vt,e.options.length>0&&!e.loading]]),e.loading?(E(),F("div",{key:1,class:A(i(l).be("dropdown","loading"))},[ue(S.$slots,"loading",{},()=>[ze(ye(i(s)("el.mention.loading")),1)])],2)):se("v-if",!0),S.$slots.footer?(E(),F("div",{key:2,class:A(i(l).be("dropdown","footer"))},[ue(S.$slots,"footer")],2)):se("v-if",!0)],2))}}),cee=uee,dee=fe({name:"ElMention",inheritAttrs:!1,__name:"mention",props:aee,emits:lee,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const R=Gn.props??[];return Ya(o,xe(R)?R:Object.keys(R))}),s=ke("mention"),r=cn(),u=Jn(),c=B(),d=B(),f=B(),v=B(!1),h=B(),g=B(),p=C(()=>o.showArrow?o.placement:`${o.placement}-start`),m=C(()=>o.showArrow?["bottom","top"]:["bottom-start","top-start"]),y=C(()=>({...rT,...o.props})),b=R=>{const D={label:R[y.value.label],value:R[y.value.value],disabled:R[y.value.disabled]};return{...R,...D}},w=C(()=>o.options.map(b)),S=C(()=>{const{filterOption:R}=o;return!g.value||!R?w.value:w.value.filter(D=>R(g.value.pattern,D))}),k=C(()=>v.value&&(!!S.value.length||o.loading)),x=C(()=>`${u.value}-${f.value?.hoveringIndex}`),N=R=>{a(at,R),a(Tn,R),L()},$=R=>{if(c.value?.isComposing)return;const D=Xt(R);switch(D){case Ee.left:case Ee.right:L();break;case Ee.up:case Ee.down:if(!v.value)return;R.preventDefault(),f.value?.navigateOptions(D===Ee.up?"prev":"next");break;case Ee.enter:case Ee.numpadEnter:if(!v.value){o.type!=="textarea"&&L();return}R.preventDefault(),f.value?.hoverOption?f.value?.selectHoverOption():v.value=!1;break;case Ee.esc:if(!v.value)return;R.preventDefault(),v.value=!1;break;case Ee.backspace:if(o.whole&&g.value){const{splitIndex:K,selectionEnd:V,pattern:Y,prefixIndex:G,prefix:q}=g.value,X=H();if(!X)return;const Z=X.value,J=w.value.find(ae=>ae.value===Y);if((je(o.checkIsWhole)?o.checkIsWhole(Y,q):J)&&K!==-1&&K+1===V){R.preventDefault();const ae=Z.slice(0,G)+Z.slice(K+1);a(at,ae),a(Tn,ae),a("whole-remove",Y,q);const ve=G;Pe(()=>{X.selectionStart=ve,X.selectionEnd=ve,O()})}}}},{wrapperRef:T}=Pl(c,{disabled:r,afterFocus(){L()},beforeBlur(R){return d.value?.isFocusInsideContent(R)},afterBlur(){v.value=!1}}),I=()=>{L()},P=R=>o.options.find(D=>R.value===D[y.value.value]),_=R=>{if(!g.value)return;const D=H();if(!D)return;const K=D.value,{split:V}=o,Y=K.slice(g.value.end),G=Y.startsWith(V),q=`${R.value}${G?"":V}`,X=K.slice(0,g.value.start)+q+Y;a(at,X),a(Tn,X),a("select",P(R),g.value.prefix);const Z=g.value.start+q.length+(G?1:0);Pe(()=>{D.selectionStart=Z,D.selectionEnd=Z,D.focus(),O()})},H=()=>o.type==="textarea"?c.value?.textarea:c.value?.input,L=()=>{setTimeout(()=>{z(),O(),Pe(()=>d.value?.updatePopper())},0)},z=()=>{const R=H();if(!R)return;const D=oee(R),K=R.getBoundingClientRect(),V=T.value.getBoundingClientRect();h.value={position:"absolute",width:0,height:`${D.height}px`,left:`${D.left+K.left-V.left}px`,top:`${D.top+K.top-V.top}px`}},O=()=>{const R=H();if(document.activeElement!==R){v.value=!1;return}const{prefix:D,split:K}=o;if(g.value=nee(R,D,K),g.value&&g.value.splitIndex===-1){v.value=!0,a("search",g.value.pattern,g.value.prefix);return}v.value=!1};return t({input:c,tooltip:d,dropdownVisible:k}),(R,D)=>(E(),F("div",{ref_key:"wrapperRef",ref:T,class:A(i(s).b())},[ee(i(Gn),ft(ft(l.value,R.$attrs),{ref_key:"elInputRef",ref:c,"model-value":e.modelValue,disabled:i(r),role:k.value?"combobox":void 0,"aria-activedescendant":k.value?x.value||"":void 0,"aria-controls":k.value?i(u):void 0,"aria-expanded":k.value||void 0,"aria-label":e.ariaLabel,"aria-autocomplete":k.value?"none":void 0,"aria-haspopup":k.value?"listbox":void 0,onInput:N,onKeydown:$,onMousedown:I}),bo({_:2},[mt(R.$slots,(K,V)=>({name:V,fn:ie(Y=>[ue(R.$slots,V,ml(yl(Y)))])}))]),1040,["model-value","disabled","role","aria-activedescendant","aria-controls","aria-expanded","aria-label","aria-autocomplete","aria-haspopup"]),ee(i(Hn),{ref_key:"tooltipRef",ref:d,visible:k.value,"popper-class":[i(s).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,placement:p.value,"fallback-placements":m.value,effect:"light",pure:"",offset:e.offset,"show-arrow":e.showArrow},{default:ie(()=>[M("div",{style:Fe(h.value)},null,4)]),content:ie(()=>[ee(cee,{ref_key:"dropdownRef",ref:f,options:S.value,disabled:i(r),loading:e.loading,"content-id":i(u),"aria-label":e.ariaLabel,onSelect:_,onClick:D[0]||(D[0]=et(K=>c.value?.focus(),["stop"]))},bo({_:2},[mt(R.$slots,(K,V)=>({name:V,fn:ie(Y=>[ue(R.$slots,V,ml(yl(Y)))])}))]),1032,["options","disabled","loading","content-id","aria-label"])]),_:3},8,["visible","popper-class","popper-style","popper-options","placement","fallback-placements","offset","show-arrow"])],2))}}),fee=dee;const pee=ut(fee),vee=Te({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),hee={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},mee=Te({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),gee={"update:size":e=>typeof e=="number"||typeof e=="string"};function yee(e){const t=B(),{width:n,height:o}=Jd(t);return{containerEl:t,containerSize:C(()=>e.value==="horizontal"?n.value:o.value)}}function Oy(e){return Number(e.slice(0,-1))/100}function Py(e){return Number(e.slice(0,-2))}function Ry(e){return Ve(e)&&e.endsWith("%")}function Ay(e){return Ve(e)&&e.endsWith("px")}function bee(e,t){const n=C(()=>e.value.map(s=>s.size)),o=C(()=>e.value.length),a=B([]);pe([n,o,t],()=>{let s=[],r=0;for(let c=0;cc+(d||0),0);if(u>1||!r){const c=1/u;s=s.map(d=>d===void 0?0:d*c)}else{const c=(1-u)/r;s=s.map(d=>d===void 0?c:d)}a.value=s});const l=s=>s*t.value;return{percentSizes:a,pxSizes:C(()=>a.value.map(l))}}function wee(e,t,n,o){const a=m=>m*t.value||0;function l(m,y){return Ry(m)?a(Oy(m)):Ay(m)?Py(m):m??y}const s=B(0),r=B(null);let u=[],c=ht;const d=C(()=>e.value.map(m=>[m.min,m.max]));pe(o,()=>{if(s.value){const m=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(m)}});const f=m=>{s.value=0,r.value={index:m,confirmed:!1},u=n.value},v=(m,y)=>{let b=null;if((!r.value||!r.value.confirmed)&&y!==0){if(y>0)b=m,r.value={index:m,confirmed:!0};else for(let P=m;P>=0;P-=1)if(u[P]>0){b=P,r.value={index:P,confirmed:!0};break}}const w=b??r.value?.index??m,S=[...u],k=w+1,x=l(d.value[w][0],0),N=l(d.value[k][0],0),$=l(d.value[w][1],t.value||0),T=l(d.value[k][1],t.value||0);let I=y;S[w]+I$&&(I=$-S[w]),S[k]-I>T&&(I=S[k]-T),S[w]+=I,S[k]-=I,s.value=I,c=()=>{e.value.forEach((P,_)=>{P.size=S[_]}),c=ht},o.value||c()},h=()=>{o.value&&c(),s.value=0,r.value=null,u=[]},g=[];return{lazyOffset:s,onMoveStart:f,onMoving:v,onMoveEnd:h,movingIndex:r,onCollapse:(m,y)=>{g.length||g.push(...n.value.map((N,$)=>N<=0?l(d.value[$]?.[0],0):N));const b=n.value,w=y==="start"?m:m+1,S=y==="start"?m+1:m,k=b[w],x=b[S];if(k!==0&&x!==0)b[w]=0,b[S]+=k,g[m]=k;else{const N=k+x,$=To(g[m],0,N),T=N-$;b[S]=$,b[w]=T}e.value.forEach((N,$)=>{N.size=b[$]})}}}const iT=Symbol("splitterRootContextKey");var See=fe({name:"ElSplitter",__name:"splitter",props:vee,emits:hee,setup(e,{emit:t}){const n=ke("splitter"),o=t,a=e,l=bt(a,"layout"),s=bt(a,"lazy"),{containerEl:r,containerSize:u}=yee(l),{removeChild:c,children:d,addChild:f,ChildrenSorter:v}=yp(ct(),"ElSplitterPanel");pe(d,()=>{m.value=null,d.value.forEach((I,P)=>{I.setIndex(P)})});const{percentSizes:h,pxSizes:g}=bee(d,u),{lazyOffset:p,movingIndex:m,onMoveStart:y,onMoving:b,onMoveEnd:w,onCollapse:S}=wee(d,u,g,s),k=C(()=>({[n.cssVarBlockName("bar-offset")]:s.value?`${p.value}px`:void 0}));return kt(iT,zt({panels:d,percentSizes:h,pxSizes:g,layout:l,lazy:s,movingIndex:m,containerSize:u,onMoveStart:I=>{y(I),o("resizeStart",I,g.value)},onMoving:(I,P)=>{b(I,P),s.value||o("resize",I,g.value)},onMoveEnd:async I=>{w(),await Pe(),o("resizeEnd",I,g.value)},onCollapse:(I,P)=>{S(I,P),o("collapse",I,P,g.value)},registerPanel:f,unregisterPanel:c})),(I,P)=>(E(),F("div",{ref_key:"containerEl",ref:r,class:A([i(n).b(),i(n).e(l.value)]),style:Fe(k.value)},[ue(I.$slots,"default"),ee(i(v)),se(" Prevent iframe touch events from breaking "),i(m)?(E(),F("div",{key:0,class:A([i(n).e("mask"),i(n).e(`mask-${l.value}`)])},null,2)):se("v-if",!0)],6))}}),Cee=See;function kee(e){return e&<(e)?e:{start:!!e,end:!!e}}function Bw(e,t,n,o){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&o===0&&t>0)}var xee=fe({name:"ElSplitterBar",__name:"split-bar",props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=ke("splitter-bar"),o=e,a=t,l=C(()=>o.layout==="horizontal"),s=C(()=>l.value?{width:0}:{height:0}),r=C(()=>({width:l.value?"16px":"100%",height:l.value?"100%":"16px",cursor:o.resizable?l.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),u=C(()=>{const b=n.e("dragger");return{[`${b}-horizontal`]:l.value,[`${b}-vertical`]:!l.value,[`${b}-active`]:!!c.value}}),c=B(null),d=b=>{o.resizable&&(c.value=[b.pageX,b.pageY],a("moveStart",o.index),window.addEventListener("mouseup",g),window.addEventListener("mousemove",v))},f=b=>{if(o.resizable&&b.touches.length===1){b.preventDefault();const w=b.touches[0];c.value=[w.pageX,w.pageY],a("moveStart",o.index),window.addEventListener("touchend",p),window.addEventListener("touchmove",h)}},v=b=>{const{pageX:w,pageY:S}=b,k=w-c.value[0],x=S-c.value[1],N=l.value?k:x;a("moving",o.index,N)},h=b=>{if(b.touches.length===1){b.preventDefault();const w=b.touches[0],S=w.pageX-c.value[0],k=w.pageY-c.value[1],x=l.value?S:k;a("moving",o.index,x)}},g=()=>{c.value=null,window.removeEventListener("mouseup",g),window.removeEventListener("mousemove",v),a("moveEnd",o.index)},p=()=>{c.value=null,window.removeEventListener("touchend",p),window.removeEventListener("touchmove",h),a("moveEnd",o.index)},m=C(()=>l.value?El:bp),y=C(()=>l.value?io:Qa);return(b,w)=>(E(),F("div",{class:A([i(n).b()]),style:Fe(s.value)},[e.startCollapsible?(E(),F("div",{key:0,class:A([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-start`)]),onClick:w[0]||(w[0]=S=>a("collapse",e.index,"start"))},[ue(b.$slots,"start-collapsible",{},()=>[(E(),de(dt(m.value),{style:{width:"12px",height:"12px"}}))])],2)):se("v-if",!0),M("div",{class:A([i(n).e("dragger"),u.value,i(n).is("disabled",!e.resizable),i(n).is("lazy",e.resizable&&e.lazy)]),style:Fe(r.value),onMousedown:d,onTouchstart:f},null,38),e.endCollapsible?(E(),F("div",{key:1,class:A([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-end`)]),onClick:w[1]||(w[1]=S=>a("collapse",e.index,"end"))},[ue(b.$slots,"end-collapsible",{},()=>[(E(),de(dt(y.value),{style:{width:"12px",height:"12px"}}))])],2)):se("v-if",!0)],6))}}),Eee=xee;const Vw="ElSplitterPanel";var $ee=fe({name:Vw,__name:"split-panel",props:mee,emits:gee,setup(e,{expose:t,emit:n}){const o=ke("splitter-panel"),a=e,l=n,s=Be(iT);s||rn(Vw,"usage: ");const{panels:r,layout:u,lazy:c,containerSize:d,pxSizes:f}=Rn(s),{registerPanel:v,unregisterPanel:h,onCollapse:g,onMoveEnd:p,onMoveStart:m,onMoving:y}=s,b=B(),w=ct(),S=w.uid,k=B(0),x=C(()=>r.value[k.value]),N=D=>{k.value=D},$=C(()=>x.value?f.value[k.value]??0:0),T=C(()=>x.value?f.value[k.value+1]??0:0),I=C(()=>x.value?r.value[k.value+1]:null),P=C(()=>I.value?a.resizable&&I.value?.resizable&&($.value!==0||!a.min)&&(T.value!==0||!I.value.min):!1),_=C(()=>x.value?k.value!==r.value.length-1:!1),H=C(()=>Bw(x.value,$.value,I.value,T.value)),L=C(()=>Bw(I.value,T.value,x.value,$.value));function z(D){return Ry(D)?Oy(D)*d.value||0:Ay(D)?Py(D):D??0}let O=!1;pe(()=>a.size,()=>{if(!O&&x.value){if(!d.value){x.value.size=a.size;return}const D=z(a.size),K=z(a.max),V=z(a.min),Y=Math.min(Math.max(D,V||0),K||D);Y!==D&&l("update:size",Y),x.value.size=Y}}),pe(()=>x.value?.size,D=>{D!==a.size&&(O=!0,l("update:size",D),Pe(()=>O=!1))}),pe(()=>a.resizable,D=>{x.value&&(x.value.resizable=D)});const R=zt({uid:S,getVnode:()=>w.vnode,setIndex:N,...a,collapsible:C(()=>kee(a.collapsible))});return v(R),Ht(()=>h(R)),t({splitterPanelRef:b}),(D,K)=>(E(),F(Oe,null,[M("div",ft({ref_key:"panelEl",ref:b,class:[i(o).b()],style:{flexBasis:`${$.value}px`}},D.$attrs),[ue(D.$slots,"default")],16),_.value?(E(),de(Eee,{key:0,index:k.value,layout:i(u),lazy:i(c),resizable:P.value,"start-collapsible":H.value,"end-collapsible":L.value,onMoveStart:i(m),onMoving:i(y),onMoveEnd:i(p),onCollapse:i(g)},{"start-collapsible":ie(()=>[ue(D.$slots,"start-collapsible")]),"end-collapsible":ie(()=>[ue(D.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):se("v-if",!0)],64))}}),uT=$ee;const Tee=ut(Cee,{SplitPanel:uT}),Nee=un(uT),ua="ElInfiniteScroll",_ee={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},Dy=(e,t)=>Object.entries(_ee).reduce((n,[o,a])=>{const{type:l,default:s}=a,r=e.getAttribute(`infinite-scroll-${o}`);let u=t[r]??r??s;return u=u==="false"?!1:u,u=l(u),n[o]=Number.isNaN(u)?s:u,n},{}),cT=e=>{const{observer:t}=e[ua];t&&(t.disconnect(),delete e[ua].observer)},Iee=(e,t)=>{const{container:n,containerEl:o,instance:a,observer:l,lastScrollTop:s}=e[ua],{disabled:r,distance:u}=Dy(e,a),{clientHeight:c,scrollHeight:d,scrollTop:f}=o,v=f-s;if(e[ua].lastScrollTop=f,l||r||v<0)return;let h=!1;if(n===e)h=d-(c+f)<=u;else{const{clientTop:g,scrollHeight:p}=e,m=Xh(e,o);h=f+c>=m+g+p-u}h&&t.call(a)};function Av(e,t){const{containerEl:n,instance:o}=e[ua],{disabled:a}=Dy(e,o);a||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(o):cT(e))}const Mee={async mounted(e,t){const{instance:n,value:o}=t;Va({scope:ua,from:"the directive v-infinite-scroll",replacement:"the el-scrollbar infinite scroll",version:"3.0.0",ref:"https://element-plus.org/en-US/component/scrollbar#infinite-scroll"},!0),je(o)||rn(ua,"'v-infinite-scroll' binding value must be a function"),await Pe();const{delay:a,immediate:l}=Dy(e,n),s=hg(e,!0),r=s===window?document.documentElement:s,u=Gl(Iee.bind(null,e,o),a);if(s){if(e[ua]={instance:n,container:s,containerEl:r,delay:a,cb:o,onScroll:u,lastScrollTop:r.scrollTop},l){const c=new MutationObserver(Gl(Av.bind(null,e,o),50));e[ua].observer=c,c.observe(e,{childList:!0,subtree:!0}),Av(e,o)}s.addEventListener("scroll",u)}},unmounted(e){if(!e.ElInfiniteScroll)return;const{container:t,onScroll:n}=e[ua];t?.removeEventListener("scroll",n),cT(e)},async updated(e){if(!e.ElInfiniteScroll)await Pe();else{const{containerEl:t,cb:n,observer:o}=e[ua];t.clientHeight&&o&&Av(e,n)}}},dm=Mee;dm.install=e=>{e.directive("InfiniteScroll",dm)};const Oee=dm;function Pee(e,t){let n;const o=B(!1),a=zt({...e,originalPosition:"",originalOverflow:"",visible:!1});function l(v){a.text=v}function s(){const v=a.parent,h=f.ns;if(!v.vLoadingAddClassList){let g=v.getAttribute("loading-number");g=Number.parseInt(g)-1,g?v.setAttribute("loading-number",g.toString()):(ro(v,h.bm("parent","relative")),v.removeAttribute("loading-number")),ro(v,h.bm("parent","hidden"))}r(),d.unmount()}function r(){f.$el?.parentNode?.removeChild(f.$el)}function u(){e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(n),n=setTimeout(c,400),a.visible=!1,e.closed?.())}function c(){if(!o.value)return;const v=a.parent;o.value=!1,v.vLoadingAddClassList=void 0,s()}const d=nk(fe({name:"ElLoading",setup(v,{expose:h}){const{ns:g,zIndex:p}=kp("loading");return h({ns:g,zIndex:p}),()=>{const m=a.spinner||a.svg,y=De("svg",{class:"circular",viewBox:a.svgViewBox?a.svgViewBox:"0 0 50 50",...m?{innerHTML:m}:{}},m?void 0:[De("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),b=a.text?De("p",{class:g.b("text")},[a.text]):void 0;return De(Zn,{name:g.b("fade"),onAfterLeave:c},{default:ie(()=>[Ue(ee("div",{style:{backgroundColor:a.background||""},class:[g.b("mask"),a.customClass,g.is("fullscreen",a.fullscreen)]},[De("div",{class:g.b("spinner")},[y,b])]),[[Vt,a.visible]])])})}}}));Object.assign(d._context,t??{});const f=d.mount(document.createElement("div"));return{...Rn(a),setText:l,removeElLoadingChild:r,close:u,handleAfterLeave:c,vm:f,get $el(){return f.$el}}}let Gc;const Hr=function(e={},t){if(!Lt)return;const n=Ree(e);if(n.fullscreen&&Gc)return Gc;const o=Pee({...n,closed:()=>{n.closed?.(),n.fullscreen&&(Gc=void 0)}},t??Hr._context);Aee(n,n.parent,o),Fw(n,n.parent,o),n.parent.vLoadingAddClassList=()=>Fw(n,n.parent,o);let a=n.parent.getAttribute("loading-number");return a?a=`${Number.parseInt(a)+1}`:a="1",n.parent.setAttribute("loading-number",a),n.parent.appendChild(o.$el),Pe(()=>o.visible.value=n.visible),n.fullscreen&&(Gc=o),o},Ree=e=>{let t;return Ve(e.target)?t=document.querySelector(e.target)??document.body:t=e.target||document.body,{parent:t===document.body||e.body?document.body:t,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:t===document.body&&(e.fullscreen??!0),lock:e.lock??!1,customClass:e.customClass||"",visible:e.visible??!0,beforeClose:e.beforeClose,closed:e.closed,target:t}},Aee=async(e,t,n)=>{const{nextZIndex:o}=n.vm.zIndex||n.vm._.exposed.zIndex,a={};if(e.fullscreen)n.originalPosition.value=fl(document.body,"position"),n.originalOverflow.value=fl(document.body,"overflow"),a.zIndex=o();else if(e.parent===document.body){n.originalPosition.value=fl(document.body,"position"),await Pe();for(const l of["top","left"]){const s=l==="top"?"scrollTop":"scrollLeft";a[l]=`${e.target.getBoundingClientRect()[l]+document.body[s]+document.documentElement[s]-Number.parseInt(fl(document.body,`margin-${l}`),10)}px`}for(const l of["height","width"])a[l]=`${e.target.getBoundingClientRect()[l]}px`}else n.originalPosition.value=fl(t,"position");for(const[l,s]of Object.entries(a))n.$el.style[l]=s},Fw=(e,t,n)=>{const o=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?ro(t,o.bm("parent","relative")):Jo(t,o.bm("parent","relative")),e.fullscreen&&e.lock?Jo(t,o.bm("parent","hidden")):ro(t,o.bm("parent","hidden"))};Hr._context=null;const Wi=Symbol("ElLoading"),ks=e=>`element-loading-${Nl(e)}`,zw=(e,t)=>{const n=t.instance,o=c=>lt(t.value)?t.value[c]:void 0,a=c=>B(Ve(c)&&n?.[c]||c),l=c=>a(o(c)||e.getAttribute(ks(c))),s=o("fullscreen")??t.modifiers.fullscreen,r={text:l("text"),svg:l("svg"),svgViewBox:l("svgViewBox"),spinner:l("spinner"),background:l("background"),customClass:l("customClass"),fullscreen:s,target:o("target")??(s?void 0:e),body:o("body")??t.modifiers.body,lock:o("lock")??t.modifiers.lock},u=Hr(r);u._context=lu._context,e[Wi]={options:r,instance:u}},Dee=(e,t)=>{for(const n of Object.keys(e))gt(e[n])&&(e[n].value=t[n])},lu={mounted(e,t){t.value&&zw(e,t)},updated(e,t){const n=e[Wi];if(!t.value){n?.instance.close(),e[Wi]=null;return}n?Dee(n.options,lt(t.value)?t.value:{text:e.getAttribute(ks("text")),svg:e.getAttribute(ks("svg")),svgViewBox:e.getAttribute(ks("svgViewBox")),spinner:e.getAttribute(ks("spinner")),background:e.getAttribute(ks("background")),customClass:e.getAttribute(ks("customClass"))}):zw(e,t)},unmounted(e){e[Wi]?.instance.close(),e[Wi]=null}};lu._context=null;const Lee={install(e){Hr._context=e._context,lu._context=e._context,e.directive("loading",lu),e.config.globalProperties.$loading=Hr},directive:lu,service:Hr},dT=["primary","success","info","warning","error"],fT=["top","top-left","top-right","bottom","bottom-left","bottom-right"],no=fn({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Lt?document.body:void 0}),Bee=Te({customClass:{type:ne([String,Array,Object,Boolean]),default:no.customClass},dangerouslyUseHTMLString:{type:Boolean,default:no.dangerouslyUseHTMLString},duration:{type:Number,default:no.duration},icon:{type:Gt,default:no.icon},id:{type:String,default:no.id},message:{type:ne([String,Object,Function]),default:no.message},onClose:{type:ne(Function),default:no.onClose},showClose:{type:Boolean,default:no.showClose},type:{type:String,values:dT,default:no.type},plain:{type:Boolean,default:no.plain},offset:{type:Number,default:no.offset},placement:{type:String,values:fT,default:no.placement},zIndex:{type:Number,default:no.zIndex},grouping:{type:Boolean,default:no.grouping},repeatNum:{type:Number,default:no.repeatNum}}),Vee={destroy:()=>!0},ma=Pm({}),Fee=e=>(ma[e]||(ma[e]=Pm([])),ma[e]),zee=(e,t)=>{const n=ma[t]||[],o=n.findIndex(s=>s.id===e),a=n[o];let l;return o>0&&(l=n[o-1]),{current:a,prev:l}},Hee=(e,t)=>{const{prev:n}=zee(e,t);return n?n.vm.exposed.bottom.value:0},Kee=(e,t,n)=>(ma[n]||[]).findIndex(o=>o.id===e)>0?16:t,Wee=["id"],jee=["innerHTML"];var Yee=fe({name:"ElMessage",__name:"message",props:Bee,emits:Vee,setup(e,{expose:t,emit:n}){const{Close:o}=Rg,a=e,l=n,s=B(!1),{ns:r,zIndex:u}=kp("message"),{currentZIndex:c,nextZIndex:d}=u,f=B(),v=B(!1),h=B(0);let g;const p=C(()=>a.type?a.type==="error"?"danger":a.type:"info"),m=C(()=>{const H=a.type;return{[r.bm("icon",H)]:H&&us[H]}}),y=C(()=>a.icon||us[a.type]||""),b=C(()=>a.placement||"top"),w=C(()=>Hee(a.id,b.value)),S=C(()=>Math.max(Kee(a.id,a.offset,b.value)+w.value,a.offset)),k=C(()=>h.value+S.value),x=C(()=>b.value.includes("left")?r.is("left"):b.value.includes("right")?r.is("right"):r.is("center")),N=C(()=>b.value.startsWith("top")?"top":"bottom"),$=C(()=>({[N.value]:`${S.value}px`,zIndex:c.value}));function T(){a.duration!==0&&({stop:g}=Qr(()=>{P()},a.duration))}function I(){g?.()}function P(){v.value=!1,Pe(()=>{s.value||(a.onClose?.(),l("destroy"))})}function _(H){Xt(H)===Ee.esc&&P()}return st(()=>{T(),d(),v.value=!0}),pe(()=>a.repeatNum,()=>{I(),T()}),Wt(document,"keydown",_),ln(f,()=>{h.value=f.value.getBoundingClientRect().height}),t({visible:v,bottom:k,close:P}),(H,L)=>(E(),de(Zn,{name:i(r).b("fade"),onBeforeEnter:L[0]||(L[0]=z=>s.value=!0),onBeforeLeave:e.onClose,onAfterLeave:L[1]||(L[1]=z=>H.$emit("destroy")),persisted:""},{default:ie(()=>[Ue(M("div",{id:e.id,ref_key:"messageRef",ref:f,class:A([i(r).b(),{[i(r).m(e.type)]:e.type},i(r).is("closable",e.showClose),i(r).is("plain",e.plain),i(r).is("bottom",N.value==="bottom"),x.value,e.customClass]),style:Fe($.value),role:"alert",onMouseenter:I,onMouseleave:T},[e.repeatNum>1?(E(),de(i(ux),{key:0,value:e.repeatNum,type:p.value,class:A(i(r).e("badge"))},null,8,["value","type","class"])):se("v-if",!0),y.value?(E(),de(i(He),{key:1,class:A([i(r).e("icon"),m.value])},{default:ie(()=>[(E(),de(dt(y.value)))]),_:1},8,["class"])):se("v-if",!0),!e.dangerouslyUseHTMLString||H.$slots.default?(E(),F("p",{key:2,class:A(i(r).e("content"))},[ue(H.$slots,"default",{},()=>[ze(ye(e.message),1)])],2)):(E(),F(Oe,{key:3},[se(" Caution here, message could've been compromised, never use user's input as message "),M("p",{class:A(i(r).e("content")),innerHTML:e.message},null,10,jee)],2112)),e.showClose?(E(),de(i(He),{key:4,class:A(i(r).e("closeBtn")),onClick:et(P,["stop"])},{default:ie(()=>[ee(i(o))]),_:1},8,["class"])):se("v-if",!0)],46,Wee),[[Vt,v.value]])]),_:3},8,["name","onBeforeLeave"]))}}),Uee=Yee;let qee=1;const Gee=e=>{if(!e.appendTo)e.appendTo=document.body;else if(Ve(e.appendTo)){let t=document.querySelector(e.appendTo);No(t)||(Yt("ElMessage","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body),e.appendTo=t}},Xee=e=>{!e.placement&&Ve(oo.placement)&&oo.placement&&(e.placement=oo.placement),e.placement||(e.placement="top"),fT.includes(e.placement)||(Yt("ElMessage",`Invalid placement: ${e.placement}. Falling back to 'top'.`),e.placement="top")},pT=e=>{const t=!e||Ve(e)||Qt(e)||je(e)?{message:e}:e,n={...no,...t};return Gee(n),Xee(n),qt(oo.grouping)&&!n.grouping&&(n.grouping=oo.grouping),We(oo.duration)&&n.duration===3e3&&(n.duration=oo.duration),We(oo.offset)&&n.offset===16&&(n.offset=oo.offset),qt(oo.showClose)&&!n.showClose&&(n.showClose=oo.showClose),qt(oo.plain)&&!n.plain&&(n.plain=oo.plain),n},Zee=e=>{const t=ma[e.props.placement||"top"],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);const{handler:o}=e;o.close()},Jee=({appendTo:e,...t},n)=>{const o=`message_${qee++}`,a=t.onClose,l=document.createElement("div"),s={...t,id:o,onClose:()=>{a?.(),Zee(c)},onDestroy:()=>{ls(null,l)}},r=ee(Uee,s,je(s.message)||Qt(s.message)?{default:je(s.message)?s.message:()=>s.message}:null);r.appContext=n||or._context,ls(r,l),e.appendChild(l.firstElementChild);const u=r.component,c={id:o,vnode:r,vm:u,handler:{close:()=>{u.exposed.close()}},props:r.component.props};return c},or=(e={},t)=>{if(!Lt)return{close:()=>{}};const n=pT(e),o=Fee(n.placement||"top");if(n.grouping&&o.length){const l=o.find(({vnode:s})=>s.props?.message===n.message);if(l)return l.props.repeatNum+=1,l.props.type=n.type,l.handler}if(We(oo.max)&&o.length>=oo.max)return{close:()=>{}};const a=Jee(n,t);return o.push(a),a.handler};dT.forEach(e=>{or[e]=(t={},n)=>or({...pT(t),type:e},n)});function Qee(e){for(const t in ma)if(Ft(ma,t)){const n=[...ma[t]];for(const o of n)(!e||e===o.props.type)&&o.handler.close()}}function ete(e){ma[e]&&[...ma[e]].forEach(t=>t.handler.close())}or.closeAll=Qee;or.closeAllByPlacement=ete;or._context=null;const En=V2(or,"$message");var tte=fe({name:"ElMessageBox",directives:{TrapFocus:hF},components:{ElButton:Fn,ElFocusTrap:Ci,ElInput:Gn,ElOverlay:sy,ElIcon:He,...Rg},inheritAttrs:!1,props:{buttonSize:{type:String,validator:d$},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:o,ns:a,size:l}=kp("message-box",C(()=>e.buttonSize)),{t:s}=n,{nextZIndex:r}=o,u=B(!1),c=zt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:yo(sa),cancelButtonLoadingIcon:yo(sa),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:r()}),d=C(()=>{const z=c.type;return{[a.bm("icon",z)]:z&&us[z]}}),f=Jn(),v=Jn(),h=C(()=>{const z=c.type;return c.icon||z&&us[z]||""}),g=C(()=>!!c.message),p=B(),m=B(),y=B(),b=B(),w=B(),S=C(()=>c.confirmButtonClass);pe(()=>c.inputValue,async z=>{await Pe(),e.boxType==="prompt"&&z&&P()},{immediate:!0}),pe(()=>u.value,z=>{z&&(e.boxType!=="prompt"&&(c.autofocus?y.value=w.value?.$el??p.value:y.value=p.value),c.zIndex=r()),e.boxType==="prompt"&&(z?Pe().then(()=>{b.value&&b.value.$el&&(c.autofocus?y.value=_()??p.value:y.value=p.value)}):(c.editorErrorMessage="",c.validateError=!1))});const{isDragging:k}=t2(p,m,C(()=>e.draggable),C(()=>e.overflow));st(async()=>{await Pe(),e.closeOnHashChange&&window.addEventListener("hashchange",x)}),Ht(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",x)});function x(){u.value&&(u.value=!1,Pe(()=>{c.action&&t("action",c.action)}))}const N=()=>{e.closeOnClickModal&&I(c.distinguishCancelAndClose?"close":"cancel")},$=Eg(N),T=z=>{if(c.inputType!=="textarea"&&!b.value?.isComposing)return z.preventDefault(),I("confirm")},I=z=>{e.boxType==="prompt"&&z==="confirm"&&!P()||(c.action=z,c.beforeClose?c.beforeClose?.(z,c,x):x())},P=()=>{if(e.boxType==="prompt"){const z=c.inputPattern;if(z&&!z.test(c.inputValue||""))return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;const O=c.inputValidator;if(je(O)){const R=O(c.inputValue);if(R===!1)return c.editorErrorMessage=c.inputErrorMessage||s("el.messagebox.error"),c.validateError=!0,!1;if(Ve(R))return c.editorErrorMessage=R,c.validateError=!0,!1}}return c.editorErrorMessage="",c.validateError=!1,!0},_=()=>{const z=b.value?.$refs;return z?.input??z?.textarea},H=()=>{I("close")},L=()=>{e.closeOnPressEscape&&H()};return e.lockScroll&&dp(u,{ns:a}),{...Rn(c),ns:a,overlayEvent:$,visible:u,hasMessage:g,typeClass:d,contentId:f,inputId:v,btnSize:l,iconComponent:h,confirmButtonClasses:S,rootRef:p,focusStartRef:y,headerRef:m,inputRef:b,isDragging:k,confirmRef:w,doClose:x,handleClose:H,onCloseRequested:L,handleWrapperClick:N,handleInputEnter:T,handleAction:I,t:s}}});const nte=["aria-label","aria-describedby"],ote=["aria-label"],ate=["id"];function lte(e,t,n,o,a,l){const s=Ot("el-icon"),r=Ot("el-input"),u=Ot("el-button"),c=Ot("el-focus-trap"),d=Ot("el-overlay");return E(),de(Zn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=f=>e.$emit("vanish")),persisted:""},{default:ie(()=>[Ue(ee(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:ie(()=>[M("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:A(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...f)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...f)),onMousedown:t[9]||(t[9]=(...f)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...f)),onMouseup:t[10]||(t[10]=(...f)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...f))},[ee(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:ie(()=>[M("div",{ref:"rootRef",class:A([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:Fe(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=et(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(E(),F("div",{key:0,ref:"headerRef",class:A([e.ns.e("header"),{"show-close":e.showClose}])},[M("div",{class:A(e.ns.e("title"))},[e.iconComponent&&e.center?(E(),de(s,{key:0,class:A([e.ns.e("status"),e.typeClass])},{default:ie(()=>[(E(),de(dt(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),M("span",null,ye(e.title),1)],2),e.showClose?(E(),F("button",{key:0,type:"button",class:A(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=sn(et(f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[ee(s,{class:A(e.ns.e("close"))},{default:ie(()=>[(E(),de(dt(e.closeIcon||"close")))]),_:1},8,["class"])],42,ote)):se("v-if",!0)],2)):se("v-if",!0),M("div",{id:e.contentId,class:A(e.ns.e("content"))},[M("div",{class:A(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(E(),de(s,{key:0,class:A([e.ns.e("status"),e.typeClass])},{default:ie(()=>[(E(),de(dt(e.iconComponent)))]),_:1},8,["class"])):se("v-if",!0),e.hasMessage?(E(),F("div",{key:1,class:A(e.ns.e("message"))},[ue(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),de(dt(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(E(),de(dt(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:ye(e.message)},null,8,["for","textContent"]))])],2)):se("v-if",!0)],2),Ue(M("div",{class:A(e.ns.e("input"))},[ee(r,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=f=>e.inputValue=f),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:A({invalid:e.validateError}),onKeydown:sn(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),M("div",{class:A(e.ns.e("errormsg")),style:Fe({visibility:e.editorErrorMessage?"visible":"hidden"})},ye(e.editorErrorMessage),7)],2),[[Vt,e.showInput]])],10,ate),e.showCancelButton||e.showConfirmButton?(E(),F("div",{key:1,class:A(e.ns.e("btns"))},[e.showCancelButton?(E(),de(u,{key:0,type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:A([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=f=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=sn(et(f=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:ie(()=>[ze(ye(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","size"])):se("v-if",!0),Ue(ee(u,{ref:"confirmRef",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:A([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=f=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=sn(et(f=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:ie(()=>[ze(ye(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","disabled","size"]),[[Vt,e.showConfirmButton]])],2)):se("v-if",!0)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,nte)]),_:3},8,["z-index","overlay-class","mask"]),[[Vt,e.visible]])]),_:3})}var ste=An(tte,[["render",lte]]);const Lu=new Map,rte=e=>{let t=document.body;return e.appendTo&&(Ve(e.appendTo)&&(t=document.querySelector(e.appendTo)),No(e.appendTo)&&(t=e.appendTo),No(t)||(Yt("ElMessageBox","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body)),t},Dv=(e,t)=>{const n=e.component?.proxy;return()=>n.handleAction(t)},ite=(e,t,n=null)=>{const o=ee(ste,e,je(e.message)||Qt(e.message)?{default:je(e.message)?()=>e.message({confirm:Dv(o,"confirm"),cancel:Dv(o,"cancel"),close:Dv(o,"close")}):()=>e.message}:null);return o.appContext=n,ls(o,t),rte(e).appendChild(t.firstElementChild),o.component},ute=()=>document.createElement("div"),cte=(e,t)=>{const n=ute();e.onVanish=()=>{ls(null,n),Lu.delete(a)},e.onAction=l=>{const s=Lu.get(a);let r;e.showInput?r={value:a.inputValue,action:l}:r=l,e.callback?e.callback(r,o.proxy):l==="cancel"||l==="close"?e.distinguishCancelAndClose&&l!=="cancel"?s.reject("close"):s.reject("cancel"):s.resolve(r)};const o=ite(e,n,t),a=o.proxy;for(const l in e)Ft(e,l)&&!Ft(a.$props,l)&&(l==="closeIcon"&<(e[l])?a[l]=yo(e[l]):a[l]=e[l]);return a.visible=!0,a};function xi(e,t=null){if(!Lt)return Promise.reject();let n;return Ve(e)||Qt(e)?e={message:e}:n=e.callback,new Promise((o,a)=>{const l=cte(e,t??xi._context);Lu.set(l,{options:e,callback:n,resolve:o,reject:a})})}const dte=["alert","confirm","prompt"],fte={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};dte.forEach(e=>{xi[e]=pte(e)});function pte(e){return(t,n,o,a)=>{let l="";return lt(n)?(o=n,l=""):_t(n)?l="":l=n,xi(Object.assign({title:l,message:t,type:"",...fte[e]},o,{boxType:e}),a)}}xi.close=()=>{Lu.forEach((e,t)=>{t.doClose()}),Lu.clear()};xi._context=null;const jl=xi;jl.install=e=>{jl._context=e._context,e.config.globalProperties.$msgbox=jl,e.config.globalProperties.$messageBox=jl,e.config.globalProperties.$alert=jl.alert,e.config.globalProperties.$confirm=jl.confirm,e.config.globalProperties.$prompt=jl.prompt};const vT=jl,hT=["primary","success","info","warning","error"],vte=Te({customClass:{type:ne([String,Array,Object,Boolean]),default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Gt},id:{type:String,default:""},message:{type:ne([String,Object,Function]),default:""},offset:{type:Number,default:0},onClick:{type:ne(Function),default:()=>{}},onClose:{type:ne(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...hT,""],default:""},zIndex:Number,closeIcon:{type:Gt,default:la},progress:{type:ne([Boolean,Object]),default:!1},pauseOnHover:{type:Boolean,default:!0}}),hte={destroy:()=>!0},mte=["id"],gte=["textContent"],yte={key:0},bte=["innerHTML"];var wte=fe({name:"ElNotification",__name:"notification",props:vte,emits:hte,setup(e,{expose:t}){const n=e,{ns:o,zIndex:a}=kp("notification"),{nextZIndex:l,currentZIndex:s}=a,r=B(!1);let u;const c=B(100);let d=0,f=0;const v=C(()=>{const H=n.type;return H&&us[n.type]?o.m(H):""}),h=C(()=>!!n.progress&&n.duration>0),g=C(()=>{switch(n.type){case"success":return"success";case"warning":return"warning";case"error":return"exception";default:return}}),p=C(()=>({status:g.value,strokeWidth:3,showText:!1,...typeof n.progress=="object"?n.progress:void 0})),m=C(()=>n.type&&us[n.type]||n.icon),y=C(()=>n.position.endsWith("right")?"right":"left"),b=C(()=>n.position.startsWith("top")?"top":"bottom"),w=C(()=>({[b.value]:`${n.offset}px`,zIndex:n.zIndex??s.value})),{pause:S,resume:k}=HR(()=>{c.value=Math.max(0,100-(d+Date.now()-f)/n.duration*100)},100,{immediate:!1});function x(){if(n.duration<=0)return;u?.(),S(),f=Date.now();const H=Math.max(0,n.duration-d);({stop:u}=Qr(()=>{r.value&&P()},H)),h.value&&(c.value=H/n.duration*100,k())}function N(){u?.(),S(),f>0&&(d+=Date.now()-f,f=0)}let $=!1;function T(){$=!0,n.pauseOnHover&&N()}function I(){$=!1,n.pauseOnHover&&x()}function P(){r.value=!1,N()}function _(H){switch(Xt(H)){case Ee.delete:case Ee.backspace:N();break;case Ee.esc:r.value&&P();break;default:if($&&n.pauseOnHover)break;N(),x();break}}return st(()=>{x(),l(),r.value=!0}),Wt(document,"keydown",_),t({visible:r,close:P}),(H,L)=>(E(),de(Zn,{name:i(o).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:L[1]||(L[1]=z=>H.$emit("destroy")),persisted:""},{default:ie(()=>[Ue(M("div",{id:e.id,class:A([i(o).b(),e.customClass,y.value]),style:Fe(w.value),role:"alert",onMouseenter:T,onMouseleave:I,onClick:L[0]||(L[0]=(...z)=>e.onClick&&e.onClick(...z))},[m.value?(E(),de(i(He),{key:0,class:A([i(o).e("icon"),v.value])},{default:ie(()=>[(E(),de(dt(m.value)))]),_:1},8,["class"])):se("v-if",!0),M("div",{class:A(i(o).e("group"))},[M("h2",{class:A(i(o).e("title")),textContent:ye(e.title)},null,10,gte),Ue(M("div",{class:A(i(o).e("content")),style:Fe(e.title?void 0:{margin:0})},[ue(H.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),F(Oe,{key:1},[se(" Caution here, message could've been compromised, never use user's input as message "),M("p",{innerHTML:e.message},null,8,bte)],2112)):(E(),F("p",yte,ye(e.message),1))])],6),[[Vt,e.message]]),e.showClose?(E(),de(i(He),{key:0,class:A(i(o).e("closeBtn")),onClick:et(P,["stop"])},{default:ie(()=>[(E(),de(dt(e.closeIcon)))]),_:1},8,["class"])):se("v-if",!0)],2),h.value?(E(),F("div",{key:1,class:A(i(o).e("progress")),"aria-hidden":"true"},[ee(i(fy),ft(p.value,{percentage:c.value}),null,16,["percentage"])],2)):se("v-if",!0)],46,mte),[[Vt,r.value]])]),_:3},8,["name","onBeforeLeave"]))}}),Ste=wte;const ci={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},kf=16;let Cte=1;const ar=function(e={},t){if(!Lt)return{close:()=>{}};(Ve(e)||Qt(e))&&(e={message:e});const n=e.position||"top-right";let o=e.offset||0;ci[n].forEach(({vm:d})=>{o+=(d.el?.offsetHeight||0)+kf}),o+=kf;const a=`notification_${Cte++}`,l=e.onClose,s={...e,offset:o,id:a,onClose:()=>{kte(a,n,l)}};let r=document.body;No(e.appendTo)?r=e.appendTo:Ve(e.appendTo)&&(r=document.querySelector(e.appendTo)),No(r)||(Yt("ElNotification","the appendTo option is not an HTMLElement. Falling back to document.body."),r=document.body);const u=document.createElement("div"),c=ee(Ste,s,je(s.message)?s.message:Qt(s.message)?()=>s.message:null);return c.appContext=_t(t)?ar._context:t,c.props.onDestroy=()=>{ls(null,u)},ls(c,u),ci[n].push({vm:c}),r.appendChild(u.firstElementChild),{close:()=>{c.component.exposed.close()}}};hT.forEach(e=>{ar[e]=(t={},n)=>((Ve(t)||Qt(t))&&(t={message:t}),ar({...t,type:e},n))});function kte(e,t,n){const o=ci[t],a=o.findIndex(({vm:c})=>c.component?.props.id===e);if(a===-1)return;const{vm:l}=o[a];if(!l)return;n?.(l);const s=l.el.offsetHeight,r=t.split("-")[0];o.splice(a,1);const u=o.length;if(!(u<1))for(let c=a;c{t.component.exposed.close()})}function Ete(e="top-right"){let t=ci[e][0]?.vm.component?.props?.offset||0;for(const{vm:n}of ci[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+kf}ar.closeAll=xte;ar.updateOffsets=Ete;ar._context=null;const $te=V2(ar,"$notify"),Tte=Te({...pr(zi,["ariaLabel","gpuAcceleration","rawContent"]),placement:Qh.placement,tabindex:Qh.tabindex,effect:{...zi.effect,default:"light"},title:String,width:{type:[String,Number],default:150},offset:{...zi.offset,default:void 0},persistent:{...zi.persistent,default:!0}}),Nte={"update:visible":e=>qt(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0};({...pr(S8,["gpuAcceleration"])});var _te=fe({name:"ElPopover",__name:"popover",props:Tte,emits:Nte,setup(e,{expose:t,emit:n}){const o=e,a=n,l=C(()=>{const y=Hn.props;return Ya(o,xe(y)?y:Object.keys(y))}),s=ke("popover"),r=B(),u=C(()=>i(r)?.popperRef),c=C(()=>[{width:pn(o.width)},o.popperStyle]),d=C(()=>[s.b(),o.popperClass,{[s.m("plain")]:!!o.content}]),f=C(()=>o.transition===`${s.namespace.value}-fade-in-linear`),v=()=>{r.value?.hide()},h=()=>{a("before-enter")},g=()=>{a("before-leave")},p=()=>{a("after-enter")},m=()=>{a("update:visible",!1),a("after-leave")};return t({popperRef:u,hide:v}),(y,b)=>(E(),de(i(Hn),ft({ref_key:"tooltipRef",ref:r},l.value,{"aria-label":e.title,"popper-class":d.value,"popper-style":c.value,"gpu-acceleration":f.value,onBeforeShow:h,onBeforeHide:g,onShow:p,onHide:m}),{content:ie(()=>[e.title?(E(),F("div",{key:0,class:A(i(s).e("title")),role:"title"},ye(e.title),3)):se("v-if",!0),ue(y.$slots,"default",{hide:v},()=>[ze(ye(e.content),1)])]),default:ie(()=>[y.$slots.reference?ue(y.$slots,"reference",{key:0}):se("v-if",!0)]),_:3},16,["aria-label","popper-class","popper-style","gpu-acceleration"]))}}),Ite=_te;const Hw=(e,t)=>{const n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)};var Mte={mounted(e,t){Hw(e,t)},updated(e,t){Hw(e,t)}};const Ote="popover",mT=NL(Mte,Ote),Pte=ut(Ite,{directive:mT}),Rte="2.14.4",Ate=(e=[])=>({version:Rte,install:(n,o)=>{n[Db]||(n[Db]=!0,e.forEach(a=>n.use(a)),o&&zg(o,n,!0))}});var Dte=[ML,GB,s6,eZ,f6,p6,b6,ux,_6,I6,Fn,mx,M5,A5,X5,Z5,dH,bE,mH,ha,Oz,Zg,$H,zH,HH,Ep,IE,mK,D6,kK,xK,EK,$K,TK,TW,LE,DW,LW,JW,jE,d7,J7,Q7,ej,e$,GV,XV,He,Hj,t$,Gn,n$,lY,dY,gY,PY,RY,AY,DY,HY,CU,TU,Pte,ax,fy,yE,Wz,Kz,HU,YU,kH,wa,ds,rf,u5,vq,wq,Sq,zq,Yq,AE,DK,Qq,eG,cG,bX,wX,QX,hZ,mZ,wl,Ey,DF,EZ,IZ,MZ,Hn,WZ,Ny,fJ,NJ,tQ,dQ,DQ,LQ,YQ,UQ,eee,pee,Tee,Nee],Lte=[Oee,Lee,En,vT,$te,mT],Ly=Ate([...Dte,...Lte]);Ly.install;Ly.version;var Bte=Ly;function Bu(e){return qu()?(Rr(e),!0):!1}function pl(e){return typeof e=="function"?e():i(e)}const Vte=typeof window<"u"&&typeof document<"u",Fte=e=>typeof e<"u",zte=Object.prototype.toString,Hte=e=>zte.call(e)==="[object Object]",Kte=()=>{};function Wte(e,t){function n(...o){return new Promise((a,l)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(a).catch(l)})}return n}const gT=e=>e();function jte(e=gT){const t=B(!0);function n(){t.value=!1}function o(){t.value=!0}return{isActive:qs(t),pause:n,resume:o,eventFilter:(...l)=>{t.value&&e(...l)}}}function Kw(e,t=!1,n="Timeout"){return new Promise((o,a)=>{setTimeout(t?()=>a(n):o,e)})}function Yte(e,t,n={}){const{eventFilter:o=gT,...a}=n;return pe(e,Wte(o,t),a)}function Er(e,t,n={}){const{eventFilter:o,...a}=n,{eventFilter:l,pause:s,resume:r,isActive:u}=jte(o);return{stop:Yte(e,t,{...a,eventFilter:l}),pause:s,resume:r,isActive:u}}function Ute(e,t={}){if(!gt(e))return Rn(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const o in e.value)n[o]=s_(()=>({get(){return e.value[o]},set(a){var l;if((l=pl(t.replaceRef))!=null?l:!0)if(Array.isArray(e.value)){const r=[...e.value];r[o]=a,e.value=r}else{const r={...e.value,[o]:a};Object.setPrototypeOf(r,Object.getPrototypeOf(e.value)),e.value=r}else e.value[o]=a}}));return n}function fm(e,t=!1){function n(f,{flush:v="sync",deep:h=!1,timeout:g,throwOnTimeout:p}={}){let m=null;const b=[new Promise(w=>{m=pe(e,S=>{f(S)!==t&&(m?.(),w(S))},{flush:v,deep:h,immediate:!0})})];return g!=null&&b.push(Kw(g,p).then(()=>pl(e)).finally(()=>m?.())),Promise.race(b)}function o(f,v){if(!gt(f))return n(S=>S===f,v);const{flush:h="sync",deep:g=!1,timeout:p,throwOnTimeout:m}=v??{};let y=null;const w=[new Promise(S=>{y=pe([e,f],([k,x])=>{t!==(k===x)&&(y?.(),S(k))},{flush:h,deep:g,immediate:!0})})];return p!=null&&w.push(Kw(p,m).then(()=>pl(e)).finally(()=>(y?.(),pl(e)))),Promise.race(w)}function a(f){return n(v=>!!v,f)}function l(f){return o(null,f)}function s(f){return o(void 0,f)}function r(f){return n(Number.isNaN,f)}function u(f,v){return n(h=>{const g=Array.from(h);return g.includes(f)||g.includes(pl(f))},v)}function c(f){return d(1,f)}function d(f=1,v){let h=-1;return n(()=>(h+=1,h>=f),v)}return Array.isArray(pl(e))?{toMatch:n,toContains:u,changed:c,changedTimes:d,get not(){return fm(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:a,toBeNull:l,toBeNaN:r,toBeUndefined:s,changed:c,changedTimes:d,get not(){return fm(e,!t)}}}function pm(e){return fm(e)}function qte(e){var t;const n=pl(e);return(t=n?.$el)!=null?t:n}const yT=Vte?window:void 0;function bT(...e){let t,n,o,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,a]=e,t=yT):[t,n,o,a]=e,!t)return Kte;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const l=[],s=()=>{l.forEach(d=>d()),l.length=0},r=(d,f,v,h)=>(d.addEventListener(f,v,h),()=>d.removeEventListener(f,v,h)),u=pe(()=>[qte(t),pl(a)],([d,f])=>{if(s(),!d)return;const v=Hte(f)?{...f}:f;l.push(...n.flatMap(h=>o.map(g=>r(d,h,g,v))))},{immediate:!0,flush:"post"}),c=()=>{u(),s()};return Bu(c),c}function Gte(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Ww(...e){let t,n,o={};e.length===3?(t=e[0],n=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:a=yT,eventName:l="keydown",passive:s=!1,dedupe:r=!1}=o,u=Gte(t);return bT(a,l,d=>{d.repeat&&pl(r)||u(d)&&n(d)},s)}function Xte(e){return JSON.parse(JSON.stringify(e))}function Lv(e,t,n,o={}){var a,l,s;const{clone:r=!1,passive:u=!1,eventName:c,deep:d=!1,defaultValue:f,shouldEmit:v}=o,h=ct(),g=n||h?.emit||((a=h?.$emit)==null?void 0:a.bind(h))||((s=(l=h?.proxy)==null?void 0:l.$emit)==null?void 0:s.bind(h?.proxy));let p=c;t||(t="modelValue"),p=p||`update:${t.toString()}`;const m=w=>r?typeof r=="function"?r(w):Xte(w):w,y=()=>Fte(e[t])?m(e[t]):f,b=w=>{v?v(w)&&g(p,w):g(p,w)};if(u){const w=y(),S=B(w);let k=!1;return pe(()=>e[t],x=>{k||(k=!0,S.value=m(x),Pe(()=>k=!1))}),pe(S,x=>{!k&&(x!==e[t]||d)&&b(x)},{deep:d}),S}else return C({get(){return y()},set(w){b(w)}})}var Zte={value:()=>{}};function Ip(){for(var e=0,t=arguments.length,n={},o;e=0&&(o=n.slice(a+1),n=n.slice(0,a)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Od.prototype=Ip.prototype={constructor:Od,on:function(e,t){var n=this._,o=Jte(e+"",n),a,l=-1,s=o.length;if(arguments.length<2){for(;++l0)for(var n=new Array(a),o=0,a,l;o=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Yw.hasOwnProperty(t)?{space:Yw[t],local:e}:e}function ene(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===vm&&t.documentElement.namespaceURI===vm?t.createElement(e):t.createElementNS(n,e)}}function tne(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function wT(e){var t=Mp(e);return(t.local?tne:ene)(t)}function nne(){}function By(e){return e==null?nne:function(){return this.querySelector(e)}}function one(e){typeof e!="function"&&(e=By(e));for(var t=this._groups,n=t.length,o=new Array(n),a=0;a=w&&(w=b+1);!(k=m[w])&&++w=0;)(s=o[a])&&(l&&s.compareDocumentPosition(l)^4&&l.parentNode.insertBefore(s,l),l=s);return this}function Nne(e){e||(e=_ne);function t(f,v){return f&&v?e(f.__data__,v.__data__):!f-!v}for(var n=this._groups,o=n.length,a=new Array(o),l=0;lt?1:e>=t?0:NaN}function Ine(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Mne(){return Array.from(this)}function One(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Kne:typeof t=="function"?jne:Wne)(e,t,n??"")):di(this.node(),e)}function di(e,t){return e.style.getPropertyValue(t)||ET(e).getComputedStyle(e,null).getPropertyValue(t)}function Une(e){return function(){delete this[e]}}function qne(e,t){return function(){this[e]=t}}function Gne(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Xne(e,t){return arguments.length>1?this.each((t==null?Une:typeof t=="function"?Gne:qne)(e,t)):this.node()[e]}function $T(e){return e.trim().split(/^|\s+/)}function Vy(e){return e.classList||new TT(e)}function TT(e){this._node=e,this._names=$T(e.getAttribute("class")||"")}TT.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function NT(e,t){for(var n=Vy(e),o=-1,a=t.length;++o=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function xoe(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,a=t.length,l;n()=>e;function hm(e,{sourceEvent:t,subject:n,target:o,identifier:a,active:l,x:s,y:r,dx:u,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}hm.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Roe(e){return!e.ctrlKey&&!e.button}function Aoe(){return this.parentNode}function Doe(e,t){return t??{x:e.x,y:e.y}}function Loe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Boe(){var e=Roe,t=Aoe,n=Doe,o=Loe,a={},l=Ip("start","drag","end"),s=0,r,u,c,d,f=0;function v(S){S.on("mousedown.drag",h).filter(o).on("touchstart.drag",m).on("touchmove.drag",y,Poe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(S,k){if(!(d||!e.call(this,S,k))){var x=w(this,t.call(this,S,k),S,k,"mouse");x&&(da(S.view).on("mousemove.drag",g,Vu).on("mouseup.drag",p,Vu),OT(S.view),Bv(S),c=!1,r=S.clientX,u=S.clientY,x("start",S))}}function g(S){if(Kr(S),!c){var k=S.clientX-r,x=S.clientY-u;c=k*k+x*x>f}a.mouse("drag",S)}function p(S){da(S.view).on("mousemove.drag mouseup.drag",null),PT(S.view,c),Kr(S),a.mouse("end",S)}function m(S,k){if(e.call(this,S,k)){var x=S.changedTouches,N=t.call(this,S,k),$=x.length,T,I;for(T=0;T<$;++T)(I=w(this,N,S,k,x[T].identifier,x[T]))&&(Bv(S),I("start",S,x[T]))}}function y(S){var k=S.changedTouches,x=k.length,N,$;for(N=0;N>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Zc(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Zc(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Foe.exec(e))?new _o(t[1],t[2],t[3],1):(t=zoe.exec(e))?new _o(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Hoe.exec(e))?Zc(t[1],t[2],t[3],t[4]):(t=Koe.exec(e))?Zc(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Woe.exec(e))?Qw(t[1],t[2]/100,t[3]/100,1):(t=joe.exec(e))?Qw(t[1],t[2]/100,t[3]/100,t[4]):Uw.hasOwnProperty(e)?Xw(Uw[e]):e==="transparent"?new _o(NaN,NaN,NaN,0):null}function Xw(e){return new _o(e>>16&255,e>>8&255,e&255,1)}function Zc(e,t,n,o){return o<=0&&(e=t=n=NaN),new _o(e,t,n,o)}function qoe(e){return e instanceof Sc||(e=lr(e)),e?(e=e.rgb(),new _o(e.r,e.g,e.b,e.opacity)):new _o}function mm(e,t,n,o){return arguments.length===1?qoe(e):new _o(e,t,n,o??1)}function _o(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}Fy(_o,mm,RT(Sc,{brighter(e){return e=e==null?Ef:Math.pow(Ef,e),new _o(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Fu:Math.pow(Fu,e),new _o(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _o(Ys(this.r),Ys(this.g),Ys(this.b),$f(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Zw,formatHex:Zw,formatHex8:Goe,formatRgb:Jw,toString:Jw}));function Zw(){return`#${As(this.r)}${As(this.g)}${As(this.b)}`}function Goe(){return`#${As(this.r)}${As(this.g)}${As(this.b)}${As((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jw(){const e=$f(this.opacity);return`${e===1?"rgb(":"rgba("}${Ys(this.r)}, ${Ys(this.g)}, ${Ys(this.b)}${e===1?")":`, ${e})`}`}function $f(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ys(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function As(e){return e=Ys(e),(e<16?"0":"")+e.toString(16)}function Qw(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new fa(e,t,n,o)}function AT(e){if(e instanceof fa)return new fa(e.h,e.s,e.l,e.opacity);if(e instanceof Sc||(e=lr(e)),!e)return new fa;if(e instanceof fa)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,a=Math.min(t,n,o),l=Math.max(t,n,o),s=NaN,r=l-a,u=(l+a)/2;return r?(t===l?s=(n-o)/r+(n0&&u<1?0:s,new fa(s,r,u,e.opacity)}function Xoe(e,t,n,o){return arguments.length===1?AT(e):new fa(e,t,n,o??1)}function fa(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}Fy(fa,Xoe,RT(Sc,{brighter(e){return e=e==null?Ef:Math.pow(Ef,e),new fa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Fu:Math.pow(Fu,e),new fa(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,a=2*n-o;return new _o(Vv(e>=240?e-240:e+120,a,o),Vv(e,a,o),Vv(e<120?e+240:e-120,a,o),this.opacity)},clamp(){return new fa(eS(this.h),Jc(this.s),Jc(this.l),$f(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=$f(this.opacity);return`${e===1?"hsl(":"hsla("}${eS(this.h)}, ${Jc(this.s)*100}%, ${Jc(this.l)*100}%${e===1?")":`, ${e})`}`}}));function eS(e){return e=(e||0)%360,e<0?e+360:e}function Jc(e){return Math.max(0,Math.min(1,e||0))}function Vv(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const zy=e=>()=>e;function Zoe(e,t){return function(n){return e+n*t}}function Joe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function Qoe(e){return(e=+e)==1?DT:function(t,n){return n-t?Joe(t,n,e):zy(isNaN(t)?n:t)}}function DT(e,t){var n=t-e;return n?Zoe(e,n):zy(isNaN(e)?t:e)}const Tf=(function e(t){var n=Qoe(t);function o(a,l){var s=n((a=mm(a)).r,(l=mm(l)).r),r=n(a.g,l.g),u=n(a.b,l.b),c=DT(a.opacity,l.opacity);return function(d){return a.r=s(d),a.g=r(d),a.b=u(d),a.opacity=c(d),a+""}}return o.gamma=e,o})(1);function eae(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),a;return function(l){for(a=0;an&&(l=t.slice(n,l),r[s]?r[s]+=l:r[++s]=l),(o=o[0])===(a=a[0])?r[s]?r[s]+=a:r[++s]=a:(r[++s]=null,u.push({i:s,x:Aa(o,a)})),n=Fv.lastIndex;return n180?d+=360:d-c>180&&(c+=360),v.push({i:f.push(a(f)+"rotate(",null,o)-2,x:Aa(c,d)})):d&&f.push(a(f)+"rotate("+d+o)}function r(c,d,f,v){c!==d?v.push({i:f.push(a(f)+"skewX(",null,o)-2,x:Aa(c,d)}):d&&f.push(a(f)+"skewX("+d+o)}function u(c,d,f,v,h,g){if(c!==f||d!==v){var p=h.push(a(h)+"scale(",null,",",null,")");g.push({i:p-4,x:Aa(c,f)},{i:p-2,x:Aa(d,v)})}else(f!==1||v!==1)&&h.push(a(h)+"scale("+f+","+v+")")}return function(c,d){var f=[],v=[];return c=e(c),d=e(d),l(c.translateX,c.translateY,d.translateX,d.translateY,f,v),s(c.rotate,d.rotate,f,v),r(c.skewX,d.skewX,f,v),u(c.scaleX,c.scaleY,d.scaleX,d.scaleY,f,v),c=d=null,function(h){for(var g=-1,p=v.length,m;++g=0&&e._call.call(void 0,t),e=e._next;--fi}function oS(){sr=(_f=Hu.now())+Op,fi=ji=0;try{hae()}finally{fi=0,gae(),sr=0}}function mae(){var e=Hu.now(),t=e-_f;t>FT&&(Op-=t,_f=e)}function gae(){for(var e,t=Nf,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Nf=n);Yi=e,bm(o)}function bm(e){if(!fi){ji&&(ji=clearTimeout(ji));var t=e-sr;t>24?(e<1/0&&(ji=setTimeout(oS,e-Hu.now()-Op)),Ai&&(Ai=clearInterval(Ai))):(Ai||(_f=Hu.now(),Ai=setInterval(mae,FT)),fi=1,zT(oS))}}function aS(e,t,n){var o=new If;return t=t==null?0:+t,o.restart(a=>{o.stop(),e(a+t)},t,n),o}var yae=Ip("start","end","cancel","interrupt"),bae=[],KT=0,lS=1,wm=2,Rd=3,sS=4,Sm=5,Ad=6;function Pp(e,t,n,o,a,l){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;wae(e,n,{name:t,index:o,group:a,on:yae,tween:bae,time:l.time,delay:l.delay,duration:l.duration,ease:l.ease,timer:null,state:KT})}function Ky(e,t){var n=$a(e,t);if(n.state>KT)throw new Error("too late; already scheduled");return n}function nl(e,t){var n=$a(e,t);if(n.state>Rd)throw new Error("too late; already running");return n}function $a(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function wae(e,t,n){var o=e.__transition,a;o[t]=n,n.timer=HT(l,0,n.time);function l(c){n.state=lS,n.timer.restart(s,n.delay,n.time),n.delay<=c&&s(c-n.delay)}function s(c){var d,f,v,h;if(n.state!==lS)return u();for(d in o)if(h=o[d],h.name===n.name){if(h.state===Rd)return aS(s);h.state===sS?(h.state=Ad,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[d]):+dwm&&o.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Xae(e,t,n){var o,a,l=Gae(t)?Ky:nl;return function(){var s=l(this,e),r=s.on;r!==o&&(a=(o=r).copy()).on(t,n),s.on=a}}function Zae(e,t){var n=this._id;return arguments.length<2?$a(this.node(),n).on.on(e):this.each(Xae(n,e,t))}function Jae(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Qae(){return this.on("end.remove",Jae(this._id))}function ele(e){var t=this._name,n=this._id;typeof e!="function"&&(e=By(e));for(var o=this._groups,a=o.length,l=new Array(a),s=0;s()=>e;function Ele(e,{sourceEvent:t,target:n,transform:o,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:a}})}function vl(e,t,n){this.k=e,this.x=t,this.y=n}vl.prototype={constructor:vl,scale:function(e){return e===1?this:new vl(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new vl(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pi=new vl(1,0,0);vl.prototype;function zv(e){e.stopImmediatePropagation()}function Di(e){e.preventDefault(),e.stopImmediatePropagation()}function $le(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Tle(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function rS(){return this.__zoom||pi}function Nle(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _le(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ile(e,t,n){var o=e.invertX(t[0][0])-n[0][0],a=e.invertX(t[1][0])-n[1][0],l=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a),s>l?(l+s)/2:Math.min(0,l)||Math.max(0,s))}function Mle(){var e=$le,t=Tle,n=Ile,o=Nle,a=_le,l=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],r=250,u=Pd,c=Ip("start","zoom","end"),d,f,v,h=500,g=150,p=0,m=10;function y(L){L.property("__zoom",rS).on("wheel.zoom",$,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",I).filter(a).on("touchstart.zoom",P).on("touchmove.zoom",_).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(L,z,O,R){var D=L.selection?L.selection():L;D.property("__zoom",rS),L!==D?k(L,z,O,R):D.interrupt().each(function(){x(this,arguments).event(R).start().zoom(null,typeof z=="function"?z.apply(this,arguments):z).end()})},y.scaleBy=function(L,z,O,R){y.scaleTo(L,function(){var D=this.__zoom.k,K=typeof z=="function"?z.apply(this,arguments):z;return D*K},O,R)},y.scaleTo=function(L,z,O,R){y.transform(L,function(){var D=t.apply(this,arguments),K=this.__zoom,V=O==null?S(D):typeof O=="function"?O.apply(this,arguments):O,Y=K.invert(V),G=typeof z=="function"?z.apply(this,arguments):z;return n(w(b(K,G),V,Y),D,s)},O,R)},y.translateBy=function(L,z,O,R){y.transform(L,function(){return n(this.__zoom.translate(typeof z=="function"?z.apply(this,arguments):z,typeof O=="function"?O.apply(this,arguments):O),t.apply(this,arguments),s)},null,R)},y.translateTo=function(L,z,O,R,D){y.transform(L,function(){var K=t.apply(this,arguments),V=this.__zoom,Y=R==null?S(K):typeof R=="function"?R.apply(this,arguments):R;return n(pi.translate(Y[0],Y[1]).scale(V.k).translate(typeof z=="function"?-z.apply(this,arguments):-z,typeof O=="function"?-O.apply(this,arguments):-O),K,s)},R,D)};function b(L,z){return z=Math.max(l[0],Math.min(l[1],z)),z===L.k?L:new vl(z,L.x,L.y)}function w(L,z,O){var R=z[0]-O[0]*L.k,D=z[1]-O[1]*L.k;return R===L.x&&D===L.y?L:new vl(L.k,R,D)}function S(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function k(L,z,O,R){L.on("start.zoom",function(){x(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){x(this,arguments).event(R).end()}).tween("zoom",function(){var D=this,K=arguments,V=x(D,K).event(R),Y=t.apply(D,K),G=O==null?S(Y):typeof O=="function"?O.apply(D,K):O,q=Math.max(Y[1][0]-Y[0][0],Y[1][1]-Y[0][1]),X=D.__zoom,Z=typeof z=="function"?z.apply(D,K):z,J=u(X.invert(G).concat(q/X.k),Z.invert(G).concat(q/Z.k));return function(ae){if(ae===1)ae=Z;else{var ve=J(ae),me=q/ve[2];ae=new vl(me,G[0]-ve[0]*me,G[1]-ve[1]*me)}V.zoom(null,ae)}})}function x(L,z,O){return!O&&L.__zooming||new N(L,z)}function N(L,z){this.that=L,this.args=z,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,z),this.taps=0}N.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,z){return this.mouse&&L!=="mouse"&&(this.mouse[1]=z.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=z.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=z.invert(this.touch1[0])),this.that.__zoom=z,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var z=da(this.that).datum();c.call(L,this.that,new Ele(L,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:c}),z)}};function $(L,...z){if(!e.apply(this,arguments))return;var O=x(this,z).event(L),R=this.__zoom,D=Math.max(l[0],Math.min(l[1],R.k*Math.pow(2,o.apply(this,arguments)))),K=Oa(L);if(O.wheel)(O.mouse[0][0]!==K[0]||O.mouse[0][1]!==K[1])&&(O.mouse[1]=R.invert(O.mouse[0]=K)),clearTimeout(O.wheel);else{if(R.k===D)return;O.mouse=[K,R.invert(K)],Dd(this),O.start()}Di(L),O.wheel=setTimeout(V,g),O.zoom("mouse",n(w(b(R,D),O.mouse[0],O.mouse[1]),O.extent,s));function V(){O.wheel=null,O.end()}}function T(L,...z){if(v||!e.apply(this,arguments))return;var O=L.currentTarget,R=x(this,z,!0).event(L),D=da(L.view).on("mousemove.zoom",G,!0).on("mouseup.zoom",q,!0),K=Oa(L,O),V=L.clientX,Y=L.clientY;OT(L.view),zv(L),R.mouse=[K,this.__zoom.invert(K)],Dd(this),R.start();function G(X){if(Di(X),!R.moved){var Z=X.clientX-V,J=X.clientY-Y;R.moved=Z*Z+J*J>p}R.event(X).zoom("mouse",n(w(R.that.__zoom,R.mouse[0]=Oa(X,O),R.mouse[1]),R.extent,s))}function q(X){D.on("mousemove.zoom mouseup.zoom",null),PT(X.view,R.moved),Di(X),R.event(X).end()}}function I(L,...z){if(e.apply(this,arguments)){var O=this.__zoom,R=Oa(L.changedTouches?L.changedTouches[0]:L,this),D=O.invert(R),K=O.k*(L.shiftKey?.5:2),V=n(w(b(O,K),R,D),t.apply(this,z),s);Di(L),r>0?da(this).transition().duration(r).call(k,V,R,L):da(this).call(y.transform,V,R,L)}}function P(L,...z){if(e.apply(this,arguments)){var O=L.touches,R=O.length,D=x(this,z,L.changedTouches.length===R).event(L),K,V,Y,G;for(zv(L),V=0;V(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))($t||{}),jy=(e=>(e.Partial="partial",e.Full="full",e))(jy||{}),_s=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(_s||{}),fs=(e=>(e.Strict="strict",e.Loose="loose",e))(fs||{}),Cm=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(Cm||{}),ru=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(ru||{});const Ole=["INPUT","SELECT","TEXTAREA"],Ple=typeof document<"u"?document:null;function km(e){var t,n;const o=((n=(t=e.composedPath)==null?void 0:t.call(e))==null?void 0:n[0])||e.target,a=typeof o?.hasAttribute=="function"?o.hasAttribute("contenteditable"):!1,l=typeof o?.closest=="function"?o.closest(".nokey"):null;return Ole.includes(o?.nodeName)||a||!!l}function Rle(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function iS(e,t,n,o){const a=t.replace("+",` -`).replace(` - -`,` -+`).split(` -`).map(s=>s.trim().toLowerCase());if(a.length===1)return e.toLowerCase()===t.toLowerCase();o||n.add(e.toLowerCase());const l=a.every((s,r)=>n.has(s)&&Array.from(n.values())[r]===a[r]);return o&&n.delete(e.toLowerCase()),l}function Ale(e,t){return n=>{if(!n.code&&!n.key)return!1;const o=Dle(n.code,e);return Array.isArray(e)?e.some(a=>iS(n[o],a,t,n.type==="keyup")):iS(n[o],e,t,n.type==="keyup")}}function Dle(e,t){return t.includes(e)?"code":"key"}function iu(e,t){const n=C(()=>Nt(t?.target)??Ple),o=Ct(Nt(e)===!0);let a=!1;const l=new Set;let s=u(Nt(e));pe(()=>Nt(e),(c,d)=>{typeof d=="boolean"&&typeof c!="boolean"&&r(),s=u(c)},{immediate:!0}),bT(["blur","contextmenu"],r),Ww((...c)=>s(...c),c=>{var d,f;const v=Nt(t?.actInsideInputWithModifier)??!0,h=Nt(t?.preventDefault)??!1;if(a=Rle(c),(!a||a&&!v)&&km(c))return;const p=((f=(d=c.composedPath)==null?void 0:d.call(c))==null?void 0:f[0])||c.target,m=p?.nodeName==="BUTTON"||p?.nodeName==="A";!h&&(a||!m)&&c.preventDefault(),o.value=!0},{eventName:"keydown",target:n}),Ww((...c)=>s(...c),c=>{const d=Nt(t?.actInsideInputWithModifier)??!0;if(o.value){if((!a||a&&!d)&&km(c))return;a=!1,o.value=!1}},{eventName:"keyup",target:n});function r(){a=!1,l.clear(),o.value=Nt(e)===!0}function u(c){return c===null?(r(),()=>!1):typeof c=="boolean"?(r(),o.value=c,()=>!1):Array.isArray(c)||typeof c=="string"?Ale(c,l):c}return o}const UT="vue-flow__node-desc",qT="vue-flow__edge-desc",Lle="vue-flow__aria-live",GT=["Enter"," ","Escape"],jr={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Mf(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function Of(e,t){const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)}function Rp(e){return{width:e.offsetWidth,height:e.offsetHeight}}function rr(e,t=0,n=1){return Math.min(Math.max(e,t),n)}function XT(e,t){return{x:rr(e.x,t[0][0],t[1][0]),y:rr(e.y,t[0][1],t[1][1])}}function uS(e){const t=e.getRootNode();return"elementFromPoint"in t?t:window.document}function ps(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function Us(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!ps(e)}function Ui(e){return Us(e)&&"computedPosition"in e}function td(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Ble(e){return td(e.width)&&td(e.height)&&td(e.x)&&td(e.y)}function Vle(e,t,n){const o={id:e.id.toString(),type:e.type??"default",dimensions:yo({width:0,height:0}),computedPosition:yo({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:Dn(e.data)?e.data:{},events:yo(Dn(e.events)?e.events:{})};return Object.assign(t??o,e,{id:e.id.toString(),parentNode:n})}function ZT(e,t,n){var o,a;const l={id:e.id.toString(),type:e.type??t?.type??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(o=e.sourceHandle)==null?void 0:o.toString(),targetHandle:(a=e.targetHandle)==null?void 0:a.toString(),updatable:e.updatable??n?.updatable,selectable:e.selectable??n?.selectable,focusable:e.focusable??n?.focusable,data:Dn(e.data)?e.data:{},events:yo(Dn(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??n?.interactionWidth,...n??{}};return Object.assign(t??l,e,{id:e.id.toString()})}function JT(e,t,n,o){const a=typeof e=="string"?e:e.id,l=new Set,s=o==="source"?"target":"source";for(const r of n)r[s]===a&&l.add(r[o]);return t.filter(r=>l.has(r.id))}function Fle(...e){if(e.length===3){const[l,s,r]=e;return JT(l,s,r,"target")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(l=>ps(l)&&l.source===o).map(l=>n.find(s=>Us(s)&&s.id===l.target))}function zle(...e){if(e.length===3){const[l,s,r]=e;return JT(l,s,r,"source")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(l=>ps(l)&&l.target===o).map(l=>n.find(s=>Us(s)&&s.id===l.source))}function QT({source:e,sourceHandle:t,target:n,targetHandle:o}){return`vueflow__edge-${e}${t??""}-${n}${o??""}`}function Hle(e,t){return t.some(n=>ps(n)&&n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle))}function Ku({x:e,y:t},{x:n,y:o,zoom:a}){return{x:e*a+n,y:t*a+o}}function Wu({x:e,y:t},{x:n,y:o,zoom:a},l=!1,s=[1,1]){const r={x:(e-n)/a,y:(t-o)/a};return l?Ap(r,s):r}function Kle(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}}function eN({x:e,y:t,width:n,height:o}){return{x:e,y:t,x2:e+n,y2:t+o}}function Wle({x:e,y:t,x2:n,y2:o}){return{x:e,y:t,width:n-e,height:o-t}}function tN(e){let t={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let n=0;n0,m=(f??0)*(v??0);(g||p||h>=m||r.dragging)&&s.push(r)}return s}function oN(e,t){const n=new Set;if(typeof e=="string")n.add(e);else if(e.length>=1)for(const o of e)n.add(o.id);return t.filter(o=>n.has(o.source)||n.has(o.target))}function $r(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return Cc(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function jle(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=$r(e,n),a=$r(e,t);return{top:o,right:a,bottom:o,left:a,x:a*2,y:o*2}}if(typeof e=="object"){const o=$r(e.top??e.y??0,n),a=$r(e.bottom??e.y??0,n),l=$r(e.left??e.x??0,t),s=$r(e.right??e.x??0,t);return{top:o,right:s,bottom:a,left:l,x:l+s,y:o+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Yle(e,t,n,o,a,l){const{x:s,y:r}=Ku(e,{x:t,y:n,zoom:o}),{x:u,y:c}=Ku({x:e.x+e.width,y:e.y+e.height},{x:t,y:n,zoom:o}),d=a-u,f=l-c;return{left:Math.floor(s),top:Math.floor(r),right:Math.floor(d),bottom:Math.floor(f)}}function cS(e,t,n,o,a,l=.1){const s=jle(l,t,n),r=(t-s.x)/e.width,u=(n-s.y)/e.height,c=Math.min(r,u),d=rr(c,o,a),f=e.x+e.width/2,v=e.y+e.height/2,h=t/2-f*d,g=n/2-v*d,p=Yle(e,h,g,d,t,n),m={left:Math.min(p.left-s.left,0),top:Math.min(p.top-s.top,0),right:Math.min(p.right-s.right,0),bottom:Math.min(p.bottom-s.bottom,0)};return{x:h-m.left+m.right,y:g-m.top+m.bottom,zoom:d}}function Ule(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function aN(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:aN(n,t):!1}function ju(e,t){return typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`}function dS(e){const t=e.ctrlKey&&Pf()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t}function fS(e,t,n){return en?-rr(Math.abs(e-n),1,t)/t:0}function lN(e,t,n=15,o=40){const a=fS(e.x,o,t.width-o)*n,l=fS(e.y,o,t.height-o)*n;return[a,l]}function Hv(e,t){if(t){const n=e.position.x+e.dimensions.width-t.dimensions.width,o=e.position.y+e.dimensions.height-t.dimensions.height;if(n>0||o>0||e.position.x<0||e.position.y<0){let a={};if(typeof t.style=="function"?a={...t.style(t)}:t.style&&(a={...t.style}),a.width=a.width??`${t.dimensions.width}px`,a.height=a.height??`${t.dimensions.height}px`,n>0)if(typeof a.width=="string"){const l=Number(a.width.replace("px",""));a.width=`${l+n}px`}else a.width+=n;if(o>0)if(typeof a.height=="string"){const l=Number(a.height.replace("px",""));a.height=`${l+o}px`}else a.height+=o;if(e.position.x<0){const l=Math.abs(e.position.x);if(t.position.x=t.position.x-l,typeof a.width=="string"){const s=Number(a.width.replace("px",""));a.width=`${s+l}px`}else a.width+=l;e.position.x=0}if(e.position.y<0){const l=Math.abs(e.position.y);if(t.position.y=t.position.y-l,typeof a.height=="string"){const s=Number(a.height.replace("px",""));a.height=`${s+l}px`}else a.height+=l;e.position.y=0}t.dimensions.width=Number(a.width.toString().replace("px","")),t.dimensions.height=Number(a.height.toString().replace("px","")),typeof t.style=="function"?t.style=l=>{const s=t.style;return{...s(l),...a}}:t.style={...t.style,...a}}}}function pS(e,t){var n,o;const a=e.filter(s=>s.type==="add"||s.type==="remove");for(const s of a)if(s.type==="add")t.findIndex(u=>u.id===s.item.id)===-1&&t.push(s.item);else if(s.type==="remove"){const r=t.findIndex(u=>u.id===s.id);r!==-1&&t.splice(r,1)}const l=t.map(s=>s.id);for(const s of t)for(const r of e)if(r.id===s.id)switch(r.type){case"select":s.selected=r.selected;break;case"position":if(Ui(s)&&(typeof r.position<"u"&&(s.position=r.position),typeof r.dragging<"u"&&(s.dragging=r.dragging),s.expandParent&&s.parentNode)){const u=t[l.indexOf(s.parentNode)];u&&Ui(u)&&Hv(s,u)}break;case"dimensions":if(Ui(s)&&(typeof r.dimensions<"u"&&(s.dimensions=r.dimensions),typeof r.updateStyle<"u"&&r.updateStyle&&(s.style={...s.style||{},width:`${(n=r.dimensions)==null?void 0:n.width}px`,height:`${(o=r.dimensions)==null?void 0:o.height}px`}),typeof r.resizing<"u"&&(s.resizing=r.resizing),s.expandParent&&s.parentNode)){const u=t[l.indexOf(s.parentNode)];u&&Ui(u)&&(!!u.dimensions.width&&!!u.dimensions.height?Hv(s,u):Pe(()=>{Hv(s,u)}))}break}return t}function Yl(e,t){return{id:e,type:"select",selected:t}}function vS(e){return{item:e,type:"add"}}function hS(e){return{id:e,type:"remove"}}function mS(e,t,n,o,a){return{id:e,source:t,target:n,sourceHandle:o||null,targetHandle:a||null,type:"remove"}}function ql(e,t=new Set,n=!1){const o=[];for(const[a,l]of e){const s=t.has(a);!(l.selected===void 0&&!s)&&l.selected!==s&&(n&&(l.selected=s),o.push(Yl(l.id,s)))}return o}const gS=()=>{};function yt(e){const t=new Set;let n=gS,o=()=>!1;const a=()=>t.size>0||o(),l=v=>{n=v},s=()=>{n=gS},r=v=>{o=v},u=()=>{o=()=>!1},c=v=>{t.delete(v)};return{on:v=>{t.add(v);const h=()=>c(v);return Bu(h),{off:h}},off:c,trigger:v=>{const h=[n];return a()?h.push(...t):e&&h.push(e),Promise.allSettled(h.map(g=>g(v)))},hasListeners:a,listeners:t,setEmitter:l,removeEmitter:s,setHasEmitListeners:r,removeHasEmitListeners:u}}function yS(e,t,n){let o=e;do{if(o&&o.matches(t))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function qle(e,t,n,o){var a,l;const s=new Map;for(const[r,u]of e)(u.selected||u.id===o)&&(!u.parentNode||!aN(u,e))&&(u.draggable||t&&typeof u.draggable>"u")&&e.get(r)&&s.set(r,{id:u.id,position:u.position||{x:0,y:0},distance:{x:n.x-((a=u.computedPosition)==null?void 0:a.x)||0,y:n.y-((l=u.computedPosition)==null?void 0:l.y)||0},from:{x:u.computedPosition.x,y:u.computedPosition.y},extent:u.extent,parentNode:u.parentNode,dimensions:{...u.dimensions},expandParent:u.expandParent});return Array.from(s.values())}function Kv({id:e,dragItems:t,findNode:n}){const o=[];for(const a of t){const l=n(a.id);l&&o.push(l)}return[e?o.find(a=>a.id===e):o[0],o]}function sN(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function Gle(e,t,n){const[o,a,l,s]=typeof e!="string"?sN(e.padding):[0,0,0,0];return n&&typeof n.computedPosition.x<"u"&&typeof n.computedPosition.y<"u"&&typeof n.dimensions.width<"u"&&typeof n.dimensions.height<"u"?[[n.computedPosition.x+s,n.computedPosition.y+o],[n.computedPosition.x+n.dimensions.width-a,n.computedPosition.y+n.dimensions.height-l]]:!1}function Xle(e,t,n,o){let a=e.extent||n;if((a==="parent"||!Array.isArray(a)&&a?.range==="parent")&&!e.expandParent)if(e.parentNode&&o&&e.dimensions.width&&e.dimensions.height){const l=Gle(a,e,o);l&&(a=l)}else t(new jn(Vn.NODE_EXTENT_INVALID,e.id)),a=n;else if(Array.isArray(a)){const l=o?.computedPosition.x||0,s=o?.computedPosition.y||0;a=[[a[0][0]+l,a[0][1]+s],[a[1][0]+l,a[1][1]+s]]}else if(a!=="parent"&&a?.range&&Array.isArray(a.range)){const[l,s,r,u]=sN(a.padding),c=o?.computedPosition.x||0,d=o?.computedPosition.y||0;a=[[a.range[0][0]+c+u,a.range[0][1]+d+l],[a.range[1][0]+c-s,a.range[1][1]+d-r]]}return a==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:a}function Zle({width:e,height:t},n){return[n[0],[n[1][0]-(e||0),n[1][1]-(t||0)]]}function Yy(e,t,n,o,a){const l=Zle(e.dimensions,Xle(e,n,o,a)),s=XT(t,l);return{position:{x:s.x-(a?.computedPosition.x||0),y:s.y-(a?.computedPosition.y||0)},computedPosition:s}}function vi(e,t,n=$t.Left,o=!1){const a=(t?.x??0)+e.computedPosition.x,l=(t?.y??0)+e.computedPosition.y,{width:s,height:r}=t??tse(e);if(o)return{x:a+s/2,y:l+r/2};switch(t?.position??n){case $t.Top:return{x:a+s/2,y:l};case $t.Right:return{x:a+s,y:l+r/2};case $t.Bottom:return{x:a+s/2,y:l+r};case $t.Left:return{x:a,y:l+r/2}}}function bS(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Jle({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:a,targetHeight:l,width:s,height:r,viewport:u}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+a),y2:Math.max(e.y+o,t.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const d=eN({x:(0-u.x)/u.zoom,y:(0-u.y)/u.zoom,width:s/u.zoom,height:r/u.zoom}),f=Math.max(0,Math.min(d.x2,c.x2)-Math.max(d.x,c.x)),v=Math.max(0,Math.min(d.y2,c.y2)-Math.max(d.y,c.y));return Math.ceil(f*v)>0}function Qle(e,t,n=!1){const o=typeof e.zIndex=="number";let a=o?e.zIndex:0;const l=t(e.source),s=t(e.target);return!l||!s?0:(n&&(a=o?e.zIndex:Math.max(l.computedPosition.z||0,s.computedPosition.z||0)),a)}var Vn=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Vn||{});const wS={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid -Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found -Node: ${e}`,NODE_MISSING_PARENT:(e,t)=>`Node is missing a parent -Node: ${e} -Parent: ${t}`,NODE_TYPE_MISSING:e=>`Node type is missing -Type: ${e}`,NODE_EXTENT_INVALID:e=>`Only child nodes can use a parent extent -Node: ${e}`,EDGE_INVALID:e=>`An edge needs a source and a target -Edge: ${e}`,EDGE_SOURCE_MISSING:(e,t)=>`Edge source is missing -Edge: ${e} -Source: ${t}`,EDGE_TARGET_MISSING:(e,t)=>`Edge target is missing -Edge: ${e} -Target: ${t}`,EDGE_TYPE_MISSING:e=>`Edge type is missing -Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,t,n)=>`Edge source and target are the same -Edge: ${e} -Source: ${t} -Target: ${n}`,EDGE_SOURCE_TARGET_MISSING:(e,t,n)=>`Edge source or target is missing -Edge: ${e} -Source: ${t} -Target: ${n}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed -Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found -Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class jn extends Error{constructor(t,...n){var o;super((o=wS[t])==null?void 0:o.call(wS,...n)),this.name="VueFlowError",this.code=t,this.args=n}}function Uy(e){return"clientX"in e}function ese(e){return"sourceEvent"in e}function Da(e,t){const n=Uy(e);let o,a;return n?(o=e.clientX,a=e.clientY):"touches"in e&&e.touches.length>0?(o=e.touches[0].clientX,a=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(o=e.changedTouches[0].clientX,a=e.changedTouches[0].clientY):(o=0,a=0),{x:o-(t?.left??0),y:a-(t?.top??0)}}const Pf=()=>{var e;return typeof navigator<"u"&&((e=navigator?.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function tse(e){var t,n;return{width:((t=e.dimensions)==null?void 0:t.width)??e.width??0,height:((n=e.dimensions)==null?void 0:n.height)??e.height??0}}function Ap(e,t=[1,1]){return{x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}}const nse=()=>!0;function Wv(e){e?.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function ose(e,t,n){const o=[],a={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const l of t.values())Of(a,Mf(l))>0&&o.push(l);return o}const ase=250;function lse(e,t,n,o){var a,l;let s=[],r=Number.POSITIVE_INFINITY;const u=ose(e,n,t+ase);for(const c of u){const d=[...((a=c.handleBounds)==null?void 0:a.source)??[],...((l=c.handleBounds)==null?void 0:l.target)??[]];for(const f of d){if(o.nodeId===f.nodeId&&o.type===f.type&&o.id===f.id)continue;const{x:v,y:h}=vi(c,f,f.position,!0),g=Math.sqrt((v-e.x)**2+(h-e.y)**2);g>t||(g1){const c=o.type==="source"?"target":"source";return s.find(d=>d.type===c)??s[0]}return s[0]}function SS(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:a,fromType:l,doc:s,lib:r,flowId:u,isValidConnection:c=nse},d,f,v,h){const g=l==="target",p=t?s.querySelector(`.${r}-flow__handle[data-id="${u}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:m,y}=Da(e),b=s.elementFromPoint(m,y),w=b?.classList.contains(`${r}-flow__handle`)?b:p,S={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const k=rN(void 0,w),x=w.getAttribute("data-nodeid"),N=w.getAttribute("data-handleid"),$=w.classList.contains("connectable"),T=w.classList.contains("connectableend");if(!x||!k)return S;const I={source:g?x:o,sourceHandle:g?N:a,target:g?o:x,targetHandle:g?a:N};S.connection=I;const _=$&&T&&(n===fs.Strict?g&&k==="source"||!g&&k==="target":x!==o||N!==a);S.isValid=_&&c(I,{nodes:f,edges:d,sourceNode:v(I.source),targetNode:v(I.target)}),S.toHandle=iN(x,k,N,h,n,!0)}return S}function rN(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function sse(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function rse(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}function iN(e,t,n,o,a,l=!1){var s,r,u;const c=o.get(e);if(!c)return null;const d=a===fs.Strict?(s=c.handleBounds)==null?void 0:s[t]:[...((r=c.handleBounds)==null?void 0:r.source)??[],...((u=c.handleBounds)==null?void 0:u.target)??[]],f=(n?d?.find(v=>v.id===n):d?.[0])??null;return f&&l?{...f,...vi(c,f,f.position,!0)}:f}const xm={[$t.Left]:$t.Right,[$t.Right]:$t.Left,[$t.Top]:$t.Bottom,[$t.Bottom]:$t.Top},ise=["production","prod"];function Cc(e,...t){uN()&&console.warn(`[Vue Flow]: ${e}`,...t)}function uN(){return!ise.includes("production")}function CS(e,t,n,o,a){const l=t.querySelectorAll(`.vue-flow__handle.${e}`);return l?.length?Array.from(l).map(s=>{const r=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:a,position:s.getAttribute("data-handlepos"),x:(r.left-n.left)/o,y:(r.top-n.top)/o,...Rp(s)}}):null}function Em(e,t,n,o,a,l=!1,s){a.value=!1,e.selected?(l||e.selected&&t)&&(o([e]),Pe(()=>{s.blur()})):n([e])}function Dn(e){return typeof i(e)<"u"}function use(e,t,n,o){if(!e||!e.source||!e.target)return n(new jn(Vn.EDGE_INVALID,e?.id??"[ID UNKNOWN]")),!1;let a;return ps(e)?a=e:a={...e,id:QT(e)},a=ZT(a,void 0,o),Hle(a,t)?!1:a}function cse(e,t,n,o,a){if(!t.source||!t.target)return a(new jn(Vn.EDGE_INVALID,e.id)),!1;if(!n)return a(new jn(Vn.EDGE_NOT_FOUND,e.id)),!1;const{id:l,...s}=e;return{...s,id:o?QT(t):l,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle}}function kS(e,t,n){const o={},a=[];for(let l=0;lr.id===l.parentNode);l.parentNode&&!s&&n(new jn(Vn.NODE_MISSING_PARENT,l.id,l.parentNode)),(l.parentNode||o[l.id])&&(o[l.id]&&(l.isParent=!0),s&&(s.isParent=!0))}return a}function xS(e,t,n,o,a,l){let s=a;const r=o.get(s)||new Map;o.set(s,r.set(n,t)),s=`${a}-${e}`;const u=o.get(s)||new Map;if(o.set(s,u.set(n,t)),l){s=`${a}-${e}-${l}`;const c=o.get(s)||new Map;o.set(s,c.set(n,t))}}function jv(e,t,n){e.clear();for(const o of n){const{source:a,target:l,sourceHandle:s=null,targetHandle:r=null}=o,u={edgeId:o.id,source:a,target:l,sourceHandle:s,targetHandle:r},c=`${a}-${s}--${l}-${r}`,d=`${l}-${r}--${a}-${s}`;xS("source",u,d,e,a,s),xS("target",u,c,e,l,r)}}function ES(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Yv(e,t,n,o,a,l,s,r){const u=[];for(const c of e){const d=ps(c)?c:use(c,r,a,l);if(!d)continue;const f=n(d.source),v=n(d.target);if(!f||!v){a(new jn(Vn.EDGE_SOURCE_TARGET_MISSING,d.id,d.source,d.target));continue}if(!f){a(new jn(Vn.EDGE_SOURCE_MISSING,d.id,d.source));continue}if(!v){a(new jn(Vn.EDGE_TARGET_MISSING,d.id,d.target));continue}if(t&&!t(d,{edges:r,nodes:s,sourceNode:f,targetNode:v})){a(new jn(Vn.EDGE_INVALID,d.id));continue}const h=o(d.id);u.push({...ZT(d,h,l),sourceNode:f,targetNode:v})}return u}const $S=Symbol("vueFlow"),cN=Symbol("nodeId"),dN=Symbol("nodeRef"),dse=Symbol("edgeId"),fse=Symbol("edgeRef"),Dp=Symbol("slots");function fN(e){const{vueFlowRef:t,snapToGrid:n,snapGrid:o,noDragClassName:a,nodeLookup:l,nodeExtent:s,nodeDragThreshold:r,viewport:u,autoPanOnNodeDrag:c,autoPanSpeed:d,nodesDraggable:f,panBy:v,findNode:h,multiSelectionActive:g,nodesSelectionActive:p,selectNodesOnDrag:m,removeSelectedElements:y,addSelectedNodes:b,updateNodePositions:w,emits:S}=_n(),{onStart:k,onDrag:x,onStop:N,onClick:$,el:T,disabled:I,id:P,selectable:_,dragHandle:H}=e,L=Ct(!1);let z=[],O,R=null,D={x:void 0,y:void 0},K={x:0,y:0},V=null,Y=!1,G=!1,q=0,X=!1;const Z=hse(),J=({x:W,y:te})=>{D={x:W,y:te};let j=!1;if(z=z.map(U=>{const Q={x:W-U.distance.x,y:te-U.distance.y},{computedPosition:le}=Yy(U,n.value?Ap(Q,o.value):Q,S.error,s.value,U.parentNode?h(U.parentNode):void 0);return j=j||U.position.x!==le.x||U.position.y!==le.y,U.position=le,U}),G=G||j,!!j&&(w(z,!0,!0),L.value=!0,V)){const[U,Q]=Kv({id:P,dragItems:z,findNode:h});x({event:V,node:U,nodes:Q})}},ae=()=>{if(!R)return;const[W,te]=lN(K,R,d.value);if(W!==0||te!==0){const j={x:(D.x??0)-W/u.value.zoom,y:(D.y??0)-te/u.value.zoom};v({x:W,y:te})&&J(j)}q=requestAnimationFrame(ae)},ve=(W,te)=>{Y=!0;const j=h(P);!m.value&&!g.value&&j&&(j.selected||y()),j&&Nt(_)&&m.value&&Em(j,g.value,b,y,p,!1,te);const U=Z(W.sourceEvent);if(D=U,z=qle(l.value,f.value,U,P),z.length){const[Q,le]=Kv({id:P,dragItems:z,findNode:h});k({event:W.sourceEvent,node:Q,nodes:le})}},me=(W,te)=>{var j;W.sourceEvent.type==="touchmove"&&W.sourceEvent.touches.length>1||(G=!1,r.value===0&&ve(W,te),D=Z(W.sourceEvent),R=((j=t.value)==null?void 0:j.getBoundingClientRect())||null,K=Da(W.sourceEvent,R))},oe=(W,te)=>{const j=Z(W.sourceEvent);if(!X&&Y&&c.value&&(X=!0,ae()),!Y){const U=j.xSnapped-(D.x??0),Q=j.ySnapped-(D.y??0);Math.sqrt(U*U+Q*Q)>r.value&&ve(W,te)}(D.x!==j.xSnapped||D.y!==j.ySnapped)&&z.length&&Y&&(V=W.sourceEvent,K=Da(W.sourceEvent,R),J(j))},re=W=>{let te=!1;if(!Y&&!L.value&&!g.value){const j=W.sourceEvent,U=Z(j),Q=U.xSnapped-(D.x??0),le=U.ySnapped-(D.y??0),ce=Math.sqrt(Q*Q+le*le);ce!==0&&ce<=r.value&&($?.(j),te=!0)}if(z.length&&!te){G&&(w(z,!1,!1),G=!1);const[j,U]=Kv({id:P,dragItems:z,findNode:h});N({event:W.sourceEvent,node:j,nodes:U})}z=[],L.value=!1,X=!1,Y=!1,D={x:void 0,y:void 0},cancelAnimationFrame(q)};return pe([()=>Nt(I),T],([W,te],j,U)=>{if(te){const Q=da(te);W||(O=Boe().on("start",le=>me(le,te)).on("drag",le=>oe(le,te)).on("end",le=>re(le)).filter(le=>{const ce=le.target,Ce=Nt(H);return!le.button&&(!a.value||!yS(ce,`.${a.value}`,te)&&(!Ce||yS(ce,Ce,te)))}),Q.call(O)),U(()=>{Q.on(".drag",null),O&&(O.on("start",null),O.on("drag",null),O.on("end",null))})}}),L}function pse(){return{doubleClick:yt(),click:yt(),mouseEnter:yt(),mouseMove:yt(),mouseLeave:yt(),contextMenu:yt(),updateStart:yt(),update:yt(),updateEnd:yt()}}function vse(e,t){const n=pse();return n.doubleClick.on(o=>{var a,l;t.edgeDoubleClick(o),(l=(a=e.events)==null?void 0:a.doubleClick)==null||l.call(a,o)}),n.click.on(o=>{var a,l;t.edgeClick(o),(l=(a=e.events)==null?void 0:a.click)==null||l.call(a,o)}),n.mouseEnter.on(o=>{var a,l;t.edgeMouseEnter(o),(l=(a=e.events)==null?void 0:a.mouseEnter)==null||l.call(a,o)}),n.mouseMove.on(o=>{var a,l;t.edgeMouseMove(o),(l=(a=e.events)==null?void 0:a.mouseMove)==null||l.call(a,o)}),n.mouseLeave.on(o=>{var a,l;t.edgeMouseLeave(o),(l=(a=e.events)==null?void 0:a.mouseLeave)==null||l.call(a,o)}),n.contextMenu.on(o=>{var a,l;t.edgeContextMenu(o),(l=(a=e.events)==null?void 0:a.contextMenu)==null||l.call(a,o)}),n.updateStart.on(o=>{var a,l;t.edgeUpdateStart(o),(l=(a=e.events)==null?void 0:a.updateStart)==null||l.call(a,o)}),n.update.on(o=>{var a,l;t.edgeUpdate(o),(l=(a=e.events)==null?void 0:a.update)==null||l.call(a,o)}),n.updateEnd.on(o=>{var a,l;t.edgeUpdateEnd(o),(l=(a=e.events)==null?void 0:a.updateEnd)==null||l.call(a,o)}),Object.entries(n).reduce((o,[a,l])=>(o.emit[a]=l.trigger,o.on[a]=l.on,o),{emit:{},on:{}})}function hse(){const{viewport:e,snapGrid:t,snapToGrid:n,vueFlowRef:o}=_n();return a=>{var l;const s=((l=o.value)==null?void 0:l.getBoundingClientRect())??{left:0,top:0},r=ese(a)?a.sourceEvent:a,{x:u,y:c}=Da(r,s),d=Wu({x:u,y:c},e.value),{x:f,y:v}=n.value?Ap(d,t.value):d;return{xSnapped:f,ySnapped:v,...d}}}function nd(){return!0}function pN({handleId:e,nodeId:t,type:n,isValidConnection:o,edgeUpdaterType:a,onEdgeUpdate:l,onEdgeUpdateEnd:s}){const{id:r,vueFlowRef:u,connectionMode:c,connectionRadius:d,connectOnClick:f,connectionClickStartHandle:v,nodesConnectable:h,autoPanOnConnect:g,autoPanSpeed:p,findNode:m,panBy:y,startConnection:b,updateConnection:w,endConnection:S,emits:k,viewport:x,edges:N,nodes:$,isValidConnection:T,nodeLookup:I}=_n();let P=null,_=!1,H=null;function L(O){var R;const D=Nt(n)==="target",K=Uy(O),V=uS(O.target),Y=O.currentTarget;if(Y&&(K&&O.button===0||!K)){let G=function(be){j=Da(be,re),J=lse(Wu(j,x.value,!1,[1,1]),d.value,I.value,le),U||(Q(),U=!0);const ge=SS(be,{handle:J,connectionMode:c.value,fromNodeId:Nt(t),fromHandleId:Nt(e),fromType:D?"target":"source",isValidConnection:Z,doc:V,lib:"vue",flowId:r,nodeLookup:I.value},N.value,$.value,m,I.value);H=ge.handleDomNode,P=ge.connection,_=rse(!!J,ge.isValid);const $e={...he,isValid:_,to:ge.toHandle&&_?Ku({x:ge.toHandle.x,y:ge.toHandle.y},x.value):j,toHandle:ge.toHandle,toPosition:_&&ge.toHandle?ge.toHandle.position:xm[le.position],toNode:ge.toHandle?I.value.get(ge.toHandle.nodeId):null};if(_&&J&&he?.toHandle&&$e.toHandle&&he.toHandle.type===$e.toHandle.type&&he.toHandle.nodeId===$e.toHandle.nodeId&&he.toHandle.id===$e.toHandle.id&&he.to.x===$e.to.x&&he.to.y===$e.to.y)return;const Me=J??ge.toHandle;if(w(Me&&_?Ku({x:Me.x,y:Me.y},x.value):j,Me,sse(!!Me,_)),he=$e,!J&&!_&&!H)return Wv(te);P&&P.source!==P.target&&H&&(Wv(te),te=H,H.classList.add("connecting","vue-flow__handle-connecting"),H.classList.toggle("valid",!!_),H.classList.toggle("vue-flow__handle-valid",!!_))},q=function(be){"touches"in be&&be.touches.length>0||((J||H)&&P&&_&&(l?l(be,P):k.connect(P)),k.connectEnd(be),a&&s?.(be),Wv(te),cancelAnimationFrame(ae),S(be),U=!1,_=!1,P=null,H=null,V.removeEventListener("mousemove",G),V.removeEventListener("mouseup",q),V.removeEventListener("touchmove",G),V.removeEventListener("touchend",q))};const X=m(Nt(t));let Z=Nt(o)||T.value||nd;!Z&&X&&(Z=(D?X.isValidSourcePos:X.isValidTargetPos)||nd);let J,ae=0;const{x:ve,y:me}=Da(O),oe=rN(Nt(a),Y),re=(R=u.value)==null?void 0:R.getBoundingClientRect();if(!re||!oe)return;const W=iN(Nt(t),oe,Nt(e),I.value,c.value);if(!W)return;let te,j=Da(O,re),U=!1;const Q=()=>{if(!g.value)return;const[be,ge]=lN(j,re,p.value);y({x:be,y:ge}),ae=requestAnimationFrame(Q)},le={...W,nodeId:Nt(t),type:oe,position:W.position},ce=I.value.get(Nt(t)),we={inProgress:!0,isValid:null,from:vi(ce,le,$t.Left,!0),fromHandle:le,fromPosition:le.position,fromNode:ce,to:j,toHandle:null,toPosition:xm[le.position],toNode:null};b({nodeId:Nt(t),id:Nt(e),type:oe,position:Y?.getAttribute("data-handlepos")||$t.Top,...j},{x:ve-re.left,y:me-re.top}),k.connectStart({event:O,nodeId:Nt(t),handleId:Nt(e),handleType:oe});let he=we;V.addEventListener("mousemove",G),V.addEventListener("mouseup",q),V.addEventListener("touchmove",G),V.addEventListener("touchend",q)}}function z(O){var R,D;if(!f.value)return;const K=Nt(n)==="target";if(!v.value){k.clickConnectStart({event:O,nodeId:Nt(t),handleId:Nt(e)}),b({nodeId:Nt(t),type:Nt(n),id:Nt(e),position:$t.Top,...Da(O)},void 0,!0);return}let V=Nt(o)||T.value||nd;const Y=m(Nt(t));if(!V&&Y&&(V=(K?Y.isValidSourcePos:Y.isValidTargetPos)||nd),Y&&(typeof Y.connectable>"u"?h.value:Y.connectable)===!1)return;const G=uS(O.target),q=SS(O,{handle:{nodeId:Nt(t),id:Nt(e),type:Nt(n),position:$t.Top,...Da(O)},connectionMode:c.value,fromNodeId:v.value.nodeId,fromHandleId:v.value.id??null,fromType:v.value.type,isValidConnection:V,doc:G,lib:"vue",flowId:r,nodeLookup:I.value},N.value,$.value,m,I.value),X=((R=q.connection)==null?void 0:R.source)===((D=q.connection)==null?void 0:D.target);q.isValid&&q.connection&&!X&&k.connect(q.connection),k.clickConnectEnd(O),S(O,!0)}return{handlePointerDown:L,handleClick:z}}function mse(){return Be(cN,"")}function vN(e){const t=e??mse()??"",n=Be(dN,B(null)),{findNode:o,edges:a,emits:l}=_n(),s=o(t);return s||l.error(new jn(Vn.NODE_NOT_FOUND,t)),{id:t,nodeEl:n,node:s,parentNode:C(()=>o(s.parentNode)),connectedEdges:C(()=>oN([s],a.value))}}function gse(){return{doubleClick:yt(),click:yt(),mouseEnter:yt(),mouseMove:yt(),mouseLeave:yt(),contextMenu:yt(),dragStart:yt(),drag:yt(),dragStop:yt()}}function yse(e,t){const n=gse();return n.doubleClick.on(o=>{var a,l;t.nodeDoubleClick(o),(l=(a=e.events)==null?void 0:a.doubleClick)==null||l.call(a,o)}),n.click.on(o=>{var a,l;t.nodeClick(o),(l=(a=e.events)==null?void 0:a.click)==null||l.call(a,o)}),n.mouseEnter.on(o=>{var a,l;t.nodeMouseEnter(o),(l=(a=e.events)==null?void 0:a.mouseEnter)==null||l.call(a,o)}),n.mouseMove.on(o=>{var a,l;t.nodeMouseMove(o),(l=(a=e.events)==null?void 0:a.mouseMove)==null||l.call(a,o)}),n.mouseLeave.on(o=>{var a,l;t.nodeMouseLeave(o),(l=(a=e.events)==null?void 0:a.mouseLeave)==null||l.call(a,o)}),n.contextMenu.on(o=>{var a,l;t.nodeContextMenu(o),(l=(a=e.events)==null?void 0:a.contextMenu)==null||l.call(a,o)}),n.dragStart.on(o=>{var a,l;t.nodeDragStart(o),(l=(a=e.events)==null?void 0:a.dragStart)==null||l.call(a,o)}),n.drag.on(o=>{var a,l;t.nodeDrag(o),(l=(a=e.events)==null?void 0:a.drag)==null||l.call(a,o)}),n.dragStop.on(o=>{var a,l;t.nodeDragStop(o),(l=(a=e.events)==null?void 0:a.dragStop)==null||l.call(a,o)}),Object.entries(n).reduce((o,[a,l])=>(o.emit[a]=l.trigger,o.on[a]=l.on,o),{emit:{},on:{}})}function hN(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:n,findNode:o,snapGrid:a,snapToGrid:l,nodesDraggable:s,emits:r}=_n();return(u,c=!1)=>{const d=l.value?a.value[0]:5,f=l.value?a.value[1]:5,v=c?4:1,h=u.x*d*v,g=u.y*f*v,p=[];for(const m of e.value)if(m.draggable||s&&typeof m.draggable>"u"){const y={x:m.computedPosition.x+h,y:m.computedPosition.y+g},{position:b}=Yy(m,y,r.error,t.value,m.parentNode?o(m.parentNode):void 0);p.push({id:m.id,position:b,from:m.position,distance:{x:u.x,y:u.y},dimensions:m.dimensions})}n(p,!0,!1)}}const od=.1,bse=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function Vl(){return Cc("Viewport not initialized yet."),Promise.resolve(!1)}const wse={zoomIn:Vl,zoomOut:Vl,zoomTo:Vl,fitView:Vl,setCenter:Vl,fitBounds:Vl,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Vl,setTransform:Vl,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function Sse(e){function t(o,a){return new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(a?.interpolate==="linear"?su:Pd).scaleBy(Uv(e.d3Selection,a?.duration,a?.ease,()=>{l(!0)}),o):l(!1)})}function n(o,a,l,s){return new Promise(r=>{var u;const{x:c,y:d}=XT({x:-o,y:-a},e.translateExtent),f=pi.translate(-c,-d).scale(l);e.d3Selection&&e.d3Zoom?(u=e.d3Zoom)==null||u.interpolate(s?.interpolate==="linear"?su:Pd).transform(Uv(e.d3Selection,s?.duration,s?.ease,()=>{r(!0)}),f):r(!1)})}return C(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:a=>t(1.2,a),zoomOut:a=>t(1/1.2,a),zoomTo:(a,l)=>new Promise(s=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(l?.interpolate==="linear"?su:Pd).scaleTo(Uv(e.d3Selection,l?.duration,l?.ease,()=>{s(!0)}),a):s(!1)}),setViewport:(a,l)=>n(a.x,a.y,a.zoom,l),setTransform:(a,l)=>n(a.x,a.y,a.zoom,l),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(a={padding:od,includeHiddenNodes:!1,duration:0})=>{var l,s;const r=[];for(const v of e.nodes)v.dimensions.width&&v.dimensions.height&&(a?.includeHiddenNodes||!v.hidden)&&(!((l=a.nodes)!=null&&l.length)||(s=a.nodes)!=null&&s.length&&a.nodes.includes(v.id))&&r.push(v);if(!r.length)return Promise.resolve(!1);const u=tN(r),{x:c,y:d,zoom:f}=cS(u,e.dimensions.width,e.dimensions.height,a.minZoom??e.minZoom,a.maxZoom??e.maxZoom,a.padding??od);return n(c,d,f,a)},setCenter:(a,l,s)=>{const r=typeof s?.zoom<"u"?s.zoom:e.maxZoom,u=e.dimensions.width/2-a*r,c=e.dimensions.height/2-l*r;return n(u,c,r,s)},fitBounds:(a,l={padding:od})=>{const{x:s,y:r,zoom:u}=cS(a,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,l.padding??od);return n(s,r,u,l)},project:a=>Wu(a,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:a=>{if(e.vueFlowRef){const{x:l,y:s}=e.vueFlowRef.getBoundingClientRect(),r={x:a.x-l,y:a.y-s};return Wu(r,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:a=>{if(e.vueFlowRef){const{x:l,y:s}=e.vueFlowRef.getBoundingClientRect(),r={x:a.x+l,y:a.y+s};return Ku(r,e.viewport)}return{x:0,y:0}}}:wse)}function Uv(e,t=0,n=bse,o=()=>{}){const a=typeof t=="number"&&t>0;return a||o(),a?e.transition().duration(t).ease(n).on("end",o):e}function Cse(e,t,n){const o=Ff(!0);return o.run(()=>{const a=()=>{o.run(()=>{let p,m,y=!!(n.nodes.value.length||n.edges.value.length);p=Er([e.modelValue,()=>{var b,w;return(w=(b=e.modelValue)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(m?.pause(),n.setElements(b),!m&&!y&&b.length?y=!0:m?.resume())}),m=Er([n.nodes,n.edges,()=>n.edges.value.length,()=>n.nodes.value.length],([b,w])=>{var S;(S=e.modelValue)!=null&&S.value&&Array.isArray(e.modelValue.value)&&(p?.pause(),e.modelValue.value=[...b,...w],Pe(()=>{p?.resume()}))},{immediate:y}),Rr(()=>{p?.stop(),m?.stop()})})},l=()=>{o.run(()=>{let p,m,y=!!n.nodes.value.length;p=Er([e.nodes,()=>{var b,w;return(w=(b=e.nodes)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(m?.pause(),n.setNodes(b),!m&&!y&&b.length?y=!0:m?.resume())}),m=Er([n.nodes,()=>n.nodes.value.length],([b])=>{var w;(w=e.nodes)!=null&&w.value&&Array.isArray(e.nodes.value)&&(p?.pause(),e.nodes.value=[...b],Pe(()=>{p?.resume()}))},{immediate:y}),Rr(()=>{p?.stop(),m?.stop()})})},s=()=>{o.run(()=>{let p,m,y=!!n.edges.value.length;p=Er([e.edges,()=>{var b,w;return(w=(b=e.edges)==null?void 0:b.value)==null?void 0:w.length}],([b])=>{b&&Array.isArray(b)&&(m?.pause(),n.setEdges(b),!m&&!y&&b.length?y=!0:m?.resume())}),m=Er([n.edges,()=>n.edges.value.length],([b])=>{var w;(w=e.edges)!=null&&w.value&&Array.isArray(e.edges.value)&&(p?.pause(),e.edges.value=[...b],Pe(()=>{p?.resume()}))},{immediate:y}),Rr(()=>{p?.stop(),m?.stop()})})},r=()=>{o.run(()=>{pe(()=>t.maxZoom,()=>{t.maxZoom&&Dn(t.maxZoom)&&n.setMaxZoom(t.maxZoom)},{immediate:!0})})},u=()=>{o.run(()=>{pe(()=>t.minZoom,()=>{t.minZoom&&Dn(t.minZoom)&&n.setMinZoom(t.minZoom)},{immediate:!0})})},c=()=>{o.run(()=>{pe(()=>t.translateExtent,()=>{t.translateExtent&&Dn(t.translateExtent)&&n.setTranslateExtent(t.translateExtent)},{immediate:!0})})},d=()=>{o.run(()=>{pe(()=>t.nodeExtent,()=>{t.nodeExtent&&Dn(t.nodeExtent)&&n.setNodeExtent(t.nodeExtent)},{immediate:!0})})},f=()=>{o.run(()=>{pe(()=>t.applyDefault,()=>{Dn(t.applyDefault)&&(n.applyDefault.value=t.applyDefault)},{immediate:!0})})},v=()=>{o.run(()=>{const p=async m=>{let y=m;typeof t.autoConnect=="function"&&(y=await t.autoConnect(m)),y!==!1&&n.addEdges([y])};pe(()=>t.autoConnect,()=>{Dn(t.autoConnect)&&(n.autoConnect.value=t.autoConnect)},{immediate:!0}),pe(n.autoConnect,(m,y,b)=>{m?n.onConnect(p):n.hooks.value.connect.off(p),b(()=>{n.hooks.value.connect.off(p)})},{immediate:!0})})},h=()=>{const p=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const m of Object.keys(t)){const y=m;if(!p.includes(y)){const b=bt(()=>t[y]),w=n[y];gt(w)&&o.run(()=>{pe(b,S=>{Dn(S)&&(w.value=S)},{immediate:!0})})}}};a(),l(),s(),u(),r(),c(),d(),f(),v(),h()}),()=>o.stop()}function kse(){return{edgesChange:yt(),nodesChange:yt(),nodeDoubleClick:yt(),nodeClick:yt(),nodeMouseEnter:yt(),nodeMouseMove:yt(),nodeMouseLeave:yt(),nodeContextMenu:yt(),nodeDragStart:yt(),nodeDrag:yt(),nodeDragStop:yt(),nodesInitialized:yt(),miniMapNodeClick:yt(),miniMapNodeDoubleClick:yt(),miniMapNodeMouseEnter:yt(),miniMapNodeMouseMove:yt(),miniMapNodeMouseLeave:yt(),connect:yt(),connectStart:yt(),connectEnd:yt(),clickConnectStart:yt(),clickConnectEnd:yt(),paneReady:yt(),init:yt(),move:yt(),moveStart:yt(),moveEnd:yt(),selectionDragStart:yt(),selectionDrag:yt(),selectionDragStop:yt(),selectionContextMenu:yt(),selectionStart:yt(),selectionEnd:yt(),viewportChangeStart:yt(),viewportChange:yt(),viewportChangeEnd:yt(),paneScroll:yt(),paneClick:yt(),paneContextMenu:yt(),paneMouseEnter:yt(),paneMouseMove:yt(),paneMouseLeave:yt(),edgeContextMenu:yt(),edgeMouseEnter:yt(),edgeMouseMove:yt(),edgeMouseLeave:yt(),edgeDoubleClick:yt(),edgeClick:yt(),edgeUpdateStart:yt(),edgeUpdate:yt(),edgeUpdateEnd:yt(),updateNodeInternals:yt(),error:yt(e=>Cc(e.message))}}function xse(e,t){const n=ct();Zu(()=>{for(const[a,l]of Object.entries(t.value)){const s=r=>{e(a,r)};l.setEmitter(s),Bu(l.removeEmitter),l.setHasEmitListeners(()=>o(a)),Bu(l.removeHasEmitListeners)}});function o(a){var l;const s=Ese(a);return!!((l=n?.vnode.props)==null?void 0:l[s])}}function Ese(e){const[t,...n]=e.split(":");return`on${t.replace(/(?:^|-)(\w)/g,(a,l)=>l.toUpperCase())}${n.length?`:${n.join(":")}`:""}`}function mN(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:jy.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:ru.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:_s.Bezier,style:{}},connectionMode:fs.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:Pf()?"Meta":"Control",zoomActivationKeyCode:Pf()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:kse(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const $se=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function Tse(e,t,n){const o=Sse(e),a=j=>{const U=j??[];e.hooks.updateNodeInternals.trigger(U)},l=j=>zle(j,e.nodes,e.edges),s=j=>Fle(j,e.nodes,e.edges),r=j=>oN(j,e.edges),u=({id:j,type:U,nodeId:Q})=>{var le;const ce=j?`-${U}-${j}`:`-${U}`;return Array.from(((le=e.connectionLookup.get(`${Q}${ce}`))==null?void 0:le.values())??[])},c=j=>{if(j)return t.value.get(j)},d=j=>{if(j)return n.value.get(j)},f=(j,U,Q)=>{var le,ce;const Ce=[];for(const we of j){const he={id:we.id,type:"position",dragging:Q,from:we.from};if(U&&(he.position=we.position,we.parentNode)){const be=c(we.parentNode);he.position={x:he.position.x-(((le=be?.computedPosition)==null?void 0:le.x)??0),y:he.position.y-(((ce=be?.computedPosition)==null?void 0:ce.y)??0)}}Ce.push(he)}Ce?.length&&e.hooks.nodesChange.trigger(Ce)},v=j=>{if(!e.vueFlowRef)return;const U=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!U)return;const Q=window.getComputedStyle(U),{m22:le}=new window.DOMMatrixReadOnly(Q.transform),ce=[];for(const Ce of j){const we=Ce,he=c(we.id);if(he){const be=Rp(we.nodeElement);if(!!(be.width&&be.height&&(he.dimensions.width!==be.width||he.dimensions.height!==be.height||we.forceUpdate))){const $e=we.nodeElement.getBoundingClientRect();he.dimensions=be,he.handleBounds.source=CS("source",we.nodeElement,$e,le,he.id),he.handleBounds.target=CS("target",we.nodeElement,$e,le,he.id),ce.push({id:he.id,type:"dimensions",dimensions:be})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&o.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),ce.length&&e.hooks.nodesChange.trigger(ce)},h=(j,U)=>{const Q=new Set,le=new Set;for(const we of j)Us(we)?Q.add(we.id):ps(we)&&le.add(we.id);const ce=ql(t.value,Q,!0),Ce=ql(n.value,le);if(e.multiSelectionActive){for(const we of Q)ce.push(Yl(we,U));for(const we of le)Ce.push(Yl(we,U))}ce.length&&e.hooks.nodesChange.trigger(ce),Ce.length&&e.hooks.edgesChange.trigger(Ce)},g=j=>{if(e.multiSelectionActive){const U=j.map(Q=>Yl(Q.id,!0));e.hooks.nodesChange.trigger(U);return}e.hooks.nodesChange.trigger(ql(t.value,new Set(j.map(U=>U.id)),!0)),e.hooks.edgesChange.trigger(ql(n.value))},p=j=>{if(e.multiSelectionActive){const U=j.map(Q=>Yl(Q.id,!0));e.hooks.edgesChange.trigger(U);return}e.hooks.edgesChange.trigger(ql(n.value,new Set(j.map(U=>U.id)))),e.hooks.nodesChange.trigger(ql(t.value,new Set,!0))},m=j=>{h(j,!0)},y=j=>{const Q=(j||e.nodes).map(le=>(le.selected=!1,Yl(le.id,!1)));e.hooks.nodesChange.trigger(Q)},b=j=>{const Q=(j||e.edges).map(le=>(le.selected=!1,Yl(le.id,!1)));e.hooks.edgesChange.trigger(Q)},w=j=>{if(!j||!j.length)return h([],!1);const U=j.reduce((Q,le)=>{const ce=Yl(le.id,!1);return Us(le)?Q.nodes.push(ce):Q.edges.push(ce),Q},{nodes:[],edges:[]});U.nodes.length&&e.hooks.nodesChange.trigger(U.nodes),U.edges.length&&e.hooks.edgesChange.trigger(U.edges)},S=j=>{var U;(U=e.d3Zoom)==null||U.scaleExtent([j,e.maxZoom]),e.minZoom=j},k=j=>{var U;(U=e.d3Zoom)==null||U.scaleExtent([e.minZoom,j]),e.maxZoom=j},x=j=>{var U;(U=e.d3Zoom)==null||U.translateExtent(j),e.translateExtent=j},N=j=>{e.nodeExtent=j,a()},$=j=>{var U;(U=e.d3Zoom)==null||U.clickDistance(j)},T=j=>{e.nodesDraggable=j,e.nodesConnectable=j,e.elementsSelectable=j},I=j=>{const U=j instanceof Function?j(e.nodes):j;!e.initialized&&!U.length||(e.nodes=kS(U,c,e.hooks.error.trigger))},P=j=>{const U=j instanceof Function?j(e.edges):j;if(!e.initialized&&!U.length)return;const Q=Yv(U,e.isValidConnection,c,d,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);jv(e.connectionLookup,n.value,Q),e.edges=Q},_=j=>{const U=j instanceof Function?j([...e.nodes,...e.edges]):j;!e.initialized&&!U.length||(I(U.filter(Us)),P(U.filter(ps)))},H=j=>{let U=j instanceof Function?j(e.nodes):j;U=Array.isArray(U)?U:[U];const Q=kS(U,c,e.hooks.error.trigger),le=[];for(const ce of Q)le.push(vS(ce));le.length&&e.hooks.nodesChange.trigger(le)},L=j=>{let U=j instanceof Function?j(e.edges):j;U=Array.isArray(U)?U:[U];const Q=Yv(U,e.isValidConnection,c,d,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),le=[];for(const ce of Q)le.push(vS(ce));le.length&&e.hooks.edgesChange.trigger(le)},z=(j,U=!0,Q=!1)=>{const le=j instanceof Function?j(e.nodes):j,ce=Array.isArray(le)?le:[le],Ce=[],we=[];function he(ge){const $e=r(ge);for(const Me of $e)(!Dn(Me.deletable)||Me.deletable)&&we.push(mS(Me.id,Me.source,Me.target,Me.sourceHandle,Me.targetHandle))}function be(ge){const $e=[];for(const Me of e.nodes)Me.parentNode===ge&&$e.push(Me);if($e.length){for(const Me of $e)Ce.push(hS(Me.id));U&&he($e);for(const Me of $e)be(Me.id)}}for(const ge of ce){const $e=typeof ge=="string"?c(ge):ge;$e&&(Dn($e.deletable)&&!$e.deletable||(Ce.push(hS($e.id)),U&&he([$e]),Q&&be($e.id)))}we.length&&e.hooks.edgesChange.trigger(we),Ce.length&&e.hooks.nodesChange.trigger(Ce)},O=j=>{const U=j instanceof Function?j(e.edges):j,Q=Array.isArray(U)?U:[U],le=[];for(const ce of Q){const Ce=typeof ce=="string"?d(ce):ce;Ce&&(Dn(Ce.deletable)&&!Ce.deletable||le.push(mS(typeof ce=="string"?ce:ce.id,Ce.source,Ce.target,Ce.sourceHandle,Ce.targetHandle)))}e.hooks.edgesChange.trigger(le)},R=(j,U,Q=!0)=>{const le=d(j.id);if(!le)return!1;const ce=e.edges.indexOf(le),Ce=cse(j,U,le,Q,e.hooks.error.trigger);if(Ce){const[we]=Yv([Ce],e.isValidConnection,c,d,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((he,be)=>be===ce?we:he),jv(e.connectionLookup,n.value,[we]),we}return!1},D=(j,U,Q={replace:!1})=>{const le=d(j);if(!le)return;const ce=typeof U=="function"?U(le):U;le.data=Q.replace?ce:{...le.data,...ce}},K=j=>pS(j,e.nodes),V=j=>{const U=pS(j,e.edges);return jv(e.connectionLookup,n.value,U),U},Y=(j,U,Q={replace:!1})=>{const le=c(j);if(!le)return;const ce=typeof U=="function"?U(le):U;Q.replace?e.nodes.splice(e.nodes.indexOf(le),1,ce):Object.assign(le,ce)},G=(j,U,Q={replace:!1})=>{const le=c(j);if(!le)return;const ce=typeof U=="function"?U(le):U;le.data=Q.replace?ce:{...le.data,...ce}},q=(j,U,Q=!1)=>{Q?e.connectionClickStartHandle=j:e.connectionStartHandle=j,e.connectionEndHandle=null,e.connectionStatus=null,U&&(e.connectionPosition=U)},X=(j,U=null,Q=null)=>{e.connectionStartHandle&&(e.connectionPosition=j,e.connectionEndHandle=U,e.connectionStatus=Q)},Z=(j,U)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,U?e.connectionClickStartHandle=null:e.connectionStartHandle=null},J=j=>{const U=Ble(j),Q=U?null:Ui(j)?j:c(j.id);return!U&&!Q?[null,null,U]:[U?j:Mf(Q),Q,U]},ae=(j,U=!0,Q=e.nodes)=>{const[le,ce,Ce]=J(j);if(!le)return[];const we=[];for(const he of Q||e.nodes){if(!Ce&&(he.id===ce.id||!he.computedPosition))continue;const be=Mf(he),ge=Of(be,le);(U&&ge>0||ge>=be.width*be.height||ge>=Number(le.width)*Number(le.height))&&we.push(he)}return we},ve=(j,U,Q=!0)=>{const[le]=J(j);if(!le)return!1;const ce=Of(le,U);return Q&&ce>0||ce>=Number(le.width)*Number(le.height)},me=j=>{const{viewport:U,dimensions:Q,d3Zoom:le,d3Selection:ce,translateExtent:Ce}=e;if(!le||!ce||!j.x&&!j.y)return!1;const we=pi.translate(U.x+j.x,U.y+j.y).scale(U.zoom),he=[[0,0],[Q.width,Q.height]],be=le.constrain()(we,he,Ce),ge=e.viewport.x!==be.x||e.viewport.y!==be.y||e.viewport.zoom!==be.k;return le.transform(ce,be),ge},oe=j=>{const U=j instanceof Function?j(e):j,Q=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Dn(U.defaultEdgeOptions)&&(e.defaultEdgeOptions=U.defaultEdgeOptions);const le=U.modelValue||U.nodes||U.edges?[]:void 0;le&&(U.modelValue&&le.push(...U.modelValue),U.nodes&&le.push(...U.nodes),U.edges&&le.push(...U.edges),_(le));const ce=()=>{Dn(U.maxZoom)&&k(U.maxZoom),Dn(U.minZoom)&&S(U.minZoom),Dn(U.translateExtent)&&x(U.translateExtent)};for(const Ce of Object.keys(U)){const we=Ce,he=U[we];![...$se,...Q].includes(we)&&Dn(he)&&(e[we]=he)}pm(()=>e.d3Zoom).not.toBeNull().then(ce),e.initialized||(e.initialized=!0)};return{updateNodePositions:f,updateNodeDimensions:v,setElements:_,setNodes:I,setEdges:P,addNodes:H,addEdges:L,removeNodes:z,removeEdges:O,findNode:c,findEdge:d,updateEdge:R,updateEdgeData:D,updateNode:Y,updateNodeData:G,applyEdgeChanges:V,applyNodeChanges:K,addSelectedElements:m,addSelectedNodes:g,addSelectedEdges:p,setMinZoom:S,setMaxZoom:k,setTranslateExtent:x,setNodeExtent:N,setPaneClickDistance:$,removeSelectedElements:w,removeSelectedNodes:y,removeSelectedEdges:b,startConnection:q,updateConnection:X,endConnection:Z,setInteractive:T,setState:oe,getIntersectingNodes:ae,getIncomers:l,getOutgoers:s,getConnectedEdges:r,getHandleConnections:u,isNodeIntersecting:ve,panBy:me,fitView:j=>o.value.fitView(j),zoomIn:j=>o.value.zoomIn(j),zoomOut:j=>o.value.zoomOut(j),zoomTo:(j,U)=>o.value.zoomTo(j,U),setViewport:(j,U)=>o.value.setViewport(j,U),setTransform:(j,U)=>o.value.setTransform(j,U),getViewport:()=>o.value.getViewport(),getTransform:()=>o.value.getTransform(),setCenter:(j,U,Q)=>o.value.setCenter(j,U,Q),fitBounds:(j,U)=>o.value.fitBounds(j,U),project:j=>o.value.project(j),screenToFlowCoordinate:j=>o.value.screenToFlowCoordinate(j),flowToScreenCoordinate:j=>o.value.flowToScreenCoordinate(j),toObject:()=>{const j=[],U=[];for(const Q of e.nodes){const{computedPosition:le,handleBounds:ce,selected:Ce,dimensions:we,isParent:he,resizing:be,dragging:ge,events:$e,...Me}=Q;j.push(Me)}for(const Q of e.edges){const{selected:le,sourceNode:ce,targetNode:Ce,events:we,...he}=Q;U.push(he)}return JSON.parse(JSON.stringify({nodes:j,edges:U,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:j=>new Promise(U=>{const{nodes:Q,edges:le,position:ce,zoom:Ce,viewport:we}=j;Q&&I(Q),le&&P(le);const[he,be]=we?.x&&we?.y?[we.x,we.y]:ce??[null,null];if(he&&be){const ge=we?.zoom||Ce||e.viewport.zoom;return pm(()=>o.value.viewportInitialized).toBe(!0).then(()=>{o.value.setViewport({x:he,y:be,zoom:ge}).then(()=>{U(!0)})})}else U(!0)}),updateNodeInternals:a,viewportHelper:o,$reset:()=>{const j=mN();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const U=pi.translate(j.defaultViewport.x??0,j.defaultViewport.y??0).scale(rr(j.defaultViewport.zoom??1,j.minZoom,j.maxZoom)),Q=e.viewportRef.getBoundingClientRect(),le=[[0,0],[Q.width,Q.height]],ce=e.d3Zoom.constrain()(U,le,j.translateExtent);e.d3Zoom.transform(e.d3Selection,ce)}oe(j)},$destroy:()=>{}}}const Nse=["data-id","data-handleid","data-nodeid","data-handlepos"],_se={name:"Handle",compatConfig:{MODE:3}},hi=fe({..._se,props:{id:{default:null},type:{},position:{default:()=>$t.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:t}){const n=O_(e,["position","connectable","connectableStart","connectableEnd","id"]),o=bt(()=>n.type??"source"),a=bt(()=>n.isValidConnection??null),{id:l,connectionStartHandle:s,connectionClickStartHandle:r,connectionEndHandle:u,vueFlowRef:c,nodesConnectable:d,noDragClassName:f,noPanClassName:v}=_n(),{id:h,node:g,nodeEl:p,connectedEdges:m}=vN(),y=B(),b=bt(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),w=bt(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),S=bt(()=>{var P,_,H,L,z,O;return((P=s.value)==null?void 0:P.nodeId)===h&&((_=s.value)==null?void 0:_.id)===e.id&&((H=s.value)==null?void 0:H.type)===o.value||((L=u.value)==null?void 0:L.nodeId)===h&&((z=u.value)==null?void 0:z.id)===e.id&&((O=u.value)==null?void 0:O.type)===o.value}),k=bt(()=>{var P,_,H;return((P=r.value)==null?void 0:P.nodeId)===h&&((_=r.value)==null?void 0:_.id)===e.id&&((H=r.value)==null?void 0:H.type)===o.value}),{handlePointerDown:x,handleClick:N}=pN({nodeId:h,handleId:e.id,isValidConnection:a,type:o}),$=C(()=>typeof e.connectable=="string"&&e.connectable==="single"?!m.value.some(P=>{const _=P[`${o.value}Handle`];return P[o.value]!==h?!1:_?_===e.id:!0}):typeof e.connectable=="number"?m.value.filter(P=>{const _=P[`${o.value}Handle`];return P[o.value]!==h?!1:_?_===e.id:!0}).length{var P;if(!g.dimensions.width||!g.dimensions.height)return;const _=(P=g.handleBounds[o.value])==null?void 0:P.find(K=>K.id===e.id);if(!c.value||_)return;const H=c.value.querySelector(".vue-flow__transformationpane");if(!p.value||!y.value||!H||!e.id)return;const L=p.value.getBoundingClientRect(),z=y.value.getBoundingClientRect(),O=window.getComputedStyle(H),{m22:R}=new window.DOMMatrixReadOnly(O.transform),D={id:e.id,position:e.position,x:(z.left-L.left)/R,y:(z.top-L.top)/R,type:o.value,nodeId:h,...Rp(y.value)};g.handleBounds[o.value]=[...g.handleBounds[o.value]??[],D]});function T(P){const _=Uy(P);$.value&&b.value&&(_&&P.button===0||!_)&&x(P)}function I(P){!h||!r.value&&!b.value||$.value&&N(P)}return t({handleClick:N,handlePointerDown:x,onClick:I,onPointerDown:T}),(P,_)=>(E(),F("div",{ref_key:"handle",ref:y,"data-id":`${i(l)}-${i(h)}-${e.id}-${o.value}`,"data-handleid":e.id,"data-nodeid":i(h),"data-handlepos":P.position,class:A(["vue-flow__handle",[`vue-flow__handle-${P.position}`,`vue-flow__handle-${e.id}`,i(f),i(v),o.value,{connectable:$.value,connecting:k.value,connectablestart:b.value,connectableend:w.value,connectionindicator:$.value&&(b.value&&!S.value||w.value&&S.value)}]]),onMousedown:T,onTouchstartPassive:T,onClick:I},[ue(P.$slots,"default",{id:P.id})],42,Nse))}}),Lp=function({sourcePosition:e=$t.Bottom,targetPosition:t=$t.Top,label:n,connectable:o=!0,isValidTargetPos:a,isValidSourcePos:l,data:s}){const r=s.label??n;return[De(hi,{type:"target",position:t,connectable:o,isValidConnection:a}),typeof r!="string"&&r?De(r):De(Oe,[r]),De(hi,{type:"source",position:e,connectable:o,isValidConnection:l})]};Lp.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"];Lp.inheritAttrs=!1;Lp.compatConfig={MODE:3};const Ise=Lp,Bp=function({targetPosition:e=$t.Top,label:t,connectable:n=!0,isValidTargetPos:o,data:a}){const l=a.label??t;return[De(hi,{type:"target",position:e,connectable:n,isValidConnection:o}),typeof l!="string"&&l?De(l):De(Oe,[l])]};Bp.props=["targetPosition","label","isValidTargetPos","connectable","data"];Bp.inheritAttrs=!1;Bp.compatConfig={MODE:3};const Mse=Bp,Vp=function({sourcePosition:e=$t.Bottom,label:t,connectable:n=!0,isValidSourcePos:o,data:a}){const l=a.label??t;return[typeof l!="string"&&l?De(l):De(Oe,[l]),De(hi,{type:"source",position:e,connectable:n,isValidConnection:o})]};Vp.props=["sourcePosition","label","isValidSourcePos","connectable","data"];Vp.inheritAttrs=!1;Vp.compatConfig={MODE:3};const Ose=Vp,Pse=["transform"],Rse=["width","height","x","y","rx","ry"],Ase=["y"],Dse={name:"EdgeText",compatConfig:{MODE:3}},Lse=fe({...Dse,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=B({x:0,y:0,width:0,height:0}),n=B(null),o=C(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);st(a),pe([()=>e.x,()=>e.y,n,()=>e.label],a);function a(){if(!n.value)return;const l=n.value.getBBox();(l.width!==t.value.width||l.height!==t.value.height)&&(t.value=l)}return(l,s)=>(E(),F("g",{transform:o.value,class:"vue-flow__edge-textwrapper"},[l.labelShowBg?(E(),F("rect",{key:0,class:"vue-flow__edge-textbg",width:`${t.value.width+2*l.labelBgPadding[0]}px`,height:`${t.value.height+2*l.labelBgPadding[1]}px`,x:-l.labelBgPadding[0],y:-l.labelBgPadding[1],style:Fe(l.labelBgStyle),rx:l.labelBgBorderRadius,ry:l.labelBgBorderRadius},null,12,Rse)):se("",!0),M("text",ft(l.$attrs,{ref_key:"el",ref:n,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:l.labelStyle}),[ue(l.$slots,"default",{},()=>[typeof l.label!="string"?(E(),de(dt(l.label),{key:0})):(E(),F(Oe,{key:1},[ze(ye(l.label),1)],64))])],16,Ase)],8,Pse))}}),Bse=["id","d","marker-end","marker-start"],Vse=["d","stroke-width"],Fse={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Fp=fe({...Fse,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const n=B(null),o=B(null),a=B(null),l=Za();return t({pathEl:n,interactionEl:o,labelEl:a}),(s,r)=>(E(),F(Oe,null,[M("path",ft(i(l),{id:s.id,ref_key:"pathEl",ref:n,d:s.path,class:"vue-flow__edge-path","marker-end":s.markerEnd,"marker-start":s.markerStart}),null,16,Bse),s.interactionWidth?(E(),F("path",{key:0,ref_key:"interactionEl",ref:o,fill:"none",d:s.path,"stroke-width":s.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,Vse)):se("",!0),s.label&&s.labelX&&s.labelY?(E(),de(Lse,{key:1,ref_key:"labelEl",ref:a,x:s.labelX,y:s.labelY,label:s.label,"label-show-bg":s.labelShowBg,"label-bg-style":s.labelBgStyle,"label-bg-padding":s.labelBgPadding,"label-bg-border-radius":s.labelBgBorderRadius,"label-style":s.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):se("",!0)],64))}});function gN({sourceX:e,sourceY:t,targetX:n,targetY:o}){const a=Math.abs(n-e)/2,l=n=0?.5*e:t*25*Math.sqrt(-e)}function TS({pos:e,x1:t,y1:n,x2:o,y2:a,c:l}){let s,r;switch(e){case $t.Left:s=t-ad(t-o,l),r=n;break;case $t.Right:s=t+ad(o-t,l),r=n;break;case $t.Top:s=t,r=n-ad(n-a,l);break;case $t.Bottom:s=t,r=n+ad(a-n,l);break}return[s,r]}function bN(e){const{sourceX:t,sourceY:n,sourcePosition:o=$t.Bottom,targetX:a,targetY:l,targetPosition:s=$t.Top,curvature:r=.25}=e,[u,c]=TS({pos:o,x1:t,y1:n,x2:a,y2:l,c:r}),[d,f]=TS({pos:s,x1:a,y1:l,x2:t,y2:n,c:r}),[v,h,g,p]=yN({sourceX:t,sourceY:n,targetX:a,targetY:l,sourceControlX:u,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${t},${n} C${u},${c} ${d},${f} ${a},${l}`,v,h,g,p]}function NS({pos:e,x1:t,y1:n,x2:o,y2:a}){let l,s;switch(e){case $t.Left:case $t.Right:l=.5*(t+o),s=n;break;case $t.Top:case $t.Bottom:l=t,s=.5*(n+a);break}return[l,s]}function wN(e){const{sourceX:t,sourceY:n,sourcePosition:o=$t.Bottom,targetX:a,targetY:l,targetPosition:s=$t.Top}=e,[r,u]=NS({pos:o,x1:t,y1:n,x2:a,y2:l}),[c,d]=NS({pos:s,x1:a,y1:l,x2:t,y2:n}),[f,v,h,g]=yN({sourceX:t,sourceY:n,targetX:a,targetY:l,sourceControlX:r,sourceControlY:u,targetControlX:c,targetControlY:d});return[`M${t},${n} C${r},${u} ${c},${d} ${a},${l}`,f,v,h,g]}const _S={[$t.Left]:{x:-1,y:0},[$t.Right]:{x:1,y:0},[$t.Top]:{x:0,y:-1},[$t.Bottom]:{x:0,y:1}};function zse({source:e,sourcePosition:t=$t.Bottom,target:n}){return t===$t.Left||t===$t.Right?e.xe[f]?-1:1)*L:y[f]=(c[f]>n[f]?-1:1)*L}}if(t!==o){const H=f==="x"?"y":"x",L=s[f]===r[H],z=u[H]>c[H],O=u[H]=_?(g=(T.x+I.x)/2,p=h[0].y):(g=h[0].x,p=(T.y+I.y)/2)}return[[e,{x:u.x+m.x,y:u.y+m.y},...h,{x:c.x+y.x,y:c.y+y.y},n],g,p,S,k]}function Kse(e,t,n,o){const a=Math.min(IS(e,t)/2,IS(t,n)/2,o),{x:l,y:s}=t;if(e.x===l&&l===n.x||e.y===s&&s===n.y)return`L${l} ${s}`;if(e.y===s){const c=e.x{let S;return w>0&&w{const[n,o,a]=Wse(e);return De(Fp,{path:n,labelX:o,labelY:a,...t,...e})}}}),Yse=jse,Use=fe({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,a]=$m({...e,sourcePosition:e.sourcePosition??$t.Bottom,targetPosition:e.targetPosition??$t.Top});return De(Fp,{path:n,labelX:o,labelY:a,...t,...e})}}}),SN=Use,qse=fe({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>De(SN,{...e,...t,borderRadius:0})}}),Gse=qse,Xse=fe({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,a]=bN({...e,sourcePosition:e.sourcePosition??$t.Bottom,targetPosition:e.targetPosition??$t.Top});return De(Fp,{path:n,labelX:o,labelY:a,...t,...e})}}}),Zse=Xse,Jse=fe({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,a]=wN({...e,sourcePosition:e.sourcePosition??$t.Bottom,targetPosition:e.targetPosition??$t.Top});return De(Fp,{path:n,labelX:o,labelY:a,...t,...e})}}}),Qse=Jse,ere={input:Ose,default:Ise,output:Mse},tre={default:Zse,straight:Yse,step:Gse,smoothstep:SN,simplebezier:Qse};function nre(e,t,n){const o=C(()=>p=>t.value.get(p)),a=C(()=>p=>n.value.get(p)),l=C(()=>{const p={...tre,...e.edgeTypes},m=Object.keys(p);for(const y of e.edges)y.type&&!m.includes(y.type)&&(p[y.type]=y.type);return p}),s=C(()=>{const p={...ere,...e.nodeTypes},m=Object.keys(p);for(const y of e.nodes)y.type&&!m.includes(y.type)&&(p[y.type]=y.type);return p}),r=C(()=>e.onlyRenderVisibleElements?nN(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),u=C(()=>{if(e.onlyRenderVisibleElements){const p=[];for(const m of e.edges){const y=t.value.get(m.source),b=t.value.get(m.target);Jle({sourcePos:y.computedPosition||{x:0,y:0},targetPos:b.computedPosition||{x:0,y:0},sourceWidth:y.dimensions.width,sourceHeight:y.dimensions.height,targetWidth:b.dimensions.width,targetHeight:b.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&p.push(m)}return p}return e.edges}),c=C(()=>[...r.value,...u.value]),d=C(()=>{const p=[];for(const m of e.nodes)m.selected&&p.push(m);return p}),f=C(()=>{const p=[];for(const m of e.edges)m.selected&&p.push(m);return p}),v=C(()=>[...d.value,...f.value]),h=C(()=>{const p=[];for(const m of e.nodes)m.dimensions.width&&m.dimensions.height&&m.handleBounds!==void 0&&p.push(m);return p}),g=C(()=>r.value.length>0&&h.value.length===r.value.length);return{getNode:o,getEdge:a,getElements:c,getEdgeTypes:l,getNodeTypes:s,getEdges:u,getNodes:r,getSelectedElements:v,getSelectedNodes:d,getSelectedEdges:f,getNodesInitialized:h,areNodesInitialized:g}}class Is{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var t;const n=(t=ct())==null?void 0:t.appContext.app,o=n?.config.globalProperties.$vueFlowStorage??Is.instance;return Is.instance=o??new Is,n&&(n.config.globalProperties.$vueFlowStorage=Is.instance),Is.instance}set(t,n){return this.flows.set(t,n)}get(t){return this.flows.get(t)}remove(t){return this.flows.delete(t)}create(t,n){const o=mN(),a=zt(o),l={};for(const[v,h]of Object.entries(a.hooks)){const g=`on${v.charAt(0).toUpperCase()+v.slice(1)}`;l[g]=h.on}const s={};for(const[v,h]of Object.entries(a.hooks))s[v]=h.trigger;const r=C(()=>{const v=new Map;for(const h of a.nodes)v.set(h.id,h);return v}),u=C(()=>{const v=new Map;for(const h of a.edges)v.set(h.id,h);return v}),c=nre(a,r,u),d=Tse(a,r,u);d.setState({...a,...n});const f={...l,...c,...d,...Ute(a),nodeLookup:r,edgeLookup:u,emits:s,id:t,vueFlowVersion:"1.48.2",$destroy:()=>{this.remove(t)}};return this.set(t,f),f}getId(){return`vue-flow-${this.currentId++}`}}function _n(e){const t=Is.getInstance(),n=qu(),o=typeof e=="object",a=o?e:{id:e},l=a.id,s=l??n?.vueFlowId;let r;if(n){const u=Be($S,null);typeof u<"u"&&u!==null&&(!s||u.id===s)&&(r=u)}if(r||s&&(r=t.get(s)),!r||s&&r.id!==s){const u=l??t.getId(),c=t.create(u,a);r=c,(n??Ff(!0)).run(()=>{pe(c.applyDefault,(f,v,h)=>{const g=m=>{c.applyNodeChanges(m)},p=m=>{c.applyEdgeChanges(m)};f?(c.onNodesChange(g),c.onEdgesChange(p)):(c.hooks.value.nodesChange.off(g),c.hooks.value.edgesChange.off(p)),h(()=>{c.hooks.value.nodesChange.off(g),c.hooks.value.edgesChange.off(p)})},{immediate:!0}),Bu(()=>{if(r){const f=t.get(r.id);f?f.$destroy():Cc(`No store instance found for id ${r.id} in storage.`)}})})}else o&&r.setState(a);if(n&&(kt($S,r),n.vueFlowId=r.id),o){const u=ct();u?.type.name!=="VueFlow"&&r.emits.error(new jn(Vn.USEVUEFLOW_OPTIONS))}return r}function ore(e){const{emits:t,dimensions:n}=_n();let o;st(()=>{const a=()=>{var l,s;if(!e.value||!(((s=(l=e.value).checkVisibility)==null?void 0:s.call(l))??!0))return;const r=Rp(e.value);(r.width===0||r.height===0)&&t.error(new jn(Vn.MISSING_VIEWPORT_DIMENSIONS)),n.value={width:r.width||500,height:r.height||500}};a(),window.addEventListener("resize",a),e.value&&(o=new ResizeObserver(()=>a()),o.observe(e.value)),Ht(()=>{window.removeEventListener("resize",a),o&&e.value&&o.unobserve(e.value)})})}const are={name:"UserSelection",compatConfig:{MODE:3}},lre=fe({...are,props:{userSelectionRect:{}},setup(e){return(t,n)=>(E(),F("div",{class:"vue-flow__selection vue-flow__container",style:Fe({width:`${t.userSelectionRect.width}px`,height:`${t.userSelectionRect.height}px`,transform:`translate(${t.userSelectionRect.x}px, ${t.userSelectionRect.y}px)`})},null,4))}}),sre=["tabIndex"],rre={name:"NodesSelection",compatConfig:{MODE:3}},ire=fe({...rre,setup(e){const{emits:t,viewport:n,getSelectedNodes:o,noPanClassName:a,disableKeyboardA11y:l,userSelectionActive:s}=_n(),r=hN(),u=B(null),c=fN({el:u,onStart(g){t.selectionDragStart(g),t.nodeDragStart(g)},onDrag(g){t.selectionDrag(g),t.nodeDrag(g)},onStop(g){t.selectionDragStop(g),t.nodeDragStop(g)}});st(()=>{var g;l.value||(g=u.value)==null||g.focus({preventScroll:!0})});const d=C(()=>tN(o.value)),f=C(()=>({width:`${d.value.width}px`,height:`${d.value.height}px`,top:`${d.value.y}px`,left:`${d.value.x}px`}));function v(g){t.selectionContextMenu({event:g,nodes:o.value})}function h(g){l.value||jr[g.key]&&(g.preventDefault(),r({x:jr[g.key].x,y:jr[g.key].y},g.shiftKey))}return(g,p)=>!i(s)&&d.value.width&&d.value.height?(E(),F("div",{key:0,class:A(["vue-flow__nodesselection vue-flow__container",i(a)]),style:Fe({transform:`translate(${i(n).x}px,${i(n).y}px) scale(${i(n).zoom})`})},[M("div",{ref_key:"el",ref:u,class:A([{dragging:i(c)},"vue-flow__nodesselection-rect"]),style:Fe(f.value),tabIndex:i(l)?void 0:-1,onContextmenu:v,onKeydown:h},null,46,sre)],6)):se("",!0)}});function ure(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const cre={name:"Pane",compatConfig:{MODE:3}},dre=fe({...cre,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:t,nodes:n,viewport:o,emits:a,userSelectionActive:l,removeSelectedElements:s,userSelectionRect:r,elementsSelectable:u,nodesSelectionActive:c,getSelectedEdges:d,getSelectedNodes:f,removeNodes:v,removeEdges:h,selectionMode:g,deleteKeyCode:p,multiSelectionKeyCode:m,multiSelectionActive:y,edgeLookup:b,nodeLookup:w,connectionLookup:S,defaultEdgeOptions:k,connectionStartHandle:x,panOnDrag:N}=_n(),$=Ct(null),T=Ct(new Set),I=Ct(new Set),P=Ct(null),_=bt(()=>u.value&&(e.isSelecting||l.value)),H=bt(()=>x.value!==null);let L=!1,z=!1;const O=iu(p,{actInsideInputWithModifier:!1}),R=iu(m);pe(O,Z=>{Z&&(v(f.value),h(d.value),c.value=!1)}),pe(R,Z=>{y.value=Z});function D(Z,J){return ae=>{ae.target===J&&Z?.(ae)}}function K(Z){if(L||H.value){L=!1;return}a.paneClick(Z),s(),c.value=!1}function V(Z){var J;if(Array.isArray(N.value)&&((J=N.value)!=null&&J.includes(2))){Z.preventDefault();return}a.paneContextMenu(Z)}function Y(Z){a.paneScroll(Z)}function G(Z){var J,ae,ve;if(P.value=((J=t.value)==null?void 0:J.getBoundingClientRect())??null,!u.value||!e.isSelecting||Z.button!==0||Z.target!==$.value||!P.value)return;(ve=(ae=Z.target)==null?void 0:ae.setPointerCapture)==null||ve.call(ae,Z.pointerId);const{x:me,y:oe}=ure(Z,P.value);z=!0,L=!1,s(),r.value={width:0,height:0,startX:me,startY:oe,x:me,y:oe},a.selectionStart(Z)}function q(Z){var J;if(!P.value||!r.value)return;L=!0;const{x:ae,y:ve}=Da(Z,P.value),{startX:me=0,startY:oe=0}=r.value,re={startX:me,startY:oe,x:aeU.id)),I.value=new Set;const j=((J=k.value)==null?void 0:J.selectable)??!0;for(const U of T.value){const Q=S.value.get(U);if(Q)for(const{edgeId:le}of Q.values()){const ce=b.value.get(le);ce&&(ce.selectable??j)&&I.value.add(le)}}if(!ES(W,T.value)){const U=ql(w.value,T.value,!0);a.nodesChange(U)}if(!ES(te,I.value)){const U=ql(b.value,I.value);a.edgesChange(U)}r.value=re,l.value=!0,c.value=!1}function X(Z){var J;Z.button!==0||!z||((J=Z.target)==null||J.releasePointerCapture(Z.pointerId),!l.value&&r.value&&Z.target===$.value&&K(Z),l.value=!1,r.value=null,c.value=T.value.size>0,a.selectionEnd(Z),e.selectionKeyPressed&&(L=!1),z=!1)}return(Z,J)=>(E(),F("div",{ref_key:"container",ref:$,class:A(["vue-flow__pane vue-flow__container",{selection:Z.isSelecting}]),onClick:J[0]||(J[0]=ae=>_.value?void 0:D(K,$.value)(ae)),onContextmenu:J[1]||(J[1]=ae=>D(V,$.value)(ae)),onWheelPassive:J[2]||(J[2]=ae=>D(Y,$.value)(ae)),onPointerenter:J[3]||(J[3]=ae=>_.value?void 0:i(a).paneMouseEnter(ae)),onPointerdown:J[4]||(J[4]=ae=>_.value?G(ae):i(a).paneMouseMove(ae)),onPointermove:J[5]||(J[5]=ae=>_.value?q(ae):i(a).paneMouseMove(ae)),onPointerup:J[6]||(J[6]=ae=>_.value?X(ae):void 0),onPointerleave:J[7]||(J[7]=ae=>i(a).paneMouseLeave(ae))},[ue(Z.$slots,"default"),i(l)&&i(r)?(E(),de(lre,{key:0,"user-selection-rect":i(r)},null,8,["user-selection-rect"])):se("",!0),i(c)&&i(f).length?(E(),de(ire,{key:1})):se("",!0)],34))}}),fre={name:"Transform",compatConfig:{MODE:3}},pre=fe({...fre,setup(e){const{viewport:t,fitViewOnInit:n,fitViewOnInitDone:o}=_n(),a=C(()=>n.value?!o.value:!1),l=C(()=>`translate(${t.value.x}px,${t.value.y}px) scale(${t.value.zoom})`);return(s,r)=>(E(),F("div",{class:"vue-flow__transformationpane vue-flow__container",style:Fe({transform:l.value,opacity:a.value?0:void 0})},[ue(s.$slots,"default")],4))}}),vre={name:"Viewport",compatConfig:{MODE:3}},hre=fe({...vre,setup(e){const{minZoom:t,maxZoom:n,defaultViewport:o,translateExtent:a,zoomActivationKeyCode:l,selectionKeyCode:s,panActivationKeyCode:r,panOnScroll:u,panOnScrollMode:c,panOnScrollSpeed:d,panOnDrag:f,zoomOnDoubleClick:v,zoomOnPinch:h,zoomOnScroll:g,preventScrolling:p,noWheelClassName:m,noPanClassName:y,emits:b,connectionStartHandle:w,userSelectionActive:S,paneDragging:k,d3Zoom:x,d3Selection:N,d3ZoomHandler:$,viewport:T,viewportRef:I,paneClickDistance:P}=_n();ore(I);const _=Ct(!1),H=Ct(!1);let L=null,z=!1,O=0,R={x:0,y:0,zoom:0};const D=iu(r),K=iu(s),V=iu(l),Y=bt(()=>(!K.value||K.value&&s.value===!0)&&(D.value||f.value)),G=bt(()=>D.value||u.value),q=bt(()=>s.value===!0&&Y.value!==!0),X=bt(()=>K.value&&s.value!==!0||S.value||q.value),Z=bt(()=>w.value!==null);st(()=>{if(!I.value){Cc("Viewport element is missing");return}const oe=I.value,re=oe.getBoundingClientRect(),W=Mle().clickDistance(P.value).scaleExtent([t.value,n.value]).translateExtent(a.value),te=da(oe).call(W),j=te.on("wheel.zoom"),U=pi.translate(o.value.x??0,o.value.y??0).scale(rr(o.value.zoom??1,t.value,n.value)),Q=[[0,0],[re.width,re.height]],le=W.constrain()(U,Q,a.value);W.transform(te,le),W.wheelDelta(dS),x.value=W,N.value=te,$.value=j,T.value={x:le.x,y:le.y,zoom:le.k},W.on("start",ce=>{var Ce;if(!ce.sourceEvent)return null;O=ce.sourceEvent.button,_.value=!0;const we=ve(ce.transform);((Ce=ce.sourceEvent)==null?void 0:Ce.type)==="mousedown"&&(k.value=!0),R=we,b.viewportChangeStart(we),b.moveStart({event:ce,flowTransform:we})}),W.on("end",ce=>{if(!ce.sourceEvent)return null;if(_.value=!1,k.value=!1,J(Y.value,O??0)&&!z&&b.paneContextMenu(ce.sourceEvent),z=!1,ae(R,ce.transform)){const Ce=ve(ce.transform);R=Ce,b.viewportChangeEnd(Ce),b.moveEnd({event:ce,flowTransform:Ce})}}),W.filter(ce=>{var Ce;const we=V.value||g.value,he=h.value&&ce.ctrlKey,be=ce.button,ge=ce.type==="wheel";if(be===1&&ce.type==="mousedown"&&(me(ce,"vue-flow__node")||me(ce,"vue-flow__edge")))return!0;if(!Y.value&&!we&&!G.value&&!v.value&&!h.value||S.value||Z.value&&!ge||!v.value&&ce.type==="dblclick"||me(ce,m.value)&&ge||me(ce,y.value)&&(!ge||G.value&&ge&&!V.value)||!h.value&&ce.ctrlKey&&ge||!we&&!G.value&&!he&&ge)return!1;if(!h&&ce.type==="touchstart"&&((Ce=ce.touches)==null?void 0:Ce.length)>1)return ce.preventDefault(),!1;if(!Y.value&&(ce.type==="mousedown"||ce.type==="touchstart")||q.value&&Array.isArray(f.value)&&f.value.includes(0)&&be===0||Array.isArray(f.value)&&!f.value.includes(be)&&(ce.type==="mousedown"||ce.type==="touchstart"))return!1;const $e=Array.isArray(f.value)&&f.value.includes(be)||s.value===!0&&Array.isArray(f.value)&&!f.value.includes(0)||!be||be<=1;return(!ce.ctrlKey||D.value||ge)&&$e}),pe([S,Y],()=>{S.value&&!_.value?W.on("zoom",null):S.value||W.on("zoom",ce=>{T.value={x:ce.transform.x,y:ce.transform.y,zoom:ce.transform.k};const Ce=ve(ce.transform);z=J(Y.value,O??0),b.viewportChange(Ce),b.move({event:ce,flowTransform:Ce})})},{immediate:!0}),pe([S,G,c,V,h,p,m],()=>{G.value&&!V.value&&!S.value?te.on("wheel.zoom",ce=>{if(me(ce,m.value))return!1;const Ce=V.value||g.value,we=h.value&&ce.ctrlKey;if(!(!p.value||G.value||Ce||we))return!1;ce.preventDefault(),ce.stopImmediatePropagation();const be=te.property("__zoom").k||1,ge=Pf();if(!D.value&&ce.ctrlKey&&h.value&&ge){const qe=Oa(ce),Et=dS(ce),At=be*2**Et;W.scaleTo(te,At,qe,ce);return}const $e=ce.deltaMode===1?20:1;let Me=c.value===ru.Vertical?0:ce.deltaX*$e,Qe=c.value===ru.Horizontal?0:ce.deltaY*$e;!ge&&ce.shiftKey&&c.value!==ru.Vertical&&!Me&&Qe&&(Me=Qe,Qe=0),W.translateBy(te,-(Me/be)*d.value,-(Qe/be)*d.value);const tt=ve(te.property("__zoom"));L&&clearTimeout(L),H.value?(b.move({event:ce,flowTransform:tt}),b.viewportChange(tt),L=setTimeout(()=>{b.moveEnd({event:ce,flowTransform:tt}),b.viewportChangeEnd(tt),H.value=!1},150)):(H.value=!0,b.moveStart({event:ce,flowTransform:tt}),b.viewportChangeStart(tt))},{passive:!1}):typeof j<"u"&&te.on("wheel.zoom",function(ce,Ce){const we=!p.value&&ce.type==="wheel"&&!ce.ctrlKey,he=V.value||g.value,be=h.value&&ce.ctrlKey;if(!he&&!u.value&&!be&&ce.type==="wheel"||we||me(ce,m.value))return null;ce.preventDefault(),j.call(this,ce,Ce)},{passive:!1})},{immediate:!0})});function J(oe,re){return re===2&&Array.isArray(oe)&&oe.includes(2)}function ae(oe,re){return oe.x!==re.x&&!Number.isNaN(re.x)||oe.y!==re.y&&!Number.isNaN(re.y)||oe.zoom!==re.k&&!Number.isNaN(re.k)}function ve(oe){return{x:oe.x,y:oe.y,zoom:oe.k}}function me(oe,re){return oe.target.closest(`.${re}`)}return(oe,re)=>(E(),F("div",{ref_key:"viewportRef",ref:I,class:"vue-flow__viewport vue-flow__container"},[ee(dre,{"is-selecting":X.value,"selection-key-pressed":i(K),class:A({connecting:Z.value,dragging:i(k),draggable:i(f)===!0||Array.isArray(i(f))&&i(f).includes(0)})},{default:ie(()=>[ee(pre,null,{default:ie(()=>[ue(oe.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),mre=["id"],gre=["id"],yre=["id"],bre={name:"A11yDescriptions",compatConfig:{MODE:3}},wre=fe({...bre,setup(e){const{id:t,disableKeyboardA11y:n,ariaLiveMessage:o}=_n();return(a,l)=>(E(),F(Oe,null,[M("div",{id:`${i(UT)}-${i(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+ye(i(n)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,mre),M("div",{id:`${i(qT)}-${i(t)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,gre),i(n)?se("",!0):(E(),F("div",{key:0,id:`${i(Lle)}-${i(t)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},ye(i(o)),9,yre))],64))}});function Sre(){const e=_n();pe(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function Cre(e,t,n){return n===$t.Left?e-t:n===$t.Right?e+t:e}function kre(e,t,n){return n===$t.Top?e-t:n===$t.Bottom?e+t:e}const qy=function({radius:e=10,centerX:t=0,centerY:n=0,position:o=$t.Top,type:a}){return De("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${a}`,cx:Cre(t,e,o),cy:kre(n,e,o),r:e,stroke:"transparent",fill:"transparent"})};qy.props=["radius","centerX","centerY","position","type"];qy.compatConfig={MODE:3};const MS=qy,xre=fe({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:t,addSelectedEdges:n,connectionMode:o,edgeUpdaterRadius:a,emits:l,nodesSelectionActive:s,noPanClassName:r,getEdgeTypes:u,removeSelectedEdges:c,findEdge:d,findNode:f,isValidConnection:v,multiSelectionActive:h,disableKeyboardA11y:g,elementsSelectable:p,edgesUpdatable:m,edgesFocusable:y,hooks:b}=_n(),w=C(()=>d(e.id)),{emit:S,on:k}=vse(w.value,l),x=Be(Dp),N=ct(),$=B(!1),T=B(!1),I=B(""),P=B(null),_=B("source"),H=B(null),L=bt(()=>typeof w.value.selectable>"u"?p.value:w.value.selectable),z=bt(()=>typeof w.value.updatable>"u"?m.value:w.value.updatable),O=bt(()=>typeof w.value.focusable>"u"?y.value:w.value.focusable);kt(dse,e.id),kt(fse,H);const R=C(()=>w.value.class instanceof Function?w.value.class(w.value):w.value.class),D=C(()=>w.value.style instanceof Function?w.value.style(w.value):w.value.style),K=C(()=>{const U=w.value.type||"default",Q=x?.[`edge-${U}`];if(Q)return Q;let le=w.value.template??u.value[U];if(typeof le=="string"&&N){const ce=Object.keys(N.appContext.components);ce&&ce.includes(U)&&(le=Ot(U,!1))}return le&&typeof le!="string"?le:(l.error(new jn(Vn.EDGE_TYPE_MISSING,le)),!1)}),{handlePointerDown:V}=pN({nodeId:I,handleId:P,type:_,isValidConnection:v,edgeUpdaterType:_,onEdgeUpdate:q,onEdgeUpdateEnd:X});return()=>{const U=f(w.value.source),Q=f(w.value.target),le="pathOptions"in w.value?w.value.pathOptions:{};if(!U&&!Q)return l.error(new jn(Vn.EDGE_SOURCE_TARGET_MISSING,w.value.id,w.value.source,w.value.target)),null;if(!U)return l.error(new jn(Vn.EDGE_SOURCE_MISSING,w.value.id,w.value.source)),null;if(!Q)return l.error(new jn(Vn.EDGE_TARGET_MISSING,w.value.id,w.value.target)),null;if(!w.value||w.value.hidden||U.hidden||Q.hidden)return null;let ce;o.value===fs.Strict?ce=U.handleBounds.source:ce=[...U.handleBounds.source||[],...U.handleBounds.target||[]];const Ce=bS(ce,w.value.sourceHandle);let we;o.value===fs.Strict?we=Q.handleBounds.target:we=[...Q.handleBounds.target||[],...Q.handleBounds.source||[]];const he=bS(we,w.value.targetHandle),be=Ce?.position||$t.Bottom,ge=he?.position||$t.Top,{x:$e,y:Me}=vi(U,Ce,be),{x:Qe,y:tt}=vi(Q,he,ge);return w.value.sourceX=$e,w.value.sourceY=Me,w.value.targetX=Qe,w.value.targetY=tt,De("g",{ref:H,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${K.value===!1?"default":w.value.type||"default"}`,r.value,R.value,{updating:$.value,selected:w.value.selected,animated:w.value.animated,inactive:!L.value&&!b.value.edgeClick.hasListeners()}],tabIndex:O.value?0:void 0,"aria-label":w.value.ariaLabel===null?void 0:w.value.ariaLabel??`Edge from ${w.value.source} to ${w.value.target}`,"aria-describedby":O.value?`${qT}-${t}`:void 0,"aria-roledescription":"edge",role:O.value?"group":"img",...w.value.domAttributes,onClick:J,onContextmenu:ae,onDblclick:ve,onMouseenter:me,onMousemove:oe,onMouseleave:re,onKeyDown:O.value?j:void 0},[T.value?null:De(K.value===!1?u.value.default:K.value,{id:e.id,sourceNode:U,targetNode:Q,source:w.value.source,target:w.value.target,type:w.value.type,updatable:z.value,selected:w.value.selected,animated:w.value.animated,label:w.value.label,labelStyle:w.value.labelStyle,labelShowBg:w.value.labelShowBg,labelBgStyle:w.value.labelBgStyle,labelBgPadding:w.value.labelBgPadding,labelBgBorderRadius:w.value.labelBgBorderRadius,data:w.value.data,events:{...w.value.events,...k},style:D.value,markerStart:`url('#${ju(w.value.markerStart,t)}')`,markerEnd:`url('#${ju(w.value.markerEnd,t)}')`,sourcePosition:be,targetPosition:ge,sourceX:$e,sourceY:Me,targetX:Qe,targetY:tt,sourceHandleId:w.value.sourceHandle,targetHandleId:w.value.targetHandle,interactionWidth:w.value.interactionWidth,...le}),[z.value==="source"||z.value===!0?[De("g",{onMousedown:W,onMouseenter:Y,onMouseout:G},De(MS,{position:be,centerX:$e,centerY:Me,radius:a.value,type:"source","data-type":"source"}))]:null,z.value==="target"||z.value===!0?[De("g",{onMousedown:te,onMouseenter:Y,onMouseout:G},De(MS,{position:ge,centerX:Qe,centerY:tt,radius:a.value,type:"target","data-type":"target"}))]:null]])};function Y(){$.value=!0}function G(){$.value=!1}function q(U,Q){S.update({event:U,edge:w.value,connection:Q})}function X(U){S.updateEnd({event:U,edge:w.value}),T.value=!1}function Z(U,Q){U.button===0&&(T.value=!0,I.value=Q?w.value.target:w.value.source,P.value=(Q?w.value.targetHandle:w.value.sourceHandle)??null,_.value=Q?"target":"source",S.updateStart({event:U,edge:w.value}),V(U))}function J(U){var Q;const le={event:U,edge:w.value};L.value&&(s.value=!1,w.value.selected&&h.value?(c([w.value]),(Q=H.value)==null||Q.blur()):n([w.value])),S.click(le)}function ae(U){S.contextMenu({event:U,edge:w.value})}function ve(U){S.doubleClick({event:U,edge:w.value})}function me(U){S.mouseEnter({event:U,edge:w.value})}function oe(U){S.mouseMove({event:U,edge:w.value})}function re(U){S.mouseLeave({event:U,edge:w.value})}function W(U){Z(U,!0)}function te(U){Z(U,!1)}function j(U){var Q;!g.value&>.includes(U.key)&&L.value&&(U.key==="Escape"?((Q=H.value)==null||Q.blur(),c([d(e.id)])):n([d(e.id)]))}}}),Ere=xre,$re=fe({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:n,connectionStartHandle:o,connectionEndHandle:a,connectionPosition:l,connectionLineType:s,connectionLineStyle:r,connectionLineOptions:u,connectionStatus:c,viewport:d,findNode:f}=_n(),v=(e=Be(Dp))==null?void 0:e["connection-line"],h=C(()=>{var b;return f((b=o.value)==null?void 0:b.nodeId)}),g=C(()=>{var b;return f((b=a.value)==null?void 0:b.nodeId)??null}),p=C(()=>({x:(l.value.x-d.value.x)/d.value.zoom,y:(l.value.y-d.value.y)/d.value.zoom})),m=C(()=>u.value.markerStart?`url(#${ju(u.value.markerStart,t)})`:""),y=C(()=>u.value.markerEnd?`url(#${ju(u.value.markerEnd,t)})`:"");return()=>{var b,w,S;if(!h.value||!o.value)return null;const k=o.value.id,x=o.value.type,N=h.value.handleBounds;let $=N?.[x]??[];if(n.value===fs.Loose){const D=N?.[x==="source"?"target":"source"]??[];$=[...$,...D]}if(!$)return null;const T=(k?$.find(D=>D.id===k):$[0])??null,I=T?.position??$t.Top,{x:P,y:_}=vi(h.value,T,I);let H=null;g.value&&(n.value===fs.Strict?H=((b=g.value.handleBounds[x==="source"?"target":"source"])==null?void 0:b.find(D=>{var K;return D.id===((K=a.value)==null?void 0:K.id)}))||null:H=((w=[...g.value.handleBounds.source??[],...g.value.handleBounds.target??[]])==null?void 0:w.find(D=>{var K;return D.id===((K=a.value)==null?void 0:K.id)}))||null);const L=((S=a.value)==null?void 0:S.position)??(I?xm[I]:null);if(!I||!L)return null;const z=s.value??u.value.type??_s.Bezier;let O="";const R={sourceX:P,sourceY:_,sourcePosition:I,targetX:p.value.x,targetY:p.value.y,targetPosition:L};return z===_s.Bezier?[O]=bN(R):z===_s.Step?[O]=$m({...R,borderRadius:0}):z===_s.SmoothStep?[O]=$m(R):z===_s.SimpleBezier?[O]=wN(R):O=`M${P},${_} ${p.value.x},${p.value.y}`,De("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},De("g",{class:"vue-flow__connection"},v?De(v,{sourceX:P,sourceY:_,sourcePosition:I,targetX:p.value.x,targetY:p.value.y,targetPosition:L,sourceNode:h.value,sourceHandle:T,targetNode:g.value,targetHandle:H,markerEnd:y.value,markerStart:m.value,connectionStatus:c.value}):De("path",{d:O,class:[u.value.class,c.value,"vue-flow__connection-path"],style:{...r.value,...u.value.style},"marker-end":y.value,"marker-start":m.value})))}}}),Tre=$re,Nre=["id","markerWidth","markerHeight","markerUnits","orient"],_re={name:"MarkerType",compatConfig:{MODE:3}},Ire=fe({..._re,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(t,n)=>(E(),F("marker",{id:t.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${t.width}`,markerHeight:`${t.height}`,markerUnits:t.markerUnits,orient:t.orient},[t.type===i(Cm).ArrowClosed?(E(),F("polyline",{key:0,style:Fe({stroke:t.color,fill:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):se("",!0),t.type===i(Cm).Arrow?(E(),F("polyline",{key:1,style:Fe({stroke:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):se("",!0)],8,Nre))}}),Mre={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},Ore={name:"MarkerDefinitions",compatConfig:{MODE:3}},Pre=fe({...Ore,setup(e){const{id:t,edges:n,connectionLineOptions:o,defaultMarkerColor:a}=_n(),l=C(()=>{const s=new Set,r=[],u=c=>{if(c){const d=ju(c,t);s.has(d)||(typeof c=="object"?r.push({...c,id:d,color:c.color||a.value}):r.push({id:d,color:a.value,type:c}),s.add(d))}};for(const c of[o.value.markerEnd,o.value.markerStart])u(c);for(const c of n.value)for(const d of[c.markerStart,c.markerEnd])u(d);return r.sort((c,d)=>c.id.localeCompare(d.id))});return(s,r)=>(E(),F("svg",Mre,[M("defs",null,[(E(!0),F(Oe,null,mt(l.value,u=>(E(),de(Ire,{id:u.id,key:u.id,type:u.type,color:u.color,width:u.width,height:u.height,markerUnits:u.markerUnits,"stroke-width":u.strokeWidth,orient:u.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),Rre={name:"Edges",compatConfig:{MODE:3}},Are=fe({...Rre,setup(e){const{findNode:t,getEdges:n,elevateEdgesOnSelect:o}=_n();return(a,l)=>(E(),F(Oe,null,[ee(Pre),(E(!0),F(Oe,null,mt(i(n),s=>(E(),F("svg",{key:s.id,class:"vue-flow__edges vue-flow__container",style:Fe({zIndex:i(Qle)(s,i(t),i(o))})},[ee(i(Ere),{id:s.id},null,8,["id"])],4))),128)),ee(i(Tre))],64))}}),Dre=fe({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:t,noPanClassName:n,selectNodesOnDrag:o,nodesSelectionActive:a,multiSelectionActive:l,emits:s,removeSelectedNodes:r,addSelectedNodes:u,updateNodeDimensions:c,onUpdateNodeInternals:d,getNodeTypes:f,nodeExtent:v,elevateNodesOnSelect:h,disableKeyboardA11y:g,ariaLiveMessage:p,snapToGrid:m,snapGrid:y,nodeDragThreshold:b,nodesDraggable:w,elementsSelectable:S,nodesConnectable:k,nodesFocusable:x,hooks:N}=_n(),$=B(null);kt(dN,$),kt(cN,e.id);const T=Be(Dp),I=ct(),P=hN(),{node:_,parentNode:H}=vN(e.id),{emit:L,on:z}=yse(_,s),O=bt(()=>typeof _.draggable>"u"?w.value:_.draggable),R=bt(()=>typeof _.selectable>"u"?S.value:_.selectable),D=bt(()=>typeof _.connectable>"u"?k.value:_.connectable),K=bt(()=>typeof _.focusable>"u"?x.value:_.focusable),V=C(()=>R.value||O.value||N.value.nodeClick.hasListeners()||N.value.nodeDoubleClick.hasListeners()||N.value.nodeMouseEnter.hasListeners()||N.value.nodeMouseMove.hasListeners()||N.value.nodeMouseLeave.hasListeners()),Y=bt(()=>!!_.dimensions.width&&!!_.dimensions.height),G=C(()=>{const Q=_.type||"default",le=T?.[`node-${Q}`];if(le)return le;let ce=_.template||f.value[Q];if(typeof ce=="string"&&I){const Ce=Object.keys(I.appContext.components);Ce&&Ce.includes(Q)&&(ce=Ot(Q,!1))}return ce&&typeof ce!="string"?ce:(s.error(new jn(Vn.NODE_TYPE_MISSING,ce)),!1)}),q=fN({id:e.id,el:$,disabled:()=>!O.value,selectable:R,dragHandle:()=>_.dragHandle,onStart(Q){L.dragStart(Q)},onDrag(Q){L.drag(Q)},onStop(Q){L.dragStop(Q)},onClick(Q){j(Q)}}),X=C(()=>_.class instanceof Function?_.class(_):_.class),Z=C(()=>{const Q=(_.style instanceof Function?_.style(_):_.style)||{},le=_.width instanceof Function?_.width(_):_.width,ce=_.height instanceof Function?_.height(_):_.height;return!Q.width&&le&&(Q.width=typeof le=="string"?le:`${le}px`),!Q.height&&ce&&(Q.height=typeof ce=="string"?ce:`${ce}px`),Q}),J=bt(()=>Number(_.zIndex??Z.value.zIndex??0));return d(Q=>{(Q.includes(e.id)||!Q.length)&&ve()}),st(()=>{pe(()=>_.hidden,(Q=!1,le,ce)=>{!Q&&$.value&&(e.resizeObserver.observe($.value),ce(()=>{$.value&&e.resizeObserver.unobserve($.value)}))},{immediate:!0,flush:"post"})}),pe([()=>_.type,()=>_.sourcePosition,()=>_.targetPosition],()=>{Pe(()=>{c([{id:e.id,nodeElement:$.value,forceUpdate:!0}])})}),pe([()=>_.position.x,()=>_.position.y,()=>{var Q;return(Q=H.value)==null?void 0:Q.computedPosition.x},()=>{var Q;return(Q=H.value)==null?void 0:Q.computedPosition.y},()=>{var Q;return(Q=H.value)==null?void 0:Q.computedPosition.z},J,()=>_.selected,()=>_.dimensions.height,()=>_.dimensions.width,()=>{var Q;return(Q=H.value)==null?void 0:Q.dimensions.height},()=>{var Q;return(Q=H.value)==null?void 0:Q.dimensions.width}],([Q,le,ce,Ce,we,he])=>{const be={x:Q,y:le,z:he+(h.value&&_.selected?1e3:0)};typeof ce<"u"&&typeof Ce<"u"?_.computedPosition=Ule({x:ce,y:Ce,z:we},be):_.computedPosition=be},{flush:"post",immediate:!0}),pe([()=>_.extent,v],([Q,le],[ce,Ce])=>{(Q!==ce||le!==Ce)&&ae()}),_.extent==="parent"||typeof _.extent=="object"&&"range"in _.extent&&_.extent.range==="parent"?pm(()=>Y).toBe(!0).then(ae):ae(),()=>_.hidden?null:De("div",{ref:$,"data-id":_.id,class:["vue-flow__node",`vue-flow__node-${G.value===!1?"default":_.type||"default"}`,{[n.value]:O.value,dragging:q?.value,draggable:O.value,selected:_.selected,selectable:R.value,parent:_.isParent},X.value],style:{visibility:Y.value?"visible":"hidden",zIndex:_.computedPosition.z??J.value,transform:`translate(${_.computedPosition.x}px,${_.computedPosition.y}px)`,pointerEvents:V.value?"all":"none",...Z.value},tabIndex:K.value?0:void 0,role:K.value?"group":void 0,"aria-describedby":g.value?void 0:`${UT}-${t}`,"aria-label":_.ariaLabel,"aria-roledescription":"node",..._.domAttributes,onMouseenter:me,onMousemove:oe,onMouseleave:re,onContextmenu:W,onClick:j,onDblclick:te,onKeydown:U},[De(G.value===!1?f.value.default:G.value,{id:_.id,type:_.type,data:_.data,events:{..._.events,...z},selected:_.selected,resizing:_.resizing,dragging:q.value,connectable:D.value,position:_.computedPosition,dimensions:_.dimensions,isValidTargetPos:_.isValidTargetPos,isValidSourcePos:_.isValidSourcePos,parent:_.parentNode,parentNodeId:_.parentNode,zIndex:_.computedPosition.z??J.value,targetPosition:_.targetPosition,sourcePosition:_.sourcePosition,label:_.label,dragHandle:_.dragHandle,onUpdateNodeInternals:ve})]);function ae(){const Q=_.computedPosition,{computedPosition:le,position:ce}=Yy(_,m.value?Ap(Q,y.value):Q,s.error,v.value,H.value);(_.computedPosition.x!==le.x||_.computedPosition.y!==le.y)&&(_.computedPosition={..._.computedPosition,...le}),(_.position.x!==ce.x||_.position.y!==ce.y)&&(_.position=ce)}function ve(){$.value&&c([{id:e.id,nodeElement:$.value,forceUpdate:!0}])}function me(Q){q?.value||L.mouseEnter({event:Q,node:_})}function oe(Q){q?.value||L.mouseMove({event:Q,node:_})}function re(Q){q?.value||L.mouseLeave({event:Q,node:_})}function W(Q){return L.contextMenu({event:Q,node:_})}function te(Q){return L.doubleClick({event:Q,node:_})}function j(Q){R.value&&(!o.value||!O.value||b.value>0)&&Em(_,l.value,u,r,a,!1,$.value),L.click({event:Q,node:_})}function U(Q){if(!(km(Q)||g.value))if(GT.includes(Q.key)&&R.value){const le=Q.key==="Escape";Em(_,l.value,u,r,a,le,$.value)}else O.value&&_.selected&&jr[Q.key]&&(Q.preventDefault(),p.value=`Moved selected node ${Q.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~_.position.x}, y: ${~~_.position.y}`,P({x:jr[Q.key].x,y:jr[Q.key].y},Q.shiftKey))}}}),Lre=Dre,Bre={height:"0",width:"0"},Vre={name:"EdgeLabelRenderer",compatConfig:{MODE:3}},Fre=fe({...Vre,setup(e){const{viewportRef:t}=_n(),n=bt(()=>{var o;return(o=t.value)==null?void 0:o.getElementsByClassName("vue-flow__edge-labels")[0]});return(o,a)=>(E(),F("svg",null,[(E(),F("foreignObject",Bre,[(E(),de(ir,{to:n.value,disabled:!n.value},[ue(o.$slots,"default")],8,["to","disabled"]))]))]))}});function zre(e={includeHiddenNodes:!1}){const{nodes:t}=_n();return C(()=>{if(t.value.length===0)return!1;for(const n of t.value)if((e.includeHiddenNodes||!n.hidden)&&(n?.handleBounds===void 0||n.dimensions.width===0||n.dimensions.height===0))return!1;return!0})}const Hre={class:"vue-flow__nodes vue-flow__container"},Kre={name:"Nodes",compatConfig:{MODE:3}},Wre=fe({...Kre,setup(e){const{getNodes:t,updateNodeDimensions:n,emits:o}=_n(),a=zre(),l=B();return pe(a,s=>{s&&Pe(()=>{o.nodesInitialized(t.value)})},{immediate:!0}),st(()=>{l.value=new ResizeObserver(s=>{const r=s.map(u=>({id:u.target.getAttribute("data-id"),nodeElement:u.target,forceUpdate:!0}));Pe(()=>n(r))})}),Ht(()=>{var s;return(s=l.value)==null?void 0:s.disconnect()}),(s,r)=>(E(),F("div",Hre,[l.value?(E(!0),F(Oe,{key:0},mt(i(t),(u,c,d,f)=>{const v=[u.id];if(f&&f.key===u.id&&pI(f,v))return f;const h=(E(),de(i(Lre),{id:u.id,key:u.id,"resize-observer":l.value},null,8,["id","resize-observer"]));return h.memo=v,h},r,0),128)):se("",!0)]))}});function jre(){const{emits:e}=_n();st(()=>{if(uN()){const t=document.querySelector(".vue-flow__pane");t&&window.getComputedStyle(t).zIndex!=="1"&&e.error(new jn(Vn.MISSING_STYLES))}})}const Yre=M("div",{class:"vue-flow__edge-labels"},null,-1),Ure={name:"VueFlow",compatConfig:{MODE:3}},qre=fe({...Ure,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:n}){const o=e,a=mn(),l=Lv(o,"modelValue",n),s=Lv(o,"nodes",n),r=Lv(o,"edges",n),u=_n(o),c=Cse({modelValue:l,nodes:s,edges:r},o,u);return xse(n,u.hooks),Sre(),jre(),kt(Dp,a),ur(c),t(u),(d,f)=>(E(),F("div",{ref:i(u).vueFlowRef,class:"vue-flow"},[ee(hre,null,{default:ie(()=>[ee(Are),Yre,ee(Wre),ue(d.$slots,"zoom-pane")]),_:3}),ue(d.$slots,"default"),ee(wre)],512))}});var hl=(e=>(e.Lines="lines",e.Dots="dots",e))(hl||{});const CN=function({dimensions:e,size:t,color:n}){return De("path",{stroke:n,"stroke-width":t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},kN=function({radius:e,color:t}){return De("circle",{cx:e,cy:e,r:e,fill:t})};hl.Lines+"",hl.Dots+"";const Gre={[hl.Dots]:"#81818a",[hl.Lines]:"#eee"},Xre=["id","x","y","width","height","patternTransform"],Zre={key:2,height:"100",width:"100"},Jre=["fill"],Qre=["x","y","fill"],eie={name:"Background",compatConfig:{MODE:3}},tie=fe({...eie,props:{id:{},variant:{default:()=>hl.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:t,viewport:n}=_n(),o=C(()=>{const s=n.value.zoom,[r,u]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],c=[r*s||1,u*s||1],d=e.size*s,[f,v]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],h=[f*s||1+c[0]/2,v*s||1+c[1]/2];return{scaledGap:c,offset:h,size:d}}),a=bt(()=>`pattern-${t}${e.id?`-${e.id}`:""}`),l=bt(()=>e.color||e.patternColor||Gre[e.variant||hl.Dots]);return(s,r)=>(E(),F("svg",{class:"vue-flow__background vue-flow__container",style:Fe({height:`${s.height>100?100:s.height}%`,width:`${s.width>100?100:s.width}%`})},[ue(s.$slots,"pattern-container",{id:a.value},()=>[M("pattern",{id:a.value,x:i(n).x%o.value.scaledGap[0],y:i(n).y%o.value.scaledGap[1],width:o.value.scaledGap[0],height:o.value.scaledGap[1],patternTransform:`translate(-${o.value.offset[0]},-${o.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[ue(s.$slots,"pattern",{},()=>[s.variant===i(hl).Lines?(E(),de(i(CN),{key:0,size:s.lineWidth,color:l.value,dimensions:o.value.scaledGap},null,8,["size","color","dimensions"])):s.variant===i(hl).Dots?(E(),de(i(kN),{key:1,color:l.value,radius:o.value.size/2},null,8,["color","radius"])):se("",!0),s.bgColor?(E(),F("svg",Zre,[M("rect",{width:"100%",height:"100%",fill:s.bgColor},null,8,Jre)])):se("",!0)])],8,Xre)]),M("rect",{x:s.x,y:s.y,width:"100%",height:"100%",fill:`url(#${a.value})`},null,8,Qre),ue(s.$slots,"default",{id:a.value})],4))}}),nie={class:"node-head"},oie={class:"fields"},aie={class:"adv-check"},lie={class:"adv"},sie={key:0,class:"adv-body"},rie={class:"adv-check"},iie={class:"adv-check"},uie={class:"adv-wide"},cie={class:"adv-wide"},die={class:"adv-wide"},fie={class:"adv-wide"},pie={class:"adv-wide"},vie=fe({__name:"LocalNode",props:{data:{},selected:{type:Boolean},conflicted:{type:Boolean}},emits:["update:data","remove"],setup(e,{emit:t}){const n=e,o=t,a=z=>C({get:()=>n.data[z],set:O=>{o("update:data",{...n.data,[z]:O})}}),l=a("name"),s=a("ip"),r=a("port"),u=a("protocol"),c=a("localOnly"),d=a("useEncryption"),f=a("useCompression"),v=a("bandwidthLimit"),h=a("poolCount"),g=B(!1),p=C({get:()=>JSON.stringify(n.data.metadatas??{}),set:z=>{let O={};if(z.trim())try{O=JSON.parse(z)}catch{return}o("update:data",{...n.data,metadatas:O})}}),m=C({get:()=>JSON.stringify(n.data.annotations??{}),set:z=>{let O={};if(z.trim())try{O=JSON.parse(z)}catch{return}o("update:data",{...n.data,annotations:O})}}),y=a("customDomains"),b=a("subdomain"),w=a("hostHeaderRewrite"),S=a("basicAuthUser"),k=a("basicAuthPassword"),x=a("lbGroup"),N=a("lbGroupKey"),$=a("healthCheckType"),T=a("healthCheckPath"),I=a("healthCheckTimeout"),P=a("healthCheckMaxFailed"),_=a("healthCheckInterval"),H=C({get:()=>JSON.stringify(n.data.locations??[]),set:z=>{let O=[];if(z.trim())try{const R=JSON.parse(z);if(Array.isArray(R))O=R.map(String);else return}catch{return}o("update:data",{...n.data,locations:O})}}),L=C({get:()=>JSON.stringify(n.data.httpHeaders??{}),set:z=>{let O={};if(z.trim())try{O=JSON.parse(z)}catch{return}o("update:data",{...n.data,httpHeaders:O})}});return(z,O)=>(E(),F("div",{class:A(["local-node",{selected:e.selected,conflicted:e.conflicted}])},[ee(i(hi),{type:"source",position:i($t).Right},null,8,["position"]),M("div",nie,[O[27]||(O[27]=M("span",{class:"node-icon"},"⬢",-1)),Ue(M("input",{"onUpdate:modelValue":O[0]||(O[0]=R=>gt(l)?l.value=R:null),class:"name-input"},null,512),[[an,i(l)]]),M("button",{class:"del-btn",title:"删除",onClick:O[1]||(O[1]=et(R=>o("remove",n.data.name),["stop"]))}," × ")]),M("div",oie,[M("label",null,[O[28]||(O[28]=ze("IP ",-1)),Ue(M("input",{"onUpdate:modelValue":O[2]||(O[2]=R=>gt(s)?s.value=R:null)},null,512),[[an,i(s)]])]),M("label",null,[O[29]||(O[29]=ze("端口 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[3]||(O[3]=R=>gt(r)?r.value=R:null),type:"number"},null,512),[[an,i(r),void 0,{number:!0}]])]),M("label",null,[O[31]||(O[31]=ze("协议 ",-1)),Ue(M("select",{"onUpdate:modelValue":O[4]||(O[4]=R=>gt(u)?u.value=R:null)},[...O[30]||(O[30]=[M("option",{value:"tcp"},"tcp",-1),M("option",{value:"udp"},"udp",-1),M("option",{value:"http"},"http",-1),M("option",{value:"https"},"https",-1)])],512),[[sh,i(u)]])]),M("label",aie,[Ue(M("input",{"onUpdate:modelValue":O[5]||(O[5]=R=>gt(c)?c.value=R:null),type:"checkbox"},null,512),[[Fs,i(c)]]),O[32]||(O[32]=ze(" 仅本机转发 ",-1)),O[33]||(O[33]=M("span",{class:"hint"},"(勾选=直接在本机拉起,不进集群;不勾选=127.0.0.1 替换为本机实际地址交给集群)",-1))])]),M("div",lie,[M("button",{class:"adv-toggle",onClick:O[6]||(O[6]=et(R=>g.value=!g.value,["stop"]))},ye(g.value?"▾ 收起高级":"▸ 高级"),1),g.value?(E(),F("div",sie,[M("label",rie,[Ue(M("input",{"onUpdate:modelValue":O[7]||(O[7]=R=>gt(d)?d.value=R:null),type:"checkbox"},null,512),[[Fs,i(d)]]),O[34]||(O[34]=ze(" 加密 (useEncryption) ",-1))]),M("label",iie,[Ue(M("input",{"onUpdate:modelValue":O[8]||(O[8]=R=>gt(f)?f.value=R:null),type:"checkbox"},null,512),[[Fs,i(f)]]),O[35]||(O[35]=ze(" 压缩 (useCompression) ",-1))]),M("label",null,[O[36]||(O[36]=ze("限速 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[9]||(O[9]=R=>gt(v)?v.value=R:null),placeholder:"如 1MB"},null,512),[[an,i(v)]])]),M("label",null,[O[37]||(O[37]=ze("连接池 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[10]||(O[10]=R=>gt(h)?h.value=R:null),type:"number",min:"0"},null,512),[[an,i(h),void 0,{number:!0}]])]),M("label",uie,[O[38]||(O[38]=ze("元数据(JSON) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[11]||(O[11]=R=>p.value=R),placeholder:'{"env":"prod"}'},null,512),[[an,p.value]])]),M("label",cie,[O[39]||(O[39]=ze("注解(JSON) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[12]||(O[12]=R=>m.value=R),placeholder:'{"owner":"ops"}'},null,512),[[an,m.value]])]),O[55]||(O[55]=M("div",{class:"adv-sep"},"HTTP/HTTPS 路由",-1)),M("label",die,[O[40]||(O[40]=ze("域名(逗号分隔) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[13]||(O[13]=R=>gt(y)?y.value=R:null),placeholder:"app.example.com"},null,512),[[an,i(y)]])]),M("label",null,[O[41]||(O[41]=ze("子域 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[14]||(O[14]=R=>gt(b)?b.value=R:null),placeholder:"app (需 frps subdomain_host)"},null,512),[[an,i(b)]])]),M("label",fie,[O[42]||(O[42]=ze("路径路由(JSON) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[15]||(O[15]=R=>H.value=R),placeholder:'["/api","/admin"]'},null,512),[[an,H.value]])]),M("label",null,[O[43]||(O[43]=ze("Host 改写 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[16]||(O[16]=R=>gt(w)?w.value=R:null),placeholder:"backend.internal"},null,512),[[an,i(w)]])]),M("label",pie,[O[44]||(O[44]=ze("请求头(JSON) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[17]||(O[17]=R=>L.value=R),placeholder:'{"X-Custom":"val"}'},null,512),[[an,L.value]])]),M("label",null,[O[45]||(O[45]=ze("BasicAuth 用户 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[18]||(O[18]=R=>gt(S)?S.value=R:null),placeholder:"user"},null,512),[[an,i(S)]])]),M("label",null,[O[46]||(O[46]=ze("BasicAuth 密码 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[19]||(O[19]=R=>gt(k)?k.value=R:null),type:"password",placeholder:"pass"},null,512),[[an,i(k)]])]),O[56]||(O[56]=M("div",{class:"adv-sep"},"负载均衡 (M3)",-1)),M("label",null,[O[47]||(O[47]=ze("LB 组 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[20]||(O[20]=R=>gt(x)?x.value=R:null),placeholder:"如 web (同组自动负载均衡)"},null,512),[[an,i(x)]])]),M("label",null,[O[48]||(O[48]=ze("组密钥 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[21]||(O[21]=R=>gt(N)?N.value=R:null),placeholder:"组内相同"},null,512),[[an,i(N)]])]),O[57]||(O[57]=M("div",{class:"adv-sep"},"健康检查 (M3)",-1)),M("label",null,[O[50]||(O[50]=ze("类型 ",-1)),Ue(M("select",{"onUpdate:modelValue":O[22]||(O[22]=R=>gt($)?$.value=R:null)},[...O[49]||(O[49]=[M("option",{value:""},"关闭",-1),M("option",{value:"tcp"},"tcp",-1),M("option",{value:"http"},"http",-1)])],512),[[sh,i($)]])]),M("label",null,[O[51]||(O[51]=ze("HTTP 路径 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[23]||(O[23]=R=>gt(T)?T.value=R:null),placeholder:"/healthz"},null,512),[[an,i(T)]])]),M("label",null,[O[52]||(O[52]=ze("超时(秒) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[24]||(O[24]=R=>gt(I)?I.value=R:null),type:"number",min:"0",placeholder:"默认3"},null,512),[[an,i(I),void 0,{number:!0}]])]),M("label",null,[O[53]||(O[53]=ze("失败次数 ",-1)),Ue(M("input",{"onUpdate:modelValue":O[25]||(O[25]=R=>gt(P)?P.value=R:null),type:"number",min:"0",placeholder:"默认1"},null,512),[[an,i(P),void 0,{number:!0}]])]),M("label",null,[O[54]||(O[54]=ze("间隔(秒) ",-1)),Ue(M("input",{"onUpdate:modelValue":O[26]||(O[26]=R=>gt(_)?_.value=R:null),type:"number",min:"0",placeholder:"默认10"},null,512),[[an,i(_),void 0,{number:!0}]])])])):se("",!0)])],2))}}),ms=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},hie=ms(vie,[["__scopeId","data-v-8f3c448b"]]),mie={class:"node-head"},gie={class:"enabled"},yie={class:"fields"},bie={class:"adv"},wie={key:0,class:"adv-body"},Sie={class:"adv-check"},Cie=fe({__name:"RemoteNode",props:{data:{},selected:{type:Boolean},conflicted:{type:Boolean}},emits:["update:data","remove"],setup(e,{emit:t}){const n=e,o=t,a=k=>C({get:()=>n.data[k],set:x=>{o("update:data",{...n.data,[k]:x})}}),l=a("name"),s=a("ip"),r=a("port"),u=a("token"),c=a("url"),d=a("enabled"),f=a("transportProtocol"),v=a("transportTls"),h=a("transportTlsServerName"),g=a("transportPool"),p=a("vhostHttpPort"),m=a("adminAddr"),y=a("adminPort"),b=a("adminUser"),w=a("adminPassword"),S=B(!1);return(k,x)=>(E(),F("div",{class:A(["remote-node",{selected:e.selected,conflicted:e.conflicted}])},[ee(i(hi),{type:"target",position:i($t).Left},null,8,["position"]),M("div",mie,[x[18]||(x[18]=M("span",{class:"node-icon"},"⬤",-1)),Ue(M("input",{"onUpdate:modelValue":x[0]||(x[0]=N=>gt(l)?l.value=N:null),class:"name-input"},null,512),[[an,i(l)]]),M("label",gie,[Ue(M("input",{"onUpdate:modelValue":x[1]||(x[1]=N=>gt(d)?d.value=N:null),type:"checkbox"},null,512),[[Fs,i(d)]]),x[17]||(x[17]=ze(" 启用 ",-1))]),M("button",{class:"del-btn",title:"删除",onClick:x[2]||(x[2]=et(N=>o("remove",n.data.name),["stop"]))}," × ")]),M("div",yie,[M("label",null,[x[19]||(x[19]=ze("IP ",-1)),Ue(M("input",{"onUpdate:modelValue":x[3]||(x[3]=N=>gt(s)?s.value=N:null)},null,512),[[an,i(s)]])]),M("label",null,[x[20]||(x[20]=ze("端口 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[4]||(x[4]=N=>gt(r)?r.value=N:null),type:"number"},null,512),[[an,i(r),void 0,{number:!0}]])]),M("label",null,[x[21]||(x[21]=ze("令牌 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[5]||(x[5]=N=>gt(u)?u.value=N:null)},null,512),[[an,i(u)]])]),M("label",null,[x[22]||(x[22]=ze("URL ",-1)),Ue(M("input",{"onUpdate:modelValue":x[6]||(x[6]=N=>gt(c)?c.value=N:null)},null,512),[[an,i(c)]])])]),M("div",bie,[M("button",{class:"adv-toggle",onClick:x[7]||(x[7]=et(N=>S.value=!S.value,["stop"]))},ye(S.value?"▾ 收起高级":"▸ 高级"),1),S.value?(E(),F("div",wie,[M("label",null,[x[24]||(x[24]=ze("传输协议 ",-1)),Ue(M("select",{"onUpdate:modelValue":x[8]||(x[8]=N=>gt(f)?f.value=N:null)},[...x[23]||(x[23]=[M("option",{value:""},"tcp(默认)",-1),M("option",{value:"quic"},"quic",-1),M("option",{value:"kcp"},"kcp",-1),M("option",{value:"websocket"},"websocket",-1)])],512),[[sh,i(f)]])]),M("label",Sie,[Ue(M("input",{"onUpdate:modelValue":x[9]||(x[9]=N=>gt(v)?v.value=N:null),type:"checkbox"},null,512),[[Fs,i(v)]]),x[25]||(x[25]=ze(" TLS 传输 ",-1))]),M("label",null,[x[26]||(x[26]=ze("TLS SNI ",-1)),Ue(M("input",{"onUpdate:modelValue":x[10]||(x[10]=N=>gt(h)?h.value=N:null),placeholder:"frps.local"},null,512),[[an,i(h)]])]),M("label",null,[x[27]||(x[27]=ze("连接池 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[11]||(x[11]=N=>gt(g)?g.value=N:null),type:"number",min:"0"},null,512),[[an,i(g),void 0,{number:!0}]])]),x[33]||(x[33]=M("label",{class:"adv-sep"},"HTTP 访问端口 (frps vhostHTTPPort)",-1)),M("label",null,[x[28]||(x[28]=ze("vhostHTTPPort ",-1)),Ue(M("input",{"onUpdate:modelValue":x[12]||(x[12]=N=>gt(p)?p.value=N:null),type:"number",min:"0"},null,512),[[an,i(p),void 0,{number:!0}]])]),x[34]||(x[34]=M("label",{class:"adv-sep"},"本地 frpc 管理 API (M3)",-1)),x[35]||(x[35]=M("label",{class:"adv-check"},[ze("启用后状态页按真实代理状态展示 "),M("span",{class:"hint-txt"},"(adminPort > 0)")],-1)),M("label",null,[x[29]||(x[29]=ze("地址 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[13]||(x[13]=N=>gt(m)?m.value=N:null),placeholder:"127.0.0.1"},null,512),[[an,i(m)]])]),M("label",null,[x[30]||(x[30]=ze("端口 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[14]||(x[14]=N=>gt(y)?y.value=N:null),type:"number",min:"0",placeholder:"如 7400"},null,512),[[an,i(y),void 0,{number:!0}]])]),M("label",null,[x[31]||(x[31]=ze("用户 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[15]||(x[15]=N=>gt(b)?b.value=N:null),placeholder:"admin"},null,512),[[an,i(b)]])]),M("label",null,[x[32]||(x[32]=ze("密码 ",-1)),Ue(M("input",{"onUpdate:modelValue":x[16]||(x[16]=N=>gt(w)?w.value=N:null),type:"password",placeholder:"可选"},null,512),[[an,i(w)]])])])):se("",!0)])],2))}}),kie=ms(Cie,[["__scopeId","data-v-70d8e13d"]]),xie=["d","stroke","stroke-width"],OS=2,Eie=fe({__name:"PortEdge",props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{},style:{},selected:{type:Boolean,default:!1},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{},conflicted:{type:Boolean,default:!1}},emits:["label-click","label-drag"],setup(e,{emit:t}){const n=e,o=t,a=B({x:Number(n.data?.offsetX??0),y:Number(n.data?.offsetY??0)}),l=B(null);let s=!1,r=0,u=0,c={x:0,y:0},d=!1;const f=T=>{if(T.stopPropagation(),d=!0,s=!1,r=T.clientX,u=T.clientY,c={...a.value},l.value)try{l.value.setPointerCapture(T.pointerId)}catch{}T.preventDefault()},v=T=>{if(!d)return;const I=T.clientX-r,P=T.clientY-u;(Math.abs(I)>OS||Math.abs(P)>OS)&&(s=!0);const _=g();a.value={x:c.x+I/_,y:c.y+P/_},o("label-drag",{edgeId:n.id,offset:{...a.value}})},h=T=>{T.stopPropagation();const I=d;if(d=!1,l.value&&T.pointerId!=null)try{l.value.releasePointerCapture?.(T.pointerId)}catch{}I&&(s||o("label-click",{edgeId:n.id}))};function g(){const T=document.querySelector(".vue-flow__viewport");if(!T)return 1;const I=/scale\(([0-9.]+)\)/.exec(T.style.transform||"");if(!I)return 1;const P=Number(I[1]);return P>0?P:1}const p=C(()=>Number(n.data?.layer??0)),m=C(()=>String(n.label??"")||"?"),y=C(()=>{const T=p.value,I=T%2===0?1:-1,P=(Math.floor(T/2)+1)*16;return I*P}),b=C(()=>y.value+a.value.y),w=C(()=>{const{sourceX:T,sourceY:I,sourcePosition:P,targetX:_,targetY:H,targetPosition:L}=n;return N(T,I,P,_,H,L,b.value)}),S=C(()=>$(w.value)),k=C(()=>({position:"absolute",transform:`translate(${S.value.x+a.value.x}px, ${S.value.y}px) translate(-50%, -50%)`,pointerEvents:"all",cursor:"grab",zIndex:10})),x=C(()=>{if(n.conflicted)return"#f5222d";const T=p.value,I=["#409eff","#67c23a","#e6a23c","#f56c6c","#909399","#409eff"];return I[T%I.length]});function N(T,I,P,_,H,L,z){const O=Math.abs(_-T),R=Math.max(O*.45,40);let D=T,K=I,V=_,Y=H;P==="Right"?D=T:P==="Left"?D=T-R:P==="Top"?(D=T,K=I):D=T,L==="Left"?V=_:L==="Right"?V=_+R:L==="Top"&&(Y=H);const G=D+(V-D)*.5,q=K+z,X=V-(V-D)*.5,Z=Y+z;return`M ${D} ${K} C ${G} ${q}, ${X} ${Z}, ${V} ${Y}`}function $(T){const I=T.replace("M","").replace("C","").split(/[ ,]+/).filter(q=>q.length>0).map(Number);if(I.length<8)return{x:0,y:0};const P=I[0]??0,_=I[1]??0,H=I[2]??0,L=I[3]??0,z=I[4]??0,O=I[5]??0,R=I[6]??0,D=I[7]??0,K=.5,V=1-K,Y=V*V*V*P+3*V*V*K*H+3*V*K*K*z+K*K*K*R,G=V*V*V*_+3*V*V*K*L+3*V*K*K*O+K*K*K*D;return{x:Y,y:G}}return(T,I)=>(E(),F("g",{class:A(["port-edge",{selected:e.selected}])},[M("path",{d:w.value,class:A(["port-edge-path",{selected:e.selected,conflicted:e.conflicted}]),fill:"none",stroke:x.value,"stroke-width":e.selected?3.5:2.5},null,10,xie),ee(i(Fre),null,{default:ie(()=>[M("div",{ref_key:"labelEl",ref:l,class:A(["port-label",{dragging:i(d)}]),style:Fe(k.value),onPointerdown:et(f,["stop","prevent"]),onPointermove:v,onPointerup:h,onPointercancel:h},ye(m.value),39)]),_:1})],2))}}),$ie=ms(Eie,[["__scopeId","data-v-2791f2b6"]]);class Tie extends Error{status;constructor(t,n){super(n),this.status=t}}async function Pn(e,t={}){const n=await fetch(e,{credentials:"same-origin",...t});if(!n.ok)throw new Tie(n.status,`HTTP ${n.status}`);return(n.headers.get("content-type")||"").includes("application/json")?n.json():n.text()}const qv=e=>({method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),qn={status:()=>Pn("/api/manager/status"),canvas:()=>Pn("/api/manager/canvas"),saveCanvas:e=>Pn("/api/manager/canvas",qv(e)),settings:()=>Pn("/api/manager/settings"),saveSettings:e=>Pn("/api/manager/settings",qv(e)),binaryStatus:()=>Pn("/api/manager/binary/status"),installBinary:e=>Pn("/api/manager/binary/install",{method:"POST",headers:{"Content-Type":"application/json"},body:e?JSON.stringify({version:e}):void 0}),saveRemote:e=>Pn("/api/manager/remotes",qv(e)),deleteRemote:e=>Pn(`/api/manager/remotes/${encodeURIComponent(e)}`,{method:"DELETE"}),profileStart:e=>Pn(`/api/manager/profiles/${encodeURIComponent(e)}/start`,{method:"POST"}),profileStop:e=>Pn(`/api/manager/profiles/${encodeURIComponent(e)}/stop`,{method:"POST"}),profileRestart:e=>Pn(`/api/manager/profiles/${encodeURIComponent(e)}/restart`,{method:"POST"}),profileConfig:e=>Pn(`/api/manager/profiles/${encodeURIComponent(e)}/config`),profileLogs:e=>Pn(`/api/manager/profiles/${encodeURIComponent(e)}/logs`),clusterNodes:()=>Pn("/api/manager/cluster/nodes"),clusterCache:()=>Pn("/api/manager/cluster/cache"),pruneCache:e=>Pn("/api/manager/cluster/cache",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keep:e})}),ring:()=>Pn("/api/manager/cluster/ring"),clusterCreate:()=>Pn("/api/manager/cluster/create",{method:"POST"}),clusterJoinRing:e=>Pn("/api/manager/cluster/join-ring",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({addr:e})}),clusterRemoveNode:e=>Pn("/api/manager/cluster/node-remove",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})},Nie={class:"canvas-editor"},_ie={class:"toolbar"},Iie={class:"toolbar-right"},Mie={class:"save-hint"},Oie=["disabled"],Pie={class:"flow-wrap"},Rie={class:"dlg-row"},Aie={class:"dlg-value"},Die={class:"dlg-row"},Lie=fe({__name:"CanvasView",setup(e){const t=B([]),n=B([]),o=B(!1),a=B([]),l=C(()=>{const q=new Set;for(const X of a.value)for(const Z of X.edgeIds)q.add(Z);return q}),s=B(!1),r=B(!1),u=B({visible:!1,isNew:!1,local:"",remote:"",remotePort:0,pendingEdge:null}),c=B(""),d=(q,X,Z,J,ae)=>{u.value={visible:!0,isNew:J,local:q,remote:X,remotePort:Z,pendingEdge:ae??null},c.value=String(Z)},f=q=>t.value.find(X=>X.type==="local"&&X.data?.name===q)?.data,v=()=>{const q=[],X=new Map;for(const Z of n.value){const J=Z.source.startsWith("local::")?Z.source.slice(7):"",ae=Z.target.startsWith("remote::")?Z.target.slice(8):"";if(!J||!ae)continue;const ve=f(J),me=Number(Z.label);!ve||isNaN(me)||me<=0||(X.has(ae)||X.set(ae,[]),X.get(ae).push({edgeId:Z.id,local:J,remotePort:me,type:ve.protocol}))}for(const[Z,J]of X){const ae=new Map;for(const me of J)me.type!=="tcp"&&me.type!=="udp"||(ae.has(me.remotePort)||ae.set(me.remotePort,[]),ae.get(me.remotePort).push({local:me.local,edgeId:me.edgeId}));for(const[me,oe]of ae)oe.length<2||q.push({type:"port",remote:Z,remotePort:me,locals:oe.map(re=>re.local),edgeIds:oe.map(re=>re.edgeId)});const ve=new Map;for(const me of J){if(me.type!=="http"&&me.type!=="https")continue;const oe=me.local+".local";ve.has(oe)||ve.set(oe,[]),ve.get(oe).push({local:me.local,edgeId:me.edgeId})}for(const[me,oe]of ve)oe.length<2||q.push({type:"domain",remote:Z,domain:me,locals:oe.map(re=>re.local),edgeIds:oe.map(re=>re.edgeId)})}return a.value=q,q},h=q=>a.value.some(X=>X.remote===q),g=q=>a.value.some(X=>X.locals.includes(q)),p=q=>l.value.has(q),m=(q,X)=>`${q}::${X}`,y=()=>{const q=`local-${t.value.filter(Z=>Z.type==="local").length+1}`,X={name:q,ip:"127.0.0.1",port:8080,protocol:"tcp"};t.value.push({id:m("local",q),type:"local",position:{x:60,y:90+t.value.filter(Z=>Z.type==="local").length*140},data:X}),r.value=!0},b=()=>{const q=`remote-${t.value.filter(Z=>Z.type==="remote").length+1}`,X={name:q,ip:"127.0.0.1",port:7e3,token:"",url:"",enabled:!0};t.value.push({id:m("remote",q),type:"remote",position:{x:760,y:90+t.value.filter(Z=>Z.type==="remote").length*160},data:X}),r.value=!0},w=q=>{t.value=t.value.filter(X=>!(X.type==="local"&&X.data?.name===q)),n.value=n.value.filter(X=>X.source!==m("local",q)),r.value=!0,v()},S=q=>{t.value=t.value.filter(X=>!(X.type==="remote"&&X.data?.name===q)),n.value=n.value.filter(X=>X.target!==m("remote",q)),r.value=!0,v()},k=(q,X,Z)=>`${q}-->${X}@${Z}`,x=q=>{const X=q.source.startsWith("local::")?q.source.slice(7):"",Z=q.target.startsWith("remote::")?q.target.slice(8):"";if(!X||!Z)return;const J=f(X);J&&d(X,Z,J.port,!0,{id:k(q.source,q.target,J.port),source:q.source,target:q.target})},N=()=>{const q=u.value,X=Number(c.value);if(!Number.isInteger(X)||X<1||X>65535){En.warning("请输入 1-65535 的整数端口");return}if(q.remotePort=X,q.isNew&&q.pendingEdge){const Z=k(q.pendingEdge.source,q.pendingEdge.target,q.remotePort),J=n.value.find(ae=>ae.id===Z);J?J.label=String(q.remotePort):(n.value.push({id:Z,source:q.pendingEdge.source,target:q.pendingEdge.target,label:String(q.remotePort),type:"portedge",animated:!1,data:{}}),P())}else if(q.pendingEdge){const Z=q.pendingEdge,J=k(Z.source,Z.target,q.remotePort);if(n.value.find(ve=>ve.id===J&&ve!==Z)){En.warning("该端口已被同一条连线占用");return}Z.id!==J&&(Z.id=J),Z.label=String(q.remotePort)}u.value.visible=!1,r.value=!0},$=q=>{const X=q.source.startsWith("local::")?q.source.slice(7):"",Z=q.target.startsWith("remote::")?q.target.slice(8):"",J=f(X);d(X,Z,Number(q.label)||(J?J.port:0),!1,q)},T=({edgeId:q})=>{const X=n.value.find(Z=>Z.id===q);X&&$(X)},I=({edgeId:q,offset:X})=>{const Z=n.value.find(J=>J.id===q);Z&&(Z.data={...Z.data,offsetX:X.x,offsetY:X.y},r.value=!0)},P=()=>{const q=new Map;for(const X of n.value){const Z=`${X.source}||${X.target}`,J=q.get(Z)??0;q.set(Z,J+1),X.data={...X.data,layer:J}}v()},_=q=>{const X=t.value.find(Z=>Z.type==="local"&&Z.data?.name===q.name);X&&(X.data={...q}),r.value=!0},H=q=>{const X=t.value.find(Z=>Z.type==="remote"&&Z.data?.name===q.name);X&&(X.data={...q}),r.value=!0},L=({edge:q})=>{$(q)},z=()=>{const q=v();if(q.length===0)return!0;const X=q.map(Z=>{const J=Z.locals.join("、");return Z.type==="port"?`· 本地服务「${J}」→ 远程节点「${Z.remote}」:远程端口 ${Z.remotePort} 重复`:`· 本地服务「${J}」→ 远程节点「${Z.remote}」:域名 ${Z.domain} 重复(一个域名只能绑定一个 http/https 服务)`});return vT.alert(`
${X.join("
")}
`,"发现连接冲突,请检查标红的节点与连线",{confirmButtonText:"知道了",dangerouslyUseHTMLString:!0,type:"warning"}),!1},O=()=>{v(),t.value.forEach(q=>{q.selected=!1})},R=C(()=>t.value.filter(q=>q.type==="local")),D=C(()=>t.value.filter(q=>q.type==="remote")),K=()=>{let q=0,X=0;for(const Z of t.value)Z.type==="local"?(Z.position={x:60,y:90+q*140},q++):(Z.position={x:760,y:90+X*160},X++)},V=async()=>{o.value=!0;try{const q=await qn.canvas();t.value=[],n.value=[];let X=0,Z=0;for(const J of q.locals||[])t.value.push({id:m("local",J.name),type:"local",position:{x:60,y:90+X*140},data:{...J}}),X++;for(const J of q.remotes||[])t.value.push({id:m("remote",J.name),type:"remote",position:{x:760,y:90+Z*160},data:{...J}}),Z++;for(const J of q.links||[]){const ae=m("local",J.local),ve=m("remote",J.remote);if(!t.value.some(oe=>oe.id===ae)||!t.value.some(oe=>oe.id===ve))continue;const me=J.remotePort||f(J.local)?.port||0;n.value.push({id:k(ae,ve,me),source:ae,target:ve,label:String(me),type:"portedge",animated:!1,data:{offsetX:J.offsetX??0,offsetY:J.offsetY??0}})}P(),r.value=!1}finally{o.value=!1}},Y=()=>{const q=R.value.map(J=>({...J.data})),X=D.value.map(J=>({...J.data})),Z=[];for(const J of n.value){const ae=J.source.startsWith("local::")?J.source.slice(7):"",ve=J.target.startsWith("remote::")?J.target.slice(8):"",me=Number(J.label);Z.push({local:ae,remote:ve,remotePort:isNaN(me)||me<=0?0:me,offsetX:J.data?.offsetX??0,offsetY:J.data?.offsetY??0})}return{locals:q,remotes:X,links:Z}},G=async()=>{if(z()){s.value=!0;try{const q=await qn.saveCanvas(Y()),X=new Map(t.value.map(ae=>[ae.id,ae.position]));t.value=[];let Z=0,J=0;for(const ae of q.locals||[]){const ve=m("local",ae.name);t.value.push({id:ve,type:"local",position:X.get(ve)||{x:60,y:90+Z*140},data:{...ae}}),Z++}for(const ae of q.remotes||[]){const ve=m("remote",ae.name);t.value.push({id:ve,type:"remote",position:X.get(ve)||{x:760,y:90+J*160},data:{...ae}}),J++}n.value=[];for(const ae of q.links||[]){const ve=m("local",ae.local),me=m("remote",ae.remote),oe=ae.remotePort||f(ae.local)?.port||0;n.value.push({id:k(ve,me,oe),source:ve,target:me,label:String(oe),type:"portedge",data:{offsetX:ae.offsetX??0,offsetY:ae.offsetY??0}})}P(),r.value=!1,En.success("配置已保存")}catch(q){En.error("保存失败: "+(q.message||q))}finally{s.value=!1}}};return st(V),(q,X)=>{const Z=Ot("el-input"),J=Ot("el-dialog");return E(),F("div",Nie,[M("div",_ie,[M("div",{class:"toolbar-left"},[X[5]||(X[5]=M("span",{class:"toolbar-title"},"连接配置",-1)),M("button",{class:"btn local-add",onClick:y},"+ 本地转发项"),M("button",{class:"btn remote-add",onClick:b},"+ 远程节点"),M("button",{class:"btn warn",onClick:K},"自动排列")]),M("div",Iie,[M("span",Mie,ye(r.value?"● 未保存":"已保存"),1),M("button",{class:"btn save",disabled:s.value,onClick:G}," 保存配置 ",8,Oie)])]),M("div",Pie,[ee(i(qre),{nodes:t.value,"onUpdate:nodes":X[0]||(X[0]=ae=>t.value=ae),edges:n.value,"onUpdate:edges":X[1]||(X[1]=ae=>n.value=ae),"default-viewport":{zoom:.85},"min-zoom":.3,"max-zoom":2,"fit-view-on-init":"","delete-key-code":null,"edges-updatable":!1,"edges-reconnectable":!1,class:"flow-canvas",onConnect:x,onPaneClick:O,onEdgeClick:L},{"node-local":ie(ae=>[ee(hie,{data:ae.data,selected:!!ae.selected,conflicted:g(ae.data?.name),onRemove:w,"onUpdate:data":_},null,8,["data","selected","conflicted"])]),"node-remote":ie(ae=>[ee(kie,{data:ae.data,selected:!!ae.selected,conflicted:h(ae.data?.name),onRemove:S,"onUpdate:data":H},null,8,["data","selected","conflicted"])]),"edge-portedge":ie(ae=>[ee($ie,ft(ae,{conflicted:p(ae.id),onLabelClick:T,onLabelDrag:I}),null,16,["conflicted"])]),default:ie(()=>[ee(i(tie),{"pattern-color":"#cfd8dc",gap:20})]),_:1},8,["nodes","edges"])]),ee(J,{modelValue:u.value.visible,"onUpdate:modelValue":X[4]||(X[4]=ae=>u.value.visible=ae),title:u.value.isNew?"新建连线":"编辑远程端口",width:"400px"},{footer:ie(()=>[M("button",{class:"btn",onClick:X[3]||(X[3]=ae=>u.value.visible=!1)},"取消"),M("button",{class:"btn save",onClick:N},"确定")]),default:ie(()=>[M("div",Rie,[X[6]||(X[6]=M("label",null,"连接",-1)),M("span",Aie,ye(u.value.local)+" → "+ye(u.value.remote),1)]),M("div",Die,[X[7]||(X[7]=M("label",null,"远程端口",-1)),ee(Z,{modelValue:c.value,"onUpdate:modelValue":X[2]||(X[2]=ae=>c.value=ae),type:"number",min:"1",max:"65535",placeholder:"默认 = 本地端口",class:"port-input",onKeyup:sn(N,["enter"])},null,8,["modelValue"])])]),_:1},8,["modelValue","title"])])}}}),Bie=ms(Lie,[["__scopeId","data-v-a2ae9a16"]]),Vie={class:"settings-page"},Fie={class:"page-content"},zie={class:"panel"},Hie={class:"binary-row"},Kie=["disabled"],Wie={key:0,class:"binary-info"},jie={class:"info-value"},Yie={key:0,class:"info-version"},Uie={class:"panel"},qie={class:"setting-row"},Gie={class:"setting-row"},Xie={class:"setting-row"},Zie=fe({__name:"SettingsView",setup(e){const t=B(!1),n=B(!1),o=B(""),a=B(null),l=B({autoStartProfiles:!0,restartOnExit:!0,restartIntervalSeconds:5}),s=async()=>{t.value=!0;try{l.value=await qn.settings(),o.value=l.value.binaryPath||"";try{a.value=await qn.binaryStatus()}catch{a.value=null}}finally{t.value=!1}},r=async()=>{try{const d=await qn.settings();d.binaryPath=o.value.trim(),await qn.saveSettings(d),l.value=d;const f=o.value.trim();En.success(f?`worker 将使用 ${f}`:"worker 将使用管理器自身(默认)"),await s()}catch(d){En.error("保存 frpc 路径失败: "+(d.message||d))}},u=async()=>{n.value=!0;try{const d=await qn.installBinary();o.value=d.path,En.success(`已安装 frpc ${d.version}`),await s()}catch(d){En.error("安装失败: "+(d.message||d))}finally{n.value=!1}},c=async()=>{try{await qn.saveSettings(l.value),En.success("运行策略已保存")}catch(d){En.error("保存失败: "+(d.message||d))}};return st(s),(d,f)=>{const v=Ot("el-input"),h=Ot("el-icon"),g=Ot("el-switch"),p=Ot("el-input-number"),m=zm("loading");return E(),F("div",Vie,[f[11]||(f[11]=M("div",{class:"page-top"},[M("div",{class:"page-header"},[M("h2",{class:"page-title"},"运行时设置"),M("p",{class:"page-subtitle"},"worker 二进制与运行策略")])],-1)),Ue((E(),F("div",Fie,[M("section",zie,[f[5]||(f[5]=M("h3",{class:"panel-title"},"frpc 可执行文件",-1)),f[6]||(f[6]=M("p",{class:"panel-desc"}," 用于拉起各 remote profile 的 frpc worker 进程。留空则使用管理器自身进程。 ",-1)),M("div",Hie,[ee(v,{modelValue:o.value,"onUpdate:modelValue":f[0]||(f[0]=y=>o.value=y),placeholder:"如 /usr/local/bin/frpc,留空用当前进程",clearable:"",size:"large",class:"binary-input",onBlur:r,onKeyup:sn(r,["enter"])},null,8,["modelValue"]),M("button",{class:"btn install-btn",disabled:n.value,onClick:u},[n.value?(E(),de(h,{key:0,class:"spin"},{default:ie(()=>[ee(i(sa))]),_:1})):se("",!0),ze(" "+ye(n.value?"安装中…":"一键安装 frpc"),1)],8,Kie)]),a.value?(E(),F("div",Wie,[f[4]||(f[4]=M("span",{class:"info-label"},"当前路径",-1)),M("code",jie,ye(a.value.binaryPath),1),a.value.version?(E(),F("span",Yie,ye(a.value.version),1)):se("",!0)])):se("",!0)]),M("section",Uie,[f[10]||(f[10]=M("h3",{class:"panel-title"},"运行策略",-1)),M("div",qie,[f[7]||(f[7]=M("div",{class:"setting-text"},[M("span",{class:"setting-label"},"自动启动 profile"),M("span",{class:"setting-hint"},"管理器启动时自动拉起所有已启用的 remote")],-1)),ee(g,{modelValue:l.value.autoStartProfiles,"onUpdate:modelValue":f[1]||(f[1]=y=>l.value.autoStartProfiles=y),onChange:c},null,8,["modelValue"])]),M("div",Gie,[f[8]||(f[8]=M("div",{class:"setting-text"},[M("span",{class:"setting-label"},"异常退出自动重启"),M("span",{class:"setting-hint"},"worker 崩溃后带退避重启")],-1)),ee(g,{modelValue:l.value.restartOnExit,"onUpdate:modelValue":f[2]||(f[2]=y=>l.value.restartOnExit=y),onChange:c},null,8,["modelValue"])]),M("div",Xie,[f[9]||(f[9]=M("div",{class:"setting-text"},[M("span",{class:"setting-label"},"重启间隔(秒)"),M("span",{class:"setting-hint"},"崩溃重启的指数退避基数")],-1)),ee(p,{modelValue:l.value.restartIntervalSeconds,"onUpdate:modelValue":f[3]||(f[3]=y=>l.value.restartIntervalSeconds=y),min:1,max:3600,onChange:c},null,8,["modelValue"])])])])),[[m,t.value]])])}}}),Jie=ms(Zie,[["__scopeId","data-v-42a55655"]]),Qie={class:"status-page"},eue={key:0,class:"kpis"},tue={class:"w4f-kpi"},nue={class:"k-hdr"},oue={class:"k-lab"},aue={class:"k-val"},lue={class:"k-sub"},sue={class:"w4f-kpi"},rue={class:"k-hdr"},iue={class:"k-lab"},uue={class:"k-val"},cue={class:"w4f-kpi"},due={class:"k-val"},fue={class:"w4f-kpi"},pue={class:"k-hdr"},vue={class:"k-lab"},hue={class:"k-val"},mue={key:1,class:"status-body"},gue={class:"section"},yue={class:"card-grid"},bue={class:"nc-head"},wue={class:"nc-name"},Sue={class:"nc-actions"},Cue=["onClick"],kue=["onClick"],xue=["onClick"],Eue=["onClick"],$ue={class:"nc-meta"},Tue={key:0,class:"meta-pill"},Nue={key:1,class:"meta-pill warn"},_ue=["title"],Iue={key:3,class:"meta-pill info"},Mue={key:0,class:"nc-forwards"},Oue={key:1,class:"nc-groups"},Pue={class:"w4f-tag w4f-tag-info"},Rue={key:2,class:"nc-proxies"},Aue={class:"np-name"},Due={class:"np-status"},Lue={key:0,class:"np-addr"},Bue=["title"],Vue={key:3,class:"nc-proxies-empty"},Fue={key:0,class:"empty"},zue={class:"section"},Hue={class:"card-grid"},Kue={class:"lc-head"},Wue={class:"lc-name"},jue={class:"lc-addr"},Yue={class:"w4f-tag w4f-tag-primary"},Uue={class:"lc-targets"},que={class:"lc-remote"},Gue={class:"lc-port"},Xue={key:0,class:"lc-none"},Zue={key:0,class:"empty"},Jue={class:"form-row"},Que={class:"form-row"},ece={class:"form-row"},tce={class:"form-row"},nce={class:"form-row"},oce={class:"form-row"},ace=fe({__name:"StatusView",setup(e){const t=B(null);let n=null;const o=()=>({name:"",ip:"",port:7e3,token:"",url:"",enabled:!0}),a=zt({visible:!1,isNew:!0,remote:o()}),l=()=>{a.isNew=!0,a.remote=o(),a.visible=!0},s=I=>{const P=t.value?.remotes.find(_=>_.name===I.name);a.isNew=!1,a.remote=P?{...P}:{name:I.name,ip:"",port:7e3,token:"",url:"",enabled:!0},a.visible=!0},r=async()=>{const I=a.remote;if(!I.name||!I.ip||I.port<=0){En.warning("请填写名称、IP、端口");return}try{await qn.saveRemote(I),a.visible=!1,En.success(a.isNew?"节点已添加":"节点已更新"),await f()}catch(P){En.error("保存失败: "+(P.message||P))}},u=async I=>{try{await qn.profileStart(I),await f()}catch(P){En.error("启动失败: "+(P.message||P))}},c=async I=>{try{await qn.profileStop(I),await f()}catch(P){En.error("停止失败: "+(P.message||P))}},d=async I=>{if(window.confirm(`删除远程节点 ${I}?`))try{await qn.deleteRemote(I),await f()}catch(P){En.error("删除失败: "+(P.message||P))}},f=async()=>{try{t.value=await qn.status()}catch{}},v=I=>I==="running",h=C(()=>t.value?.profiles.filter(I=>I.process.state==="running").length??0),g=C(()=>t.value?.profiles.filter(I=>I.connState==="connected").length??0),p=C(()=>(t.value?.profiles.length??0)>0&&g.value===t.value?.profiles.length),m=C(()=>t.value?.profiles.reduce((I,P)=>I+P.forwards.length,0)??0),y=I=>{switch(I){case"connected":return"已连接";case"connecting":return"连接中";case"failed":return"连接失败";case"disabled":return"已停用";default:return"未启动"}},b=I=>{switch(I){case"connected":return"w4f-tag-ok";case"connecting":return"w4f-tag-info";case"failed":return"w4f-tag-danger";default:return"w4f-tag-warn"}},w=I=>{switch(I){case"connected":return"";case"connecting":return"pending";case"failed":return"err";default:return""}},S=I=>{switch(I){case"running":return"运行中";case"wait start":return"等待启动";case"start error":return"启动错误";case"check failed":return"健康检查失败";case"closed":return"已关闭";default:return"新建"}},k=I=>{switch(I){case"running":return"ok";case"check failed":case"start error":return"err";case"wait start":return"pending";default:return""}},x=I=>I==="running"?"ok":I==="check failed"||I==="start error"?"err":"",N=I=>I==="running"?"100%":I==="wait start"?"45%":I==="new"?"15%":"30%",$=I=>{switch(I){case"running":return"运行中";case"starting":return"启动中";case"restarting":return"重启中";case"crashed":return"异常";default:return"未启动"}},T=I=>t.value?.remotes.find(P=>P.name===I)?.vhostHttpPort||0;return st(()=>{f(),n=window.setInterval(f,5e3)}),Ht(()=>{n!==null&&(window.clearInterval(n),n=null)}),(I,P)=>{const _=Ot("el-input"),H=Ot("el-input-number"),L=Ot("el-switch"),z=Ot("el-dialog");return E(),F("div",Qie,[M("div",{class:"topbar w4f-card"},[P[8]||(P[8]=M("div",{class:"tb-left"},[M("h2",{class:"page-title"},"状态总览"),M("span",{class:"page-sub"},"每 5 秒自动刷新 · frpc worker 进程态 + frps 连接态")],-1)),M("div",{class:"tb-right"},[M("button",{class:"w4f-btn ghost small",onClick:f},"⟳ 刷新"),M("button",{class:"w4f-btn small",onClick:l},"+ 添加远程节点")])]),t.value?(E(),F("div",eue,[M("div",tue,[M("div",nue,[M("span",oue,[M("span",{class:A(["w4f-dot",{err:!p.value}])},null,2),P[9]||(P[9]=ze("远程节点",-1))]),P[10]||(P[10]=M("span",{class:"k-ic"},"⊕",-1))]),M("div",aue,ye(t.value.profiles.length),1),M("div",lue,"在线 "+ye(g.value)+" · 离线 "+ye(t.value.profiles.length-g.value),1)]),M("div",sue,[M("div",rue,[M("span",iue,[M("span",{class:A(["w4f-dot",{err:h.value===0&&t.value.profiles.length>0}])},null,2),P[11]||(P[11]=ze("worker 进程",-1))]),P[12]||(P[12]=M("span",{class:"k-ic"},"⚙",-1))]),M("div",uue,ye(h.value),1),P[13]||(P[13]=M("div",{class:"k-sub"},"运行中 frpc 进程数",-1))]),M("div",cue,[P[14]||(P[14]=M("div",{class:"k-hdr"},[M("span",{class:"k-lab"},[M("span",{class:"w4f-dot"}),ze("本地服务")]),M("span",{class:"k-ic"},"◳")],-1)),M("div",due,ye(t.value.localStatus.length),1),P[15]||(P[15]=M("div",{class:"k-sub"},"已配置本地服务",-1))]),M("div",fue,[M("div",pue,[M("span",vue,[M("span",{class:A(["w4f-dot",{pending:m.value>0}])},null,2),P[16]||(P[16]=ze("活跃转发",-1))]),P[17]||(P[17]=M("span",{class:"k-ic"},"→",-1))]),M("div",hue,ye(m.value),1),P[18]||(P[18]=M("div",{class:"k-sub"},"已编排转发链路",-1))])])):se("",!0),t.value?(E(),F("div",mue,[M("section",gue,[P[19]||(P[19]=M("h3",{class:"section-title"},[M("span",{class:"k-ic"},"⊕"),ze("远程节点状态"),M("span",{class:"hint"},"管理本地 frpc worker 进程(不管理远程 frps)")],-1)),M("div",yue,[(E(!0),F(Oe,null,mt(t.value.profiles,O=>(E(),F("div",{key:O.name,class:A(["node-card w4f-card",{healthy:v(O.process.state)}])},[M("div",bue,[M("span",wue,ye(O.name),1),M("span",{class:A(["w4f-tag",b(O.connState)])},[M("span",{class:A(["w4f-dot",w(O.connState)])},null,2),ze(ye(y(O.connState)),1)],2),M("span",Sue,[O.process.state==="running"?(E(),F("button",{key:0,class:"w4f-btn ghost small",onClick:R=>c(O.name)},"停 worker",8,Cue)):(E(),F("button",{key:1,class:"w4f-btn small",onClick:R=>u(O.name)},"启 worker",8,kue)),M("button",{class:"w4f-btn ghost small",onClick:R=>s(O)},"编辑",8,xue),M("button",{class:"w4f-btn danger small",onClick:R=>d(O.name)},"删除",8,Eue)])]),M("div",$ue,[O.process.pid?(E(),F("span",Tue,"pid "+ye(O.process.pid),1)):se("",!0),O.process.restartCount?(E(),F("span",Nue,"重启 "+ye(O.process.restartCount),1)):se("",!0),O.process.err?(E(),F("span",{key:2,class:"meta-pill err",title:O.process.err},ye(O.process.err),9,_ue)):se("",!0),T(O.name)?(E(),F("span",Iue,"HTTP :"+ye(T(O.name)),1)):se("",!0)]),O.forwards.length?(E(),F("div",Mue,[(E(!0),F(Oe,null,mt(O.forwards,R=>(E(),F("span",{key:R.service,class:"w4f-tag w4f-tag-primary"},ye(R.service)+" → :"+ye(R.remotePort),1))),128))])):se("",!0),O.groupCount?(E(),F("div",Oue,[M("span",Pue,"LB ×"+ye(O.groupCount),1)])):se("",!0),O.proxyStates?.length?(E(),F("div",Rue,[(E(!0),F(Oe,null,mt(O.proxyStates,R=>(E(),F("div",{key:R.name,class:A(["nc-proxy",k(R.status)])},[M("span",Aue,ye(R.name),1),M("span",Due,ye(S(R.status)),1),M("div",{class:A(["w4f-bar",x(R.status)])},[M("i",{style:Fe({width:N(R.status)})},null,4)],2),R.remote_addr?(E(),F("span",Lue,ye(R.remote_addr),1)):se("",!0),R.err?(E(),F("span",{key:1,class:"np-err",title:R.err},ye(R.err),9,Bue)):se("",!0)],2))),128))])):O.adminEnabled?(E(),F("div",Vue," 管理 API 未返回状态(frpc 未连上远程 frps 或无代理) ")):se("",!0)],2))),128)),t.value.profiles.length?se("",!0):(E(),F("div",Fue,"尚未配置远程节点 — 点击右上「+ 添加远程节点」"))])]),M("section",zue,[P[21]||(P[21]=M("h3",{class:"section-title"},[M("span",{class:"k-ic"},"◳"),ze("本地服务转发"),M("span",{class:"hint"},"本地服务经 frpc worker 转发至远程 frps")],-1)),M("div",Hue,[(E(!0),F(Oe,null,mt(t.value.localStatus,O=>(E(),F("div",{key:O.local.name,class:"local-card w4f-card"},[M("div",Kue,[M("span",Wue,ye(O.local.name),1),M("span",jue,ye(O.local.ip)+":"+ye(O.local.port),1),M("span",Yue,ye(O.local.protocol),1)]),M("div",Uue,[(E(!0),F(Oe,null,mt(O.targets,R=>(E(),F("div",{key:R.remote+":"+R.remotePort,class:"lc-target"},[P[20]||(P[20]=M("span",{class:"lc-arrow"},"→",-1)),M("span",que,ye(R.remote),1),M("span",Gue,":"+ye(R.remotePort),1),M("span",{class:A(["w4f-tag",v(R.workerState)?"w4f-tag-ok":"w4f-tag-danger"])},ye($(R.workerState)),3)]))),128)),O.targets.length?se("",!0):(E(),F("div",Xue,"未转发"))])]))),128)),t.value.localStatus.length?se("",!0):(E(),F("div",Zue,"尚未配置本地服务 — 前往「连接配置」画布编排"))])])])):se("",!0),ee(z,{modelValue:a.visible,"onUpdate:modelValue":P[7]||(P[7]=O=>a.visible=O),title:a.isNew?"添加远程节点":"编辑远程节点",width:"440px"},{footer:ie(()=>[M("button",{class:"w4f-btn ghost small",onClick:P[6]||(P[6]=O=>a.visible=!1)},"取消"),M("button",{class:"w4f-btn small",onClick:r},"保存")]),default:ie(()=>[M("div",Jue,[P[22]||(P[22]=M("label",null,"名称",-1)),ee(_,{modelValue:a.remote.name,"onUpdate:modelValue":P[0]||(P[0]=O=>a.remote.name=O),disabled:!a.isNew,placeholder:"如 aliyun-hz"},null,8,["modelValue","disabled"])]),M("div",Que,[P[23]||(P[23]=M("label",null,"服务器 IP",-1)),ee(_,{modelValue:a.remote.ip,"onUpdate:modelValue":P[1]||(P[1]=O=>a.remote.ip=O),placeholder:"frps 地址"},null,8,["modelValue"])]),M("div",ece,[P[24]||(P[24]=M("label",null,"端口",-1)),ee(H,{modelValue:a.remote.port,"onUpdate:modelValue":P[2]||(P[2]=O=>a.remote.port=O),min:1,max:65535},null,8,["modelValue"])]),M("div",tce,[P[25]||(P[25]=M("label",null,"Token",-1)),ee(_,{modelValue:a.remote.token,"onUpdate:modelValue":P[3]||(P[3]=O=>a.remote.token=O),placeholder:"可选"},null,8,["modelValue"])]),M("div",nce,[P[26]||(P[26]=M("label",null,"URL",-1)),ee(_,{modelValue:a.remote.url,"onUpdate:modelValue":P[4]||(P[4]=O=>a.remote.url=O),placeholder:"可选"},null,8,["modelValue"])]),M("div",oce,[P[27]||(P[27]=M("label",null,"启用",-1)),ee(L,{modelValue:a.remote.enabled,"onUpdate:modelValue":P[5]||(P[5]=O=>a.remote.enabled=O)},null,8,["modelValue"])])]),_:1},8,["modelValue","title"])])}}}),lce=ms(ace,[["__scopeId","data-v-377c7184"]]),sce={class:"cluster-page"},rce={class:"hero w4f-card"},ice={key:0,class:"hero-stats"},uce={class:"w4f-tag w4f-tag-info"},cce={class:"w4f-tag w4f-tag-primary"},dce={key:0,class:"w4f-tag w4f-tag-primary"},fce={key:0,class:"kpis"},pce={class:"w4f-kpi"},vce={class:"k-hdr"},hce={class:"k-lab"},mce={class:"k-val"},gce={class:"k-sub"},yce={class:"w4f-kpi"},bce={class:"k-val"},wce={class:"w4f-kpi"},Sce={class:"k-hdr"},Cce={class:"k-lab"},kce={class:"k-val"},xce={class:"w4f-kpi"},Ece={class:"k-val"},$ce={class:"toolbar w4f-card"},Tce=["disabled"],Nce=["disabled"],_ce={key:0,class:"act-hint"},Ice={key:1,class:"act-hint"},Mce=["disabled"],Oce=["disabled"],Pce={key:1,class:"cluster-body"},Rce={class:"section w4f-card"},Ace={class:"ring-line"},Dce={class:"rn-top"},Lce={class:"rn-id"},Bce={key:0,class:"w4f-tag w4f-tag-primary"},Vce={key:1,class:"w4f-tag w4f-tag-info"},Fce={key:2,class:"w4f-tag w4f-tag-danger"},zce={class:"rn-load-row"},Hce={class:"rn-load-label"},Kce={class:"w4f-bar"},Wce={class:"rn-addr"},jce=["disabled","onClick"],Yce={key:0,class:"ring-arrow"},Uce={key:0,class:"empty"},qce={key:0,class:"section w4f-card"},Gce={class:"task-list"},Xce={class:"tk-id"},Zce={class:"tk-name"},Jce={class:"tk-name"},Qce={class:"tk-name"},ede={class:"tk-port"},tde={class:"section w4f-card"},nde={class:"topo-list"},ode={class:"tp-id"},ade={class:"tp-name"},lde={class:"tp-name"},sde={class:"tp-port"},rde={key:0,class:"empty"},ide={class:"section w4f-card"},ude={class:"log-list"},cde={class:"lg-seq"},dde={class:"lg-kind"},fde={key:0,class:"empty"},pde={key:2,class:"empty-page w4f-card"},vde={class:"form-row"},hde=["disabled"],mde=fe({__name:"ClusterView",setup(e){const t=B(null),n=B(!1);let o=null;const a=zt({visible:!1,addr:""}),l=async()=>{try{t.value=await qn.ring()}catch{}},s=$=>$.length>22?"…"+$.slice(-20):$,r=C(()=>!!t.value?.nodes.some($=>$.id===t.value?.selfId)),u=C(()=>t.value?.nodes.filter($=>$.alive).length??0),c=C(()=>u.value<=1||!r.value),d=C(()=>!!t.value&&t.value.nodes.length>1&&r.value),f=C(()=>!!t.value&&t.value.selfId===t.value.leaderId),v=C(()=>t.value?r.value?d.value?"运行中":"待加入":"已脱离":"未启动"),h=C(()=>t.value?r.value?d.value?"w4f-tag-ok":"w4f-tag-info":"w4f-tag-danger":"w4f-tag-warn"),g=C(()=>t.value?r.value?d.value?"":"pending":"err":""),p=$=>{switch($){case"forward.add":return"新增转发";case"forward.remove":return"撤销转发";case"node.join":return"节点加入";case"node.leave":return"节点离开";case"leader.change":return"leader 变更";default:return $}},m=$=>{switch($){case"forward.add":return"add";case"forward.remove":return"remove";case"node.join":return"join";case"node.leave":return"leave";case"leader.change":return"leader";default:return""}},y=C(()=>[...t.value?.log??[]].reverse()),b=$=>$.removeNode?"remove":$.revoke?"revoke":"pending",w=$=>$.removeNode?"移除节点":$.revoke?"撤销":"新增",S=async()=>{n.value=!0;try{t.value=await qn.clusterCreate(),En.success("已创建集群(本节点为初始 leader)")}catch($){En.error("创建失败: "+($.message||$))}finally{n.value=!1,await l()}},k=async()=>{const $=a.addr.trim();if($){n.value=!0;try{t.value=await qn.clusterJoinRing($),a.visible=!1,En.success(`已加入 ${$}`)}catch(T){En.error("加入失败: "+(T.message||T))}finally{n.value=!1,await l()}}},x=async()=>{if(t.value&&window.confirm("退出集群?本节点将取消一切集群远程转发并脱离环。")){n.value=!0;try{await qn.clusterRemoveNode(t.value.selfId),En.success("退出指令已发布")}catch($){En.error("退出失败: "+($.message||$))}finally{n.value=!1,await l()}}},N=async $=>{if(window.confirm(`移除节点 ${s($)} 出集群?`)){n.value=!0;try{await qn.clusterRemoveNode($),En.success("移除指令已发布")}catch(T){En.error("移除失败: "+(T.message||T))}finally{n.value=!1,await l()}}};return st(()=>{l(),o=window.setInterval(l,3e3)}),Ht(()=>{o!==null&&(clearInterval(o),o=null)}),($,T)=>{const I=Ot("el-input"),P=Ot("el-dialog");return E(),F("div",sce,[M("div",rce,[T[7]||(T[7]=M("div",{class:"hero-left"},[M("h2",{class:"page-title"},"集群令牌环"),M("span",{class:"page-sub"},"令牌环网 · 单轮一周期 · 画布差异命令进令牌 · 增量日志同步")],-1)),t.value?(E(),F("div",ice,[M("span",{class:A(["w4f-tag",h.value])},[M("span",{class:A(["w4f-dot",g.value])},null,2),ze(ye(v.value),1)],2),M("span",uce,[M("b",null,ye(u.value),1),T[4]||(T[4]=ze(" 成员",-1))]),M("span",cce,[T[5]||(T[5]=ze("周期 ",-1)),M("b",null,ye(t.value.cycle),1)]),f.value?(E(),F("span",dce,[...T[6]||(T[6]=[M("span",{class:"crown"},"♔",-1),ze(" 本机 leader",-1)])])):se("",!0)])):se("",!0)]),t.value?(E(),F("div",fce,[M("div",pce,[M("div",vce,[M("span",hce,[M("span",{class:A(["w4f-dot",{err:u.value===0}])},null,2),T[8]||(T[8]=ze("环节点",-1))]),T[9]||(T[9]=M("span",{class:"k-ic"},"○",-1))]),M("div",mce,ye(t.value.nodes.length),1),M("div",gce,"活跃 "+ye(u.value)+" · 离线 "+ye(t.value.nodes.length-u.value),1)]),M("div",yce,[T[10]||(T[10]=M("div",{class:"k-hdr"},[M("span",{class:"k-lab"},[M("span",{class:"w4f-dot"}),ze("活跃转发")]),M("span",{class:"k-ic"},"→")],-1)),M("div",bce,ye(t.value.topology.length),1),T[11]||(T[11]=M("div",{class:"k-sub"},"已 claim 的集群转发",-1))]),M("div",wce,[M("div",Sce,[M("span",Cce,[M("span",{class:A(["w4f-dot",{pending:t.value.pending.length>0}])},null,2),T[12]||(T[12]=ze("待办命令",-1))]),T[13]||(T[13]=M("span",{class:"k-ic"},"⚙",-1))]),M("div",kce,ye(t.value.pending.length),1),T[14]||(T[14]=M("div",{class:"k-sub"},"随令牌环行待执行",-1))]),M("div",xce,[T[15]||(T[15]=M("div",{class:"k-hdr"},[M("span",{class:"k-lab"},[M("span",{class:"w4f-dot"}),ze("周期")]),M("span",{class:"k-ic"},"⟳")],-1)),M("div",Ece,ye(t.value.cycle),1),T[16]||(T[16]=M("div",{class:"k-sub"},"leader 收令牌回 +1",-1))])])):se("",!0),M("div",$ce,[d.value?(E(),F(Oe,{key:1},[M("button",{class:"w4f-btn danger",disabled:n.value,onClick:x},"⏏ 退出集群",8,Mce),T[17]||(T[17]=M("span",{class:"act-hint"},"退出后本节点仅保留 localOnly 转发;可重新创建/加入",-1))],64)):(E(),F(Oe,{key:0},[M("button",{class:"w4f-btn",disabled:n.value,onClick:S},"⊕ 创建集群",8,Tce),M("button",{class:"w4f-btn ghost",disabled:n.value,onClick:T[0]||(T[0]=_=>a.visible=!0)},"↪ 加入集群…",8,Nce),c.value&&f.value?(E(),F("span",_ce,"本节点为初始 leader,已就绪;可直接创建,或输入对端地址加入既有集群")):r.value?se("",!0):(E(),F("span",Ice,"本节点已脱离集群,可创建新集群或加入既有集群"))],64)),M("button",{class:"w4f-btn ghost small",style:{"margin-left":"auto"},disabled:n.value,onClick:l},"⟳ 刷新",8,Oce)]),t.value?(E(),F("div",Pce,[M("section",Rce,[T[18]||(T[18]=M("h3",{class:"section-title"},[M("span",{class:"k-ic"},"○"),ze("环拓扑"),M("span",{class:"hint"},"令牌传递链 · leader 青色 · 本机 sakura 高亮 · 离线标红 · 非本机节点可移除")],-1)),M("div",Ace,[(E(!0),F(Oe,null,mt(t.value.nodes,(_,H)=>(E(),F(Oe,{key:_.id},[M("div",{class:A(["ring-node",{leader:_.id===t.value.leaderId,dead:!_.alive,self:_.id===t.value.selfId}])},[M("div",Dce,[M("span",Lce,ye(s(_.id)),1),_.id===t.value.selfId?(E(),F("span",Bce,"本机")):se("",!0),_.id===t.value.leaderId?(E(),F("span",Vce,"LEADER")):se("",!0),_.alive?se("",!0):(E(),F("span",Fce,"离线"))]),M("div",zce,[M("span",Hce,"负载 "+ye(Math.round(_.load.memPct+_.load.netPct)),1),M("div",Kce,[M("i",{style:Fe({width:Math.min(100,_.load.memPct+_.load.netPct)+"%"})},null,4)])]),M("div",Wce,ye(_.addr),1),_.id!==t.value.selfId&&_.alive?(E(),F("button",{key:0,class:"w4f-btn danger small rn-remove",disabled:n.value,onClick:L=>N(_.id)},"移除节点",8,jce)):se("",!0)],2),H(E(),F("div",{key:_.id,class:A(["task-row",b(_)])},[M("span",Xce,ye(_.id),1),M("span",{class:A(["w4f-tag",_.removeNode||_.revoke?"w4f-tag-danger":"w4f-tag-primary"])},ye(w(_)),3),_.removeNode?(E(),F(Oe,{key:0},[T[19]||(T[19]=M("span",{class:"tk-arrow"},"→",-1)),M("span",Zce,"移除节点 "+ye(s(_.removeNode)),1)],64)):(E(),F(Oe,{key:1},[M("span",Jce,ye(_.local.name),1),T[20]||(T[20]=M("span",{class:"tk-arrow"},"→",-1)),M("span",Qce,ye(_.remote.name),1),M("span",ede,":"+ye(_.link?.remotePort),1)],64))],2))),128))])])):se("",!0),M("section",tde,[T[23]||(T[23]=M("h3",{class:"section-title"},[M("span",{class:"k-ic"},"→"),ze("活跃转发拓扑"),M("span",{class:"hint"},"每个转发由 owner 节点持有 · localOnly 转发只在本节点可见")],-1)),M("div",nde,[(E(!0),F(Oe,null,mt(t.value.topology,_=>(E(),F("div",{key:_.taskId,class:"topo-row"},[M("span",ode,ye(_.taskId),1),M("span",ade,ye(_.local.name),1),T[22]||(T[22]=M("span",{class:"tk-arrow"},"→",-1)),M("span",lde,ye(_.remote.name),1),M("span",sde,":"+ye(_.link?.remotePort),1),M("span",{class:A(["tp-owner",{self:_.ownerId===t.value.selfId}])},"owner: "+ye(s(_.ownerId)),3),M("span",{class:A(["w4f-tag",_.active?"w4f-tag-ok":"w4f-tag-danger"])},ye(_.active?"运行中":"已停"),3)]))),128)),t.value.topology.length?se("",!0):(E(),F("div",rde,"暂无活跃转发(画布编辑后将经令牌分发)"))])]),M("section",ide,[T[24]||(T[24]=M("h3",{class:"section-title"},[M("span",{class:"k-ic"},"≣"),ze("集群日志(增量同步)"),M("span",{class:"hint"},"追加式,随令牌 delta 重放到全网一致")],-1)),M("div",ude,[(E(!0),F(Oe,null,mt(y.value,(_,H)=>(E(),F("div",{key:H,class:A(["log-row",m(_.kind)])},[M("span",cde,"#"+ye(_.seq),1),M("span",{class:A(["lg-node",{self:_.node===t.value.selfId}])},ye(s(_.node)),3),M("span",dde,ye(p(_.kind)),1)],2))),128)),y.value.length?se("",!0):(E(),F("div",fde,"日志为空"))])])])):(E(),F("div",pde,"集群未启动(无环节点)")),ee(P,{modelValue:a.visible,"onUpdate:modelValue":T[3]||(T[3]=_=>a.visible=_),title:"加入集群",width:"420px"},{footer:ie(()=>[M("button",{class:"w4f-btn ghost small",onClick:T[2]||(T[2]=_=>a.visible=!1)},"取消"),M("button",{class:"w4f-btn small",disabled:n.value||!a.addr.trim(),onClick:k},"加入",8,hde)]),default:ie(()=>[M("div",vde,[T[25]||(T[25]=M("label",null,"对端地址",-1)),ee(I,{modelValue:a.addr,"onUpdate:modelValue":T[1]||(T[1]=_=>a.addr=_),placeholder:"host:port(如 node-a:7500)",onKeyup:sn(k,["enter"])},null,8,["modelValue"])]),T[26]||(T[26]=M("div",{class:"form-hint"},"本节点将向对端请求加入并采纳其环状态,令牌到达即并入环。",-1))]),_:1},8,["modelValue"])])}}}),gde=ms(mde,[["__scopeId","data-v-68cabdd9"]]),yde={class:"app-shell"},bde={class:"sidebar"},wde={class:"sb-nav"},Sde=["onClick"],Cde=["innerHTML"],kde={class:"label"},xde={class:"main"},Ede={class:"breadcrumb"},$de={class:"crumb"},Tde={class:"content"},Nde=fe({__name:"App",setup(e){const t=B("status"),n=[{key:"status",label:"状态",icon:''},{key:"canvas",label:"连接配置",icon:''},{key:"settings",label:"设置",icon:''},{key:"cluster",label:"集群",icon:''}],o=C(()=>n.find(a=>a.key===t.value)?.label??"");return(a,l)=>(E(),F(Oe,null,[l[2]||(l[2]=M("div",{id:"bgfx","aria-hidden":"true"},[M("i",{class:"blob b1"}),M("i",{class:"blob b2"}),M("i",{class:"blob b3"})],-1)),M("div",yde,[M("aside",bde,[l[0]||(l[0]=M("div",{class:"sb-brand"},[M("span",{class:"sb-logo","aria-hidden":"true"},"W"),M("span",{class:"sb-brand-text"},[M("b",null,"webui4frpc"),M("small",null,"令牌环 · 转发编排")])],-1)),M("nav",wde,[(E(),F(Oe,null,mt(n,s=>M("button",{key:s.key,class:A(["sb-i",{active:t.value===s.key}]),onClick:r=>t.value=s.key},[M("span",{class:"ic",innerHTML:s.icon},null,8,Cde),M("span",kde,ye(s.label),1)],10,Sde)),64))]),l[1]||(l[1]=M("div",{class:"sb-foot"},[M("span",{class:"sb-status"},[M("span",{class:"dot"}),ze(" token-ring · M6")])],-1))]),M("div",xde,[M("div",Ede,[M("span",$de,ye(o.value),1)]),M("main",Tde,[t.value==="canvas"?(E(),de(Bie,{key:0})):t.value==="settings"?(E(),de(Jie,{key:1})):t.value==="cluster"?(E(),de(gde,{key:2})):(E(),de(lce,{key:3}))])])])],64))}}),_de=ms(Nde,[["__scopeId","data-v-74ca128e"]]),Gy=nk(_de);Gy.use(QI());Gy.use(Bte);Gy.mount("#app")});export default Ide(); diff --git a/internal/httpapi/dist/favicon.svg b/internal/httpapi/dist/favicon.svg new file mode 100644 index 0000000..8457455 --- /dev/null +++ b/internal/httpapi/dist/favicon.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/internal/httpapi/dist/index.html b/internal/httpapi/dist/index.html index 4ce33ad..a9551a9 100644 --- a/internal/httpapi/dist/index.html +++ b/internal/httpapi/dist/index.html @@ -3,9 +3,10 @@ - webui-frpc - - + + webui4frpc + +
diff --git a/internal/httpapi/handlers.go b/internal/httpapi/handlers.go index 8bae6ec..52b25e7 100644 --- a/internal/httpapi/handlers.go +++ b/internal/httpapi/handlers.go @@ -29,6 +29,11 @@ func (h *Handler) handleCanvasSave(w http.ResponseWriter, r *http.Request) { case http.MethodGet: h.handleCanvasGet(w, r) case http.MethodPut: + // Route is registered at read so viewer GETs work; PUT needs write. + if !hasLevel(r, "write") { + forbidden(w) + return + } h.saveCanvas(w, r) default: methodNotAllowed(w) @@ -41,6 +46,19 @@ func (h *Handler) saveCanvas(w http.ResponseWriter, r *http.Request) { http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) return } + if !h.applyCanvas(w, r, &canvas) { + return + } + h.handleCanvasGet(w, r) +} + +// applyCanvas performs the full-replace semantics shared by PUT /canvas and +// POST /canvas/import: loopback rewrite, upsert locals + delete-missing (with +// localOnly stop / cluster revoke), upsert remotes + delete-missing, wholesale +// link replace, cluster task submit for non-localOnly forwards, and a +// SyncWorkers pass. It writes errors to w and returns false on failure so the +// caller knows not to write a success response. +func (h *Handler) applyCanvas(w http.ResponseWriter, r *http.Request, canvas *canvasData) bool { s := h.Store // Rewrite loopback backend addresses for cluster-distributed forwards. @@ -57,7 +75,7 @@ func (h *Handler) saveCanvas(w http.ResponseWriter, r *http.Request) { for _, l := range canvas.Locals { if err := s.UpsertLocal(l); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) - return + return false } } // Delete locals not present. A removed localOnly forward is cancelled @@ -101,7 +119,7 @@ func (h *Handler) saveCanvas(w http.ResponseWriter, r *http.Request) { for _, rem := range canvas.Remotes { if err := s.UpsertRemote(rem); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) - return + return false } } if existing, err := s.ListRemotes(); err == nil { @@ -119,32 +137,44 @@ func (h *Handler) saveCanvas(w http.ResponseWriter, r *http.Request) { // Replace links wholesale. if err := s.ReplaceLinks(canvas.Links); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) - return + return false } - // Cluster distribution: non-localOnly forwards are submitted as token-ring - // tasks (claimed by the lowest-load member). Local-only forwards are NOT - // submitted — they stay on this node and are only visible here. + // Cluster distribution: reconcile non-localOnly forwards against the ring + // topology, respecting each link's Disabled flag. A non-disabled forward + // not yet in topology is submitted (lowest-load member claims it); a + // disabled forward present in topology is revoked. plan §画布差异判断, + // extended so a per-forward stop made on the forwards page (disabled=true) + // is not re-activated by a later canvas save. Local-only forwards are NOT + // submitted — they stay on this node. + localByName := map[string]store.Local{} + for _, l := range canvas.Locals { + localByName[l.Name] = l + } + remoteByName := map[string]store.Remote{} + for _, r := range canvas.Remotes { + remoteByName[r.Name] = r + } if h.Ring != nil { - for _, l := range canvas.Locals { - if l.LocalOnly { + for _, ln := range canvas.Links { + loc, ok := localByName[ln.Local] + if !ok || loc.LocalOnly { continue } - for _, ln := range canvas.Links { - if ln.Local != l.Name { - continue - } - var rem store.Remote - for _, rr := range canvas.Remotes { - if rr.Name == ln.Remote { - rem = rr - break - } - } - if rem.Name != "" { - h.Ring.SubmitTask(l, rem, ln) - } + rem, ok := remoteByName[ln.Remote] + if !ok { + continue } + if ln.Disabled { + // Stopped on the forwards page: make sure it leaves the topology. + if h.Ring.HasTask(ln.Local, ln.Remote, ln.RemotePort) { + h.Ring.RevokeTask(loc, rem, ln) + } + continue + } + // SubmitTask is idempotent (HasTask guard), so re-saving an active + // canvas is a no-op for forwards already in the topology. + h.Ring.SubmitTask(loc, rem, ln) } } @@ -153,8 +183,7 @@ func (h *Handler) saveCanvas(w http.ResponseWriter, r *http.Request) { if h.SyncWorkers != nil { h.SyncWorkers() } - - h.handleCanvasGet(w, r) + return true } // ---- Settings ---- @@ -280,6 +309,12 @@ func (h *Handler) handleProfile(w http.ResponseWriter, r *http.Request) { case "start", "stop", "restart": switch r.Method { case http.MethodPost: + // Route registered at read so status/config/logs GETs work; worker + // lifecycle mutations need write. + if !hasLevel(r, "write") { + forbidden(w) + return + } var err error if action == "start" { err = h.Process.Start(name) diff --git a/internal/httpapi/handlers_canvas.go b/internal/httpapi/handlers_canvas.go new file mode 100644 index 0000000..7c97bbc --- /dev/null +++ b/internal/httpapi/handlers_canvas.go @@ -0,0 +1,257 @@ +package httpapi + +import ( + "encoding/json" + "io" + "net/http" + "strconv" + "strings" + "time" + + "webui4frpc/internal/cluster" + "webui4frpc/internal/store" +) + +// ---- Locals: single-resource CRUD ---- + +// handleLocals operates on /api/manager/locals: PUT upserts a single local. +// Mirrors applyCanvas's per-local logic (loopback rewrite + ring task submit +// for the local's links when it is a cluster forward, or a SyncWorkers pass +// for a local-only forward). +func (h *Handler) handleLocals(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPut { + methodNotAllowed(w) + return + } + var l store.Local + if err := json.NewDecoder(r.Body).Decode(&l); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + if l.Name == "" { + http.Error(w, "local name required", http.StatusBadRequest) + return + } + // Loopback rewrite, same as applyCanvas: a non-localOnly forward must be + // reachable from whichever cluster node claims it. + if !l.LocalOnly && cluster.IsLoopbackIP(l.IP) { + l.IP = cluster.RewriteForCluster(l.IP) + } + if err := h.Store.UpsertLocal(l); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + // Submit ring tasks for this local's existing links when it is a cluster + // forward; local-only forwards just refresh their local worker. + if !l.LocalOnly && h.Ring != nil { + fwd, _ := h.Store.LinksForLocal(l.Name) + for _, ln := range fwd { + if rem, ok := h.Store.GetRemote(ln.Remote); ok { + h.Ring.SubmitTask(l, rem, store.Link{ + Local: l.Name, Remote: rem.Name, RemotePort: ln.RemotePort, + }) + } + } + } + if h.SyncWorkers != nil { + h.SyncWorkers() + } + writeJSON(w, http.StatusOK, l) +} + +// handleLocalByName operates on /api/manager/locals/{name}: DELETE removes a +// single local, mirroring applyCanvas's removed-local branch. +func (h *Handler) handleLocalByName(w http.ResponseWriter, r *http.Request) { + name := strings.TrimPrefix(r.URL.Path, apiPrefix+"/locals/") + if name == "" { + http.Error(w, "local name required", http.StatusBadRequest) + return + } + l, ok := h.Store.GetLocal(name) + if !ok { + http.NotFound(w, r) + return + } + switch r.Method { + case http.MethodDelete: + if l.LocalOnly { + if h.Process != nil { + if fwd, _ := h.Store.LinksForLocal(name); len(fwd) > 0 { + _ = h.Process.Stop(fwd[0].Remote) + } + } + } else if h.Ring != nil { + fwd, _ := h.Store.LinksForLocal(name) + for _, ln := range fwd { + if rem, ok := h.Store.GetRemote(ln.Remote); ok { + h.Ring.RevokeTask(l, rem, store.Link{ + Local: name, Remote: rem.Name, RemotePort: ln.RemotePort, + }) + } + } + } + _ = h.Store.DeleteLocal(name) + w.WriteHeader(http.StatusNoContent) + default: + methodNotAllowed(w) + } +} + +// ---- Links: single-resource CRUD ---- + +// handleLinks is the collection endpoint: POST adds a single link. +// For a cluster (non-localOnly) forward it submits a ring task so the owning +// node spawns the worker; for a local-only forward it just SyncWorkers so the +// local frpc picks up the new proxy. +func (h *Handler) handleLinks(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var ln store.Link + if err := json.NewDecoder(r.Body).Decode(&ln); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + if ln.Local == "" || ln.Remote == "" || ln.RemotePort <= 0 { + http.Error(w, "local/remote/remotePort required", http.StatusBadRequest) + return + } + if _, ok := h.Store.GetLocal(ln.Local); !ok { + http.Error(w, "local not found", http.StatusBadRequest) + return + } + if _, ok := h.Store.GetRemote(ln.Remote); !ok { + http.Error(w, "remote not found", http.StatusBadRequest) + return + } + // Idempotent: an identical link already present is returned as-is. + for _, existing := range mustListLinks(h.Store) { + if existing.Local == ln.Local && existing.Remote == ln.Remote && existing.RemotePort == ln.RemotePort { + writeJSON(w, http.StatusOK, existing) + return + } + } + created, err := h.Store.AddLink(ln) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + if loc, ok := h.Store.GetLocal(ln.Local); ok { + if !loc.LocalOnly && h.Ring != nil { + if rem, ok := h.Store.GetRemote(ln.Remote); ok { + h.Ring.SubmitTask(loc, rem, created) + } + } + } + if h.SyncWorkers != nil { + h.SyncWorkers() + } + writeJSON(w, http.StatusCreated, created) +} + +// handleLinkByID operates on /api/manager/links/{id}: DELETE removes a single +// link, revoking the cluster forward on its owning node when applicable. +func (h *Handler) handleLinkByID(w http.ResponseWriter, r *http.Request) { + raw := strings.TrimPrefix(r.URL.Path, apiPrefix+"/links/") + id, err := strconv.ParseInt(raw, 10, 64) + if err != nil || id <= 0 { + http.Error(w, "invalid link id", http.StatusBadRequest) + return + } + ln, ok := h.Store.GetLink(id) + if !ok { + http.NotFound(w, r) + return + } + switch r.Method { + case http.MethodDelete: + if loc, ok := h.Store.GetLocal(ln.Local); ok { + if !loc.LocalOnly && h.Ring != nil { + if rem, ok := h.Store.GetRemote(ln.Remote); ok { + h.Ring.RevokeTask(loc, rem, ln) + } + } + } + _ = h.Store.DeleteLink(id) + if h.SyncWorkers != nil { + h.SyncWorkers() + } + w.WriteHeader(http.StatusNoContent) + default: + methodNotAllowed(w) + } +} + +func mustListLinks(s *store.Store) []store.Link { + links, _ := s.ListLinks() + return links +} + +// ---- Canvas export / import ---- + +// canvasExportEnvelope wraps a canvas with provenance metadata for backup files. +type canvasExportEnvelope struct { + Type string `json:"_type"` + Version int `json:"version"` + ExportedAt int64 `json:"exportedAt"` + Exporter string `json:"exporter"` + Canvas canvasData `json:"canvas"` +} + +// handleCanvasExport returns the full canvas wrapped in a metadata envelope and +// as a downloadable attachment. Read-level (auditors can export). +func (h *Handler) handleCanvasExport(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + methodNotAllowed(w) + return + } + locals, _ := h.Store.ListLocals() + remotes, _ := h.Store.ListRemotes() + links, _ := h.Store.ListLinks() + env := canvasExportEnvelope{ + Type: "webui4frpc-canvas", + Version: 1, + ExportedAt: time.Now().Unix(), + Exporter: h.SelfAddr, + Canvas: canvasData{Locals: locals, Remotes: remotes, Links: links}, + } + body, err := json.MarshalIndent(env, "", " ") + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "application/json") + w.Header().Set("Content-Disposition", `attachment; filename="webui4frpc-canvas.json"`) + _, _ = w.Write(body) +} + +// handleCanvasImport restores a previously exported canvas. Accepts either the +// full envelope ({"_type":"webui4frpc-canvas","canvas":{...}}) or a bare canvas +// ({locals,remotes,links}); both are applied via applyCanvas (full replace). +func (h *Handler) handleCanvasImport(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + raw, err := io.ReadAll(r.Body) + if err != nil { + http.Error(w, "read body: "+err.Error(), http.StatusBadRequest) + return + } + // Try the envelope first; fall back to a bare canvas ({locals,remotes, + // links}). Probing for the envelope keeps both shapes working so a caller + // can replay either a /canvas/export bundle or a raw PUT /canvas body. + var env canvasExportEnvelope + var canvas canvasData + if jerr := json.Unmarshal(raw, &env); jerr == nil && env.Type == "webui4frpc-canvas" { + canvas = env.Canvas + } else if jerr := json.Unmarshal(raw, &canvas); jerr != nil { + http.Error(w, "parse json: "+jerr.Error(), http.StatusBadRequest) + return + } + if !h.applyCanvas(w, r, &canvas) { + return + } + h.handleCanvasGet(w, r) +} diff --git a/internal/httpapi/handlers_forwards.go b/internal/httpapi/handlers_forwards.go new file mode 100644 index 0000000..834f12b --- /dev/null +++ b/internal/httpapi/handlers_forwards.go @@ -0,0 +1,278 @@ +package httpapi + +import ( + "encoding/json" + "net/http" + + "webui4frpc/internal/store" +) + +// forwardsReq is the {local,remote,remotePort} natural key identifying a single +// forward. The triple is stable across canvas re-saves (unlike Link.ID, which +// ReplaceLinks wholesale-replaces) and matches HasTask's keying. +type forwardsReq struct { + Local string `json:"local"` + Remote string `json:"remote"` + RemotePort int `json:"remotePort"` +} + +// groupReq selects a group for one-click start/stop on the forwards page. +type groupReq struct { + Group string `json:"group"` +} + +// findLinkByTriple returns the link matching the (local,remote,remotePort) +// natural key, or ok=false. +func findLinkByTriple(s *store.Store, local, remote string, port int) (store.Link, bool) { + links, err := s.ListLinks() + if err != nil { + return store.Link{}, false + } + for _, l := range links { + if l.Local == local && l.Remote == remote && l.RemotePort == port { + return l, true + } + } + return store.Link{}, false +} + +// startForward flips a forward to enabled and brings it up. A local-only +// forward restarts/starts its local frpc worker so the re-enabled proxy is +// rendered back in; a cluster (non-localOnly) forward is submitted to the ring +// so the lowest-load member claims and spawns it (plan §令牌环协议). SubmitTask +// is idempotent via HasTask. Returns store.ErrNotFound if the forward is gone. +func (h *Handler) startForward(local, remote string, port int) error { + ln, ok := findLinkByTriple(h.Store, local, remote, port) + if !ok { + return store.ErrNotFound + } + loc, ok := h.Store.GetLocal(local) + if !ok { + return store.ErrNotFound + } + rem, ok := h.Store.GetRemote(remote) + if !ok { + return store.ErrNotFound + } + _ = h.Store.SetLinkDisabled(local, remote, port, false) + // Reflect the post-start (enabled) state in the snapshot handed to the + // ring: ln was fetched before SetLinkDisabled, so for a re-start of a + // previously stopped forward it still carries disabled=true. Without this + // the topology entry would embed a stale disabled flag (cosmetically + // wrong, and confusing if anything reads topology's link snapshot). + ln.Disabled = false + if loc.LocalOnly { + if h.Process != nil { + // Re-render (proxy re-added) on a running worker, or start it. + if _, has := h.Process.Status(remote); has { + _ = h.Process.Restart(remote) + } else { + _ = h.Process.Start(remote) + } + } + return nil + } + if h.Ring != nil { + h.Ring.SubmitTask(loc, rem, ln) + } + return nil +} + +// stopForward flips a forward to disabled and tears it down. A local-only +// forward restarts its worker so renderRemote omits the proxy (sibling forwards +// on the same remote keep running — true per-forward stop); a cluster forward +// is revoked so the owning node cancels its worker and drops it from the +// topology (plan §任务撤销). RevokeTask is idempotent. +func (h *Handler) stopForward(local, remote string, port int) error { + ln, ok := findLinkByTriple(h.Store, local, remote, port) + if !ok { + return store.ErrNotFound + } + loc, ok := h.Store.GetLocal(local) + if !ok { + return store.ErrNotFound + } + rem, ok := h.Store.GetRemote(remote) + if !ok { + return store.ErrNotFound + } + _ = h.Store.SetLinkDisabled(local, remote, port, true) + if loc.LocalOnly { + // Re-render without this proxy; only meaningful while a worker runs. + if h.Process != nil { + if _, has := h.Process.Status(remote); has { + _ = h.Process.Restart(remote) + } + } + return nil + } + if h.Ring != nil { + h.Ring.RevokeTask(loc, rem, ln) + } + return nil +} + +// handleForwardsStart toggles one forward on. +func (h *Handler) handleForwardsStart(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var req forwardsReq + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + if req.Local == "" || req.Remote == "" || req.RemotePort <= 0 { + http.Error(w, "local/remote/remotePort required", http.StatusBadRequest) + return + } + if err := h.startForward(req.Local, req.Remote, req.RemotePort); err != nil { + http.Error(w, err.Error(), http.StatusNotFound) + return + } + writeJSON(w, http.StatusOK, map[string]any{"ok": true}) +} + +// handleForwardsStop toggles one forward off. +func (h *Handler) handleForwardsStop(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var req forwardsReq + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + if req.Local == "" || req.Remote == "" || req.RemotePort <= 0 { + http.Error(w, "local/remote/remotePort required", http.StatusBadRequest) + return + } + if err := h.stopForward(req.Local, req.Remote, req.RemotePort); err != nil { + http.Error(w, err.Error(), http.StatusNotFound) + return + } + writeJSON(w, http.StatusOK, map[string]any{"ok": true}) +} + +// handleForwardsGroupStart starts every forward in a group with one click. +func (h *Handler) handleForwardsGroupStart(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var req groupReq + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + links, err := h.Store.ListLinks() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + for _, ln := range links { + if ln.Group != req.Group { + continue + } + _ = h.startForward(ln.Local, ln.Remote, ln.RemotePort) + } + writeJSON(w, http.StatusOK, map[string]any{"ok": true}) +} + +// handleForwardsGroupStop stops every forward in a group with one click. +func (h *Handler) handleForwardsGroupStop(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var req groupReq + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + links, err := h.Store.ListLinks() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + for _, ln := range links { + if ln.Group != req.Group { + continue + } + _ = h.stopForward(ln.Local, ln.Remote, ln.RemotePort) + } + writeJSON(w, http.StatusOK, map[string]any{"ok": true}) +} + +// assignReq carries the group label to assign to a single forward (status +// page group chip edit). Empty Group clears the assignment (移出分组). +type assignReq struct { + Local string `json:"local"` + Remote string `json:"remote"` + RemotePort int `json:"remotePort"` + Group string `json:"group"` +} + +// handleForwardsAssign changes the group label of a single forward. The +// status page group chip is the quick entry; the canvas port editor also +// carries a group field (both persist via the same store column). The +// change is purely a DB update — no worker/ring action is needed (group is +// a management label, not a runtime knob). +func (h *Handler) handleForwardsAssign(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var req assignReq + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + if req.Local == "" || req.Remote == "" || req.RemotePort <= 0 { + http.Error(w, "local/remote/remotePort required", http.StatusBadRequest) + return + } + if _, ok := findLinkByTriple(h.Store, req.Local, req.Remote, req.RemotePort); !ok { + http.Error(w, store.ErrNotFound.Error(), http.StatusNotFound) + return + } + if err := h.Store.SetLinkGroup(req.Local, req.Remote, req.RemotePort, req.Group); err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + writeJSON(w, http.StatusOK, map[string]any{"ok": true}) +} + +// handleForwardsGroupDelete dissolves a group: every forward in the named +// group is moved to 未分组 (grp=""). The group itself is not a stored entity +// — it exists only as a label on links — so clearing all members is the +// complete "delete". No worker/ring action (group is a management label). +func (h *Handler) handleForwardsGroupDelete(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + methodNotAllowed(w) + return + } + var req groupReq + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + if req.Group == "" { + http.Error(w, "group required", http.StatusBadRequest) + return + } + links, err := h.Store.ListLinks() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + for _, ln := range links { + if ln.Group != req.Group { + continue + } + _ = h.Store.SetLinkGroup(ln.Local, ln.Remote, ln.RemotePort, "") + } + writeJSON(w, http.StatusOK, map[string]any{"ok": true}) +} diff --git a/internal/httpapi/handlers_logs.go b/internal/httpapi/handlers_logs.go new file mode 100644 index 0000000..fb83aaf --- /dev/null +++ b/internal/httpapi/handlers_logs.go @@ -0,0 +1,146 @@ +package httpapi + +import ( + "encoding/json" + "io" + "net/http" + "sync" + "time" +) + +// workerLog is one frpc worker's log tail on a node. +type workerLog struct { + Name string `json:"name"` + Remote string `json:"remote"` // worker key = remote name + State string `json:"state"` + Lines string `json:"lines"` +} + +// nodeLogsResp is the body of GET /node/logs: all frpc workers handling +// forwards on THIS node (cluster-owned workers that run here + local-only ones). +type nodeLogsResp struct { + Node string `json:"node"` + Workers []workerLog `json:"workers"` +} + +// localWorkerLogs gathers this node's frpc worker logs. Shared by /node/logs +// and the /cluster/logs/export self entry so the requesting node doesn't HTTP +// back to itself. +func (h *Handler) localWorkerLogs() nodeLogsResp { + out := nodeLogsResp{Node: h.SelfAddr, Workers: []workerLog{}} + if h.Process == nil { + return out + } + for _, name := range h.Process.ListWorkers() { + st, _ := h.Process.Status(name) + lines, _ := tailFile(h.Process.LogPath(name), 64*1024) + out.Workers = append(out.Workers, workerLog{ + Name: name, Remote: name, State: st.State, Lines: lines, + }) + } + return out +} + +// handleNodeLogs returns the frpc worker logs of THIS node only. Read-level: +// auditors can pull it directly on any node, and the cluster export fans it out. +func (h *Handler) handleNodeLogs(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + methodNotAllowed(w) + return + } + writeJSON(w, http.StatusOK, h.localWorkerLogs()) +} + +// clusterWorkerLogNode is one node's entry in the export bundle. +type clusterWorkerLogNode struct { + ID string `json:"id"` + Addr string `json:"addr"` + OK bool `json:"ok"` + Error string `json:"error,omitempty"` + Logs *nodeLogsResp `json:"logs,omitempty"` +} + +// handleClusterLogsExport fans out GET /node/logs to every alive ring node +// (using the flag Basic creds, which resolve to admin on each peer via the +// flag fast path) and aggregates the results into a downloadable bundle. +// Unreachable nodes are marked error but don't abort the export. The +// requester's own logs are gathered locally without an HTTP round-trip. +func (h *Handler) handleClusterLogsExport(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + methodNotAllowed(w) + return + } + if h.Ring == nil { + http.Error(w, "ring engine not enabled", http.StatusNotFound) + return + } + snap := h.Ring.Snapshot() + selfID := snap.SelfID + type target struct{ id, addr string } + var targets []target + for _, n := range snap.Nodes { + if !n.Alive || n.Addr == "" { + continue + } + targets = append(targets, target{n.ID, n.Addr}) + } + results := make([]clusterWorkerLogNode, len(targets)) + var wg sync.WaitGroup + cli := &http.Client{Timeout: 8 * time.Second} + for i, t := range targets { + wg.Add(1) + go func(i int, t target) { + defer wg.Done() + entry := clusterWorkerLogNode{ID: t.id, Addr: t.addr} + // Self: gather locally, no HTTP round-trip. + if t.id == selfID { + logs := h.localWorkerLogs() + entry.OK = true + entry.Logs = &logs + results[i] = entry + return + } + req, err := http.NewRequest(http.MethodGet, "http://"+t.addr+apiPrefix+"/node/logs", nil) + if err != nil { + entry.Error = err.Error() + results[i] = entry + return + } + req.SetBasicAuth(h.User, h.Password) + resp, err := cli.Do(req) + if err != nil { + entry.Error = "unreachable: " + err.Error() + results[i] = entry + return + } + defer resp.Body.Close() + body, _ := io.ReadAll(io.LimitReader(resp.Body, 16<<20)) + if resp.StatusCode != http.StatusOK { + entry.Error = "HTTP " + resp.Status + results[i] = entry + return + } + var logs nodeLogsResp + if err := json.Unmarshal(body, &logs); err != nil { + entry.Error = "parse: " + err.Error() + results[i] = entry + return + } + entry.OK = true + entry.Logs = &logs + results[i] = entry + }(i, t) + } + wg.Wait() + bundle := map[string]any{ + "_type": "webui4frpc-worker-logs", + "version": 1, + "exportedAt": time.Now().Unix(), + "requester": selfID, + "nodes": results, + } + body, _ := json.MarshalIndent(bundle, "", " ") + w.Header().Set("Content-Type", "application/json") + w.Header().Set("Content-Disposition", `attachment; filename="worker-logs.json"`) + _, _ = w.Write(body) +} diff --git a/internal/httpapi/handlers_users.go b/internal/httpapi/handlers_users.go new file mode 100644 index 0000000..4112470 --- /dev/null +++ b/internal/httpapi/handlers_users.go @@ -0,0 +1,206 @@ +package httpapi + +import ( + "encoding/json" + "net/http" + "strconv" + "strings" + + "webui4frpc/internal/store" +) + +// handleMe returns the authenticated principal. The frontend uses this to gate +// UI (hide Users nav + disable write controls for viewer/audit users). +func (h *Handler) handleMe(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + methodNotAllowed(w) + return + } + id := identityFrom(r) + writeJSON(w, http.StatusOK, map[string]any{ + "type": id.Type, + "name": id.Name, + "level": id.Level, + "userId": id.UserID, + }) +} + +// ---- Users ---- + +// handleUsers is the collection endpoint: GET lists users, POST creates one. +// Admin only. password_hash is never serialized (User.PasswordHash has json:"-"). +func (h *Handler) handleUsers(w http.ResponseWriter, r *http.Request) { + switch r.Method { + case http.MethodGet: + users, err := h.Store.ListUsers() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + writeJSON(w, http.StatusOK, map[string]any{"users": users}) + case http.MethodPost: + var req struct { + Username string `json:"username"` + Password string `json:"password"` + Role string `json:"role"` + } + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + u, err := h.Store.CreateUser(req.Username, req.Password, req.Role) + if err != nil { + writeStoreErr(w, err) + return + } + writeJSON(w, http.StatusCreated, u) + default: + methodNotAllowed(w) + } +} + +// handleUserByName operates on /users/{name}: PUT updates role/enabled/password, +// DELETE removes the user. System (flag-synced) users are read-only; the last +// enabled admin cannot be deleted or disabled. +func (h *Handler) handleUserByName(w http.ResponseWriter, r *http.Request) { + name := strings.TrimPrefix(r.URL.Path, apiPrefix+"/users/") + if name == "" { + http.Error(w, "username required", http.StatusBadRequest) + return + } + u, ok := h.Store.GetUser(name) + if !ok { + http.Error(w, "user not found", http.StatusNotFound) + return + } + switch r.Method { + case http.MethodPut: + var req struct { + Password string `json:"password"` + Role string `json:"role"` + Enabled *bool `json:"enabled"` + } + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + // Role defaults to the current value when omitted. + role := req.Role + if role == "" { + role = u.Role + } + enabled := u.Enabled + if req.Enabled != nil { + enabled = *req.Enabled + } + // Guard: never disable/demote the last admin. + if u.Role == "admin" && (role != "admin" || !enabled) { + n, _ := h.Store.CountAdmins() + if n <= 1 { + http.Error(w, "cannot demote or disable the last admin", http.StatusConflict) + return + } + } + if err := h.Store.UpdateUser(u.ID, role, enabled, req.Password); err != nil { + writeStoreErr(w, err) + return + } + updated, _ := h.Store.GetUserByID(u.ID) + writeJSON(w, http.StatusOK, updated) + case http.MethodDelete: + if u.System { + http.Error(w, "system user is managed by -user/-password flags", http.StatusConflict) + return + } + if u.Role == "admin" { + n, _ := h.Store.CountAdmins() + if n <= 1 { + http.Error(w, "cannot delete the last admin", http.StatusConflict) + return + } + } + if err := h.Store.DeleteUser(u.ID); err != nil { + writeStoreErr(w, err) + return + } + w.WriteHeader(http.StatusNoContent) + default: + methodNotAllowed(w) + } +} + +// ---- API keys ---- + +// handleApiKeys is the collection endpoint: GET lists keys (no hashes), POST +// creates a key and returns the plaintext exactly once. +func (h *Handler) handleApiKeys(w http.ResponseWriter, r *http.Request) { + switch r.Method { + case http.MethodGet: + keys, err := h.Store.ListApiKeys() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + writeJSON(w, http.StatusOK, map[string]any{"apiKeys": keys}) + case http.MethodPost: + var req struct { + UserID int64 `json:"userId"` + Label string `json:"label"` + Scope string `json:"scope"` + } + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + http.Error(w, "parse json: "+err.Error(), http.StatusBadRequest) + return + } + k, plaintext, err := h.Store.CreateApiKey(req.UserID, req.Label, req.Scope) + if err != nil { + writeStoreErr(w, err) + return + } + writeJSON(w, http.StatusCreated, map[string]any{ + "id": k.ID, + "userId": k.UserID, + "label": k.Label, + "scope": k.Scope, + "prefix": k.Prefix, + "createdAt": k.CreatedAt, + "key": plaintext, // shown exactly once + }) + default: + methodNotAllowed(w) + } +} + +// handleApiKeyByID operates on /apikeys/{id}: DELETE revokes the key. +func (h *Handler) handleApiKeyByID(w http.ResponseWriter, r *http.Request) { + raw := strings.TrimPrefix(r.URL.Path, apiPrefix+"/apikeys/") + id, err := strconv.ParseInt(raw, 10, 64) + if err != nil || id <= 0 { + http.Error(w, "invalid key id", http.StatusBadRequest) + return + } + switch r.Method { + case http.MethodDelete: + if err := h.Store.DeleteApiKey(id); err != nil { + writeStoreErr(w, err) + return + } + w.WriteHeader(http.StatusNoContent) + default: + methodNotAllowed(w) + } +} + +// writeStoreErr maps store sentinel errors to HTTP statuses. +func writeStoreErr(w http.ResponseWriter, err error) { + switch err { + case store.ErrNotFound: + http.Error(w, "not found", http.StatusNotFound) + case store.ErrAlreadyExists: + http.Error(w, "already exists", http.StatusConflict) + case store.ErrInvalid: + http.Error(w, "invalid argument", http.StatusBadRequest) + default: + http.Error(w, err.Error(), http.StatusInternalServerError) + } +} diff --git a/internal/httpapi/server.go b/internal/httpapi/server.go index 808fbaf..1b5b69e 100644 --- a/internal/httpapi/server.go +++ b/internal/httpapi/server.go @@ -57,68 +57,88 @@ const ( func NewServeMux(h *Handler) (http.Handler, error) { mux := http.NewServeMux() - auth := func(next http.HandlerFunc) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - u, p, ok := r.BasicAuth() - if !ok || u != h.User || p != h.Password { - w.Header().Set("WWW-Authenticate", `Basic realm="webui-frpc"`) - w.WriteHeader(http.StatusUnauthorized) - return - } - next(w, r) - } - } - mux.HandleFunc(healthzPath, func(w http.ResponseWriter, _ *http.Request) { w.WriteHeader(http.StatusOK) }) - // API routes (basic auth). - mux.HandleFunc(apiPrefix+"/status", auth(h.handleStatus)) - mux.HandleFunc(apiPrefix+"/canvas", auth(h.handleCanvasSave)) - mux.HandleFunc(apiPrefix+"/settings", auth(func(w http.ResponseWriter, r *http.Request) { + // read tier (viewer + read-scope key + everyone above): pure-GET reads. + // Routes that also accept a mutating method re-check the write level inside + // the handler so a viewer GET still works while viewer PUT/POST is 403. + mux.HandleFunc(apiPrefix+"/status", h.auth("read")(h.handleStatus)) + mux.HandleFunc(apiPrefix+"/canvas", h.auth("read")(h.handleCanvasSave)) // GET read; PUT write-checked inside + mux.HandleFunc(apiPrefix+"/canvas/export", h.auth("read")(h.handleCanvasExport)) + mux.HandleFunc(apiPrefix+"/canvas/import", h.auth("write")(h.handleCanvasImport)) + mux.HandleFunc(apiPrefix+"/locals", h.auth("write")(h.handleLocals)) + mux.HandleFunc(apiPrefix+"/locals/", h.auth("write")(h.handleLocalByName)) + mux.HandleFunc(apiPrefix+"/links", h.auth("write")(h.handleLinks)) + mux.HandleFunc(apiPrefix+"/links/", h.auth("write")(h.handleLinkByID)) + // Per-forward start/stop + one-click group start/stop. Decoupled from the + // remote-node worker controls so the forwards page owns forward lifecycle + // (local-only → local worker restart; cluster → ring submit/revoke). + mux.HandleFunc(apiPrefix+"/forwards/start", h.auth("write")(h.handleForwardsStart)) + mux.HandleFunc(apiPrefix+"/forwards/stop", h.auth("write")(h.handleForwardsStop)) + mux.HandleFunc(apiPrefix+"/forwards/group/start", h.auth("write")(h.handleForwardsGroupStart)) + mux.HandleFunc(apiPrefix+"/forwards/group/stop", h.auth("write")(h.handleForwardsGroupStop)) + mux.HandleFunc(apiPrefix+"/forwards/assign", h.auth("write")(h.handleForwardsAssign)) + mux.HandleFunc(apiPrefix+"/forwards/group/delete", h.auth("write")(h.handleForwardsGroupDelete)) + mux.HandleFunc(apiPrefix+"/settings", h.auth("read")(func(w http.ResponseWriter, r *http.Request) { + if r.Method == http.MethodPut && !hasLevel(r, "write") { + forbidden(w) + return + } if r.Method == http.MethodPut { h.handleSettingsPut(w, r) return } h.handleSettingsGet(w, r) })) - mux.HandleFunc(apiPrefix+"/binary/status", auth(h.handleBinaryStatus)) - mux.HandleFunc(apiPrefix+"/binary/install", auth(h.handleBinaryInstall)) + mux.HandleFunc(apiPrefix+"/binary/status", h.auth("read")(h.handleBinaryStatus)) + mux.HandleFunc(apiPrefix+"/binary/install", h.auth("write")(h.handleBinaryInstall)) - // Profile lifecycle routes. - mux.HandleFunc(apiPrefix+"/profiles/", auth(h.handleProfile)) - mux.HandleFunc(apiPrefix+"/remotes", auth(h.handleRemoteUpsert)) - mux.HandleFunc(apiPrefix+"/remotes/", auth(h.handleRemoteDelete)) + // Profile lifecycle: status/config/logs = read; start/stop/restart = write + // (write-checked inside handleProfile). + mux.HandleFunc(apiPrefix+"/profiles/", h.auth("read")(h.handleProfile)) - // M6: cluster nodes + per-node cached versions (UI + discovery). - mux.HandleFunc(apiPrefix+"/cluster/nodes", auth(h.handleClusterNodes)) - mux.HandleFunc(apiPrefix+"/cluster/cache", auth(h.handleClusterCache)) - mux.HandleFunc(apiPrefix+"/cluster/token", auth(h.handleClusterToken)) - mux.HandleFunc(apiPrefix+"/cluster/ring", auth(h.handleClusterRing)) - mux.HandleFunc(apiPrefix+"/cluster/join", auth(h.handleClusterJoin)) - mux.HandleFunc(apiPrefix+"/cluster/task", auth(h.handleClusterTask)) - mux.HandleFunc(apiPrefix+"/cluster/node-remove", auth(h.handleNodeRemove)) - mux.HandleFunc(apiPrefix+"/cluster/create", auth(h.handleClusterCreate)) - mux.HandleFunc(apiPrefix+"/cluster/join-ring", auth(h.handleClusterJoinRing)) + // write tier (write-scope key / admin): single-resource mutation. + mux.HandleFunc(apiPrefix+"/remotes", h.auth("write")(h.handleRemoteUpsert)) + mux.HandleFunc(apiPrefix+"/remotes/", h.auth("write")(h.handleRemoteDelete)) + + // M6 cluster: reads + control plane. Inter-node token relay uses Basic flag + // creds which resolve to admin via the flag fast path, so write level keeps + // the ring working while blocking read-scope keys from injecting tasks. + mux.HandleFunc(apiPrefix+"/cluster/nodes", h.auth("read")(h.handleClusterNodes)) + mux.HandleFunc(apiPrefix+"/cluster/cache", h.auth("read")(h.handleClusterCache)) // GET read; POST write-checked inside + mux.HandleFunc(apiPrefix+"/cluster/ring", h.auth("read")(h.handleClusterRing)) + mux.HandleFunc(apiPrefix+"/node/logs", h.auth("read")(h.handleNodeLogs)) + mux.HandleFunc(apiPrefix+"/cluster/logs/export", h.auth("read")(h.handleClusterLogsExport)) + mux.HandleFunc(apiPrefix+"/cluster/token", h.auth("write")(h.handleClusterToken)) + mux.HandleFunc(apiPrefix+"/cluster/join", h.auth("write")(h.handleClusterJoin)) + mux.HandleFunc(apiPrefix+"/cluster/task", h.auth("write")(h.handleClusterTask)) + mux.HandleFunc(apiPrefix+"/cluster/node-remove", h.auth("write")(h.handleNodeRemove)) + mux.HandleFunc(apiPrefix+"/cluster/create", h.auth("write")(h.handleClusterCreate)) + mux.HandleFunc(apiPrefix+"/cluster/join-ring", h.auth("write")(h.handleClusterJoinRing)) + + // Account & API key management (admin only). + mux.HandleFunc(apiPrefix+"/me", h.auth("read")(h.handleMe)) + mux.HandleFunc(apiPrefix+"/users", h.auth("admin")(h.handleUsers)) + mux.HandleFunc(apiPrefix+"/users/", h.auth("admin")(h.handleUserByName)) + mux.HandleFunc(apiPrefix+"/apikeys", h.auth("admin")(h.handleApiKeys)) + mux.HandleFunc(apiPrefix+"/apikeys/", h.auth("admin")(h.handleApiKeyByID)) // M6: peer-to-peer binary exchange endpoint (Basic Auth, same creds). - // Not under /api so peers hit it directly; auth still applied. - mux.HandleFunc("/frpc/", auth(h.handleFrpcBinary)) + // Not under /api so peers hit it directly; auth still applied. Peers + // resolve to admin via the flag fast path. + mux.HandleFunc("/frpc/", h.auth("read")(h.handleFrpcBinary)) - // Static assets (also basic auth) under /. - // The SPA shell is served behind the SAME Basic Auth as the API (plan: - // "healthz 免认证,其余 Basic Auth"). Without this, the browser loads the - // page without a 401 challenge, never caches credentials, and every - // same-origin /api/* fetch (credentials:"same-origin") gets 401 — so the - // SPA renders but all data pages read as empty ("集群未启动"). Wrapping / - // in auth makes the browser prompt once, cache the Basic header for the - // origin, and send it on every subsequent asset + API request. - mux.HandleFunc("/", auth(h.handleStatic)) + // Static assets behind the same auth as the API: the browser caches the + // Basic header once and sends it on every asset + /api/* request, so the + // SPA loads for any valid identity (viewer included). + mux.HandleFunc("/", h.auth("read")(h.handleStatic)) return mux, nil } + // handleStatic serves the embedded web build. Paths map to dist files; / and // unknown paths serve index.html for SPA routing. The SPA uses hash-based // routing, so returning index.html for "/" is enough — a redirect here would @@ -207,6 +227,28 @@ func (h *Handler) handleStatus(w http.ResponseWriter, r *http.Request) { GroupCount int `json:"groupCount,omitempty"` } + // Build per-forward lookup tables: a localByName index for the forwards + // array, and an ownerOf map from ring topology (keyed by the + // local/remote/remotePort triple) so each forward card can show its owning + // node and active state. plan §任务撤销 / §令牌环协议. + localByName := make(map[string]store.Local, len(locals)) + for _, l := range locals { + localByName[l.Name] = l + } + type topoKey struct{ local, remote string; port int } + ownerOf := map[topoKey]string{} + selfID := h.SelfAddr + if h.Ring != nil { + snap := h.Ring.Snapshot() + selfID = snap.SelfID + for _, e := range snap.Topology { + k := topoKey{e.Local.Name, e.Remote.Name, e.Link.RemotePort} + if _, ok := ownerOf[k]; !ok { + ownerOf[k] = e.OwnerID + } + } + } + profiles := make([]profileStatus, 0, len(remotes)) binary := "" if h.BinaryPath != nil { @@ -236,7 +278,8 @@ func (h *Handler) handleStatus(w http.ResponseWriter, r *http.Request) { } // Local status: each local plus its forwarding targets and whether each - // target's worker is healthy (running). + // target's worker is healthy (running). The per-forward owner/active detail + // lives in the forwards array below; this is the local-services overview. type localTargetStatus struct { Remote string `json:"remote"` RemotePort int `json:"remotePort"` @@ -265,6 +308,51 @@ func (h *Handler) handleStatus(w http.ResponseWriter, r *http.Request) { localStatuses = append(localStatuses, localStatus{Local: l, Targets: ts}) } + // Forwards: one entry per link — the forward-centric view the UI renders as + // cards. kind distinguishes 本地转发 (localOnly) from 远程转发 (cluster- + // distributed); ownerId/active are resolved from ring topology (remote) or + // the local worker (localOnly); group drives one-click group start/stop. + type forwardStatus struct { + Local string `json:"local"` + Remote string `json:"remote"` + RemotePort int `json:"remotePort"` + LocalOnly bool `json:"localOnly"` + Kind string `json:"kind"` // "local" | "remote" + OwnerID string `json:"ownerId,omitempty"` + Active bool `json:"active"` + Disabled bool `json:"disabled"` + Group string `json:"group,omitempty"` + LocalIP string `json:"localIp,omitempty"` + LocalPort int `json:"localPort,omitempty"` + LocalProto string `json:"localProto,omitempty"` + } + links, _ := h.Store.ListLinks() + forwards := make([]forwardStatus, 0, len(links)) + for _, ln := range links { + loc, ok := localByName[ln.Local] + if !ok { + continue + } + fs := forwardStatus{ + Local: ln.Local, Remote: ln.Remote, RemotePort: ln.RemotePort, + LocalOnly: loc.LocalOnly, Disabled: ln.Disabled, Group: ln.Group, + LocalIP: loc.IP, LocalPort: loc.Port, LocalProto: loc.Protocol, + } + if loc.LocalOnly { + fs.Kind = "local" + fs.OwnerID = selfID + if st, has := h.Process.Status(ln.Remote); has { + fs.Active = !ln.Disabled && st.State == "running" + } + } else { + fs.Kind = "remote" + owner, inTopo := ownerOf[topoKey{ln.Local, ln.Remote, ln.RemotePort}] + fs.OwnerID = owner + fs.Active = !ln.Disabled && inTopo + } + forwards = append(forwards, fs) + } + resp := map[string]any{ "version": "0.1.0", "workDir": h.WorkDir, @@ -274,6 +362,8 @@ func (h *Handler) handleStatus(w http.ResponseWriter, r *http.Request) { "binaryPath": binary, "profiles": profiles, "localStatus": localStatuses, + "forwards": forwards, + "selfId": selfID, } writeJSON(w, http.StatusOK, resp) } @@ -349,6 +439,11 @@ func (h *Handler) handleClusterCache(w http.ResponseWriter, r *http.Request) { case http.MethodGet: writeJSON(w, http.StatusOK, map[string]any{"cache": h.Cluster.CacheInfo()}) case http.MethodPost: + // Route registered at read so GET works; cache pruning needs write. + if !hasLevel(r, "write") { + forbidden(w) + return + } var req struct { Keep int `json:"keep"` } @@ -379,13 +474,27 @@ func (h *Handler) handleClusterToken(w http.ResponseWriter, r *http.Request) { return } // Heartbeat ping: empty body (no token) is a liveness check from the - // leader's predecessor — answer 200 without processing. + // leader's predecessor (the FALLBACK leader-death path). A node that + // restarted (CreateCluster → 1-node standalone) or detached + // (detachAsStandalone → 1-node standalone) is NOT the multi-node ring + // leader the predecessor thinks it is. Returning 409 makes the + // predecessor's WatchLeader heartbeat fail → MarkOffline → becomeLeader + // → StartRing, healing the ring. Per design: "心跳拒绝应当发生在leader + // 退出节点时,让leader上邻居意识到当前环已经没有节点了". if r.Body == nil { + if s := h.Ring.State(); len(s.Nodes) <= 1 { + http.Error(w, "standalone node", http.StatusConflict) + return + } w.WriteHeader(http.StatusOK) return } body, _ := io.ReadAll(r.Body) if len(bytes.TrimSpace(body)) == 0 { + if s := h.Ring.State(); len(s.Nodes) <= 1 { + http.Error(w, "standalone node", http.StatusConflict) + return + } w.WriteHeader(http.StatusOK) return } @@ -448,6 +557,14 @@ func (h *Handler) handleClusterJoin(w http.ResponseWriter, r *http.Request) { http.Error(w, "parse join: "+err.Error(), http.StatusBadRequest) return } + // Verify the newcomer presents this node's admission key. Without this + // check, any client that knows the shared webui password could join and + // receive the full cluster picture — the key adds a per-node admission + // layer the operator must copy from the sponsor's cluster page. + if ji.JoinKey == "" || ji.JoinKey != h.Ring.NodeKey() { + http.Error(w, "invalid join key", http.StatusForbidden) + return + } wasSingle := len(h.Ring.State().Nodes) <= 1 state := h.Ring.JoinNode(ji) writeJSON(w, http.StatusOK, map[string]any{"state": state}) @@ -547,7 +664,8 @@ func (h *Handler) handleClusterJoinRing(w http.ResponseWriter, r *http.Request) return } var req struct { - Addr string `json:"addr"` + Addr string `json:"addr"` + JoinKey string `json:"joinKey"` } if err := json.NewDecoder(r.Body).Decode(&req); err != nil { http.Error(w, "parse: "+err.Error(), http.StatusBadRequest) @@ -557,13 +675,17 @@ func (h *Handler) handleClusterJoinRing(w http.ResponseWriter, r *http.Request) http.Error(w, "addr required", http.StatusBadRequest) return } + if req.JoinKey == "" { + http.Error(w, "joinKey required", http.StatusBadRequest) + return + } if h.Ring.IsMember() { http.Error(w, "already a multi-node cluster member; leave first", http.StatusConflict) return } jc, cancel := context.WithTimeout(r.Context(), 10*time.Second) defer cancel() - if err := h.Ring.JoinRingAddr(jc, req.Addr); err != nil { + if err := h.Ring.JoinRingAddr(jc, req.Addr, req.JoinKey); err != nil { http.Error(w, "join failed: "+err.Error(), http.StatusBadGateway) return } diff --git a/internal/httpapi/server_test.go b/internal/httpapi/server_test.go index 8e66f30..c7021b6 100644 --- a/internal/httpapi/server_test.go +++ b/internal/httpapi/server_test.go @@ -211,7 +211,7 @@ func TestSaveCanvasPublishesRevokeTask(t *testing.T) { }) ring := cluster.NewEngine("n1", "n1:7500", "u", "p", "0.1.0", nil, &cluster.AppHandler{}, func(ctx context.Context, next string, tk *cluster.Token) error { return nil }, - "n1:7500", true) + "n1:7500", true, "") h := &Handler{Store: st, Process: pm, WorkDir: dir, User: "admin", Password: "pw", Ring: ring} mux, _ := NewServeMux(h) ts := httptest.NewServer(mux) diff --git a/internal/process/process.go b/internal/process/process.go index 73430d8..5407b8b 100644 --- a/internal/process/process.go +++ b/internal/process/process.go @@ -6,6 +6,7 @@ import ( "os" "os/exec" "path/filepath" + "sort" "sync" "syscall" "time" @@ -272,6 +273,20 @@ func (m *Manager) Status(name string) (Status, bool) { return m.getStatus(w), true } +// ListWorkers returns the names of all workers currently under management +// (running, starting, crashed-but-supervised, etc.), sorted for stable output. +// Stopped workers are removed from the map and not listed. +func (m *Manager) ListWorkers() []string { + m.mu.Lock() + out := make([]string, 0, len(m.workers)) + for name := range m.workers { + out = append(out, name) + } + m.mu.Unlock() + sort.Strings(out) + return out +} + // StopAll stops all workers (used on manager shutdown). func (m *Manager) StopAll() { m.mu.Lock() diff --git a/internal/store/store.go b/internal/store/store.go index 406494d..4343e42 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -2,13 +2,20 @@ package store import ( + "crypto/rand" + "crypto/sha256" "database/sql" + "encoding/base64" + "encoding/hex" "encoding/json" "errors" "fmt" "os" "path/filepath" "strings" + "time" + + "golang.org/x/crypto/bcrypt" _ "modernc.org/sqlite" ) @@ -93,6 +100,14 @@ type Link struct { RemotePort int `json:"remotePort"` OffsetX int `json:"offsetX,omitempty"` OffsetY int `json:"offsetY,omitempty"` + // Group is a user-facing management label for one-click group start/stop on + // the forwards page (unrelated to frps load-balancing LBGroup on Local). + Group string `json:"group,omitempty"` + // Disabled marks a forward as stopped. renderRemote skips it (so a stopped + // local-only forward drops just its own proxy), and applyCanvas reconciles + // to topology respecting it (disabled forwards are not re-submitted). This + // makes per-forward stop durable across canvas saves. Zero value = enabled. + Disabled bool `json:"disabled,omitempty"` } // Settings holds runtime options. @@ -101,6 +116,18 @@ type Settings struct { RestartOnExit bool `json:"restartOnExit"` RestartIntervalSeconds int `json:"restartIntervalSeconds"` BinaryPath string `json:"binaryPath,omitempty"` + // NodeKey is this node's cluster admission key. A newcomer must present + // the sponsor's NodeKey to join via it (handleClusterJoin verifies). + // Generated on first startup, persisted, stable across restarts so the + // -join-key bootstrap path stays valid. Unrelated to the webui Basic-Auth + // creds (-user/-password), which remain the transport-level credential. + NodeKey string `json:"nodeKey,omitempty"` + // ClusterPeers is a JSON array of {addr,key} pairs for all known cluster + // peers, persisted on every token cycle. On crash/restart the node reads + // this and tries to rejoin via any cached peer (presenting that peer's + // key). Cleared on explicit detach (detachAsStandalone) so a node that + // intentionally left does NOT auto-rejoin. + ClusterPeers string `json:"clusterPeers,omitempty"` } // Forward is a rendered link row attached to a remote. @@ -110,6 +137,37 @@ type Forward struct { LocalPort int `json:"localPort,omitempty"` OffsetX int `json:"offsetX,omitempty"` OffsetY int `json:"offsetY,omitempty"` + // Disabled mirrors the link's Disabled so renderRemote can skip stopped + // forwards when building the frpc proxy list for a remote. + Disabled bool `json:"disabled,omitempty"` +} + +// User is an authenticated account. Role gates UI/API access (admin = full, +// viewer = read-only + exports, for auditors). System users are synced from +// the -user/-password flags and are read-only in the account-management UI. +type User struct { + ID int64 `json:"id"` + Username string `json:"username"` + PasswordHash string `json:"-"` // never serialized to clients + Role string `json:"role"` // "admin" | "viewer" + Enabled bool `json:"enabled"` + System bool `json:"system"` // true = flag-synced, UI read-only + CreatedAt int64 `json:"createdAt"` + LastLoginAt int64 `json:"lastLoginAt"` +} + +// ApiKey is a bearer token bound to a user with an explicit scope. The +// plaintext key is returned exactly once at creation; only its sha256 hash +// and an 8-char display prefix are persisted. +type ApiKey struct { + ID int64 `json:"id"` + UserID int64 `json:"userId"` + Prefix string `json:"prefix"` // first 8 chars of plaintext, for display + Label string `json:"label"` + Scope string `json:"scope"` // "read" | "write" | "admin" + CreatedAt int64 `json:"createdAt"` + LastUsedAt int64 `json:"lastUsedAt"` + ExpiresAt int64 `json:"expiresAt"` // 0 = never expires } const schema = ` @@ -158,13 +216,37 @@ CREATE TABLE IF NOT EXISTS links ( remote TEXT NOT NULL REFERENCES remotes(name) ON DELETE CASCADE, remote_port INTEGER NOT NULL DEFAULT 0, offset_x INTEGER NOT NULL DEFAULT 0, - offset_y INTEGER NOT NULL DEFAULT 0 + offset_y INTEGER NOT NULL DEFAULT 0, + grp TEXT NOT NULL DEFAULT '', + disabled INTEGER NOT NULL DEFAULT 0 ); CREATE INDEX IF NOT EXISTS idx_links_remote ON links(remote); CREATE TABLE IF NOT EXISTS settings ( - key TEXT PRIMARY KEY, - value TEXT NOT NULL + key TEXT PRIMARY KEY, + value TEXT NOT NULL ); +CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT UNIQUE NOT NULL, + password_hash TEXT NOT NULL, + role TEXT NOT NULL DEFAULT 'admin', -- 'admin' | 'viewer' + enabled INTEGER NOT NULL DEFAULT 1, + system INTEGER NOT NULL DEFAULT 0, -- 1 = synced from -user/-password flags, UI read-only + created_at INTEGER NOT NULL DEFAULT 0, + last_login_at INTEGER NOT NULL DEFAULT 0 +); +CREATE TABLE IF NOT EXISTS api_keys ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, + key_hash TEXT UNIQUE NOT NULL, -- sha256(plaintext) hex + prefix TEXT NOT NULL DEFAULT '', -- first 8 chars of plaintext, for display + label TEXT NOT NULL DEFAULT '', + scope TEXT NOT NULL DEFAULT 'read', -- 'read' | 'write' | 'admin' + created_at INTEGER NOT NULL DEFAULT 0, + last_used_at INTEGER NOT NULL DEFAULT 0, + expires_at INTEGER NOT NULL DEFAULT 0 -- 0 = never expires +); +CREATE INDEX IF NOT EXISTS idx_api_keys_user ON api_keys(user_id); ` // Store is the SQLite persistence layer. @@ -240,6 +322,10 @@ func (s *Store) migrate() error { "admin_user TEXT NOT NULL DEFAULT ''", "admin_password TEXT NOT NULL DEFAULT ''", }, + "links": { + "grp TEXT NOT NULL DEFAULT ''", + "disabled INTEGER NOT NULL DEFAULT 0", + }, } for table, cols := range tables { rows, err := s.db.Query("PRAGMA table_info(" + table + ")") @@ -432,7 +518,7 @@ func (s *Store) DeleteRemote(name string) error { // ---- Links ---- func (s *Store) ListLinks() ([]Link, error) { - rows, err := s.db.Query("SELECT id, local, remote, remote_port, offset_x, offset_y FROM links") + rows, err := s.db.Query("SELECT id, local, remote, remote_port, offset_x, offset_y, grp, disabled FROM links") if err != nil { return nil, err } @@ -440,7 +526,7 @@ func (s *Store) ListLinks() ([]Link, error) { var out []Link for rows.Next() { var l Link - if err := rows.Scan(&l.ID, &l.Local, &l.Remote, &l.RemotePort, &l.OffsetX, &l.OffsetY); err != nil { + if err := rows.Scan(&l.ID, &l.Local, &l.Remote, &l.RemotePort, &l.OffsetX, &l.OffsetY, &l.Group, &l.Disabled); err != nil { return nil, err } out = append(out, l) @@ -448,6 +534,37 @@ func (s *Store) ListLinks() ([]Link, error) { return out, rows.Err() } +// AddLink inserts a single link row and returns it with the new id filled in. +func (s *Store) AddLink(l Link) (Link, error) { + res, err := s.db.Exec( + "INSERT INTO links(local, remote, remote_port, offset_x, offset_y, grp, disabled) VALUES(?,?,?,?,?,?,?)", + l.Local, l.Remote, l.RemotePort, l.OffsetX, l.OffsetY, l.Group, l.Disabled, + ) + if err != nil { + return Link{}, err + } + id, _ := res.LastInsertId() + l.ID = id + return l, nil +} + +// GetLink returns a single link by id. +func (s *Store) GetLink(id int64) (Link, bool) { + var l Link + err := s.db.QueryRow("SELECT id, local, remote, remote_port, offset_x, offset_y, grp, disabled FROM links WHERE id = ?", id). + Scan(&l.ID, &l.Local, &l.Remote, &l.RemotePort, &l.OffsetX, &l.OffsetY, &l.Group, &l.Disabled) + if err != nil { + return Link{}, false + } + return l, true +} + +// DeleteLink removes a single link by id. +func (s *Store) DeleteLink(id int64) error { + _, err := s.db.Exec("DELETE FROM links WHERE id = ?", id) + return err +} + // LocalTarget describes one outgoing forward of a local service. type LocalTarget struct { Remote string `json:"remote"` @@ -491,6 +608,7 @@ func (s *Store) LinksForRemote(remote string) ([]Forward, error) { LocalPort: loc.Port, OffsetX: l.OffsetX, OffsetY: l.OffsetY, + Disabled: l.Disabled, }) } return out, nil @@ -508,8 +626,8 @@ func (s *Store) ReplaceLinks(links []Link) error { } for _, l := range links { if _, err := tx.Exec( - "INSERT INTO links(local, remote, remote_port, offset_x, offset_y) VALUES(?,?,?,?,?)", - l.Local, l.Remote, l.RemotePort, l.OffsetX, l.OffsetY, + "INSERT INTO links(local, remote, remote_port, offset_x, offset_y, grp, disabled) VALUES(?,?,?,?,?,?,?)", + l.Local, l.Remote, l.RemotePort, l.OffsetX, l.OffsetY, l.Group, l.Disabled, ); err != nil { return err } @@ -517,6 +635,31 @@ func (s *Store) ReplaceLinks(links []Link) error { return tx.Commit() } +// SetLinkDisabled flips the disabled flag of a forward identified by its +// (local, remote, remotePort) natural key. This is the persistence half of the +// forwards-page start/stop toggle; the caller also drives the worker/ring side. +func (s *Store) SetLinkDisabled(local, remote string, port int, disabled bool) error { + _, err := s.db.Exec( + "UPDATE links SET disabled = ? WHERE local = ? AND remote = ? AND remote_port = ?", + disabled, local, remote, port, + ) + return err +} + +// SetLinkGroup assigns a management group label to a forward identified by its +// (local, remote, remotePort) natural key. Empty string clears the group +// (moves the forward to 未分组). This is the persistence half of the +// status-page group chip edit; the canvas editor also writes group via +// saveCanvas. Group is for one-click start/stop on the forwards page only +// (unrelated to frps load-balancing lbGroup on Local). +func (s *Store) SetLinkGroup(local, remote string, port int, group string) error { + _, err := s.db.Exec( + "UPDATE links SET grp = ? WHERE local = ? AND remote = ? AND remote_port = ?", + group, local, remote, port, + ) + return err +} + // ---- Settings ---- func (s *Store) Settings() (Settings, error) { @@ -544,6 +687,28 @@ func (s *Store) UpdateSettings(st Settings) error { return err } +// SetNodeKey persists just the cluster admission key, preserving all other +// settings. Used on first startup when the key is generated. +func (s *Store) SetNodeKey(key string) error { + st, err := s.Settings() + if err != nil { + return err + } + st.NodeKey = key + return s.UpdateSettings(st) +} + +// SetClusterPeers persists the cached peer list (JSON) so a crashed node can +// auto-rejoin on restart. Pass "" to clear (explicit detach). +func (s *Store) SetClusterPeers(peersJSON string) error { + st, err := s.Settings() + if err != nil { + return err + } + st.ClusterPeers = peersJSON + return s.UpdateSettings(st) +} + var ( ErrNotFound = errors.New("not found") ErrInvalid = errors.New("invalid argument") @@ -556,3 +721,264 @@ func boolToInt(b bool) int { } return 0 } + +// ---- Users ---- + +func (s *Store) ListUsers() ([]User, error) { + rows, err := s.db.Query("SELECT id, username, password_hash, role, enabled, system, created_at, last_login_at FROM users ORDER BY id") + if err != nil { + return nil, err + } + defer rows.Close() + var out []User + for rows.Next() { + var u User + var en, sys int + if err := rows.Scan(&u.ID, &u.Username, &u.PasswordHash, &u.Role, &en, &sys, &u.CreatedAt, &u.LastLoginAt); err != nil { + return nil, err + } + u.Enabled = en != 0 + u.System = sys != 0 + out = append(out, u) + } + return out, rows.Err() +} + +func (s *Store) GetUser(username string) (User, bool) { + var u User + var en, sys int + row := s.db.QueryRow("SELECT id, username, password_hash, role, enabled, system, created_at, last_login_at FROM users WHERE username = ?", username) + if err := row.Scan(&u.ID, &u.Username, &u.PasswordHash, &u.Role, &en, &sys, &u.CreatedAt, &u.LastLoginAt); err != nil { + return User{}, false + } + u.Enabled = en != 0 + u.System = sys != 0 + return u, true +} + +func (s *Store) GetUserByID(id int64) (User, bool) { + var u User + var en, sys int + row := s.db.QueryRow("SELECT id, username, password_hash, role, enabled, system, created_at, last_login_at FROM users WHERE id = ?", id) + if err := row.Scan(&u.ID, &u.Username, &u.PasswordHash, &u.Role, &en, &sys, &u.CreatedAt, &u.LastLoginAt); err != nil { + return User{}, false + } + u.Enabled = en != 0 + u.System = sys != 0 + return u, true +} + +// CreateUser inserts a new user, hashing the plaintext password with bcrypt. +func (s *Store) CreateUser(username, plainPassword, role string) (User, error) { + if username == "" || plainPassword == "" { + return User{}, ErrInvalid + } + if role != "admin" && role != "viewer" { + return User{}, ErrInvalid + } + hash, err := bcrypt.GenerateFromPassword([]byte(plainPassword), bcrypt.DefaultCost) + if err != nil { + return User{}, err + } + now := time.Now().Unix() + res, err := s.db.Exec( + "INSERT INTO users(username, password_hash, role, enabled, system, created_at, last_login_at) VALUES(?,?,?,1,0,?,0)", + username, string(hash), role, now, + ) + if err != nil { + return User{}, err + } + id, _ := res.LastInsertId() + return User{ + ID: id, Username: username, PasswordHash: string(hash), + Role: role, Enabled: true, System: false, CreatedAt: now, + }, nil +} + +// UpdateUser modifies role/enabled and optionally resets the password. +// System (flag-synced) users refuse password changes. +func (s *Store) UpdateUser(id int64, role string, enabled bool, plainPassword string) error { + u, ok := s.GetUserByID(id) + if !ok { + return ErrNotFound + } + if role != "admin" && role != "viewer" { + return ErrInvalid + } + if u.System && plainPassword != "" { + return ErrInvalid + } + if plainPassword != "" { + hash, err := bcrypt.GenerateFromPassword([]byte(plainPassword), bcrypt.DefaultCost) + if err != nil { + return err + } + _, err = s.db.Exec( + "UPDATE users SET password_hash=?, role=?, enabled=? WHERE id=?", + string(hash), role, boolToInt(enabled), id, + ) + return err + } + _, err := s.db.Exec( + "UPDATE users SET role=?, enabled=? WHERE id=?", + role, boolToInt(enabled), id, + ) + return err +} + +// DeleteUser removes a user. System users are protected. Callers should guard +// the last remaining admin with CountAdmins before deleting an admin. +func (s *Store) DeleteUser(id int64) error { + u, ok := s.GetUserByID(id) + if !ok { + return ErrNotFound + } + if u.System { + return ErrInvalid + } + _, err := s.db.Exec("DELETE FROM users WHERE id = ?", id) + return err +} + +// CountAdmins returns the count of enabled admin users (for the last-admin guard). +func (s *Store) CountAdmins() (int, error) { + var n int + err := s.db.QueryRow("SELECT COUNT(*) FROM users WHERE role = 'admin' AND enabled = 1").Scan(&n) + return n, err +} + +// SyncSystemUser upserts the flag-synced built-in admin account on every +// startup so -user/-password changes propagate to the users table. A +// pre-existing non-system row with the same name is left untouched; the +// flag-creds fallback in the auth middleware still authenticates it. +func (s *Store) SyncSystemUser(username, plainPassword string) error { + if username == "" || plainPassword == "" { + return ErrInvalid + } + existing, ok := s.GetUser(username) + if ok && !existing.System { + return nil + } + hash, err := bcrypt.GenerateFromPassword([]byte(plainPassword), bcrypt.DefaultCost) + if err != nil { + return err + } + now := time.Now().Unix() + if ok { + _, err = s.db.Exec( + "UPDATE users SET password_hash=?, role='admin', enabled=1, system=1 WHERE id=?", + string(hash), existing.ID, + ) + return err + } + _, err = s.db.Exec( + "INSERT INTO users(username, password_hash, role, enabled, system, created_at, last_login_at) VALUES(?,?,?,1,1,?,0)", + username, string(hash), "admin", now, + ) + return err +} + +// TouchUserLogin records a successful login timestamp. +func (s *Store) TouchUserLogin(id int64) error { + _, err := s.db.Exec("UPDATE users SET last_login_at = ? WHERE id = ?", time.Now().Unix(), id) + return err +} + +// VerifyUserPassword returns the user when the bcrypt hash matches. Used by +// the auth middleware's Basic branch. +func (s *Store) VerifyUserPassword(username, plainPassword string) (User, bool) { + u, ok := s.GetUser(username) + if !ok || !u.Enabled { + return User{}, false + } + if bcrypt.CompareHashAndPassword([]byte(u.PasswordHash), []byte(plainPassword)) != nil { + return User{}, false + } + return u, true +} + +// ---- API keys ---- + +func (s *Store) ListApiKeys() ([]ApiKey, error) { + rows, err := s.db.Query("SELECT id, user_id, prefix, label, scope, created_at, last_used_at, expires_at FROM api_keys ORDER BY id") + if err != nil { + return nil, err + } + defer rows.Close() + var out []ApiKey + for rows.Next() { + var k ApiKey + if err := rows.Scan(&k.ID, &k.UserID, &k.Prefix, &k.Label, &k.Scope, &k.CreatedAt, &k.LastUsedAt, &k.ExpiresAt); err != nil { + return nil, err + } + out = append(out, k) + } + return out, rows.Err() +} + +// CreateApiKey generates a 32-byte random key, stores its sha256 hash, and +// returns the plaintext exactly once. +func (s *Store) CreateApiKey(userID int64, label, scope string) (ApiKey, string, error) { + if scope != "read" && scope != "write" && scope != "admin" { + return ApiKey{}, "", ErrInvalid + } + if _, ok := s.GetUserByID(userID); !ok { + return ApiKey{}, "", ErrNotFound + } + raw := make([]byte, 32) + if _, err := rand.Read(raw); err != nil { + return ApiKey{}, "", err + } + // "w4f_" prefix makes keys greppable/recognizable; base64 RawURL = no padding. + plaintext := "w4f_" + base64.RawURLEncoding.EncodeToString(raw) + hash := HashApiKey(plaintext) + prefix := plaintext[:8] + now := time.Now().Unix() + res, err := s.db.Exec( + "INSERT INTO api_keys(user_id, key_hash, prefix, label, scope, created_at, last_used_at, expires_at) VALUES(?,?,?,?,?,?,0,0)", + userID, hash, prefix, label, scope, now, + ) + if err != nil { + return ApiKey{}, "", err + } + id, _ := res.LastInsertId() + return ApiKey{ + ID: id, UserID: userID, Prefix: prefix, Label: label, + Scope: scope, CreatedAt: now, + }, plaintext, nil +} + +// LookupApiKey finds a key by the sha256 hex of its plaintext, validating +// expiry and the owning user's enabled flag. Used by the Bearer branch. +func (s *Store) LookupApiKey(hashHex string) (ApiKey, User, bool) { + var k ApiKey + row := s.db.QueryRow("SELECT id, user_id, prefix, label, scope, created_at, last_used_at, expires_at FROM api_keys WHERE key_hash = ?", hashHex) + if err := row.Scan(&k.ID, &k.UserID, &k.Prefix, &k.Label, &k.Scope, &k.CreatedAt, &k.LastUsedAt, &k.ExpiresAt); err != nil { + return ApiKey{}, User{}, false + } + if k.ExpiresAt != 0 && time.Now().Unix() > k.ExpiresAt { + return ApiKey{}, User{}, false + } + u, ok := s.GetUserByID(k.UserID) + if !ok || !u.Enabled { + return ApiKey{}, User{}, false + } + return k, u, true +} + +// TouchApiKey records the last-used timestamp for a key. +func (s *Store) TouchApiKey(id int64) error { + _, err := s.db.Exec("UPDATE api_keys SET last_used_at = ? WHERE id = ?", time.Now().Unix(), id) + return err +} + +func (s *Store) DeleteApiKey(id int64) error { + _, err := s.db.Exec("DELETE FROM api_keys WHERE id = ?", id) + return err +} + +// HashApiKey computes the sha256 hex of a plaintext key (middleware helper). +func HashApiKey(plaintext string) string { + sum := sha256.Sum256([]byte(plaintext)) + return hex.EncodeToString(sum[:]) +} diff --git a/internal/store/users_test.go b/internal/store/users_test.go new file mode 100644 index 0000000..8966fe7 --- /dev/null +++ b/internal/store/users_test.go @@ -0,0 +1,114 @@ +package store + +import ( + "path/filepath" + "testing" +) + +func newTestStore(t *testing.T) *Store { + t.Helper() + dir := t.TempDir() + st, err := New(filepath.Join(dir, "test.db")) + if err != nil { + t.Fatalf("open store: %v", err) + } + t.Cleanup(func() { _ = st.Close() }) + return st +} + +func TestUserCreateVerify(t *testing.T) { + st := newTestStore(t) + u, err := st.CreateUser("alice", "secret-pass", "viewer") + if err != nil { + t.Fatalf("create: %v", err) + } + if u.Role != "viewer" || u.System || !u.Enabled { + t.Fatalf("bad user: %+v", u) + } + // Wrong password must fail. + if _, ok := st.VerifyUserPassword("alice", "wrong"); ok { + t.Fatal("verify accepted wrong password") + } + // Correct password must succeed. + got, ok := st.VerifyUserPassword("alice", "secret-pass") + if !ok || got.Username != "alice" || got.Role != "viewer" { + t.Fatalf("verify failed: %+v ok=%v", got, ok) + } + // Duplicate username must error. + if _, err := st.CreateUser("alice", "x", "admin"); err == nil { + t.Fatal("duplicate create should fail") + } +} + +func TestSystemUserSync(t *testing.T) { + st := newTestStore(t) + if err := st.SyncSystemUser("admin", "flag-pass"); err != nil { + t.Fatalf("sync: %v", err) + } + u, ok := st.GetUser("admin") + if !ok || !u.System || u.Role != "admin" { + t.Fatalf("system user not synced: %+v ok=%v", u, ok) + } + // Flag password change propagates on re-sync. + if err := st.SyncSystemUser("admin", "new-flag-pass"); err != nil { + t.Fatalf("re-sync: %v", err) + } + if _, ok := st.VerifyUserPassword("admin", "flag-pass"); ok { + t.Fatal("old flag password still works after re-sync") + } + if _, ok := st.VerifyUserPassword("admin", "new-flag-pass"); !ok { + t.Fatal("new flag password rejected after re-sync") + } +} + +func TestLastAdminGuard(t *testing.T) { + st := newTestStore(t) + // System admin exists after sync; count must be 1. + if err := st.SyncSystemUser("admin", "p"); err != nil { + t.Fatal(err) + } + n, _ := st.CountAdmins() + if n != 1 { + t.Fatalf("admins = %d want 1", n) + } + // System user delete must be refused. + if err := st.DeleteUser(1); err != ErrInvalid { + t.Fatalf("delete system user: %v want ErrInvalid", err) + } + // Add a viewer, then disable the system admin: still 1 admin, allowed at + // store level (handler enforces the guard, store just refuses system rows). + if _, err := st.CreateUser("bob", "p", "viewer"); err != nil { + t.Fatal(err) + } +} + +func TestApiKeyCreateLookup(t *testing.T) { + st := newTestStore(t) + u, _ := st.CreateUser("carol", "p", "admin") + k, plaintext, err := st.CreateApiKey(u.ID, "ci", "write") + if err != nil { + t.Fatalf("create key: %v", err) + } + if plaintext == "" || k.Prefix == "" { + t.Fatalf("empty plaintext/prefix: %+v", k) + } + if plaintext[:8] != k.Prefix { + t.Fatalf("prefix mismatch: %q vs %q", k.Prefix, plaintext[:8]) + } + // Lookup via the sha256 of the plaintext must find the key + owner. + found, owner, ok := st.LookupApiKey(HashApiKey(plaintext)) + if !ok || owner.ID != u.ID || found.Scope != "write" { + t.Fatalf("lookup failed: %+v owner=%+v ok=%v", found, owner, ok) + } + // A bogus hash must miss. + if _, _, ok := st.LookupApiKey(HashApiKey("not-a-real-key")); ok { + t.Fatal("bogus key should not be found") + } + // Deleting the user cascades to the key (FK ON DELETE CASCADE). + if err := st.DeleteUser(u.ID); err != nil { + t.Fatalf("delete user: %v", err) + } + if _, _, ok := st.LookupApiKey(HashApiKey(plaintext)); ok { + t.Fatal("key survived user deletion") + } +} diff --git a/plan.md b/plan.md deleted file mode 100644 index e923a8d..0000000 --- a/plan.md +++ /dev/null @@ -1,193 +0,0 @@ -# webui4frpc 开发计划 - -> webui4frpc —— 独立于 frp 源码的可视化 frpc 控制器(单二进制,零 frp 代码依赖,frpc 运行时一键从官方 Releases 下载或手动指定)。 - -## 目标 - -用画布方式把「本地转发项」连到「远程服务器」,自动为每台远程服务器生成 frpc 配置并拉起独立 worker 进程,避免运维反复手写 frpc 配置。 - -## 已完成(M0:骨架与核心) - -- [x] 独立仓库:module `webui4frpc`,仅依赖 `modernc.org/sqlite`,零 frp 源码引用 -- [x] 目录结构:cmd / internal/{store,render,process,httpapi,install} + web(Vue3 + VueFlow + Element Plus) -- [x] 画布模型:local / remote / link 多对多连线,节点可编辑、可添加 -- [x] 渲染器:tcp/udp/http/https → frpc JSON 配置(http 用 customDomains=`.local`) -- [x] worker 进程管理:spawn/stop/restart、日志轮转、崩溃自愈(指数退避) -- [x] 一键安装 frpc(GitHub Releases)+ 手动指定路径 -- [x] REST API:status/canvas/settings/remotes/profiles/binary -- [x] 三页 UI:状态(默认)/ 连接配置 / 设置 -- [x] 状态页:远程节点状态框 + 本地服务转发表(每 5s 轮询),节点可增删改启停 -- [x] 画布可用性检查:端口冲突 / http 域名唯一性,标红 + 弹窗提示,保存前拦截 -- [x] 演示环境:3 本地 × 3 远程多对多全连通(tcp + http 转发实测返回数据) -- [x] 后端单元测试:store / render / process / httpapi / install - -## 项目现状核对(代码审查记录 2024-08 单 commit c193688) - -- 后端入口 `cmd/webui4frpc/main.go`:flag 解析(-addr/-user/-password/-workdir/-bin)→ 建数据目录 → `store.New` → `process.NewManager`(BinaryPath/AutoRestart/RestartInterval 动态闭包,AutoStartProfiles 启动已启用 worker)→ `httpapi.NewServeMux`(healthz 免认证,其余 Basic Auth)→ SIGINT/SIGTERM 优雅退出(15s 超时 + StopAll) -- 核心数据流:PUT `/api/manager/canvas` → store 全量 upsert/删除 + 事务替换 links → `SyncWorkers` 重启受影响 worker → 每台远程独立 `frpc -c configs/.json` 进程 -- 渲染器当前能力:tcp/udp 用 remotePort,http/https 用 customDomains(默认 `.local`),重名服务自动加端口后缀;transport 段仅有 protocol 字段且从未填充 -- 前端:App.vue 三页手动切换(状态/连接配置/设置),CanvasView/VueFlow 画布 + StatusView 5s 轮询 + SettingsView - -## 已知问题(审查发现,待修复) - -1. ~~设置保存失效(P0)~~ **已修复**:`server.go` 的 `NewServeMux` 现在对 `PUT /api/manager/settings` 分发到 `handleSettingsPut`,新增 `TestSettingsPutRoundTrip` 回归测试,前端 SettingsView 保存生效。 -2. ~~dev proxy 端口不一致~~ **已修复**:`web/vite.config.ts` proxy 指向 `127.0.0.1:7500`(可用 `VITE_PROXY_TARGET` 覆盖),与后端默认一致。 -3. **冗余依赖**:`vue-router` 在 package.json 依赖中但未被使用(App.vue 以视图 ref 手动切页,无路由)。 -4. **README 笔误**:架构图写 `cmds/webui4frpc`,实际目录为 `cmd/webui4frpc`。 - -## 里程碑 - -### M1 高级传输参数(P0,建议优先) - -目标:让常用 frpc 能力可配置,保持画布简洁(折叠高级区)。 - -- [x] Local 增加高级字段:useEncryption / useCompression / bandwidthLimit / poolCount / metadatas / annotations(渲染器 + 编辑表单 + 折叠 UI) -- [x] Remote 增加 transport:protocol(tcp/quic/kcp/websocket)、tls.enable、poolCount -- [x] 渲染器补齐 transport 段输出;增加 render 单测覆盖新字段 -- [x] 高级字段随 canvas API 持久化(store 表扩展 + 迁移) - -### M2 HTTP/HTTPS 完善 - -- [x] local http/https 增加可编辑域名字段(customDomains / subdomain) -- [x] locations(路径路由)多配置 -- [x] httpHeaderRewrite / hostHeaderRewrite / basicAuth(站点访问认证) -- [x] frps vhostHTTPPort 的显示与状态映射(状态页展示) - -### M3 负载均衡与健康检查 - -- [x] 模型扩展:Local 增加 lbGroup / lbGroupKey / healthCheck* 字段,Remote 增加 adminAddr / adminPort / adminUser / adminPassword(local frpc admin API) -- [x] 渲染器:proxy 输出 loadBalancer + healthCheck 段;worker 配置输出 webServer 段(frpc >= 0.52 支持) -- [x] 状态页:按 admin API GET /api/status 拉取真实 per-proxy 状态(running / check failed / wait start / start error / new / closed),未启用 admin 时回退日志推断 -- [x] 前端:LocalNode/RemoteNode 表单 + StatusView per-proxy 状态与 LB 组徽标(vue-tsc 通过) -- [x] CLUSTER 页:展示负载均衡组(group)+ 健康检查状态(e2e 验证:backend 停止→check failed 剔除,恢复→自动收回) - -### M4 更多代理类型 - -- [ ] tcpmux(HTTP/2 多路复用) -- [ ] stcp / sudp(点对点加密穿透) -- [ ] xtcp(P2P,需 kcp) -- [ ] 按类型动态显示字段的表单 - -### M5 运维与发布 - -- [x] git init + 首次 commit + .gitignore(排除 node_modules / web/dist;.pi/ 本地代理状态已忽略) -- [ ] 一键构建脚本(web→dist→embed→单二进制) -- [ ] GitHub Actions:release 构建(linux/windows/mac) -- [ ] 配置导出/导入(备份) -- [ ] 日志查看页(worker 日志 tail UI) - -> 注:发布类条目已并入 **M7 运维与发布(原 M5)**,本节 M5 保留初始清单。 -> -### M6 集群(令牌环网拓扑) - -> **权威设计(用户约定,必须固化)**:集群节点间通过**令牌环网(token ring)**通信,单轮为一个周期。 - -#### 拓扑与角色 - -- 集群 = 若干 webui4frpc 节点组成的内网协作网络;逻辑上各节点**平等**,均持有**完整集群信息**(节点表、转发链、各自配置)与完整 webui。 -- **leader**:唯一特殊角色,负责启动时发送第一个令牌;默认**创建集群的节点**为初始 leader。 -- **转发链(ring)**:令牌按固定顺序传递;每个节点记录前驱/后继。 - -#### 令牌环协议(单轮:边传播边同步,收敛快半轮) - -- **令牌环行时,各节点收到令牌后同时做两件事**: - 1. **透传/同步**:采纳令牌已携带的完整集群信息(其它节点此前追加的节点表、负载、拓扑、日志增量),更新自己的完整集群视图。 - 2. **追加/顺带更新**:把自己的信息(地址、负载指标、frpc 缓存、转发能力、本机产生的命令)追加进令牌。 -- 因每经过一个节点就立即传播当前已知的最新状态,第一个节点的信息在**第二个节点**就被同步到,全网收敛只需**约半圈**——无需分两轮——第一轮即同步,全网收敛只需约半圈。 -- 令牌同一时刻只有一个;由"收到令牌的节点处理后交给下家"驱动,无定时重启、无竞态。 -- **节奏控制(并行计时器 + 同步操作,非硬性 sleep)**:令牌到达时节点做自己的操作(摘取/追加/日志同步/差异预计算),**同时起一个独立的节奏计时器**。操作完成后若计时器未走完则等计时器(保持环的稳定节奏);计时器先到而操作未完则等操作完成(操作皆轻量,且大部分耗时操作如差异计算在令牌到来前已完成)。故转发时机 = max(操作完成, 节奏计时器),两者并行不互斥。 -- **令牌带时间戳,只取最新**:每个令牌携带发起时间戳(`SentAt`);节点收到令牌时比较时间戳——若令牌比本机最近记录的旧,说明是**重发残留的旧令牌**,直接丢弃。此机制彻底消除"重发时旧令牌可能还活着"的担忧,即使重发,旧令牌也会被下游识别过期而消失,环上始终只有一个有效令牌。 -- 新转发任务:需要建立转发时,**把任务附加在令牌中**(而非直接指派);因每节点都持完整集群信息,由**负载最低的节点**(**内存使用率 + 网络使用率共同判断**)自行摘取并创建转发。 -- **负载摘取**:令牌传递到某节点时,若该节点在上一轮被判定为负载最低,则**先主动摘取任务**,随后在令牌中更新自身信息。 - -#### 容错与邻居离线 - -- 令牌传递超时(未收到回执)→ 判定邻居离线。因每节点持完整集群信息,当前节点可**自动修改集群状态**,并把邻居负责的转发**作为新任务追加到令牌**,再传给下一节点。 -- leader 检测令牌丢失:发出令牌后超过 **(轮次延迟 / 2 + 20ms)** 未回传 → 判定令牌丢失(可能某节点接令后崩溃),**重发令牌**。 -- leader 每轮探测后更新一次轮次延迟。 - -#### leader 补充/监控 - -- leader 受其上家邻居监控:二者**交换心跳包**(因节点都持完整信息,容易做到)。 -- 上家邻居探测到 leader 崩溃 → **自身成为新 leader**。 - -#### 新节点加入 - -- 每个节点都有 webui;用户登录到哪个节点的 webui,就由**该节点**执行新节点加入:令牌发到自己时,**先转发给新节点**,并把新节点加入令牌中的集群信息,**更新转发链**:新节点放在自己后面,自己原本的后继放在新节点之后。 - -#### 增量日志同步(本机事件 → 令牌 → 全网一致) - -- 每个节点维护一份**集群事件日志(operation log)**:本机发生的变更(创建/删除转发、节点加入/离开、负载变化、leader 变更)以**递增序号**追加为本机日志条目。 -- 令牌携带**本机日志增量**(同步与追加在同一轮):号码 > 上一周期已同步水位(`lastSyncedSeq`)的条目,随令牌环行时让其它节点**按序追加重放到本地日志**,从而实现全网**增量日志同步**。 -- 日志条目不可变(追加式);节点收到增量后校验序号连续性(缺失则请求补齐),因每个节点持有完整集群信息,可从其它节点补拉。 -- 集群状态(拓扑/任务/leader)可**由日志重放得到**:新节点加入时,通过令牌/邻居拉取完整日志并重放,即可获得与其它节点一致的完整视图(满足"每个节点都掌握完整集群信息")。 -- 该机制与"令牌承载中间配置文件/转发拓扑"正交共存:令牌同时携带〔拓扑快照〕与〔日志增量〕,快照用于即时校验,日志用于一致性追补。 - -#### 任务撤销(复用任务发布通道,撤销语义) - -- 撤销一个转发 = **发布一个"撤销任务"到令牌**:与任务发布走同一基础通道(round-1 注入、round-2 执行),只是 Type 为撤销、载荷为〔任务 ID + 该转发中间配置〕。 -- 令牌环行时,**持有该转发的节点**(其 owner 记录在拓扑中)收到撤销任务后:取消本地 frpc worker → 从活跃拓扑移除该转发 → 记 `forward.remove` 增量日志,全网随之下一次轮次收敛一致。 -- 撤销任务幂等:若转发已不在拓扑(已被撤销/离线重挂),收到撤销仅记日志、不报错。 -- localOnly 的本地转发撤销不发布到令牌,直接本机取消(因本机即 owner,仅本节点可见)。 - -#### 画布差异判断(diff)与命令追加 - -- **在哪个节点修改 webui 画布,就由该节点进行差异判断**:将该节点画布的「期望状态」与当前集群拓扑(该节点持有的完整视图)比对。 -- 差异结果转为**一批转发/撤销命令,追加到令牌任务**: - - 画布有、拓扑无 → 追加**新增转发命令**(任务+中间配置)→ 后续由负载最低者摘取创建。 - - 画布无、拓扑有 → 追加**撤销转发命令**(撤任务+转发的中间配置)→ 持有者收到后取消 worker 并移出拓扑。 -- 画布即唯一编辑入口:编辑节点只发命令,不直接改其它节点;拓扑随令牌轮次收敛全网一致。 -- **其它节点根据集群拓扑生成本地画布存储**:非编辑节点收到令牌同步的完整拓扑后,把拓扑中的转发(locals/remotes/links)重建为本地画布视图,叠加本节点的 localOnly 项。故所有节点的画布展示一致(都源自拓扑),编辑只在入口节点生效。 - -#### 增删节点 - -- **加入节点(addnode)**:维持原设计——在**哪个节点的 webui 做添加节点,哪个节点负责把新节点并入集群**(临近节点处理): - 1. 临近节点(如 B)收到新节点(C)的加入请求后,**修改转发链与拓扑**:把 C 插入自己后面(B 的后继=C),自己的原后继(A)移到 C 后面(C 的后继=A),形成 `A→B→C→A`。 - 2. **B 将令牌交给 C**(而非原后继 A)——C 作为 B 的后继参与环;C 处理令牌后继续传给自己的后继 A,**形成完整的 join 语义**。 - 3. 随令牌轮转,全节点收敛到含 C 的一致拓扑。 -- **移除节点(removenode)**:**借用现有任务发布基础设施**——在某节点 webui 发起删除节点,发布 `node.remove` 命令进令牌;令牌传递到**被移除节点自身**时,该节点执行自移除: - 1. 将自己负责的转发任务**重新追加到待分配任务**(自然的 `owner 离线重挂` 语义), - 2. **修改拓扑与转发链、移除自身**(拓扑去掉自己的项、环去掉自己、后继衔接), - 3. 令牌传递给自身**原本的下一家**。 -- **脱离集群后的本地视图**:被移除节点脱离后,自身内部维持的拓扑**只保留本地 local(localOnly 不进集群的转发)**,**完全取消一切集群远程转发**(删掉由集群分发的转发、停其 worker)。 - -#### 故障自愈(传递令牌间隙判定邻居离线) - -- 邻居离线判定**仅在传递令牌的间隙**发生:上家传递令牌给下家后,若在预期窗口内未收到回执,则判定下家离线 → **修改集群状态、移除该节点、将其负责的任务重新追加为待办**,令牌传给再下家。 - -#### 节点消亡(防脑裂最强兜底) - -- 任何节点若**超时收不到令牌**(超过既定周期的 N 倍),**直接自杀退出**:不探测上家、不生成新令牌、不做任何协商。这是防止集群脑裂(split-brain)的最后防线——宁可单一节点自毁,不让两个各自为政的残环长期并存。 - -#### 实现里程碑(待按上述设计重建) - -- [x] 数据面:Ring State(节点表/转发链/leader/轮次延迟/负载/待办任务)+ 日志(追加式 + 水位) -- [x] 令牌环传输:HTTP POST /cluster/token + 回执;单轮一周期(信息追加与同步同步完成) -- [x] leader:创建集群者为首 leader,StartRing 首令牌 + 轮次延迟测量 + 令牌丢失重发(LossTimeout) -- [x] 新转发任务:POST /cluster/task 挂 pending → 令牌携带 → 负载最低者摘取 → 持久化 + 拉 worker(e2e 验证) -- [x] 增量日志同步:LogForwardAdd/LogNodeJoin 等事件随令牌 delta 传播(单轮内完成同步),各节点重放收敛(e2e 验证) -- [x] 拓扑回写:摘取后 state 写入令牌,全网一致(e2e topology=[t1,owner]) -- [x] 新节点加入:POST /cluster/join → 插入环(后继) → AdoptState(e2e A+B 环) -- [ ] 离线处理:令牌超时 → 改集群状态 → 邻居转发转任务重挂(forwardToNext 已实现,待 e2e) -- [ ] leader 监控:上家邻居心跳探测 → 崩溃提升(WatchLeader 已实现,待 e2e) -- [ ] 前端:集群页展示环拓扑/令牌轮次/负载/任务摘取;设置页二进制缓存状态 - -### M7 运维与发布(原 M5) - -- [x] git init + 首次 commit + .gitignore -- [ ] 一键构建脚本 / GitHub Actions release / 配置导入导出 / 日志查看页 - -## 建议推进顺序 - -1. [x] 修复「设置保存失效」——给 `PUT /api/manager/settings` 补注册(server.go 方法分发 + httpapi 单测) -2. [x] 对齐 dev proxy 端口——vite.config.ts → 7500(支持 VITE_PROXY_TARGET 覆盖) -3. M1 高级传输参数(store 加列 → render 输出 → 前端折叠表单 → 单测回归) -4. M3 负载均衡与健康检查(模型 → 渲染 → admin API 状态 → 集群页)— 进行中 -5. M6 集群内 frpc 二进制分发(节点间优先 → 外部 URL 兜底 → 新节点自动传输) - -## 审查结论摘要(详见 FRPC_FEATURES_AUDIT.md) - -- 已支持:tcp / http(customDomains)、token 认证、多对多、worker 管理 -- 未支持:stcp/sudp/xtcp/tcpmux、OIDC/TLS 证书、加密/压缩/限速/连接池、LB/健康检查、http 路由高级、插件/虚拟 IP -- 优先级:P0 高级传输参数 → P1 域名字段+transport → P2 LB/健康检查 → P3 低频项 -- UI 原则:高级字段折叠式 / 按类型动态显示,保画布简洁 diff --git a/web/index.html b/web/index.html index 1d60b45..864187d 100644 --- a/web/index.html +++ b/web/index.html @@ -3,7 +3,8 @@ - webui-frpc + + webui4frpc
diff --git a/web/public/favicon.svg b/web/public/favicon.svg new file mode 100644 index 0000000..8457455 --- /dev/null +++ b/web/public/favicon.svg @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/src/App.vue b/web/src/App.vue index 451e267..67bfe72 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -13,7 +13,7 @@
@@ -46,6 +54,7 @@ +
@@ -53,23 +62,54 @@ diff --git a/web/src/components/RemoteNode.vue b/web/src/components/RemoteNode.vue index dd36fad..2b8d1b4 100644 --- a/web/src/components/RemoteNode.vue +++ b/web/src/components/RemoteNode.vue @@ -107,19 +107,19 @@ const showAdv = ref(false) .remote-node { min-width: 200px; border-radius: 14px 14px 4px 14px; - background: #fff3e0; - border: 2px solid #ff9800; - box-shadow: 0 2px 8px rgba(255, 152, 0, 0.18); + background: var(--w4f-warn-50); + border: 2px solid var(--w4f-warning); + box-shadow: 0 2px 8px var(--w4f-warn-glow); padding: 8px 10px; &.selected { - border-color: #ffd54f; - box-shadow: 0 0 0 3px rgba(255, 213, 79, 0.45); + border-color: var(--w4f-warning); + box-shadow: 0 0 0 3px var(--w4f-warn-glow); } &.conflicted { - border-color: #f5222d; - box-shadow: 0 0 0 3px rgba(245, 34, 45, 0.4); + border-color: var(--w4f-danger); + box-shadow: 0 0 0 3px color-mix(in srgb, var(--w4f-danger) 40%, transparent); animation: conflict-pulse 1.2s ease-in-out infinite; } } @@ -127,10 +127,10 @@ const showAdv = ref(false) @keyframes conflict-pulse { 0%, 100% { - box-shadow: 0 0 0 3px rgba(245, 34, 45, 0.4); + box-shadow: 0 0 0 3px color-mix(in srgb, var(--w4f-danger) 40%, transparent); } 50% { - box-shadow: 0 0 0 5px rgba(245, 34, 45, 0.7); + box-shadow: 0 0 0 5px color-mix(in srgb, var(--w4f-danger) 70%, transparent); } } @@ -140,7 +140,7 @@ const showAdv = ref(false) gap: 6px; .node-icon { - color: #ff9800; + color: var(--w4f-warning); font-size: 16px; } } @@ -152,9 +152,9 @@ const showAdv = ref(false) background: transparent; font-weight: 600; font-size: 14px; - color: #e65100; + color: var(--w4f-warn-text); &:focus { - outline: 1px solid #ff9800; + outline: 1px solid var(--w4f-warning); } } @@ -163,18 +163,18 @@ const showAdv = ref(false) align-items: center; gap: 2px; font-size: 10px; - color: #ef6c00; + color: var(--w4f-warn-text); } .del-btn { border: none; background: transparent; - color: #ffb74d; + color: var(--w4f-faint); font-size: 16px; cursor: pointer; line-height: 1; &:hover { - color: #c62828; + color: var(--w4f-danger); } } @@ -189,20 +189,20 @@ const showAdv = ref(false) align-items: center; gap: 4px; font-size: 11px; - color: #ef6c00; + color: var(--w4f-warn-text); input { flex: 1; min-width: 0; - border: 1px solid #ffcc80; + border: 1px solid var(--w4f-warn-border); border-radius: 6px; padding: 2px 6px; font-size: 12px; - background: #fff; - color: #333; + background: var(--w4f-card-solid); + color: var(--w4f-fg); &:focus { outline: none; - border-color: #ff9800; + border-color: var(--w4f-warning); } } @@ -215,9 +215,9 @@ const showAdv = ref(false) .adv { margin-top: 6px; .adv-toggle { - border: 1px dashed #ffcc80; + border: 1px dashed var(--w4f-warn-border); background: transparent; - color: #ef6c00; + color: var(--w4f-warn-text); font-size: 11px; border-radius: 6px; padding: 2px 8px; @@ -229,7 +229,7 @@ const showAdv = ref(false) gap: 4px; margin-top: 6px; padding: 6px; - background: rgba(255, 152, 0, 0.06); + background: var(--w4f-warn-100); border-radius: 8px; label { @@ -237,21 +237,21 @@ const showAdv = ref(false) align-items: center; gap: 4px; font-size: 11px; - color: #ef6c00; + color: var(--w4f-warn-text); input, select { flex: 1; min-width: 0; - border: 1px solid #ffcc80; + border: 1px solid var(--w4f-warn-border); border-radius: 6px; padding: 2px 6px; font-size: 12px; - background: #fff; - color: #333; + background: var(--w4f-card-solid); + color: var(--w4f-fg); &:focus { outline: none; - border-color: #ff9800; + border-color: var(--w4f-warning); } } } diff --git a/web/src/main.ts b/web/src/main.ts index b6f4fc8..decf8a3 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -7,6 +7,20 @@ import 'element-plus/dist/index.css' import './styles/theme.css' import App from './App.vue' +// Apply the saved theme BEFORE mount so the first paint already uses the +// correct palette (no white→pink/blue flash). :root is the white default, so +// only blue/pink need an explicit data-theme attribute. +(function applyThemeEarly() { + try { + const saved = localStorage.getItem('w4f-theme') + if (saved === 'blue' || saved === 'pink') { + document.documentElement.setAttribute('data-theme', saved) + } + } catch { + /* localStorage unavailable (private mode) — stay on the white default */ + } +})() + const app = createApp(App) app.use(createPinia()) app.use(ElementPlus) diff --git a/web/src/styles/theme.css b/web/src/styles/theme.css index 87c71d5..96f0ca5 100644 --- a/web/src/styles/theme.css +++ b/web/src/styles/theme.css @@ -1,19 +1,190 @@ /* - * webui4frpc global theme — sakura × frost × glassmorphism. - * Faithfully follows the ModelRouter WebUI design vocabulary: a soft animated - * gradient-mesh background with drifting blurred blobs, translucent glass cards - * with a spring entrance, KPI stat cards, gradient primary buttons, pill tags, - * slim themed scrollbars. All theming is plain CSS custom properties (no - * preprocessor needed at runtime); Element Plus variables are overridden so EP - * components inherit the same sakura look. + * webui4frpc global theme — glassmorphism with a switchable accent. * - * Semantic note: webui4frpc keeps green = "online / ok" — exactly as - * ModelRouter does (--ok). Sakura (#FF7FAC) is the PRIMARY accent, frost - * (#88C0D0) the secondary; online/healthy status stays green. + * Three themes share the same surface treatment (translucent glass cards, + * animated gradient-mesh background, KPI cards, gradient buttons, pill tags, + * slim scrollbars); only the accent hue changes: + * :root = white (neutral slate) — the DEFAULT + * [data-theme="blue"] = blue / cyan + * [data-theme="pink"] = sakura / frost (the original ModelRouter palette) + * The active theme is applied by setting data-theme on (see App.vue + + * main.ts; persisted in localStorage). Element Plus variables are overridden + * per theme so EP components inherit the active accent live. + * + * Semantic note: green = "online / ok" in EVERY theme (as in ModelRouter). */ :root { - /* ---- palette (sakura / frost) ---- */ + /* ---- palette (white / neutral slate — default) ---- */ + --w4f-primary: #5b6478; + --w4f-primary-h: #3f4654; + --w4f-primary-50: #f1f3f7; + --w4f-primary-100: #e3e7ef; + --w4f-primary-200: #cdd4e0; + --w4f-primary-300: #a7b1c3; + --w4f-secondary: #8a93a8; + --w4f-secondary-h: #5b6478; + --w4f-secondary-50: #f4f6f9; + --w4f-secondary-200: #c8ced9; + --w4f-danger: #d6495f; + --w4f-danger-50: #fdecef; + --w4f-warning: #b7791f; + --w4f-warning-50: #fdf3e3; + --w4f-info: #3f6ef5; + --w4f-ok: #17a964; + + /* ---- surfaces / text ---- */ + --w4f-bg-1: #f4f5f7; + --w4f-bg-2: #ffffff; + --w4f-bg-3: #eef0f3; + --w4f-bg-soft: #f8f9fb; + --w4f-bg-muted: #f4f5f7; + --w4f-bg-hover: #eef0f3; + --w4f-bg-active: #e3e7ef; + --w4f-fg: #2b2f3a; + --w4f-fg-2: #5a6072; + --w4f-muted: #6b7280; + --w4f-faint: #9ca3af; + --w4f-card: rgba(255, 255, 255, 0.66); + --w4f-card-solid: #ffffff; + --w4f-card-2: rgba(255, 255, 255, 0.46); + --w4f-line: rgba(91, 100, 120, 0.16); + --w4f-line-2: rgba(91, 100, 120, 0.10); + --w4f-line-3: rgba(91, 100, 120, 0.06); + --w4f-line-strong: rgba(60, 70, 90, 0.22); + + /* ---- background blobs ---- */ + --w4f-blob1: rgba(160, 170, 190, 0.30); + --w4f-blob2: rgba(200, 210, 225, 0.28); + --w4f-blob3: rgba(150, 160, 180, 0.22); + + /* ---- shadows / radii / motion (theme-independent) ---- */ + --w4f-sh-sm: 0 1px 2px rgba(40, 50, 70, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6); + --w4f-sh-md: 0 6px 20px rgba(40, 50, 70, 0.12); + --w4f-sh-lg: 0 18px 46px rgba(40, 50, 70, 0.20); + --w4f-glass: 18px; + --w4f-radius: 16px; + --w4f-radius-sm: 12px; + --w4f-radius-xs: 10px; + --w4f-radius-pill: 99px; + --w4f-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); + --w4f-ease: cubic-bezier(0.4, 0, 0.2, 1); + --w4f-font: 'Quicksand', 'Nunito', 'Inter', 'Noto Sans SC', ui-sans-serif, + system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + 'PingFang SC', 'Microsoft YaHei', sans-serif; + --w4f-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, + monospace; + + /* ---- accent-derived glow / chrome (theme-specific) ---- */ + --w4f-glow: rgba(91, 100, 120, 0.30); + --w4f-danger-glow: rgba(214, 73, 95, 0.30); + --w4f-glow-soft: rgba(91, 100, 120, 0.18); + --w4f-thumb: rgba(120, 130, 150, 0.40); + --w4f-thumb-hover: rgba(91, 100, 120, 0.60); + --w4f-selection: #cdd4e0; + + /* ---- Element Plus variable overrides (concrete hex — EP needs real + * colors for its color-mix / opacity helpers, not var() references). ---- */ + --el-color-primary: #5b6478; + --el-color-primary-light-3: #a7b1c3; + --el-color-primary-light-5: #b9c1cf; + --el-color-primary-light-7: #cdd4e0; + --el-color-primary-light-8: #e3e7ef; + --el-color-primary-light-9: #f1f3f7; + --el-color-primary-dark-2: #3f4654; + --el-color-success: #17a964; + --el-color-warning: #b7791f; + --el-color-danger: #d6495f; + --el-color-info: #6b7280; + --el-border-radius-base: 12px; + --el-border-radius-small: 8px; + --el-font-family: var(--w4f-font); + + /* ---- semantic tint sets (ok/warning are constant across all themes — + * defined once in :root so canvas node cards stay semantic-green/amber in + * every theme while their SURFACES follow the active theme's card/fg). + * color-mix blends the semantic hue into the live surface/text so tints + * adapt when the theme changes the underlying --w4f-card-solid / --w4f-fg. */ + --w4f-ok-50: color-mix(in srgb, var(--w4f-ok) 7%, var(--w4f-card-solid)); + --w4f-ok-100: color-mix(in srgb, var(--w4f-ok) 13%, var(--w4f-card-solid)); + --w4f-ok-border: color-mix(in srgb, var(--w4f-ok) 40%, transparent); + --w4f-ok-glow: color-mix(in srgb, var(--w4f-ok) 20%, transparent); + --w4f-ok-text: color-mix(in srgb, var(--w4f-ok) 48%, var(--w4f-fg)); + --w4f-warn-50: color-mix(in srgb, var(--w4f-warning) 9%, var(--w4f-card-solid)); + --w4f-warn-100: color-mix(in srgb, var(--w4f-warning) 15%, var(--w4f-card-solid)); + --w4f-warn-border: color-mix(in srgb, var(--w4f-warning) 42%, transparent); + --w4f-warn-glow: color-mix(in srgb, var(--w4f-warning) 20%, transparent); + --w4f-warn-text: color-mix(in srgb, var(--w4f-warning) 52%, var(--w4f-fg)); +} + +/* ---- blue theme ---- */ +[data-theme='blue'] { + --w4f-primary: #3b82f6; + --w4f-primary-h: #2563eb; + --w4f-primary-50: #eff6ff; + --w4f-primary-100: #dbeafe; + --w4f-primary-200: #bfdbfe; + --w4f-primary-300: #93c5fd; + --w4f-secondary: #06b6d4; + --w4f-secondary-h: #0891b2; + --w4f-secondary-50: #ecfeff; + --w4f-secondary-200: #a5f3fc; + --w4f-danger: #ef4444; + --w4f-danger-50: #fee2e2; + --w4f-warning: #b7791f; + --w4f-warning-50: #fdf3e3; + --w4f-info: #3f6ef5; + --w4f-ok: #17a964; + + --w4f-bg-1: #eff6ff; + --w4f-bg-2: #ffffff; + --w4f-bg-3: #dbeafe; + --w4f-bg-soft: #f5f9ff; + --w4f-bg-muted: #eff6ff; + --w4f-bg-hover: #e0ebfd; + --w4f-bg-active: #dbeafe; + --w4f-fg: #1e293b; + --w4f-fg-2: #475569; + --w4f-muted: #64748b; + --w4f-faint: #94a3b8; + --w4f-card: rgba(255, 255, 255, 0.66); + --w4f-card-solid: #ffffff; + --w4f-card-2: rgba(255, 255, 255, 0.46); + --w4f-line: rgba(59, 130, 246, 0.16); + --w4f-line-2: rgba(59, 130, 246, 0.10); + --w4f-line-3: rgba(59, 130, 246, 0.06); + --w4f-line-strong: rgba(30, 64, 175, 0.22); + + --w4f-blob1: rgba(59, 130, 246, 0.40); + --w4f-blob2: rgba(6, 182, 212, 0.36); + --w4f-blob3: rgba(99, 102, 241, 0.26); + + --w4f-sh-sm: 0 1px 2px rgba(30, 58, 138, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6); + --w4f-sh-md: 0 6px 20px rgba(30, 58, 138, 0.13); + --w4f-sh-lg: 0 18px 46px rgba(30, 58, 138, 0.22); + + --w4f-glow: rgba(59, 130, 246, 0.32); + --w4f-danger-glow: rgba(239, 68, 68, 0.30); + --w4f-glow-soft: rgba(59, 130, 246, 0.18); + --w4f-thumb: rgba(59, 130, 246, 0.40); + --w4f-thumb-hover: rgba(37, 99, 235, 0.60); + --w4f-selection: #bfdbfe; + + --el-color-primary: #3b82f6; + --el-color-primary-light-3: #93c5fd; + --el-color-primary-light-5: #a5c8fb; + --el-color-primary-light-7: #bfdbfe; + --el-color-primary-light-8: #d6e8fd; + --el-color-primary-light-9: #eff6ff; + --el-color-primary-dark-2: #2563eb; + --el-color-success: #17a964; + --el-color-warning: #b7791f; + --el-color-danger: #ef4444; + --el-color-info: #64748b; +} + +/* ---- pink theme (sakura × frost — the original ModelRouter palette) ---- */ +[data-theme='pink'] { --w4f-primary: #FF7FAC; --w4f-primary-h: #F33B7C; --w4f-primary-50: #FFF0F5; @@ -31,43 +202,40 @@ --w4f-info: #3f6ef5; --w4f-ok: #17a964; - /* ---- surfaces / text ---- */ --w4f-bg-1: #eef2ff; --w4f-bg-2: #ffffff; --w4f-bg-3: #ffe9f0; + --w4f-bg-soft: #f8f6fb; + --w4f-bg-muted: #f4f1f7; + --w4f-bg-hover: #f5eef3; + --w4f-bg-active: #ffe4e9; --w4f-fg: #3b3350; + --w4f-fg-2: #5a5470; --w4f-muted: #7c7a95; --w4f-faint: #9c98b0; --w4f-card: rgba(255, 255, 255, 0.60); --w4f-card-solid: #ffffff; --w4f-card-2: rgba(255, 255, 255, 0.42); --w4f-line: rgba(255, 127, 172, 0.18); + --w4f-line-2: rgba(255, 127, 172, 0.12); + --w4f-line-3: rgba(255, 127, 172, 0.06); --w4f-line-strong: rgba(120, 90, 150, 0.22); - /* ---- background blobs ---- */ --w4f-blob1: rgba(255, 127, 172, 0.45); --w4f-blob2: rgba(136, 192, 208, 0.42); --w4f-blob3: rgba(244, 114, 182, 0.30); - /* ---- shadows / radii / motion ---- */ --w4f-sh-sm: 0 1px 2px rgba(70, 50, 110, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6); --w4f-sh-md: 0 6px 20px rgba(120, 90, 160, 0.13); --w4f-sh-lg: 0 18px 46px rgba(120, 90, 160, 0.22); - --w4f-glass: 18px; - --w4f-radius: 16px; - --w4f-radius-sm: 12px; - --w4f-radius-xs: 10px; - --w4f-radius-pill: 99px; - --w4f-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); - --w4f-ease: cubic-bezier(0.4, 0, 0.2, 1); - --w4f-font: 'Quicksand', 'Nunito', 'Inter', 'Noto Sans SC', ui-sans-serif, - system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, - 'PingFang SC', 'Microsoft YaHei', sans-serif; - --w4f-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, - monospace; - /* ---- Element Plus variable overrides (concrete hex — EP needs real - * colors for its color-mix / opacity helpers, not var() references). ---- */ + --w4f-glow: rgba(255, 127, 172, 0.35); + --w4f-danger-glow: rgba(219, 54, 148, 0.30); + --w4f-glow-soft: rgba(255, 127, 172, 0.18); + --w4f-thumb: rgba(255, 182, 193, 0.45); + --w4f-thumb-hover: rgba(255, 127, 172, 0.7); + --w4f-selection: #ffcdba; + --el-color-primary: #FF7FAC; --el-color-primary-light-3: #FF9EB5; --el-color-primary-light-5: #ffb3c4; @@ -79,9 +247,6 @@ --el-color-warning: #b7791f; --el-color-danger: #db3694; --el-color-info: #7c7a95; - --el-border-radius-base: 12px; - --el-border-radius-small: 8px; - --el-font-family: var(--w4f-font); } html, @@ -102,7 +267,7 @@ body { text-rendering: optimizeLegibility; } -::selection { background: #ffcdba; color: #fff; } +::selection { background: var(--w4f-selection); color: #fff; } a { color: var(--w4f-primary-h); } /* ---- animated gradient-mesh background ---- @@ -227,21 +392,21 @@ a { color: var(--w4f-primary-h); } color: #fff; border: 0; border-radius: 11px; padding: 8px 16px; cursor: pointer; font: inherit; font-weight: 600; transition: all 0.18s var(--w4f-ease-spring); } -.w4f-btn:hover { background: linear-gradient(135deg, var(--w4f-primary-h), var(--w4f-danger)); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(255, 127, 172, 0.35); } +.w4f-btn:hover { background: linear-gradient(135deg, var(--w4f-primary-h), var(--w4f-danger)); transform: translateY(-1px); box-shadow: 0 8px 20px var(--w4f-glow); } .w4f-btn:active { transform: translateY(0); } .w4f-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; } .w4f-btn.ghost { background: transparent; border: 1px solid var(--w4f-line-strong); color: var(--w4f-muted); } .w4f-btn.ghost:hover { border-color: var(--w4f-primary); color: var(--w4f-primary-h); box-shadow: var(--w4f-sh-sm); transform: none; background: transparent; } .w4f-btn.danger { background: transparent; border: 1px solid var(--w4f-danger); color: var(--w4f-danger); } -.w4f-btn.danger:hover { background: var(--w4f-danger); color: #fff; box-shadow: 0 8px 20px rgba(219, 54, 148, 0.3); transform: translateY(-1px); } +.w4f-btn.danger:hover { background: var(--w4f-danger); color: #fff; box-shadow: 0 8px 20px var(--w4f-danger-glow); transform: translateY(-1px); } .w4f-btn.small { padding: 5px 12px; font-size: 12px; border-radius: var(--w4f-radius-pill); } /* ---- slim themed scrollbars ---- */ * { scrollbar-width: thin; scrollbar-color: var(--w4f-line-strong) transparent; } *::-webkit-scrollbar { width: 8px; height: 8px; } *::-webkit-scrollbar-track { background: transparent; } -*::-webkit-scrollbar-thumb { background: rgba(255, 182, 193, 0.45); border-radius: 4px; transition: background 0.3s; } -*::-webkit-scrollbar-thumb:hover { background: rgba(255, 127, 172, 0.7); } +*::-webkit-scrollbar-thumb { background: var(--w4f-thumb); border-radius: 4px; transition: background 0.3s; } +*::-webkit-scrollbar-thumb:hover { background: var(--w4f-thumb-hover); } /* ---- Element Plus dialog tweaks to read as glass ---- */ .el-overlay { backdrop-filter: blur(3px); } diff --git a/web/src/styles/variables.scss b/web/src/styles/variables.scss index 9cfe38c..b0fefd3 100644 --- a/web/src/styles/variables.scss +++ b/web/src/styles/variables.scss @@ -1,55 +1,57 @@ // Global SCSS variables for webui4frpc. // -// Palette mirrors the CSS custom-property tokens in theme.css (sakura × frost -// glassmorphism, faithful to the ModelRouter WebUI). These SCSS vars are -// auto-injected into every