@gspwidget/wisedoc-mobile-selector 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,668 @@
1
+ import { defineComponent as nI, ref as E, computed as Q, onMounted as uI, onBeforeUnmount as oI, openBlock as c, createElementBlock as j, createElementVNode as D, createCommentVNode as d, toDisplayString as b, Fragment as L, renderList as v, unref as B, normalizeClass as $, createTextVNode as Y, nextTick as dI } from "vue";
2
+ import V from "axios";
3
+ function J(I) {
4
+ if (!Array.isArray(I) || !I.every((g) => g && typeof g == "object" && typeof g.id == "string"))
5
+ throw new Error("接口未返回有效数据,请检查登录状态和后端代理配置");
6
+ return I;
7
+ }
8
+ function cI(I, g, N) {
9
+ const M = String((N === "directory" ? I.name : I.title) || "未命名");
10
+ return {
11
+ id: String(I.id),
12
+ name: M,
13
+ type: N,
14
+ libraryId: g.libraryId,
15
+ parentId: g.id,
16
+ ancestorIds: [...g.ancestorIds, g.id],
17
+ pathNames: [...g.pathNames, g.name],
18
+ includeDescendants: N === "directory",
19
+ ...N === "document" ? { attachments: typeof I.attachments == "string" ? I.attachments : "" } : {}
20
+ };
21
+ }
22
+ const bI = "/subapp/wisedoc/knowledge-selector.config.json";
23
+ function H(I) {
24
+ var M;
25
+ if (!I || typeof I != "object" || Array.isArray(I))
26
+ throw new Error("知识库选择配置文件格式无效");
27
+ const g = I;
28
+ if (g.useWisedocApi !== void 0 && typeof g.useWisedocApi != "boolean")
29
+ throw new Error("知识库选择配置项 useWisedocApi 必须为布尔值");
30
+ if (g.apiBaseUrl !== void 0 && typeof g.apiBaseUrl != "string")
31
+ throw new Error("知识库选择配置项 apiBaseUrl 必须为字符串");
32
+ const N = ((M = g.apiBaseUrl) == null ? void 0 : M.trim()) || "";
33
+ if (N && !/^https?:\/\/[^\s/?#]+(?:\/[^?#]*)?$/i.test(N) && !/^\/(?!\/)[^?#]*$/.test(N))
34
+ throw new Error("知识库选择配置项 apiBaseUrl 必须为 http(s) 地址或以 / 开头的代理路径");
35
+ return { useWisedocApi: g.useWisedocApi, apiBaseUrl: N };
36
+ }
37
+ function U(I) {
38
+ if (typeof I == "string") {
39
+ const M = I.trim();
40
+ if (/^(?:<!doctype|<html)/i.test(M))
41
+ return /登录|login|sign-in/i.test(M);
42
+ try {
43
+ return U(JSON.parse(M));
44
+ } catch {
45
+ return /^(?:未登录|请先登录|登录已失效)$/i.test(M);
46
+ }
47
+ }
48
+ if (!I || typeof I != "object" || Array.isArray(I))
49
+ return !1;
50
+ const g = I;
51
+ if (g.code === 401 || g.code === "401" || g.status === 401 || g.status === "401")
52
+ return !0;
53
+ const N = [g.message, g.msg, g.error].filter((M) => typeof M == "string").join(" ");
54
+ return /未登录|请先登录|登录已失效|登录已过期|未认证|unauthorized|not logged in|session expired/i.test(N);
55
+ }
56
+ function q(I) {
57
+ var g, N;
58
+ return V.isAxiosError(I) && (((g = I.response) == null ? void 0 : g.status) === 401 || U((N = I.response) == null ? void 0 : N.data));
59
+ }
60
+ function LI(I) {
61
+ return V.isAxiosError(I) && I.code === "ERR_NETWORK" && !I.response;
62
+ }
63
+ const rI = [0, 200, 400, 800, 1200, 1800];
64
+ function eI(I = {}) {
65
+ const g = (l) => I.serviceOrigin ? new URL(l, I.serviceOrigin).href : l, N = I.http || V.create({
66
+ baseURL: I.baseURL || "",
67
+ timeout: 3e4,
68
+ withCredentials: I.withCredentials ?? !1
69
+ });
70
+ let M, t, p = 0, k;
71
+ function P() {
72
+ if (!M) {
73
+ const l = I.configUrl ?? bI;
74
+ M = I.config !== void 0 ? Promise.resolve().then(() => H(I.config)) : l ? N.get(g(l), {
75
+ baseURL: "",
76
+ ...I.serviceOrigin ? { params: { _t: Date.now() } } : { headers: { "Cache-Control": "no-cache" } }
77
+ }).then((a) => H(a.data)).catch((a) => {
78
+ var w;
79
+ if (V.isAxiosError(a) && ((w = a.response) == null ? void 0 : w.status) === 404)
80
+ return H({});
81
+ throw M = void 0, a;
82
+ }) : Promise.resolve(H({}));
83
+ }
84
+ return M;
85
+ }
86
+ function G(l, a) {
87
+ var e;
88
+ const w = l.useWisedocApi === !1 ? "/api/cms/cs/v1.0" : "/api/wisedoc/rest";
89
+ return g(`${((e = l.apiBaseUrl) == null ? void 0 : e.replace(/\/$/, "")) || ""}${w}/${a}`);
90
+ }
91
+ async function O(l) {
92
+ const a = G(l, "columns/findAllMyKB");
93
+ for (const w of rI) {
94
+ w && await new Promise((e) => setTimeout(e, w));
95
+ try {
96
+ const e = await N.get(a, { baseURL: "", withCredentials: !0, timeout: 5e3 });
97
+ if (U(e.data))
98
+ continue;
99
+ J(e.data);
100
+ return;
101
+ } catch (e) {
102
+ if (!q(e))
103
+ throw e;
104
+ }
105
+ }
106
+ throw new Error("CMS 认证后会话仍未建立,请检查 5200 的认证跳转和会话配置");
107
+ }
108
+ async function Z(l) {
109
+ var w;
110
+ if (!t) {
111
+ p++, k = void 0;
112
+ const e = ((w = l.apiBaseUrl) == null ? void 0 : w.replace(/\/$/, "")) || "", s = g(`${e}/mano/api/runtime/sys/v1.0/routerRedirect?auth-flow=JWT&issuer=mano-issuer`);
113
+ t = (async () => {
114
+ let T = !1;
115
+ try {
116
+ const z = await N.get(s, {
117
+ baseURL: "",
118
+ withCredentials: !0,
119
+ headers: { Accept: "text/html" }
120
+ });
121
+ if (U(z.data))
122
+ throw new Error("CMS 认证接口仍返回未登录");
123
+ } catch (z) {
124
+ if (!LI(z))
125
+ throw z;
126
+ T = !0;
127
+ }
128
+ try {
129
+ await O(l);
130
+ } catch (z) {
131
+ throw T ? new Error("认证跳转遇到跨域或网络错误,且 CMS 会话未建立,请检查 5200 的跳转与代理配置") : z;
132
+ }
133
+ })().catch((T) => {
134
+ throw k = T, T;
135
+ });
136
+ }
137
+ const a = t;
138
+ try {
139
+ await a;
140
+ } finally {
141
+ t === a && (t = void 0);
142
+ }
143
+ }
144
+ async function n(l, a, w) {
145
+ const e = G(l, a);
146
+ if (l.useWisedocApi !== !1)
147
+ return N.get(e, w);
148
+ const s = { ...w, withCredentials: !0 }, T = p;
149
+ t && await t;
150
+ try {
151
+ const z = await N.get(e, s);
152
+ if (!U(z.data))
153
+ return z;
154
+ } catch (z) {
155
+ if (!q(z))
156
+ throw z;
157
+ }
158
+ if (p === T)
159
+ await Z(l);
160
+ else if (t)
161
+ await t;
162
+ else if (k)
163
+ throw k;
164
+ try {
165
+ const z = await N.get(e, s);
166
+ if (U(z.data))
167
+ throw new Error("CMS 认证后仍未登录,请检查 5200 的认证与会话配置");
168
+ return z;
169
+ } catch (z) {
170
+ throw q(z) ? new Error("CMS 认证后仍未登录,请检查 5200 的认证与会话配置") : z;
171
+ }
172
+ }
173
+ return {
174
+ async getLibraries(l) {
175
+ const a = await P(), { data: w } = await n(a, "columns/findAllMyKB", { signal: l });
176
+ return J(w).map((e) => ({
177
+ id: String(e.id),
178
+ name: String(e.name || "未命名知识库"),
179
+ type: "library",
180
+ libraryId: String(e.id),
181
+ parentId: null,
182
+ ancestorIds: [],
183
+ pathNames: [],
184
+ includeDescendants: !0
185
+ }));
186
+ },
187
+ async getChildren(l, a, w, e) {
188
+ const s = await P(), [T, z] = await Promise.all([
189
+ a === 1 ? n(s, "columns/findMyDirectory", {
190
+ params: { parentId: l.id },
191
+ signal: e
192
+ }).then((x) => J(x.data)) : Promise.resolve([]),
193
+ n(s, "columncontent/findContentList/paged", {
194
+ params: { channelId: l.id, page: a, size: w, offset: 0, orderBy: "id", order: "asc" },
195
+ signal: e
196
+ }).then((x) => x.data)
197
+ ]);
198
+ if (!z || typeof z.total != "number" || !Number.isFinite(z.total) || z.total < 0)
199
+ throw new Error("文档分页接口返回格式异常,请检查登录状态和后端接口");
200
+ return {
201
+ directories: T.map((x) => cI(x, l, "directory")),
202
+ documents: J(z.data).map((x) => cI(x, l, "document")),
203
+ total: z.total
204
+ };
205
+ }
206
+ };
207
+ }
208
+ eI();
209
+ const u = (I) => JSON.stringify([I.libraryId, I.type, I.id]);
210
+ function X(I, g) {
211
+ return I.libraryId === g.libraryId && I.type !== "document" && u(I) !== u(g) && g.ancestorIds.includes(I.id);
212
+ }
213
+ function gI(I) {
214
+ return {
215
+ id: I.id,
216
+ type: I.type,
217
+ name: I.name,
218
+ libraryId: I.libraryId,
219
+ parentId: I.parentId,
220
+ ancestorIds: [...I.ancestorIds],
221
+ includeDescendants: I.type !== "document",
222
+ ...I.type === "document" ? { attachments: I.attachments ?? "" } : {}
223
+ };
224
+ }
225
+ function II(I) {
226
+ if (!Array.isArray(I))
227
+ throw new Error("选择结果必须是数组");
228
+ const g = I.map((N) => {
229
+ if (!N || typeof N != "object")
230
+ throw new Error("无效的选择项");
231
+ const M = N;
232
+ if (typeof M.id != "string" || !M.id || typeof M.libraryId != "string" || !M.libraryId || typeof M.name != "string" || !["library", "directory", "document"].includes(M.type) || !Array.isArray(M.ancestorIds) || !M.ancestorIds.every((t) => typeof t == "string" && t.length > 0) || !(M.parentId === null || typeof M.parentId == "string") || M.type === "document" && typeof M.attachments != "string")
233
+ throw new Error("选择项字段不完整");
234
+ if (M.type === "library" ? M.id !== M.libraryId || M.ancestorIds.length !== 0 || M.parentId !== null : M.ancestorIds[0] !== M.libraryId || M.ancestorIds[M.ancestorIds.length - 1] !== M.parentId || M.ancestorIds.includes(M.id) || new Set(M.ancestorIds).size !== M.ancestorIds.length)
235
+ throw new Error("选择项的祖先路径不完整");
236
+ return gI(M);
237
+ });
238
+ return [...new Map(g.map((N) => [u(N), N])).values()].filter((N) => !g.some((M) => X(M, N)));
239
+ }
240
+ function zI(I, g) {
241
+ const N = g.find((t) => X(t, I)), M = g.some((t) => u(t) === u(I));
242
+ return {
243
+ checked: M || !!N,
244
+ disabled: !!N,
245
+ indeterminate: !M && !N && g.some((t) => X(I, t)),
246
+ inheritedFrom: N == null ? void 0 : N.name
247
+ };
248
+ }
249
+ function ZI(I, g) {
250
+ const N = zI(I, g);
251
+ return N.disabled ? g : N.checked ? g.filter((M) => u(M) !== u(I)) : [...g.filter((M) => !X(I, M)), gI(I)];
252
+ }
253
+ function xI(I) {
254
+ return {
255
+ KBIds: I.filter((g) => g.type === "library").map((g) => g.id),
256
+ DirIds: I.filter((g) => g.type === "directory").map((g) => g.id),
257
+ DocIds: I.filter((g) => g.type === "document").map((g) => g.attachments ?? "")
258
+ };
259
+ }
260
+ const mI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbl/nn6Xor4blupNf5YiX6KGo6aG1PC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMC40NDUyNTc4NjclIiB5MT0iMC40NDUyNTc4NjclIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzJBODdGRiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzM2OUZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgcng9IjYiPjwvcmVjdD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9Ii03LjMwMTI4NDM3JSIgeTE9IjAuNzM5NzY4NjglIiB4Mj0iMTA4LjEwNzM4MSUiIHkyPSI5OS40MTM5NzQ3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGRkZGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIHN0b3Atb3BhY2l0eT0iMC45NTkwNjUyNSIgb2Zmc2V0PSIzMy41MDM2NDE3JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGRkZGIiBzdG9wLW9wYWNpdHk9IjAuNyIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8cGF0aCBkPSJNMTUuMzExMTY3NywwLjE0NTk4NTQwMSBDMTYuNTQ3NDE2MiwtMC4wMDYyNzI4MTAyMiAxNy43ODM2NjQ3LC0wLjAzOTQzMDYwNDQgMTkuMDE5OTEzMiwwLjA0NjUxMjAxOSBDMTkuNjExNDI5MSwwLjA4NzUxNjY5MTkgMjAuMDgxNTkyOSwwLjU1OTM5MTEyMiAyMC4xMjAzMTgyLDEuMTUxMDYwNjggTDIxLjEzNTM4MjgsMTYuMTgwMTQzNyBDMjEuMTM5ODk1MiwxNi4yNDY3OTU2IDIxLjEzODY5NjYsMTYuMzEzNzA4NSAyMS4xMzE4NjY2LDE2LjM4MDE2MjkgQzIxLjA2NDk1MTUsMTcuMDMxMjM0OCAyMC40ODI5MDgsMTcuNTA0Nzg3NCAxOS44MzE4NDc2LDE3LjQzNzc2IEMxOC41MjE4MzUzLDE3LjMwMTkwMzkgMTcuMjExODIzLDE3LjM3NzM5NTEgMTUuOTAxODEwNywxNy42NjQyMzM2IEMxNC41MTAxOTM5LDE3Ljk2ODk0MDEgMTMuMTE4NTc3MSwxOC41MTIxNDQ5IDExLjcyNzQ1ODUsMTkuMjk0NzM2NCBDMTEuMDA3MzEzNywxOS42OTg1NjkyIDEwLjEyODkxMjksMTkuNjk4NTQzOCA5LjQwODc5MTQ4LDE5LjI5NDY2OTIgQzguMDE3ODgyNywxOC41MTIxNDQ5IDYuNjI2NTEzMzcsMTcuOTY4OTQwMSA1LjIzNTE0NDA0LDE3LjY2NDIzMzYgQzMuOTI1MzY0NjgsMTcuMzc3Mzk1MSAyLjYxNTU4NTMyLDE3LjMwMTkwMzkgMS4zMDU4MDU5NiwxNy40Mzc3NiBDMS4yMzk0OTY5MSwxNy40NDQ3MDkzIDEuMTcyNzE2OTEsMTcuNDQ1ODk0MSAxLjEwNjE5MjcsMTcuNDQxNDU3MiBDMC40NTMxNDIxMTksMTcuMzk3OTAwOCAtMC4wNDA5NTA1MzYxLDE2LjgzMzE4OTMgMC4wMDI2ODEwOTYwOSwxNi4xODAxNDM3IEwxLjAxOTM3MzA5LDEuMTUxMDYwNjggQzEuMDU4MDkyOTYsMC41NTkzNDYzMzIgMS41MjgzMjIxMSwwLjA4NzQ1MzE3MzcgMi4xMTk4ODY4OSwwLjA0NjUxMjAxOSBDMy4zNTYxMzUzOSwtMC4wMzk0MzA2MDQ0IDQuNTkyMzgzODksLTAuMDA2MjcyODEwMjIgNS44Mjg2MzIzOSwwLjE0NTk4NTQwMSBDNy4xNjQxOTYwNSwwLjMxMDQ3NTQxNyA4LjQ5OTc1OTcxLDAuNjEzOTcwNTkgOS44MzUzMjMzNywxLjA1NjQ3MDkyIEw5LjgzNTYxODI2LDE0LjgzMjExNjggQzkuODM1NjE4MjYsMTUuMjM3MTI1NiAxMC4xNjM5NDI4LDE1LjU2NTQ1MDEgMTAuNTY4OTUxNiwxNS41NjU0NTAxIEMxMC45NzM5NjA0LDE1LjU2NTQ1MDEgMTEuMzAyMjg0OSwxNS4yMzcxMjU2IDExLjMwMjI4NDksMTQuODMyMTE2OCBMMTEuMzAyNDc3OSwxLjA1NzEzMzI5IEMxMi42Mzg3MDc4LDAuNjE0MjczNDM5IDEzLjk3NDkzNzgsMC4zMTA1NTc0NzcgMTUuMzExMTY3NywwLjE0NTk4NTQwMSBaIiBpZD0icGF0aC01Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItMjguNCUiIHk9Ii0yNS41JSIgd2lkdGg9IjE2Ni4yJSIgaGVpZ2h0PSIxNzEuNCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci02Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIxIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xIDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLnn6Xor4blupMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjMt55+l6K+G5bqTLeacgOi/keS9v+eUqCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU2LjAwMDAwMCwgLTIzNi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IuW8ueeqlyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDQ0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9Imxpc3Q2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMTgwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJpY29uX+efpeivhuW6k1/liJfooajpobUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU2LjAwMDAwMCwgMTIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTMiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB4bGluazpocmVmPSIjcGF0aC0yIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC03IiBtYXNrPSJ1cmwoI21hc2stMykiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS40MzEwNDgsIDYuNjY2NjY3KSIgaWQ9IuW9oueKtue7k+WQiCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtNCkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtNSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", SI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbl/mlofku7blpLlAMXg8L3RpdGxlPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSIxMi40NTIzNjM2JSIgeDI9IjUwJSIgeTI9IjMxLjIwMTE4NjUlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0MDdGRkYiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwNDBGRiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjUwJSIgeTE9Ijc4Ljg2NzA2NTklIiB4Mj0iNTAlIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjY5RUZGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0OTgzRjUiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i55+l6K+G5bqTIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMS4zLeefpeivhuW6ky3mnIDov5Hkvb/nlKgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01Ni4wMDAwMDAsIC0zNjUuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLlvLnnqpciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA0NC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJsaXN0NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDMwOS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaWNvbl/mlofku7blpLkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU2LjAwMDAwMCwgMTIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uELTE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMi42NjY2NjcpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xLjc0ODE0ODE1LDAgTDEwLjA4Mzk1MDYsMCBDMTAuNDYyMTk3OCwtMS45OTg0MDE0NGUtMTUgMTAuODMwMjQxOCwwLjEyMjY4MTMxNyAxMS4xMzI4Mzk1LDAuMzQ5NjI5NjMgTDE0LjIyMjIyMjIsMi42NjY2NjY2NyBMMTQuMjIyMjIyMiwyLjY2NjY2NjY3IEwzMC4yNTE4NTE5LDIuNjY2NjY2NjcgQzMxLjIxNzMyNzQsMi42NjY2NjY2NyAzMiwzLjQ0OTMzOTI1IDMyLDQuNDE0ODE0ODEgTDMyLDI0LjkxODUxODUgQzMyLDI1Ljg4Mzk5NDEgMzEuMjE3MzI3NCwyNi42NjY2NjY3IDMwLjI1MTg1MTksMjYuNjY2NjY2NyBMMS43NDgxNDgxNSwyNi42NjY2NjY3IEMwLjc4MjY3MjU4NiwyNi42NjY2NjY3IDYuNjYxMzM4MTVlLTE2LDI1Ljg4Mzk5NDEgMCwyNC45MTg1MTg1IEwwLDEuNzQ4MTQ4MTUgQy0yLjIyMDQ0NjA1ZS0xNiwwLjc4MjY3MjU4NiAwLjc4MjY3MjU4Niw4Ljg4MTc4NDJlLTE2IDEuNzQ4MTQ4MTUsMCBaIiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMS43NDgxNDgxNSw1LjMzMzMzMzMzIEwzMC4yNTE4NTE5LDUuMzMzMzMzMzMgQzMxLjIxNzMyNzQsNS4zMzMzMzMzMyAzMiw2LjExNjAwNTkyIDMyLDcuMDgxNDgxNDggTDMyLDI0LjkxODUxODUgQzMyLDI1Ljg4Mzk5NDEgMzEuMjE3MzI3NCwyNi42NjY2NjY3IDMwLjI1MTg1MTksMjYuNjY2NjY2NyBMMS43NDgxNDgxNSwyNi42NjY2NjY3IEMwLjc4MjY3MjU4NiwyNi42NjY2NjY3IDYuNjYxMzM4MTVlLTE2LDI1Ljg4Mzk5NDEgMCwyNC45MTg1MTg1IEwwLDcuMDgxNDgxNDggQy0yLjIyMDQ0NjA1ZS0xNiw2LjExNjAwNTkyIDAuNzgyNjcyNTg2LDUuMzMzMzMzMzMgMS43NDgxNDgxNSw1LjMzMzMzMzMzIFoiIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", EI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzNweCIgaGVpZ2h0PSIzM3B4IiB2aWV3Qm94PSIwIDAgMzMgMzMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+V29yZCBpY29uPC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNDMyMjAwNCUiIHkxPSIxMy40NTAyNTUyJSIgeDI9IjEwNS4yMTAwMDglIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjU5QUY4IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdFRjgiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBhdGggZD0iTTMsMCBMMzAsMCBDMzEuNjU2ODU0MiwtMy4wNDM1OTE4OGUtMTYgMzMsMS4zNDMxNDU3NSAzMywzIEwzMywzMCBDMzMsMzEuNjU2ODU0MiAzMS42NTY4NTQyLDMzIDMwLDMzIEwzLDMzIEMxLjM0MzE0NTc1LDMzIDEuOTc5MjYyOTZlLTE1LDMxLjY1Njg1NDIgMCwzMCBMMCwzIEMtMi4wMjkwNjEyNWUtMTYsMS4zNDMxNDU3NSAxLjM0MzE0NTc1LDIuMDgwNzE2MDNlLTE1IDMsMCBaIiBpZD0icGF0aC0yIj48L3BhdGg+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNCIgcG9pbnRzPSIyMi44NTUwMTA3IDI0IDE5LjQ4NzIwNjggMjQgMTYuODc1IDEzLjc4OTkxNiAxNi44MzE4MjMgMTMuNzg5OTE2IDE0LjI2Mjc5MzIgMjQgMTAuODMwMjIzOSAyNCA2Ljc1IDkgMTAuMTM5MzkyMyA5IDEyLjU3ODg5MTMgMTkuMjEwMDg0IDEyLjYyMjA2ODIgMTkuMjEwMDg0IDE1LjI5OTA0MDUgOSAxOC40NzI1NDggOSAyMS4xMDYzNDMzIDE5LjMzNjEzNDUgMjEuMTQ5NTIwMyAxOS4zMzYxMzQ1IDIzLjY3NTM3MzEgOSAyNyA5Ij48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMjcuMiUiIHk9Ii0yMy4zJSIgd2lkdGg9IjE1NC4zJSIgaGVpZ2h0PSIxNzMuMyUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMS41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwLjEyNzM2Mzg2NyAgIDAgMCAwIDAgMC40Mjk0ODkzNTcgIDAgMCAwIDAuMTU5NDE4NzA2IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLmlrnmoYjkuowiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjbliLbluqbkuK3lv4Por6bmg4XpobUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDIuMDAwMDAwLCAtMTE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0yNuWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMwLjAwMDAwMCwgMTA5MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgNTEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IldvcmQtaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTMiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0i6JKZ54mIIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB4bGluazpocmVmPSIjcGF0aC0yIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlciIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xMDAxODE4MTUiIG1hc2s9InVybCgjbWFzay0zKSIgcG9pbnRzPSItOSAwIC0xLjEzNDE0NjM0IDAgMS43MDEyMTk1MSAxNS4wODM5MDE4IDUuODM1MzY1ODUgMCAxMy42ODI5MjY4IDAgMTcuODM1MzY1OSAxNS4wODM5MDE4IDIwLjY3MDczMTcgMCAyOC41IDAgMjIuNTkxNDYzNCAyNyAxNC40Njk1MTIyIDI3IDkuNzY4MjkyNjggMTAuMDAwNjgyMSA1LjA4NTM2NTg1IDI3IC0zLjAzNjU4NTM3IDI3Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJXIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0zKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItNSkiIHhsaW5rOmhyZWY9IiNwYXRoLTQiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkZGRkZGIiB4bGluazpocmVmPSIjcGF0aC00Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", GI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzNweCIgaGVpZ2h0PSIzM3B4IiB2aWV3Qm94PSIwIDAgMzMgMzMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+cHB0PC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNDMyMjAwNCUiIHkxPSIxMy40NTAyNTUyJSIgeDI9IjEwNS4yMTAwMDglIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkY1RjREIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNFOTQxMkQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBhdGggZD0iTTMsMCBMMzAsMCBDMzEuNjU2ODU0MiwtMy4wNDM1OTE4OGUtMTYgMzMsMS4zNDMxNDU3NSAzMywzIEwzMywzMCBDMzMsMzEuNjU2ODU0MiAzMS42NTY4NTQyLDMzIDMwLDMzIEwzLDMzIEMxLjM0MzE0NTc1LDMzIDEuOTc5MjYyOTZlLTE1LDMxLjY1Njg1NDIgMCwzMCBMMCwzIEMtMi4wMjkwNjEyNWUtMTYsMS4zNDMxNDU3NSAxLjM0MzE0NTc1LDIuMDgwNzE2MDNlLTE1IDMsMCBaIiBpZD0icGF0aC0yIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTkuNzUsOC4yNSBMMTkuNTcxNDI4Niw4LjI1IEMyMy41LDguMjUgMjQuNzUsMTAuODM5Njk0NyAyNC43NSwxMy42MDQ5NjE4IEMyNC43NSwxNi4yMzg1NDk2IDIzLjE4NzUsMTguOTE2MDMwNSAxOS42MTYwNzE0LDE4LjkxNjAzMDUgTDEzLjA5ODIxNDMsMTguOTE2MDMwNSBMMTMuMDk4MjE0MywyNS41IEw5Ljc1LDI1LjUgTDkuNzUsOC4yNSBaIE0xMy41LDE2LjUgTDE4LjgzODIzNTMsMTYuNSBDMjAuNzM1Mjk0MSwxNi41IDIxLjc1LDE1LjkyNjQ3MDYgMjEuNzUsMTMuODk3MDU4OCBDMjEuNzUsMTEuNzc5NDExOCAyMC4zODIzNTI5LDExLjI1IDE5LjEwMjk0MTIsMTEuMjUgTDEzLjUsMTEuMjUgTDEzLjUsMTYuNSBaIiBpZD0icGF0aC00Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItMzYuNyUiIHk9Ii0yMC4zJSIgd2lkdGg9IjE3My4zJSIgaGVpZ2h0PSIxNjMuOCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMS41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjUxMTEyNDMyMSAgIDAgMCAwIDAgMC4xMDU3MjA5NzIgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYzMTYxMDU4IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLmlrnmoYjkuowiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjbliLbluqbkuK3lv4Por6bmg4XpobUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDIuMDAwMDAwLCAtMTIwNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0yNuWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMwLjAwMDAwMCwgMTA5MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgNTEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InBwdCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDYzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD0ibWFzay0zIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTIiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaWQ9IuiSmeeJiCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0tMi4yNSwtMyBMMTYuMzYzMTQzMSwtMyBDMjAuNDE3MDIxOSwtMyAyMy40NTMyNjU2LC0yLjAyMjM0OTQ4IDI1LjQ3MTk2NTQsLTAuMDY3MDE5MDk5NiBDMjcuNDkwNjY1MiwxLjg4ODMxMTI4IDI4LjUsNC42NzA4NTUwOCAyOC41LDguMjgwNjk1NzcgQzI4LjUsMTEuOTkwODA5OCAyNy40MDAwMzExLDE0Ljg5MDMzNzQgMjUuMjAwMDYwMywxNi45NzkzNjU2IEMyMy4wMDAwODk1LDE5LjA2ODM5MzggMTkuNjQyNTA2NSwyMC4xMTI4OTIyIDE1LjEyNzIxMDYsMjAuMTEyODkyMiBMOC45OTY5ODU1MywyMC4xMTI4OTIyIEw4Ljk5Njk4NTUzLDMzLjc1IEwtMi4yNSwzMy43NSBMLTIuMjUsLTMgWiBNOSwxMiBMMTEuODcwNjg5NywxMiBDMTQuMTI5MzIxNiwxMiAxNS43MTU1MTI3LDExLjYxNzM1ODYgMTYuNjI5MzEwMywxMC44NTIwNjQyIEMxNy41NDMxMDgsMTAuMDg2NzY5OSAxOCw5LjEwNzAzOTYxIDE4LDcuOTEyODQ0MDQgQzE4LDYuNzUyMjg3NzggMTcuNjAzNDUyMiw1Ljc2ODM1MjY2IDE2LjgxMDM0NDgsNC45NjEwMDkxNyBDMTYuMDE3MjM3NCw0LjE1MzY2NTY5IDE0LjUyNTg3MywzLjc1IDEyLjMzNjIwNjksMy43NSBMOSwzLjc1IEw5LDEyIFoiIGlkPSJQIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMjc2Nzg1NzE0IiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IiBtYXNrPSJ1cmwoI21hc2stMykiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlNoYXBl5aSH5Lu9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0zKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItNSkiIHhsaW5rOmhyZWY9IiNwYXRoLTQiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkZGRkZGIiB4bGluazpocmVmPSIjcGF0aC00Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", kI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+UERGIGljb248L3RpdGxlPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyNy40MzIyMDA0JSIgeTE9IjEzLjQ1MDI1NTIlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNUE1NSIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRDkzNzM4IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxwYXRoIGQ9Ik02LDAgTDM0LDAgQzM3LjMxMzcwODUsLTYuMDg3MTgzNzZlLTE2IDQwLDIuNjg2MjkxNSA0MCw2IEw0MCwzNCBDNDAsMzcuMzEzNzA4NSAzNy4zMTM3MDg1LDQwIDM0LDQwIEw2LDQwIEMyLjY4NjI5MTUsNDAgNC4wNTgxMjI1MWUtMTYsMzcuMzEzNzA4NSAwLDM0IEwwLDYgQy00LjA1ODEyMjUxZS0xNiwyLjY4NjI5MTUgMi42ODYyOTE1LDYuMDg3MTgzNzZlLTE2IDYsMCBaIiBpZD0icGF0aC0yIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTE4Ljc4OTQ5NzEsMTYuMjg4NTQ4MSBDMTcuMTM3MTA0LDE2LjE4MDYxMjMgMTUuNTYzNDA0NCwxNS41NDEzMDAyIDE0LjMwNDQzMDIsMTQuNDY2MDkyOSBDMTEuODE5NjI4NiwxNS4wMTQwNzQ2IDkuNDU0OTE3NzIsMTUuODAyODM3IDcuMDk0MzU2MjIsMTYuNzc0MjU5MSBDNS4yMTQxODg4OCwyMC4xMTYxMjU1IDMuNDU0MTIxOSwyMS44MTgxODE4IDEuOTM4MzkyOTQsMjEuODE4MTgxOCBDMS42MzYwNzQ2LDIxLjgxODE4MTggMS4yNzE2Mzg2NSwyMS43NTU5MTEyIDEuMDI3Mjk4MjEsMjEuNTczMjUxNCBDMC4zOTM2NzM4MTEsMjEuMjc4NTA0NSAtMC4wMDgwMzY1ODcxNSwyMC42MzUwMzk1IDAuMDAwMTIxOTc0OTQyLDE5LjkzMzQ1ODQgQzAuMDAwMTIxOTc0OTQyLDE5LjM4NTQ3NjcgMC4xMjAzNDYzNjUsMTcuODcwMjI1IDUuODc2ODAzNDQsMTUuMzc5NDA2MyBDNy4xODEzMjQyNywxMi45NzU3NTkyIDguMjU4MDcwODEsMTAuNDUxNzMwMyA5LjA4NjM0NjkxLDcuODQ0NjU3NTggQzguMzYxNjEyMyw2LjM4NzUyNDM1IDYuNzgzNzYzMywyLjgwMDczNDg4IDcuODcyOTM2MjgsMC45NzgyNzI0MDUgQzguMjM3Mzc0NjUsMC4zMDk5MDE1NjcgOC45NjYyNDg5NywtMC4wNTU0MjAzOTI5IDkuNzUzMTAzNjEsMC4wMDY4NTAyNTc1NyBDMTAuMzcwMTYxOSwwLjAxNTE1MzAwMjkgMTAuOTU0MDkwMiwwLjMwNTc0OTM4IDExLjMyNjgxMDUsMC43OTU2MTI2NDEgQzEyLjExMzY2NTEsMS44OTE1NzYwOSAxMi4wNTE1NDUxLDQuMTk5NzQ5NjQgMTEuMDI0NDkyMSw3LjU5OTcyNzE2IEMxMS45OTM1NjQ4LDkuNDIyMTgyMzQgMTMuMjY0OTU1NywxMS4wNjYxMzQ4IDE0Ljc4MDY5MiwxMi40NjA5OTc0IEMxNi4wNTIwODI5LDEyLjIyMDIxNzUgMTcuMzI3NjEzNiwxMi4wMzc1NTcgMTguNTk5MDExOCwxMi4wMzc1NTcgQzIxLjQ0ODI1OSwxMi4wOTk4Mjc2IDIxLjg3NDgwMDUsMTMuNDM2NTcxNyAyMS44MTI2ODA0LDE0LjIyNTMzMTcgQzIxLjgyMDk2MzEsMTYuMjg4NTY1MSAxOS44MTY1NTczLDE2LjI4ODU2NTEgMTguNzg5NDk3MSwxNi4yODg1NjUxIEwxOC43ODk0OTcxLDE2LjI4ODU0ODEgWiBNMS44MTgzMDIyOCwyMC4wNTM4NTQ4IEwyLjAwMDUyMDk4LDE5Ljk5MTU4NDIgQzIuODQ5NDk1NjcsMTkuNjg4NTMyOSAzLjUxNjI0OTk1LDE5LjA4MjQzMjcgNC4wMDA3ODYyNiwxOC4yODk1MjA1IEMzLjA4OTY5MTUzLDE4LjY1ODk5MjMgMi4zNjA4MTcyMSwxOS4yNjUwOTQ5IDEuODE4MzAyMjgsMjAuMDUzODU0OCBMMS44MTgzMDIyOCwyMC4wNTM4NTQ4IFogTTkuODc3MzMzOTksMS44MjkzMDMwMSBMOS42OTUxMTUyOSwxLjgyOTMwMzAxIEM5LjYzMjk5NTI1LDEuODI5MzAzMDEgOS41MTI4OTY1OCwxLjgyOTMwMzAxIDkuNDUwNzc3MjcsMS44OTE1NzM2NiBDOS4yMTA1Nzk3MSwyLjkyNTI2NjQ2IDkuMzg4NjU3MjMsNC4wMTcwNzc3MiA5LjgxNTIxNTY1LDQuOTkyNjUyMDUgQzEwLjE3MTM2OTcsMy45NjcyNjEyIDEwLjE5MjA3OCwyLjg2Mjk5NTgxIDkuODc3MzM1NjksMS44MjkzMDMwMSBMOS44NzczMzM5OSwxLjgyOTMwMzAxIFogTTEwLjMwMzg5MjQsMTAuNjM4NTMyNSBMMTAuMjQxNzcyNCwxMC43NjMwNzM4IEwxMC4xNzk2NTIzLDEwLjcwMDgwMzEgQzkuNjMyOTk1OTcsMTIuMDk5ODE3OSA5LjAyODM2MTczLDEzLjQ5NDY4NzggOC4zNjE2MDUwMiwxNC44MzE0MTQ4IEw4LjQ4MTcwMzY4LDE0Ljc2OTE0NDIgTDguNDgxNzAzNjgsMTQuODg5NTM0IEM5LjgzMTc3ODQsMTQuNDAzODIzIDExLjIwNjcxMDgsMTMuOTk2OTg4OCAxMi42MDIzMjQ5LDEzLjY3MzE4MTUgTDEyLjU0NDM0NjMsMTMuNjEwOTEwOCBMMTIuNzI2NTY1LDEzLjYxMDkxMDggQzExLjgxOTYxMjQsMTIuNzEwMDYxMyAxMS4wMDM3NywxMS43MTM3MzA4IDEwLjMwMzg4MzQsMTAuNjM4NTMyNSBMMTAuMzAzODkyNCwxMC42Mzg1MzI1IFogTTE4LjU0NTE1OTEsMTMuODU5OTkyNyBDMTcuOTk4NTAyNywxMy44NTk5OTI3IDE3LjUxMzk2NjQsMTMuODU5OTkyNyAxNi45NzE0NTIyLDEzLjk4MDM4MjUgQzE3LjU3NjA4NjQsMTQuMjgzNDMzOCAxOC4xODQ4NjI4LDE0LjQwMzgyMyAxOC43ODk0OTk1LDE0LjQ2NjA5MzYgQzE5LjIxMTkxNTgsMTQuNTI4MzY0MyAxOS42Mzg0NzQyLDE0LjQ2NjA5MzYgMjAuMDAyOTEwMSwxNC4zNDU3MDM4IEMxOS45OTg3Njg4LDE0LjE2MzA0MzMgMTkuNzU4NTcyMSwxMy44NTk5OTI3IDE4LjU0NTE1OTEsMTMuODU5OTkyNyBaIiBpZD0icGF0aC00Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItMzIuMSUiIHk9Ii0yMi45JSIgd2lkdGg9IjE2NC4yJSIgaGVpZ2h0PSIxNjQuMiUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC40NTk0MzcyNzQgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IuaWueahiOS6jCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IjEuMi3nn6Xor4bkuK3lv4MiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODAuMDAwMDAwLCAtODYwLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i57yW57uELTEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNjYuMDAwMDAwLCAyNzYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0i6KGo5qC8IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC4wMDAwMDAsIDY4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJsaXN0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC4wMDAwMDAsIDUxNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlBERi1pY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2Ni4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD0ibWFzay0zIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0yIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaWQ9IuiSmeeJiCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzIuNjgwNjc4NSwzMC4yNzMwODIgQzI4LjY4NzM5NTMsMzAuMDEyMjM3NCAyNC44ODQyODgsMjguNDY3MjMzMiAyMS44NDE3NjcsMjUuODY4ODE1MyBDMTUuODM2ODI5OCwyNy4xOTMxMDQ1IDEwLjEyMjExMTgsMjkuMDk5MjgwMyA0LjQxNzQyMTQ2LDMxLjQ0Njg4MzggQy0wLjEyNjMxNjI3MiwzOS41MjMwNjA4IC00LjM3OTgxMTQ3LDQzLjYzNjM2MzYgLTguMDQyODIzMTMsNDMuNjM2MzYzNiBDLTguNzczNDI1NzcsNDMuNjM2MzYzNiAtOS42NTQxNDU5OCw0My40ODU4NzYyIC0xMC4yNDQ2MzU0LDQzLjA0NDQ0ODUgQy0xMS43NzU4OTQ0LDQyLjMzMjE0MzQgLTEyLjc0NjY5NDUsNDAuNzc3MTAyOSAtMTIuNzI2OTc4LDM5LjA4MTYxNTQgQy0xMi43MjY5NzgsMzcuNzU3MzI2MyAtMTIuNDM2NDM1NywzNC4wOTU0NjggMS40NzUwMDIyNiwyOC4wNzU5ODk0IEM0LjYyNzU5NDI2LDIyLjI2NzE3NTYgNy4yMjk3MzE3NCwxNi4xNjc0MzkgOS4yMzEzOTg5Niw5Ljg2NzAxMzM4IEM3LjQ3OTk1Nyw2LjM0NTYwODEgMy42NjY4MjE5MSwtMi4zMjI0NjY0NSA2LjI5ODk4OTk0LC02LjcyNjc1MDc4IEM3LjE3OTcxNjAxLC04LjM0MTk4MDMgOC45NDExNjIyOSwtOS4yMjQ4NDE3MSAxMC44NDI3Mjc3LC05LjA3NDM1NDMgQzEyLjMzMzk1MTgsLTkuMDU0Mjg5MzMgMTMuNzQ1MTEyLC04LjM1MjAxNDc2IDE0LjY0NTg1MjYsLTcuMTY4MTc4NTQgQzE2LjU0NzQxOCwtNC41MTk2MDAyMSAxNi4zOTcyOTQ1LDEuMDU4NDg1ODggMTMuOTE1MjQ5OSw5LjI3NTA5ODIxIEMxNi4yNTcxNzU0LDEzLjY3OTM2NDkgMTkuMzI5NzAzNiwxNy42NTIyNSAyMi45OTI3MzI4LDIxLjAyMzE2NzkgQzI2LjA2NTI2MSwyMC40NDEyODMxIDI5LjE0Nzc5MzQsMTkuOTk5ODUzNiAzMi4yMjAzMzkxLDE5Ljk5OTg1MzYgQzM5LjEwNjAxOTksMjAuMTUwMzQxIDQwLjEzNjgyODQsMjMuMzgwODA1OSAzOS45ODY3MDUsMjUuMjg2OTc1OCBDNDAuMDA2NzIxNCwzMC4yNzMxMjMyIDM1LjE2Mjc0MDcsMzAuMjczMTIzMiAzMi42ODA2Nzg1LDMwLjI3MzEyMzIgTDMyLjY4MDY3ODUsMzAuMjczMDgyIFogTS03Ljk4NzQ3NDMyLDM4Ljk0OTQ5NDkgTC03LjU5MTc2NjQsMzguODA0NzUzNCBDLTUuNzQ4MTI0NjQsMzguMTAwMzQyMyAtNC4zMDAxOTQ0OSwzNi42OTE1MjYgLTMuMjQ3OTcwNjgsMzQuODQ4NDg0OCBDLTUuMjI2NTEyOTMsMzUuNzA3MjgzMSAtNi44MDkzNDM1NywzNy4xMTYxMDUxIC03Ljk4NzQ3NDMyLDM4Ljk0OTQ5NDkgTC03Ljk4NzQ3NDMyLDM4Ljk0OTQ5NDkgWiBNMTAuODY4NjI4MiwtNC40MDQwNDA0IEwxMC4yOTczODEsLTQuNDA0MDQwNCBDMTAuMTAyNjM3NSwtNC40MDQwNDA0IDkuNzI2MTMzOCwtNC40MDQwNDA0IDkuNTMxMzkyNjMsLTQuMjU0MTE1OTYgQzguNzc4Mzg0MzcsLTEuNzY1MzcwMjQgOS4zMzY2NDkxOCwwLjg2MzMwMzAxNCAxMC42NzM4OTAxLDMuMjEyMTIxMjEgQzExLjc5MDQxNjYsMC43NDMzNjM0NjEgMTEuODU1MzM2MiwtMS45MTUyOTQ2OCAxMC44Njg2MzM1LC00LjQwNDA0MDQgTDEwLjg2ODYyODIsLTQuNDA0MDQwNCBaIE0xMi43NTM0ODU4LDE2LjEwMTAxMDEgTDEyLjYwMTcyMjUsMTYuNDI3MTIzNCBMMTIuNDQ5OTU5MSwxNi4yNjQwNjY4IEMxMS4xMTQ0NDE5LDE5LjkyNzQwODUgOS42MzcyODA3OSwyMy41Nzk4OTY3IDguMDA4MzUwNDUsMjcuMDgwMTM3MiBMOC4zMDE3NTkzNiwyNi45MTcwODA2IEw4LjMwMTc1OTM2LDI3LjIzMjMyMzIgQzExLjYwMDA4MDQsMjUuOTYwNDgxMyAxNC45NTkxMzA0LDI0Ljg5NTE3OTkgMTguMzY4NzA3LDI0LjA0NzI4NTMgTDE4LjIyNzA2MTQsMjMuODg0MjI4NiBMMTguNjcyMjMzNiwyMy44ODQyMjg2IEMxNi40NTY0ODkxLDIxLjUyNTM0MDIgMTQuNDYzMzMyNywxOC45MTY0MzM2IDEyLjc1MzQ2MzksMTYuMTAxMDEwMSBMMTIuNzUzNDg1OCwxNi4xMDEwMTAxIFogTTMxLjg0MTgzNjEsMjMuNzE3MTcxNyBDMzAuNTU5ODM5MiwyMy43MTcxNzE3IDI5LjQyMzUyMzgsMjMuNzE3MTcxNyAyOC4xNTEyNDA5LDI0LjA1MjcxMDUgQzI5LjU2OTIwNTMsMjQuODk3MzQ1NCAzMC45OTY4ODM2LDI1LjIzMjg4MjIgMzIuNDE0ODUzNywyNS40MDY0MzY4IEMzMy40MDU0ODc2LDI1LjU3OTk5MTUgMzQuNDA1ODM1NiwyNS40MDY0MzY4IDM1LjI2MDQ5NjQsMjUuMDcwODk4IEMzNS4yNTA3ODQyLDI0LjU2MTgwNDYgMzQuNjg3NDg0NSwyMy43MTcxNzE3IDMxLjg0MTgzNjEsMjMuNzE3MTcxNyBaIiBpZD0i5b2i54q2IiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTI1MTg2MDEyIiBtYXNrPSJ1cmwoI21hc2stMykiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJQREZfIiBtYXNrPSJ1cmwoI21hc2stMykiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4wOTA5MDksIDkuMDkwOTA5KSIgaWQ9IuW9oueKtiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci01KSIgeGxpbms6aHJlZj0iI3BhdGgtNCI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgeGxpbms6aHJlZj0iI3BhdGgtNCI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", PI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+RXhjZWwgaWNvbjwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjI3Ljg1NTQ4NyUiIHkxPSIxMy45NTUwOTgyJSIgeDI9IjEwMCUiIHkyPSIxMDAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM2NUMzNjAiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzM3ODIwMyIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8cGF0aCBkPSJNNiwwIEwzNCwwIEMzNy4zMTM3MDg1LC02LjA4NzE4Mzc2ZS0xNiA0MCwyLjY4NjI5MTUgNDAsNiBMNDAsMzQgQzQwLDM3LjMxMzcwODUgMzcuMzEzNzA4NSw0MCAzNCw0MCBMNiw0MCBDMi42ODYyOTE1LDQwIDQuMDU4MTIyNTFlLTE2LDM3LjMxMzcwODUgMCwzNCBMMCw2IEMtNC4wNTgxMjI1MWUtMTYsMi42ODYyOTE1IDIuNjg2MjkxNSw2LjA4NzE4Mzc2ZS0xNiA2LDAgWiIgaWQ9InBhdGgtMiI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIGlkPSJwYXRoLTQiIHBvaW50cz0iMTYuNjEyNDkzNyAyMC40MzQzMjM5IDEwLjU2ODgxNjcgMTEuODE4MTgxOCAxNi4zMjgwODUzIDExLjgxODE4MTggMTkuNTYzMjMwMSAxNi41NjU4NTE5IDIyLjc2MjgyMzggMTEuODE4MTgxOCAyOC4zNDQzMzcyIDExLjgxODE4MTggMjIuMzAwNjYwMiAyMC4zMjg4MjAxIDI5LjA5MDkwOTEgMzAgMjMuMzMxNjQwNCAzMCAxOS40OTIxMjggMjQuMjY3NjI3OSAxNS42NTI2MTU1IDMwIDEwIDMwIj48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMzYuNyUiIHk9Ii0yNy41JSIgd2lkdGg9IjE3My4zJSIgaGVpZ2h0PSIxNzcuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMC4zNzQ4ODY3NzUgICAwIDAgMCAwIDAuMDIzMDYxNzYzICAwIDAgMCAwLjE1OTQxODcwNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i5pa55qGI5LqMIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMS4yLeefpeivhuS4reW/gyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM4MC4wMDAwMDAsIC05OTAuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2Ni4wMDAwMDAsIDI3Ni4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLooajmoLwiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjAwMDAwMCwgNjguMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Imxpc3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjAwMDAwMCwgNjQ2LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iRXhjZWwtaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9Im1hc2stMyIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGlkPSLokpnniYgiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHhsaW5rOmhyZWY9IiNwYXRoLTIiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IngiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4wODU0OTU3MjE3IiBtYXNrPSJ1cmwoI21hc2stMykiIHBvaW50cz0iNC4zNDczODQ0NiAxNC45ODY4MTIgLTEyLjkyMDI2NDEgLTEwIDMuNTM0Nzg5MjMgLTEwIDEyLjc3ODA1OTkgMy43NjgyNDMzNiAyMS45MTk3NTYyIC0xMCAzNy44NjY5Mzc1IC0xMCAyMC41OTkyODkgMTQuNjgwODUxMSA0MCA0Mi43MjcyNzI3IDIzLjU0NDk0NjcgNDIuNzI3MjcyNyAxMi41NzQ5MTExIDI2LjEwMzM5MzcgMS42MDQ4NzU1NyA0Mi43MjcyNzI3IC0xNC41NDU0NTQ1IDQyLjcyNzI3MjciPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJ4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0zKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTUpIiB4bGluazpocmVmPSIjcGF0aC00Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkZGRkYiIHhsaW5rOmhyZWY9IiNwYXRoLTQiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", OI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzRweCIgaGVpZ2h0PSIzNHB4IiB2aWV3Qm94PSIwIDAgMzQgMzQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+6YCa55So5Zu+5qCHPC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0wLjkwNjUyOTMxNCwwIEwxOS45NDM2NDQ5LDAgQzIwLjQ0NDMwNzIsLTIuMDI5OTI0NzhlLTE2IDIwLjg1MDE3NDIsMC40MDU4NjY5OTggMjAuODUwMTc0MiwwLjkwNjUyOTMxNCBMMjAuODUwMTc0Miw1Ljg5MjQ0MDU0IEwyMC44NTAxNzQyLDUuODkyNDQwNTQgTDAsNS44OTI0NDA1NCBMMCwwLjkwNjUyOTMxNCBDNC45NzA4ODUyM2UtMTcsMC40MDU4NjY5OTggMC40MDU4NjY5OTgsLTIuNDEwOTY3MzJlLTE2IDAuOTA2NTI5MzE0LDAgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyLjAlIiB5PSItNDIuNCUiIHdpZHRoPSIxMjQuMCUiIGhlaWdodD0iMTg0LjklIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEuNSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd0JsdXJJbm5lcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMSAgIDAgMCAwIDAgMSAgIDAgMCAwIDAgMSAgMCAwIDAgMC44MjcwMzIzNDMgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgICAgICA8cmVjdCBpZD0icGF0aC0zIiB4PSIwIiB5PSI1Ljg5MjQ0MDU0IiB3aWR0aD0iMjAuODUwMTc0MiIgaGVpZ2h0PSI1Ljg5MjQ0MDU0Ij48L3JlY3Q+CiAgICAgICAgPGZpbHRlciB4PSItNy4yJSIgeT0iLTI1LjUlIiB3aWR0aD0iMTE0LjQlIiBoZWlnaHQ9IjE1MC45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTQiPgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93Qmx1cklubmVyMSI+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMSIgaW49InNoYWRvd0JsdXJJbm5lcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0SW5uZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd09mZnNldElubmVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiIHJlc3VsdD0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb21wb3NpdGU+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjkzOTg4NjEyMSAgIDAgMCAwIDAgMC41MzM4OTE2MTUgICAwIDAgMCAwIDAgIDAgMCAwIDEgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgICAgICA8cmVjdCBpZD0icGF0aC01IiB4PSIwIiB5PSIxMS43ODQ4ODExIiB3aWR0aD0iMjAuODUwMTc0MiIgaGVpZ2h0PSI2LjM0NTcwNTIiPjwvcmVjdD4KICAgICAgICA8ZmlsdGVyIHg9Ii03LjIlIiB5PSItMjMuNiUiIHdpZHRoPSIxMTQuNCUiIGhlaWdodD0iMTQ3LjMlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIxIiBpbj0ic2hhZG93Qmx1cklubmVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRJbm5lcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuODg5ODg1NTAyICAgMCAwIDAgMCAwLjMwMDc5MDMxOCAgIDAgMCAwIDAgMCAgMCAwIDAgMC41IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPHBhdGggZD0iTTAsMTguMTMwNTg2MyBMMjAuODUwMTc0MiwxOC4xMzA1ODYzIEwyMC44NTAxNzQyLDIzLjU2OTc2MjIgQzIwLjg1MDE3NDIsMjQuMDcwNDI0NSAyMC40NDQzMDcyLDI0LjQ3NjI5MTUgMTkuOTQzNjQ0OSwyNC40NzYyOTE1IEwwLjkwNjUyOTMxNCwyNC40NzYyOTE1IEMwLjQwNTg2Njk5OCwyNC40NzYyOTE1IDkuNTAwODAxMjRlLTE2LDI0LjA3MDQyNDUgMCwyMy41Njk3NjIyIEwwLDE4LjEzMDU4NjMgTDAsMTguMTMwNTg2MyBaIiBpZD0icGF0aC03Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItOS42JSIgeT0iLTMxLjUlIiB3aWR0aD0iMTE5LjIlIiBoZWlnaHQ9IjE2My4wJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTgiPgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxLjUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSItMSIgaW49InNoYWRvd0JsdXJJbm5lcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0SW5uZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd09mZnNldElubmVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiIHJlc3VsdD0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb21wb3NpdGU+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxICAgMCAwIDAgMCAxICAgMCAwIDAgMCAxICAwIDAgMCAwLjU2MTY4MDUwNyAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjQyLjc5ODU3ODUlIiB4Mj0iMy4yNjEyODAxM2UtMTQlIiB5Mj0iMzguMzkwOTAwNyUiIGlkPSJsaW5lYXJHcmFkaWVudC05Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0Y1REVDMyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjdERkNFIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTIuMzM5MTE2MyUiIHkxPSI0Mi43OTg1Nzg1JSIgeDI9IjMuMjYxMjgwMTNlLTE0JSIgeTI9IjQyLjc5ODU3ODUlIiBpZD0ibGluZWFyR3JhZGllbnQtMTAiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkY4MDAwIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkIyMzAiIHN0b3Atb3BhY2l0eT0iMC43NTUwNTM1NCIgb2Zmc2V0PSIzMi4wMDA0MTIlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkY2RDYiIHN0b3Atb3BhY2l0eT0iMC4wMzYzODU0ODk1IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iLTExLjc1NDE0NjclIiB5MT0iNTAlIiB4Mj0iMTA4LjYyNjU2JSIgeTI9IjU3LjEzNTQ2MzQlIiBpZD0ibGluZWFyR3JhZGllbnQtMTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGRkZGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkI0MDAiIHN0b3Atb3BhY2l0eT0iMC41MzY1NDkzODgiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMTIiIHBvaW50cz0iNi4xNzM0NDQyN2UtMTUgNi45MDMyNjQxMyAxLjM2MDM3NzggNi40NDAyMDQyNiAxLjM2MDM3NzggMi4zNTk2MjYxOSA0LjM3ODYzODk1IDEuNTg2NTQ2NTYgNC4zNzg2Mzg5NSA3LjUwMjMxODkxIDIuOTU0MTU4NjZlLTE1IDYuOTAzMjY0MTMgNC4zNzg2Mzg5NSA4Ljg2OTU2NTIyIDYuNjUyMTczOTEgOC4wMTMxNjI2NiA2LjY1MjE3MzkxIDAuNzcyMjM2NTQ3IDQuMzc4NjM4OTUgMS4yMDU3NzkwNGUtMTYgNC45NDM4NzYzMWUtMTUgMS42OTU5NTgyNSI+PC9wb2x5Z29uPgogICAgICAgIDxmaWx0ZXIgeD0iLTMwLjElIiB5PSItMTEuMyUiIHdpZHRoPSIxNjAuMSUiIGhlaWdodD0iMTQ1LjElIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMTMiPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIxIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjUiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuOTMxNjY1MzkzICAgMCAwIDAgMCAwLjQ2MDU0NTU2NSAgIDAgMCAwIDAgMC4xMDEyMDE4ODcgIDAgMCAwIDAuNjg3MjU0MTUyIDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLmlrnmoYjkuIAiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjEt55+l6K+G6Zeo5oi36aaW6aG1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTkwLjAwMDAwMCwgLTY0Ny4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IumAmuefpeWFrOWRiiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTcyLjAwMDAwMCwgNDU3LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9InciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjAwMDAwMCwgMTkwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtODEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuOTIyODkwLCA0LjQzNDc4MykiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i55+p5b2iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGQ0I0RSIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9ouWkh+S7vS0zNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRjlEMDQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMyI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItNCkiIHhsaW5rOmhyZWY9IiNwYXRoLTMiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSLnn6nlvaLlpIfku70tNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkY3RjAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTUiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i55+p5b2i5aSH5Lu9LTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0Y5NTYwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC03Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci04KSIgeGxpbms6aHJlZj0iI3BhdGgtNyI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAuMjI2NjMyMzI4IiB5MT0iMTEuNzg0ODgxMSIgeDI9IjIwLjg1MDE3NDIiIHkyPSIxMS43ODQ4ODExIiBpZD0i6Lev5b6ELTEzMiIgc3Ryb2tlPSIjRkY5RjFDIiBzdHJva2Utd2lkdGg9IjAuNSI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMC4yMjY2MzIzMjgiIHkxPSI1Ljg5MjQ0MDU0IiB4Mj0iMjAuODUwMTc0MiIgeTI9IjUuODkyNDQwNTQiIGlkPSLot6/lvoQtMTMy5aSH5Lu9LTIiIHN0cm9rZT0iI0ZGQzM1OSIgc3Ryb2tlLXdpZHRoPSIwLjUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAuMjI2NjMyMzI4IiB5MT0iMTguMTMwNTg2MyIgeDI9IjIwLjg1MDE3NDIiIHkyPSIxOC4xMzA1ODYzIiBpZD0i6Lev5b6ELTEzMuWkh+S7vSIgc3Ryb2tlPSIjRkY4OTNCIiBzdHJva2Utd2lkdGg9IjAuNSI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTkpIiB4PSIyLjIxNzM5MTMiIHk9IjguMDYwODk5ODYiIHdpZHRoPSIxNS44NjQyNjMiIGhlaWdodD0iMTUuODY0MjYzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xMCkiIHg9IjIuMjE3MzkxMyIgeT0iOC4wNjA4OTk4NiIgd2lkdGg9IjE1Ljg2NDI2MyIgaGVpZ2h0PSIxNS44NjQyNjMiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQtMTEpIiBzdHJva2Utd2lkdGg9IjAuNSIgeD0iMi40NjczOTEzIiB5PSI4LjMxMDg5OTg2IiB3aWR0aD0iMTUuMzY0MjYzIiBoZWlnaHQ9IjE1LjM2NDI2MyI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJXIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjYyNzk2NSwgMTEuNDQxNjM2KSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Iui3r+W+hC0xNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMTMpIiB4bGluazpocmVmPSIjcGF0aC0xMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkZGRkYiIHhsaW5rOmhyZWY9IiNwYXRoLTEyIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", jI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTIwIDEwMCIgZmlsbD0ibm9uZSI+CiAgPGVsbGlwc2UgY3g9IjYwIiBjeT0iOTAiIHJ4PSI0MyIgcnk9IjUiIGZpbGw9IiNGMkY0RjgiLz4KICA8cGF0aCBkPSJNMjQgMzBhNiA2IDAgMCAxIDYtNmgyM2w5IDloMjhhNiA2IDAgMCAxIDYgNnY0MGE2IDYgMCAwIDEtNiA2SDMwYTYgNiAwIDAgMS02LTZWMzBaIiBmaWxsPSIjRTlFRkZCIi8+CiAgPHJlY3QgeD0iMzkiIHk9IjE0IiB3aWR0aD0iNDMiIGhlaWdodD0iNTYiIHJ4PSI0IiBmaWxsPSIjZmZmIiBzdHJva2U9IiNEOUUyRjMiLz4KICA8cGF0aCBkPSJNNDggMjloMjVNNDggMzhoMjVNNDggNDdoMTYiIHN0cm9rZT0iI0RCRTRGNCIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8cGF0aCBkPSJNMjAgNDlhNSA1IDAgMCAxIDUtNGg3MGE1IDUgMCAwIDEgNSA2bC02IDI5YTYgNiAwIDAgMS02IDVIMzJhNiA2IDAgMCAxLTYtNWwtNi0yOXYtMloiIGZpbGw9IiNGMEY0RkMiIHN0cm9rZT0iI0Q5RTJGMyIvPgogIDxwYXRoIGQ9Ik01MSA2NWgxOCIgc3Ryb2tlPSIjQzVENEYwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K", YI = { class: "mobile-frame" }, pI = {
261
+ class: "selector-sheet",
262
+ "aria-label": "知识库选择"
263
+ }, UI = { class: "sheet-header" }, WI = ["title", "onClick"], QI = {
264
+ key: 0,
265
+ class: "status"
266
+ }, vI = {
267
+ key: 1,
268
+ class: "status error",
269
+ role: "alert"
270
+ }, BI = ["aria-checked", "aria-label", "disabled", "onClick"], hI = {
271
+ key: 0,
272
+ class: "check-mark",
273
+ "aria-hidden": "true"
274
+ }, RI = {
275
+ key: 1,
276
+ class: "half-mark",
277
+ "aria-hidden": "true"
278
+ }, JI = ["src"], HI = ["title", "onClick"], VI = ["aria-label", "onClick"], XI = {
279
+ key: 0,
280
+ class: "status empty-state"
281
+ }, fI = ["src"], KI = ["disabled"], FI = {
282
+ key: 2,
283
+ class: "inline-error",
284
+ role: "alert"
285
+ }, _I = {
286
+ key: 1,
287
+ class: "content-list selected-list",
288
+ "aria-label": "已选知识库文件"
289
+ }, $I = ["src"], qI = ["title"], Ig = ["aria-label", "onClick"], gg = {
290
+ key: 0,
291
+ class: "status empty-state"
292
+ }, Mg = ["src"], Ag = { class: "footer-bar" }, Cg = ["disabled"], ig = {
293
+ key: 0,
294
+ class: "summary-label"
295
+ }, Ng = {
296
+ key: 1,
297
+ class: "summary-label"
298
+ }, Dg = {
299
+ key: 2,
300
+ class: "summary-arrow",
301
+ viewBox: "0 0 12 12",
302
+ fill: "none",
303
+ "aria-hidden": "true"
304
+ }, cg = {
305
+ key: 1,
306
+ class: "selection-summary selected-summary"
307
+ }, jg = { class: "summary-label" }, lg = ["disabled"], eg = {
308
+ key: 0,
309
+ class: "notice",
310
+ role: "status"
311
+ }, lI = 50, zg = /* @__PURE__ */ nI({
312
+ __name: "App",
313
+ props: {
314
+ dataSource: {},
315
+ apiOptions: {},
316
+ initialSelection: {},
317
+ iframeMessaging: { type: Boolean, default: !1 }
318
+ },
319
+ emits: ["confirm", "error", "close"],
320
+ setup(I, { expose: g, emit: N }) {
321
+ const M = I, t = N, p = M.dataSource || eI(M.apiOptions), k = E([]), P = E(""), G = E(!1), O = E({}), Z = E([]), n = E(II(M.initialSelection || [])), l = E(!1), a = E(""), w = E(), e = new AbortController(), s = Q(() => Z.value[Z.value.length - 1]), T = Q(() => s.value && O.value[u(s.value)]), z = Q(() => {
322
+ var A;
323
+ return s.value ? (A = T.value) != null && A.error && !T.value.loaded ? T.value.error : "" : P.value;
324
+ }), x = Q(() => {
325
+ var A;
326
+ return s.value ? ((A = T.value) == null ? void 0 : A.children) || [] : k.value;
327
+ }), h = Q(() => [["library", "知识库"], ["directory", "文件夹"], ["document", "文档"]].map(([A, C]) => ({ type: A, label: C, count: n.value.filter((r) => r.type === A).length })).filter((A) => A.count > 0));
328
+ function m(A) {
329
+ return zI(A, n.value);
330
+ }
331
+ function f(A) {
332
+ n.value = ZI(A, n.value);
333
+ }
334
+ function MI(A) {
335
+ return A.type !== "document" ? A.name : A.name.replace(/\.(pptx?|docx?|pdf|xlsx?|csv|wps|rtf|odt|ods|dps|odp|et|txt|md|png|jpe?g|gif|webp|svg|bmp|zip|rar|7z)$/i, "");
336
+ }
337
+ function AI(A) {
338
+ var r;
339
+ if (A.type === "library")
340
+ return mI;
341
+ if (A.type === "directory")
342
+ return SI;
343
+ const C = (((r = A.name.match(/\.([a-z0-9]+)$/i)) == null ? void 0 : r[1]) ?? "").toLowerCase();
344
+ return ["doc", "docx", "wps", "rtf", "odt"].includes(C) ? EI : ["ppt", "pptx", "dps", "odp"].includes(C) ? GI : C === "pdf" ? kI : ["xls", "xlsx", "csv", "et", "ods"].includes(C) ? PI : OI;
345
+ }
346
+ function tI(A) {
347
+ const C = O.value[u(A)];
348
+ return !!(C != null && C.loaded) && C.page * lI < C.total;
349
+ }
350
+ function K(A) {
351
+ return A instanceof Error ? A.message : "加载失败,请重试";
352
+ }
353
+ async function CI() {
354
+ if (!G.value) {
355
+ G.value = !0, P.value = "";
356
+ try {
357
+ k.value = await p.getLibraries(e.signal);
358
+ } catch (A) {
359
+ P.value = K(A), e.signal.aborted || t("error", A);
360
+ } finally {
361
+ G.value = !1;
362
+ }
363
+ }
364
+ }
365
+ async function R(A, C = !1) {
366
+ const r = u(A);
367
+ let y = O.value[r];
368
+ if (y != null && y.loading || !C && (y != null && y.loaded))
369
+ return;
370
+ y || (O.value[r] = { children: [], page: 0, total: 0, loaded: !1, loading: !1, error: "" }, y = O.value[r]), y.loading = !0, y.error = "";
371
+ const W = C ? y.page + 1 : 1;
372
+ try {
373
+ const S = await p.getChildren(A, W, lI, e.signal), i = [...C ? y.children : [], ...S.directories, ...S.documents];
374
+ y.children = [...new Map(i.map((o) => [u(o), o])).values()], y.page = W, y.total = S.total, y.loaded = !0;
375
+ } catch (S) {
376
+ y.error = K(S), e.signal.aborted || t("error", S);
377
+ } finally {
378
+ y.loading = !1;
379
+ }
380
+ }
381
+ async function iI(A) {
382
+ var C;
383
+ A.type !== "document" && (Z.value.push(A), await dI(), (C = w.value) == null || C.scrollTo({ left: w.value.scrollWidth, behavior: "smooth" }), await R(A));
384
+ }
385
+ function F(A) {
386
+ Z.value = Z.value.slice(0, A + 1);
387
+ }
388
+ function aI() {
389
+ l.value ? l.value = !1 : F(Z.value.length - 2);
390
+ }
391
+ function wI() {
392
+ t("close"), M.iframeMessaging && _("wisedoc:knowledge-selector:close");
393
+ }
394
+ function sI() {
395
+ s.value ? R(s.value) : CI();
396
+ }
397
+ const NI = location.origin;
398
+ function _(A, C = {}) {
399
+ window.parent !== window && window.parent.postMessage({ type: A, ...C }, NI);
400
+ }
401
+ function DI(A) {
402
+ if (!(A.source !== window.parent || A.origin !== NI || !A.data || typeof A.data != "object") && A.data.type === "wisedoc:knowledge-selector:init")
403
+ try {
404
+ n.value = II(A.data.selection || []);
405
+ } catch (C) {
406
+ a.value = K(C);
407
+ }
408
+ }
409
+ function TI() {
410
+ const A = xI(n.value), C = n.value.map(gI);
411
+ t("confirm", A, C), M.iframeMessaging && (_("wisedoc:knowledge-selector:confirm", { payload: A, selections: C }), window.dispatchEvent(new CustomEvent("knowledge-selector:confirm", { detail: A })));
412
+ }
413
+ function yI(A) {
414
+ n.value = II(A);
415
+ }
416
+ return g({ setSelection: yI }), uI(() => {
417
+ M.iframeMessaging && (window.addEventListener("message", DI), _("wisedoc:knowledge-selector:ready")), CI();
418
+ }), oI(() => {
419
+ e.abort(), window.removeEventListener("message", DI);
420
+ }), (A, C) => {
421
+ var r, y, W, S;
422
+ return c(), j("div", YI, [
423
+ D("main", pI, [
424
+ D("header", UI, [
425
+ l.value || s.value ? (c(), j("button", {
426
+ key: 0,
427
+ class: "header-back",
428
+ type: "button",
429
+ "aria-label": "返回上一级",
430
+ onClick: aI
431
+ }, [...C[4] || (C[4] = [
432
+ D("svg", {
433
+ class: "header-icon",
434
+ viewBox: "0 0 16 16",
435
+ fill: "none",
436
+ "aria-hidden": "true"
437
+ }, [
438
+ D("path", {
439
+ d: "m10 3-5 5 5 5",
440
+ stroke: "currentColor",
441
+ "stroke-width": "1.5",
442
+ "stroke-linecap": "round",
443
+ "stroke-linejoin": "round"
444
+ })
445
+ ], -1)
446
+ ])])) : d("", !0),
447
+ D("h1", null, b(l.value ? "已选知识库文件" : "选择知识库文件"), 1),
448
+ D("button", {
449
+ class: "header-close",
450
+ type: "button",
451
+ "aria-label": "关闭选择器",
452
+ onClick: wI
453
+ }, [...C[5] || (C[5] = [
454
+ D("svg", {
455
+ class: "header-icon",
456
+ viewBox: "0 0 16 16",
457
+ fill: "none",
458
+ "aria-hidden": "true"
459
+ }, [
460
+ D("path", {
461
+ d: "m3 3 10 10M13 3 3 13",
462
+ stroke: "currentColor",
463
+ "stroke-width": "1.5",
464
+ "stroke-linecap": "round"
465
+ })
466
+ ], -1)
467
+ ])])
468
+ ]),
469
+ l.value ? (c(), j("section", _I, [
470
+ (c(!0), j(L, null, v(n.value, (i) => (c(), j("div", {
471
+ key: B(u)(i),
472
+ class: "entry-row"
473
+ }, [
474
+ D("img", {
475
+ class: "entry-icon",
476
+ src: AI(i),
477
+ alt: ""
478
+ }, null, 8, $I),
479
+ D("span", {
480
+ class: "entry-name selected-name",
481
+ title: i.name
482
+ }, b(MI(i)), 9, qI),
483
+ D("button", {
484
+ class: "remove-button",
485
+ type: "button",
486
+ "aria-label": `移除${i.name}`,
487
+ onClick: (o) => f(i)
488
+ }, "×", 8, Ig)
489
+ ]))), 128)),
490
+ n.value.length ? d("", !0) : (c(), j("div", gg, [
491
+ D("img", {
492
+ src: B(jI),
493
+ alt: ""
494
+ }, null, 8, Mg),
495
+ C[10] || (C[10] = D("span", null, "暂未选择知识库文件", -1))
496
+ ]))
497
+ ])) : (c(), j(L, { key: 0 }, [
498
+ C[9] || (C[9] = D("div", {
499
+ class: "tabs",
500
+ "aria-label": "知识库分类"
501
+ }, [
502
+ D("span", { class: "tab-active" }, "知识库")
503
+ ], -1)),
504
+ s.value ? (c(), j("nav", {
505
+ key: 0,
506
+ ref_key: "crumbsElement",
507
+ ref: w,
508
+ class: "breadcrumbs",
509
+ "aria-label": "当前位置"
510
+ }, [
511
+ D("button", {
512
+ type: "button",
513
+ onClick: C[0] || (C[0] = (i) => F(-1))
514
+ }, "知识库"),
515
+ (c(!0), j(L, null, v(Z.value, (i, o) => (c(), j(L, {
516
+ key: B(u)(i)
517
+ }, [
518
+ C[6] || (C[6] = D("span", {
519
+ class: "crumb-divider",
520
+ "aria-hidden": "true"
521
+ }, "/", -1)),
522
+ D("button", {
523
+ type: "button",
524
+ class: $({ "crumb-current": o === Z.value.length - 1 }),
525
+ title: i.name,
526
+ onClick: (wg) => F(o)
527
+ }, b(i.name), 11, WI)
528
+ ], 64))), 128))
529
+ ], 512)) : d("", !0),
530
+ D("section", {
531
+ class: $(["content-list", { "root-list": !s.value }]),
532
+ "aria-label": "知识库目录和文档"
533
+ }, [
534
+ G.value || (r = T.value) != null && r.loading && !T.value.loaded ? (c(), j("div", QI, "正在加载…")) : z.value ? (c(), j("div", vI, [
535
+ D("span", null, b(z.value), 1),
536
+ D("button", {
537
+ type: "button",
538
+ onClick: sI
539
+ }, "重新加载")
540
+ ])) : (c(), j(L, { key: 2 }, [
541
+ (c(!0), j(L, null, v(x.value, (i) => (c(), j("div", {
542
+ key: B(u)(i),
543
+ class: "entry-row"
544
+ }, [
545
+ D("button", {
546
+ class: $(["check-button", { checked: m(i).checked, indeterminate: m(i).indeterminate, locked: m(i).disabled }]),
547
+ type: "button",
548
+ role: "checkbox",
549
+ "aria-checked": m(i).indeterminate ? "mixed" : m(i).checked,
550
+ "aria-label": m(i).disabled ? `已随上级选择${i.name}` : `${m(i).checked ? "取消选择" : "选择"}${i.name}`,
551
+ disabled: m(i).disabled,
552
+ onClick: (o) => f(i)
553
+ }, [
554
+ m(i).checked ? (c(), j("span", hI)) : m(i).indeterminate ? (c(), j("span", RI)) : d("", !0)
555
+ ], 10, BI),
556
+ D("img", {
557
+ class: "entry-icon",
558
+ src: AI(i),
559
+ alt: ""
560
+ }, null, 8, JI),
561
+ D("button", {
562
+ class: "entry-name",
563
+ type: "button",
564
+ title: i.name,
565
+ onClick: (o) => i.type === "document" ? f(i) : iI(i)
566
+ }, b(MI(i)), 9, HI),
567
+ i.type !== "document" ? (c(), j("button", {
568
+ key: 0,
569
+ class: "row-next",
570
+ type: "button",
571
+ "aria-label": `进入${i.name}`,
572
+ onClick: (o) => iI(i)
573
+ }, [...C[7] || (C[7] = [
574
+ D("span", { class: "right-chevron" }, null, -1)
575
+ ])], 8, VI)) : d("", !0)
576
+ ]))), 128)),
577
+ x.value.length ? d("", !0) : (c(), j("div", XI, [
578
+ D("img", {
579
+ src: B(jI),
580
+ alt: ""
581
+ }, null, 8, fI),
582
+ C[8] || (C[8] = D("span", null, "暂无可选择的内容", -1))
583
+ ])),
584
+ s.value && tI(s.value) ? (c(), j("button", {
585
+ key: 1,
586
+ class: "more-button",
587
+ type: "button",
588
+ disabled: (y = T.value) == null ? void 0 : y.loading,
589
+ onClick: C[1] || (C[1] = (i) => R(s.value, !0))
590
+ }, b((W = T.value) != null && W.loading ? "正在加载…" : "加载更多文档"), 9, KI)) : d("", !0),
591
+ (S = T.value) != null && S.error && T.value.loaded ? (c(), j("div", FI, [
592
+ Y(b(T.value.error) + " ", 1),
593
+ D("button", {
594
+ type: "button",
595
+ onClick: C[2] || (C[2] = (i) => R(s.value, !0))
596
+ }, "重试")
597
+ ])) : d("", !0)
598
+ ], 64))
599
+ ], 2)
600
+ ], 64)),
601
+ D("footer", Ag, [
602
+ l.value ? (c(), j("div", cg, [
603
+ D("span", jg, [
604
+ C[13] || (C[13] = Y("已选 ", -1)),
605
+ (c(!0), j(L, null, v(h.value, (i, o) => (c(), j(L, {
606
+ key: i.type
607
+ }, [
608
+ D("strong", null, b(i.count), 1),
609
+ Y(" 个" + b(i.label), 1),
610
+ o < h.value.length - 1 ? (c(), j(L, { key: 0 }, [
611
+ Y("、")
612
+ ], 64)) : d("", !0)
613
+ ], 64))), 128))
614
+ ])
615
+ ])) : (c(), j("button", {
616
+ key: 0,
617
+ class: "selection-summary",
618
+ type: "button",
619
+ disabled: !n.value.length,
620
+ onClick: C[3] || (C[3] = (i) => l.value = !0)
621
+ }, [
622
+ n.value.length ? (c(), j("span", ig, [
623
+ C[11] || (C[11] = Y("已选 ", -1)),
624
+ (c(!0), j(L, null, v(h.value, (i, o) => (c(), j(L, {
625
+ key: i.type
626
+ }, [
627
+ D("strong", null, b(i.count), 1),
628
+ Y(" 个" + b(i.label), 1),
629
+ o < h.value.length - 1 ? (c(), j(L, { key: 0 }, [
630
+ Y("、")
631
+ ], 64)) : d("", !0)
632
+ ], 64))), 128))
633
+ ])) : (c(), j("span", Ng, "尚未选择")),
634
+ n.value.length ? (c(), j("svg", Dg, [...C[12] || (C[12] = [
635
+ D("path", {
636
+ d: "m4.5 2.5 3.5 3.5-3.5 3.5",
637
+ stroke: "currentColor",
638
+ "stroke-width": "1.2",
639
+ "stroke-linecap": "round",
640
+ "stroke-linejoin": "round"
641
+ }, null, -1)
642
+ ])])) : d("", !0)
643
+ ], 8, Cg)),
644
+ D("button", {
645
+ class: "confirm-button",
646
+ type: "button",
647
+ disabled: G.value || !!P.value,
648
+ onClick: TI
649
+ }, "确定", 8, lg)
650
+ ])
651
+ ]),
652
+ a.value ? (c(), j("div", eg, b(a.value), 1)) : d("", !0)
653
+ ]);
654
+ };
655
+ }
656
+ });
657
+ const tg = (I, g) => {
658
+ const N = I.__vccOpts || I;
659
+ for (const [M, t] of g)
660
+ N[M] = t;
661
+ return N;
662
+ }, ag = /* @__PURE__ */ tg(zg, [["__scopeId", "data-v-1a3b612f"]]), yg = ag;
663
+ export {
664
+ bI as DEFAULT_KNOWLEDGE_SELECTOR_CONFIG_URL,
665
+ yg as MobileKnowledgeSelector,
666
+ eI as createKnowledgeDataSource,
667
+ yg as default
668
+ };