@glodon-aiot/react-components 3.11.0-snapshot.1765331440 → 3.11.0-snapshot.1765331441
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.
- package/dist/es/components/DocumentViewer/index.mjs +137 -122
- package/dist/es/index.mjs +1 -1
- package/dist/lib/index.js +9 -9
- package/package.json +1 -1
|
@@ -1,225 +1,240 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
1
|
+
var N = (c, e, t) => new Promise((w, u) => {
|
|
2
|
+
var o = (i) => {
|
|
3
3
|
try {
|
|
4
|
-
|
|
5
|
-
} catch (
|
|
6
|
-
|
|
4
|
+
l(t.next(i));
|
|
5
|
+
} catch (f) {
|
|
6
|
+
u(f);
|
|
7
7
|
}
|
|
8
|
-
}, h = (
|
|
8
|
+
}, h = (i) => {
|
|
9
9
|
try {
|
|
10
|
-
|
|
11
|
-
} catch (
|
|
12
|
-
|
|
10
|
+
l(t.throw(i));
|
|
11
|
+
} catch (f) {
|
|
12
|
+
u(f);
|
|
13
13
|
}
|
|
14
|
-
},
|
|
15
|
-
|
|
14
|
+
}, l = (i) => i.done ? w(i.value) : Promise.resolve(i.value).then(o, h);
|
|
15
|
+
l((t = t.apply(c, e)).next());
|
|
16
16
|
});
|
|
17
|
-
import { jsx as r, jsxs as
|
|
18
|
-
import { useMemo as
|
|
19
|
-
import { Spin as
|
|
20
|
-
import { getFileExtension as
|
|
21
|
-
import { MAX_FILE_SIZE as
|
|
22
|
-
import { usePdfViewer as
|
|
23
|
-
import { useZipViewer as
|
|
24
|
-
import { CodeRenderer as
|
|
25
|
-
import { AudioRenderer as
|
|
26
|
-
import { PdfRenderer as
|
|
27
|
-
import { ZipRenderer as
|
|
28
|
-
import { ErrorAlert as
|
|
17
|
+
import { jsx as r, jsxs as A } from "react/jsx-runtime";
|
|
18
|
+
import { useMemo as j, useState as p, useEffect as H } from "react";
|
|
19
|
+
import { Spin as O, Alert as Z } from "antd";
|
|
20
|
+
import { getFileExtension as T, getFileType as _ } from "../../utils/file.mjs";
|
|
21
|
+
import { MAX_FILE_SIZE as x } from "./constants.mjs";
|
|
22
|
+
import { usePdfViewer as J } from "./hooks/usePdfViewer.mjs";
|
|
23
|
+
import { useZipViewer as W } from "./hooks/useZipViewer.mjs";
|
|
24
|
+
import { CodeRenderer as X, XmlRenderer as q, HtmlRenderer as G, MarkdownRenderer as K, JsonlRenderer as Q, TsvRenderer as Y, CsvRenderer as ee, JsonRenderer as re, TextRenderer as te } from "./components/FileRenderers.mjs";
|
|
25
|
+
import { AudioRenderer as ne, VideoRenderer as oe, ImageRenderer as ie } from "./components/MediaRenderers.mjs";
|
|
26
|
+
import { PdfRenderer as se } from "./components/PdfRenderer.mjs";
|
|
27
|
+
import { ZipRenderer as ae } from "./components/ZipRenderer.mjs";
|
|
28
|
+
import { ErrorAlert as ce } from "./components/ErrorAlert.mjs";
|
|
29
29
|
import "./style.less.mjs";
|
|
30
|
-
const
|
|
30
|
+
const de = (c) => {
|
|
31
31
|
const {
|
|
32
32
|
url: e,
|
|
33
33
|
fileName: t,
|
|
34
34
|
className: w,
|
|
35
|
-
style:
|
|
36
|
-
} =
|
|
37
|
-
const
|
|
38
|
-
return
|
|
35
|
+
style: u
|
|
36
|
+
} = c, o = j(() => {
|
|
37
|
+
const m = T(e), L = t ? T(t) : void 0;
|
|
38
|
+
return _(m || L);
|
|
39
39
|
}, [e, t]), {
|
|
40
40
|
pdfBlobUrl: h,
|
|
41
|
-
pdfLoading:
|
|
42
|
-
pdfError:
|
|
43
|
-
} =
|
|
44
|
-
zipFiles:
|
|
45
|
-
zipLoading:
|
|
46
|
-
zipError:
|
|
47
|
-
selectedZipFile:
|
|
48
|
-
zipFileContent:
|
|
49
|
-
handleFileClick:
|
|
50
|
-
} =
|
|
51
|
-
|
|
52
|
-
if (
|
|
53
|
-
|
|
41
|
+
pdfLoading: l,
|
|
42
|
+
pdfError: i
|
|
43
|
+
} = J(o === "pdf" ? e : ""), {
|
|
44
|
+
zipFiles: f,
|
|
45
|
+
zipLoading: $,
|
|
46
|
+
zipError: B,
|
|
47
|
+
selectedZipFile: U,
|
|
48
|
+
zipFileContent: y,
|
|
49
|
+
handleFileClick: D
|
|
50
|
+
} = W(o === "zip" ? e : ""), [I, n] = p(!0), [b, d] = p(null), [s, k] = p(null), [a, F] = p(0);
|
|
51
|
+
H(() => {
|
|
52
|
+
if (o === "pdf" || o === "zip") {
|
|
53
|
+
n(!1);
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
if (!e) {
|
|
57
|
-
|
|
57
|
+
d("文件URL不能为空"), n(!1);
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
-
if (["image", "video", "audio", "office", "unknown"].includes(
|
|
61
|
-
|
|
60
|
+
if (["image", "video", "audio", "office", "unknown"].includes(o)) {
|
|
61
|
+
n(!1);
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
n(!0), d(null), N(void 0, null, function* () {
|
|
65
65
|
try {
|
|
66
|
-
|
|
66
|
+
if (e.startsWith("blob:") || e.startsWith("data:")) {
|
|
67
|
+
const z = yield fetch(e);
|
|
68
|
+
if (!z.ok)
|
|
69
|
+
throw new Error(`HTTP error! status: ${z.status}`);
|
|
70
|
+
const M = yield z.blob(), E = M.size;
|
|
71
|
+
if (F(E), E > x) {
|
|
72
|
+
d(`文件过大(${Math.round(E / 1024 / 1024)}MB),无法预览。请下载后查看。`), n(!1);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const V = yield M.text();
|
|
76
|
+
k({
|
|
77
|
+
content: V
|
|
78
|
+
}), n(!1);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const v = (yield fetch(e, {
|
|
67
82
|
method: "HEAD"
|
|
68
|
-
})).headers.get("Content-Length"), g =
|
|
69
|
-
if (
|
|
70
|
-
|
|
83
|
+
})).headers.get("Content-Length"), g = v ? parseInt(v, 10) : 0;
|
|
84
|
+
if (F(g), g > x) {
|
|
85
|
+
d(`文件过大(${Math.round(g / 1024 / 1024)}MB),无法预览。请下载后查看。`), n(!1);
|
|
71
86
|
return;
|
|
72
87
|
}
|
|
73
|
-
const
|
|
74
|
-
if (!
|
|
75
|
-
throw new Error(`HTTP error! status: ${
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
|
|
88
|
+
const R = yield fetch(e);
|
|
89
|
+
if (!R.ok)
|
|
90
|
+
throw new Error(`HTTP error! status: ${R.status}`);
|
|
91
|
+
const S = yield R.text(), C = new Blob([S]).size;
|
|
92
|
+
if (C > x) {
|
|
93
|
+
d(`文件过大(${Math.round(C / 1024 / 1024)}MB),无法预览。请下载后查看。`), n(!1);
|
|
79
94
|
return;
|
|
80
95
|
}
|
|
81
|
-
|
|
82
|
-
content:
|
|
83
|
-
}),
|
|
84
|
-
} catch (
|
|
85
|
-
|
|
96
|
+
k({
|
|
97
|
+
content: S
|
|
98
|
+
}), n(!1);
|
|
99
|
+
} catch (m) {
|
|
100
|
+
d(m.message || "加载文件失败"), n(!1);
|
|
86
101
|
}
|
|
87
102
|
});
|
|
88
|
-
}, [e,
|
|
89
|
-
const
|
|
103
|
+
}, [e, o]);
|
|
104
|
+
const P = () => {
|
|
90
105
|
if (I)
|
|
91
106
|
return /* @__PURE__ */ r("div", {
|
|
92
107
|
className: "document-viewer-loading",
|
|
93
|
-
children: /* @__PURE__ */ r(
|
|
108
|
+
children: /* @__PURE__ */ r(O, {
|
|
94
109
|
size: "large",
|
|
95
110
|
tip: "加载中..."
|
|
96
111
|
})
|
|
97
112
|
});
|
|
98
|
-
if (
|
|
99
|
-
return /* @__PURE__ */ r(
|
|
113
|
+
if (b)
|
|
114
|
+
return /* @__PURE__ */ r(ce, {
|
|
100
115
|
message: "加载失败",
|
|
101
|
-
description:
|
|
116
|
+
description: b,
|
|
102
117
|
url: e,
|
|
103
118
|
fileName: t
|
|
104
119
|
});
|
|
105
|
-
switch (
|
|
120
|
+
switch (o) {
|
|
106
121
|
case "text":
|
|
107
|
-
return /* @__PURE__ */ r(
|
|
108
|
-
fileContent:
|
|
109
|
-
fileSize:
|
|
122
|
+
return /* @__PURE__ */ r(te, {
|
|
123
|
+
fileContent: s,
|
|
124
|
+
fileSize: a,
|
|
110
125
|
url: e,
|
|
111
126
|
fileName: t
|
|
112
127
|
});
|
|
113
128
|
case "json":
|
|
114
|
-
return /* @__PURE__ */ r(
|
|
115
|
-
fileContent:
|
|
116
|
-
fileSize:
|
|
129
|
+
return /* @__PURE__ */ r(re, {
|
|
130
|
+
fileContent: s,
|
|
131
|
+
fileSize: a,
|
|
117
132
|
url: e,
|
|
118
133
|
fileName: t
|
|
119
134
|
});
|
|
120
135
|
case "csv":
|
|
121
|
-
return /* @__PURE__ */ r(
|
|
122
|
-
fileContent:
|
|
123
|
-
fileSize:
|
|
136
|
+
return /* @__PURE__ */ r(ee, {
|
|
137
|
+
fileContent: s,
|
|
138
|
+
fileSize: a,
|
|
124
139
|
url: e,
|
|
125
140
|
fileName: t
|
|
126
141
|
});
|
|
127
142
|
case "tsv":
|
|
128
|
-
return /* @__PURE__ */ r(
|
|
129
|
-
fileContent:
|
|
130
|
-
fileSize:
|
|
143
|
+
return /* @__PURE__ */ r(Y, {
|
|
144
|
+
fileContent: s,
|
|
145
|
+
fileSize: a,
|
|
131
146
|
url: e,
|
|
132
147
|
fileName: t
|
|
133
148
|
});
|
|
134
149
|
case "jsonl":
|
|
135
|
-
return /* @__PURE__ */ r(
|
|
136
|
-
fileContent:
|
|
137
|
-
fileSize:
|
|
150
|
+
return /* @__PURE__ */ r(Q, {
|
|
151
|
+
fileContent: s,
|
|
152
|
+
fileSize: a,
|
|
138
153
|
url: e,
|
|
139
154
|
fileName: t
|
|
140
155
|
});
|
|
141
156
|
case "markdown":
|
|
142
|
-
return /* @__PURE__ */ r(
|
|
143
|
-
fileContent:
|
|
144
|
-
fileSize:
|
|
157
|
+
return /* @__PURE__ */ r(K, {
|
|
158
|
+
fileContent: s,
|
|
159
|
+
fileSize: a,
|
|
145
160
|
url: e,
|
|
146
161
|
fileName: t
|
|
147
162
|
});
|
|
148
163
|
case "html":
|
|
149
|
-
return /* @__PURE__ */ r(
|
|
150
|
-
fileContent:
|
|
151
|
-
fileSize:
|
|
164
|
+
return /* @__PURE__ */ r(G, {
|
|
165
|
+
fileContent: s,
|
|
166
|
+
fileSize: a,
|
|
152
167
|
url: e,
|
|
153
168
|
fileName: t
|
|
154
169
|
});
|
|
155
170
|
case "xml":
|
|
156
|
-
return /* @__PURE__ */ r(
|
|
157
|
-
fileContent:
|
|
158
|
-
fileSize:
|
|
171
|
+
return /* @__PURE__ */ r(q, {
|
|
172
|
+
fileContent: s,
|
|
173
|
+
fileSize: a,
|
|
159
174
|
url: e,
|
|
160
175
|
fileName: t
|
|
161
176
|
});
|
|
162
177
|
case "code":
|
|
163
|
-
return /* @__PURE__ */ r(
|
|
164
|
-
fileContent:
|
|
165
|
-
fileSize:
|
|
178
|
+
return /* @__PURE__ */ r(X, {
|
|
179
|
+
fileContent: s,
|
|
180
|
+
fileSize: a,
|
|
166
181
|
url: e,
|
|
167
182
|
fileName: t
|
|
168
183
|
});
|
|
169
184
|
case "image":
|
|
170
|
-
return /* @__PURE__ */ r(
|
|
185
|
+
return /* @__PURE__ */ r(ie, {
|
|
171
186
|
url: e,
|
|
172
187
|
fileName: t
|
|
173
188
|
});
|
|
174
189
|
case "video":
|
|
175
|
-
return /* @__PURE__ */ r(
|
|
190
|
+
return /* @__PURE__ */ r(oe, {
|
|
176
191
|
url: e,
|
|
177
192
|
fileName: t
|
|
178
193
|
});
|
|
179
194
|
case "audio":
|
|
180
|
-
return /* @__PURE__ */ r(
|
|
195
|
+
return /* @__PURE__ */ r(ne, {
|
|
181
196
|
url: e,
|
|
182
197
|
fileName: t
|
|
183
198
|
});
|
|
184
199
|
case "pdf":
|
|
185
|
-
return /* @__PURE__ */ r(
|
|
200
|
+
return /* @__PURE__ */ r(se, {
|
|
186
201
|
pdfBlobUrl: h,
|
|
187
|
-
pdfLoading:
|
|
188
|
-
pdfError:
|
|
202
|
+
pdfLoading: l,
|
|
203
|
+
pdfError: i,
|
|
189
204
|
url: e,
|
|
190
205
|
fileName: t
|
|
191
206
|
});
|
|
192
207
|
case "office":
|
|
193
|
-
return /* @__PURE__ */ r(
|
|
208
|
+
return /* @__PURE__ */ r(le, {
|
|
194
209
|
url: e
|
|
195
210
|
});
|
|
196
211
|
case "zip":
|
|
197
|
-
return /* @__PURE__ */ r(
|
|
198
|
-
zipFiles:
|
|
199
|
-
zipLoading:
|
|
200
|
-
zipError:
|
|
201
|
-
selectedZipFile:
|
|
202
|
-
zipFileContent:
|
|
203
|
-
onFileClick:
|
|
212
|
+
return /* @__PURE__ */ r(ae, {
|
|
213
|
+
zipFiles: f,
|
|
214
|
+
zipLoading: $,
|
|
215
|
+
zipError: B,
|
|
216
|
+
selectedZipFile: U,
|
|
217
|
+
zipFileContent: y,
|
|
218
|
+
onFileClick: D,
|
|
204
219
|
url: e
|
|
205
220
|
});
|
|
206
221
|
case "unknown":
|
|
207
222
|
default:
|
|
208
|
-
return /* @__PURE__ */ r(
|
|
223
|
+
return /* @__PURE__ */ r(fe, {
|
|
209
224
|
url: e
|
|
210
225
|
});
|
|
211
226
|
}
|
|
212
227
|
};
|
|
213
228
|
return /* @__PURE__ */ r("div", {
|
|
214
229
|
className: `document-viewer ${w || ""}`,
|
|
215
|
-
style:
|
|
216
|
-
children:
|
|
230
|
+
style: u,
|
|
231
|
+
children: P()
|
|
217
232
|
});
|
|
218
|
-
},
|
|
219
|
-
url:
|
|
233
|
+
}, le = ({
|
|
234
|
+
url: c
|
|
220
235
|
}) => {
|
|
221
|
-
const e = `https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(
|
|
222
|
-
return /* @__PURE__ */
|
|
236
|
+
const e = `https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(c)}`;
|
|
237
|
+
return /* @__PURE__ */ A("div", {
|
|
223
238
|
className: "document-viewer-office",
|
|
224
239
|
children: [/* @__PURE__ */ r("iframe", {
|
|
225
240
|
src: e,
|
|
@@ -227,10 +242,10 @@ const oe = (a) => {
|
|
|
227
242
|
title: "Office Document Preview"
|
|
228
243
|
}), /* @__PURE__ */ r("div", {
|
|
229
244
|
className: "document-viewer-fallback",
|
|
230
|
-
children: /* @__PURE__ */ r(
|
|
245
|
+
children: /* @__PURE__ */ r(Z, {
|
|
231
246
|
message: "预览可能不可用",
|
|
232
247
|
description: /* @__PURE__ */ r("a", {
|
|
233
|
-
href:
|
|
248
|
+
href: c,
|
|
234
249
|
target: "_blank",
|
|
235
250
|
rel: "noopener noreferrer",
|
|
236
251
|
children: "点击下载文件"
|
|
@@ -240,16 +255,16 @@ const oe = (a) => {
|
|
|
240
255
|
})
|
|
241
256
|
})]
|
|
242
257
|
});
|
|
243
|
-
},
|
|
244
|
-
url:
|
|
258
|
+
}, fe = ({
|
|
259
|
+
url: c
|
|
245
260
|
}) => /* @__PURE__ */ r("div", {
|
|
246
261
|
className: "document-viewer-unknown",
|
|
247
262
|
children: /* @__PURE__ */ r("iframe", {
|
|
248
|
-
src:
|
|
263
|
+
src: c,
|
|
249
264
|
className: "document-viewer-iframe",
|
|
250
265
|
title: "File Preview"
|
|
251
266
|
})
|
|
252
|
-
}),
|
|
267
|
+
}), Le = de;
|
|
253
268
|
export {
|
|
254
|
-
|
|
269
|
+
Le as default
|
|
255
270
|
};
|
package/dist/es/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible}.document-viewer-code>div{overflow:auto;max-height:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
1
|
+
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible}.document-viewer-code>div{overflow:auto;max-height:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
2
|
import { Button as e } from "./Button/index.mjs";
|
|
3
3
|
import { Markdown as t } from "./components/Markdown/index.mjs";
|
|
4
4
|
import { Copy as m } from "./components/Copy/index.mjs";
|
package/dist/lib/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible}.document-viewer-code>div{overflow:auto;max-height:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
"use strict";var tn=Object.defineProperty,nn=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var Ve=Object.getOwnPropertySymbols;var Lt=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable;var wt=(t,n,M)=>n in t?tn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:M}):t[n]=M,p=(t,n)=>{for(var M in n||(n={}))Lt.call(n,M)&&wt(t,M,n[M]);if(Ve)for(var M of Ve(n))mt.call(n,M)&&wt(t,M,n[M]);return t},Me=(t,n)=>nn(t,Mn(n));var we=(t,n)=>{var M={};for(var s in t)Lt.call(t,s)&&n.indexOf(s)<0&&(M[s]=t[s]);if(t!=null&&Ve)for(var s of Ve(t))n.indexOf(s)<0&&mt.call(t,s)&&(M[s]=t[s]);return M};var Le=(t,n,M)=>new Promise((s,r)=>{var i=c=>{try{l(M.next(c))}catch(z){r(z)}},a=c=>{try{l(M.throw(c))}catch(z){r(z)}},l=c=>c.done?s(c.value):Promise.resolve(c.value).then(i,a);l((M=M.apply(t,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),sn=require("react-markdown"),on=require("remark-gfm"),rn=require("rehype-raw"),cn=require("rehype-external-links"),an=require("remark-math"),ln=require("rehype-katex");require("katex/dist/katex.min.css");const R=require("antd"),zn=require("antd-mobile"),jn=require("react-device-detect"),vt=require("react-syntax-highlighter"),Ce=require("@ant-design/icons"),ce=require("@zip.js/zip.js"),bt=require("antd/es/tooltip"),Nn=require("react-moveable"),un=require("deep-object-diff"),gn=require("lodash/debounce"),Je=require("antd/es/button"),dn=require("antd/es/popconfirm"),yn=require("use-immer"),kt=require("ahooks"),Dn=require("@xstate/react"),_e=require("lodash/size"),He=require("xstate"),In=require("lodash/first"),ge=require("@xstate/immer");const xn=t=>{const l=t,{primary:n=!1,size:M="medium",backgroundColor:s,label:r}=l,i=we(l,["primary","size","backgroundColor","label"]),a=n?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",Me(p({type:"button",className:["storybook-button",`storybook-button--${M}`,a].join(" "),style:{backgroundColor:s}},i),{children:r}))};const Tn=t=>e.jsx("video",p({style:{maxWidth:"100%",width:560,height:315}},t)),Ke=Tn;function An(t){const n=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<n.length;s++)if(s%2===0){let r=n[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(i,a)=>`$$${a}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(i,a)=>`$${a}$`);M+=r}else M+=n[s];return M}function wn(t){var a;const n=(()=>{try{return new URL(t)}catch(l){return null}})();if(!n)return null;const s=((a=n.pathname.split(".").pop())==null?void 0:a.toLowerCase())||"",r=["jpg","jpeg","gif","png"],i=["mp4","wmv","avi","mov"];return r.includes(s)?"image":i.includes(s)?"video":null}const Ln=t=>{const[n,M]=o.useState(!1),[s,r]=o.useState();return o.useEffect(()=>{t.src&&r(wn(t.src))},[t.src]),s=="video"?e.jsx(Ke,{src:t.src,controls:!0}):jn.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",p({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{M(!0)}},t)),e.jsx(zn.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:n,onClose:()=>{M(!1)}})]}):e.jsx(R.Image,Me(p({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:i=>{var a,l,c;(c=t.onClick)==null||c.call(t,Me(p({},i),{target:(l=(a=i.target)==null?void 0:a.offsetParent)==null?void 0:l.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Qt=Ln,q=Ce.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),mn=M=>Le(exports,[M],function*({target:t,value:n}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const r=document.querySelector(t);if(!r||!r.textContent)return console.warn("Element not found"),!1;n=r.textContent}return n&&(s=n),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Ut=({text:t})=>{const[n,M]=o.useState();return o.useEffect(()=>{n&&setTimeout(()=>M(void 0),2e3)},[n]),n?e.jsx("div",{className:"copy-tip",children:n==="success"?e.jsx(Ce.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(Ce.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(R.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{mn({value:t}).then(s=>{M(s?"success":"failed")})},children:e.jsx(q,{type:"icon-fuzhi"})})})},fn=i=>{var a=i,{node:t,inline:n,className:M,children:s}=a,r=we(a,["node","inline","className","children"]);const l=/language-(\w+)/.exec(M||""),c=l?l[1]:null;return!n&&c?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:c}),e.jsx(R.Space,{className:"markdown-code-title-action",children:e.jsx(Ut,{text:String(s)})})]}),e.jsx(vt.Prism,Me(p({className:"markdown-code-context",language:c},r),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):e.jsx("code",Me(p({className:M},r),{children:s}))},Rt=fn,Yn=t=>{var r,i;const s=t,{node:n}=s,M=we(s,["node"]);if(n.tagName==="a"&&((r=n.children)==null?void 0:r.length)>0){const a=((i=n.children[0])==null?void 0:i.value)||"";let l=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,c=a.match(l),z=a.replace(l,"").trim();if(!(c!=null&&c.length))return e.jsx("a",p({},M));const N=c[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",Me(p({href:/^www\./.test(N)?"//"+N:N,onClick:()=>window.open(t.href,t.target||"_blank")},M),{children:N})),z]})}return e.jsx("a",p({},M))},Bt=Yn,Pt=i=>{var a=i,{showLatex:t=!0,components:n={},componentProps:M,children:s}=a,r=we(a,["showLatex","components","componentProps","children"]);const l=o.useRef(null),c=p({img(z){return e.jsx(Qt,p(p({},z),M==null?void 0:M.img))},code(z){return e.jsx(Rt,p(p({},z),M==null?void 0:M.code))},video(z){return e.jsx(Ke,p(p({},z),M==null?void 0:M.video))},a(z){return e.jsx(Bt,p(p({},z),M==null?void 0:M.a))}},n);return e.jsx("div",{ref:l,children:e.jsx(sn,Me(p({className:"markdown",rehypePlugins:[ln,rn,[cn,{target:"_blank"}]],remarkPlugins:[an,[on,{singleTilde:!1}]]},r),{children:t?An(s):s,components:c}))})},Be=t=>{var M;if(!t)return;const n=t.split(".");if(!(n.length<2))return(M=n.pop())==null?void 0:M.toLowerCase()},Wt=t=>{if(!t)return"unknown";const n=t.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(n)?"image":n==="mp4"?"video":n==="mp3"?"audio":n==="pdf"?"pdf":n==="markdown"||n==="md"?"markdown":n==="json"?"json":n==="jsonl"||n==="josnl"?"jsonl":n==="csv"?"csv":n==="tsv"?"tsv":n==="html"||n==="htm"?"html":n==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(n)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(n)?"code":n==="txt"?"text":n==="zip"?"zip":n==="tex"||n==="latex"?"text":"unknown"},ft=5*1024*1024,hn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,pn=2*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,Yt=100*1024*1024,kn=100*1024*1024,he=1e4,Ee=1e4,Fe=5e3,de=1e3,Qn=1024*1024*5,Un=3e4,Rn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Bn=t=>{const[n,M]=o.useState(null),[s,r]=o.useState(!0),[i,a]=o.useState(null),l=o.useRef(null);return o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}return l.current&&(URL.revokeObjectURL(l.current),l.current=null,M(null)),r(!0),a(null),fetch(t).then(c=>{if(!c.ok)throw new Error(`HTTP error! status: ${c.status}`);return c.blob()}).then(c=>{if(c.type&&c.type!=="application/pdf"&&!t.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(c);l.current=z,M(z),r(!1)}).catch(c=>{a(c.message||"加载 PDF 失败"),r(!1)}),()=>{l.current&&(URL.revokeObjectURL(l.current),l.current=null)}},[t]),{pdfBlobUrl:n,pdfLoading:s,pdfError:i}},Pn=t=>{if(t===0)return"0 B";const n=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(t)/Math.log(n));return Math.round(t/Math.pow(n,s)*100)/100+" "+M[s]},Wn=t=>Le(exports,null,function*(){let n=!1,M=0;try{const s=yield fetch(t,{method:"HEAD",headers:{Range:"bytes=0-0"}}),r=s.headers.get("Accept-Ranges"),i=s.headers.get("Content-Range"),a=s.headers.get("Content-Length");if(i){const l=i.match(/bytes \d+-\d+\/(\d+)/);l&&(M=parseInt(l[1],10))}else a&&(M=parseInt(a,10));return n=s.status===206||r==="bytes"||i!==null&&i.startsWith("bytes"),{supportsRange:n,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Gn=t=>Le(exports,null,function*(){try{const M=(yield fetch(t,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(n){return console.warn("无法获取文件大小:",n),0}}),Zn=t=>{const[n,M]=o.useState([]),[s,r]=o.useState(!0),[i,a]=o.useState(null),[l,c]=o.useState(null),[z,N]=o.useState(null);o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}r(!0),a(null),M([]),c(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),N(null));let y=null;Le(exports,null,function*(){try{ce.configure({chunkSize:Qn,useWebWorkers:!1});const{supportsRange:d,fileSize:j}=yield Wn(t);if(d){const x=new ce.HttpRangeReader(t);y=new ce.ZipReader(x);const h=(yield Promise.race([y.getEntries(),new Promise((A,f)=>setTimeout(()=>f(new Error("读取 ZIP 目录结构超时")),Un))])).filter(A=>!A.directory).map(A=>({name:A.filename,size:A.uncompressedSize||0,isDirectory:!1}));h.sort((A,f)=>A.name.localeCompare(f.name)),h.length>de?(a(`ZIP 文件包含 ${h.length} 个文件,仅显示前 ${de} 个`),M(h.slice(0,de))):M(h)}else{if(j>Yt)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const x=yield fetch(t);if(!x.ok)throw new Error(`HTTP error! status: ${x.status}`);const D=yield x.blob(),h=new ce.BlobReader(D);y=new ce.ZipReader(h);const f=(yield y.getEntries()).filter(E=>!E.directory).map(E=>({name:E.filename,size:E.uncompressedSize||0,isDirectory:!1}));f.sort((E,C)=>E.name.localeCompare(C.name)),f.length>de?(a(`ZIP 文件包含 ${f.length} 个文件,仅显示前 ${de} 个`),M(f.slice(0,de))):M(f)}y&&(yield y.close()),r(!1)}catch(d){if(y)try{yield y.close()}catch(x){}const j=d.message||d.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const x=yield Gn(t);if(x>Yt)throw new Error(`文件过大(${Math.round(x/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const D=yield fetch(t);if(!D.ok)throw new Error(`HTTP error! status: ${D.status}`);const h=yield D.blob(),A=new ce.BlobReader(h);y=new ce.ZipReader(A);const E=(yield y.getEntries()).filter(C=>!C.directory).map(C=>({name:C.filename,size:C.uncompressedSize||0,isDirectory:!1}));E.sort((C,P)=>C.name.localeCompare(P.name)),E.length>de?(a(`ZIP 文件包含 ${E.length} 个文件,仅显示前 ${de} 个`),M(E.slice(0,de))):M(E),y&&(yield y.close()),r(!1);return}catch(x){const D=x.message||x.toString();a(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${D}`)}else a(j);r(!1)}})},[t]);const g=o.useCallback(y=>Le(exports,null,function*(){if(l===y&&z){c(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),N(null);return}c(y);try{let d=null,j;try{const E=new ce.HttpRangeReader(t);d=new ce.ZipReader(E),j=(yield d.getEntries()).find(P=>P.filename===y)}catch(E){const C=yield fetch(t);if(!C.ok)throw new Error(`HTTP error! status: ${C.status}`);const P=yield C.blob(),I=new ce.BlobReader(P);d=new ce.ZipReader(I),j=(yield d.getEntries()).find(T=>T.filename===y)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>kn)throw new Error("文件过大(超过 100MB),无法预览");const D=yield j.getData(new ce.BlobWriter),h=URL.createObjectURL(D),A=Be(y),f=Wt(A);if(!Rn.includes(f))throw new Error(`不支持预览 ${A||"未知"} 格式的文件`);N({name:y,blobUrl:h,type:f}),d&&(yield d.close())}catch(d){const j=d.message||d.toString()||"预览文件失败";a(j)}}),[t,l,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:n,zipLoading:s,zipError:i,selectedZipFile:l,zipFileContent:z,handleFileClick:g,setSelectedZipFile:c}},$=({url:t,fileName:n})=>e.jsx(R.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:t,download:n,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),Gt=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;if((n||new Blob([t.content]).size)>hn){const i=t.content.split(`
|
|
3
|
-
`),a=i.length>
|
|
4
|
-
`);return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(
|
|
5
|
-
`).filter(g=>g.trim());if(i.length===0)return null;const a=i.length>Ee,l=a?i.slice(0,Ee):i,c=l[0].split(",").map(g=>g.trim()),z=l.slice(1).map((g,
|
|
6
|
-
`).filter(g=>g.trim());if(i.length===0)return null;const a=i.length>Ee,l=a?i.slice(0,Ee):i,c=l[0].split(" ").map(g=>g.trim()),z=l.slice(1).map((g,
|
|
7
|
-
`).filter(c=>c.trim()),a=i.length>
|
|
8
|
-
<`).replace(/^\s+/gm,"");return e.jsx("pre",{className:"document-viewer-xml",children:i})}catch(i){return e.jsx(Gt,{fileContent:t,fileSize:n,url:M,fileName:s})}},Kn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const i=o.useMemo(()=>
|
|
9
|
-
`),c=l.length>
|
|
10
|
-
`);return e.jsxs("div",{className:"document-viewer-code",children:[c&&e.jsx(R.Alert,{message:"文件过大",description:`文件包含 ${l.length} 行,仅显示前 ${he} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx($,{url:M,fileName:s})}),e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px"},children:N})})]})}return e.jsx("div",{className:"document-viewer-code",children:e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx(vt.Prism,{language:i,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:t.content})})})},qn=({url:t,fileName:n})=>e.jsx("div",{className:"document-viewer-image",children:e.jsx(R.Image,{src:t,alt:n||"Image"})}),eM=({url:t})=>e.jsx("div",{className:"document-viewer-video",children:e.jsx("video",{src:t,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),tM=({url:t})=>e.jsx("div",{className:"document-viewer-audio",children:e.jsx("audio",{src:t,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),nM=({pdfBlobUrl:t,pdfLoading:n,pdfError:M,url:s,fileName:r})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(R.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?e.jsx(R.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx($,{url:s,fileName:r})}):t?e.jsx("div",{className:"document-viewer-pdf",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"PDF Preview"})}):e.jsx(R.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:e.jsx($,{url:s,fileName:r})}),MM=({zipFiles:t,zipLoading:n,zipError:M,selectedZipFile:s,zipFileContent:r,onFileClick:i,url:a})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(R.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&t.length===0?e.jsx(R.Alert,{message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):e.jsxs("div",{className:"document-viewer-zip",children:[M&&t.length>0&&e.jsx(R.Alert,{message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),e.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[e.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",t.length,")"]}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(R.Table,{dataSource:t,size:"small",pagination:!1,scroll:{y:"100%"},onRow:l=>({onClick:()=>i(l.name),style:{cursor:"pointer",backgroundColor:s===l.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:l=>e.jsx("span",{title:l,children:l.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:l=>Pn(l)}]})})]}),e.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&r?e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[e.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:r.name}),e.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:e.jsx(Zt,{url:r.blobUrl,fileName:r.name})})]}):e.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),sM=({message:t,description:n,action:M,url:s,fileName:r})=>{const i=s?e.jsx(R.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:s,download:r,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return e.jsx(R.Alert,{message:t,description:n,type:"error",showIcon:!0,action:M||i})};const oM=t=>{const{url:n,fileName:M,className:s,style:r}=t,i=o.useMemo(()=>{const b=Be(M||n);return Wt(b)},[n,M]),{pdfBlobUrl:a,pdfLoading:l,pdfError:c}=Bn(i==="pdf"?n:""),{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:y,zipFileContent:d,handleFileClick:j}=Zn(i==="zip"?n:""),[x,D]=o.useState(!0),[h,A]=o.useState(null),[f,E]=o.useState(null),[C,P]=o.useState(0);o.useEffect(()=>{if(i==="pdf"||i==="zip"){D(!1);return}if(!n){A("文件URL不能为空"),D(!1);return}if(["image","video","audio","office","unknown"].includes(i)){D(!1);return}D(!0),A(null),Le(exports,null,function*(){try{const T=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length"),w=T?parseInt(T,10):0;if(P(w),w>ft){A(`文件过大(${Math.round(w/1024/1024)}MB),无法预览。请下载后查看。`),D(!1);return}const S=yield fetch(n);if(!S.ok)throw new Error(`HTTP error! status: ${S.status}`);const H=yield S.text(),ee=new Blob([H]).size;if(ee>ft){A(`文件过大(${Math.round(ee/1024/1024)}MB),无法预览。请下载后查看。`),D(!1);return}E({content:H}),D(!1)}catch(b){A(b.message||"加载文件失败"),D(!1)}})},[n,i]);const I=()=>{if(x)return e.jsx("div",{className:"document-viewer-loading",children:e.jsx(R.Spin,{size:"large",tip:"加载中..."})});if(h)return e.jsx(sM,{message:"加载失败",description:h,url:n,fileName:M});switch(i){case"text":return e.jsx(Gt,{fileContent:f,fileSize:C,url:n,fileName:M});case"json":return e.jsx(Vn,{fileContent:f,fileSize:C,url:n,fileName:M});case"csv":return e.jsx(Hn,{fileContent:f,fileSize:C,url:n,fileName:M});case"tsv":return e.jsx($n,{fileContent:f,fileSize:C,url:n,fileName:M});case"jsonl":return e.jsx(Fn,{fileContent:f,fileSize:C,url:n,fileName:M});case"markdown":return e.jsx(Jn,{fileContent:f,fileSize:C,url:n,fileName:M});case"html":return e.jsx(_n,{fileContent:f,fileSize:C,url:n,fileName:M});case"xml":return e.jsx(Xn,{fileContent:f,fileSize:C,url:n,fileName:M});case"code":return e.jsx(Kn,{fileContent:f,fileSize:C,url:n,fileName:M});case"image":return e.jsx(qn,{url:n,fileName:M});case"video":return e.jsx(eM,{url:n,fileName:M});case"audio":return e.jsx(tM,{url:n,fileName:M});case"pdf":return e.jsx(nM,{pdfBlobUrl:a,pdfLoading:l,pdfError:c,url:n,fileName:M});case"office":return e.jsx(iM,{url:n});case"zip":return e.jsx(MM,{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:y,zipFileContent:d,onFileClick:j,url:n});case"unknown":default:return e.jsx(rM,{url:n})}};return e.jsx("div",{className:`document-viewer ${s||""}`,style:r,children:I()})},iM=({url:t})=>{const n=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(t)}`;return e.jsxs("div",{className:"document-viewer-office",children:[e.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"Office Document Preview"}),e.jsx("div",{className:"document-viewer-fallback",children:e.jsx(R.Alert,{message:"预览可能不可用",description:e.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},rM=({url:t})=>e.jsx("div",{className:"document-viewer-unknown",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"File Preview"})}),Zt=oM;const ze=t=>{var n;return e.jsx("button",Me(p({},t),{className:`g-icon-btn disabled ${(n=t==null?void 0:t.className)!=null?n:""}`}))},cM=t=>{var T,w;const n=o.useRef(null),{className:M,headerClassName:s,style:r,visible:i,mode:a="normal",header:l,icons:c={collapseButton:e.jsx(q,{type:"icon-yincang"}),expandButton:e.jsx(q,{type:"icon-yincang"}),fullscreenButton:e.jsx(q,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(q,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:N,onMinimize:g,onMaximize:y}=t,[d,j]=o.useState(a==="max"),[x,D]=o.useState(a==="min"),h=o.useRef(null),[A,f]=o.useState(a);o.useEffect(()=>{j(a==="max"),D(a==="min"),f(a)},[a]);const E=()=>{j(!d),f(d?"normal":"max"),d?N&&N():y&&y()},C=()=>{D(!x),f(x?"normal":"min"),x?N&&N():g&&g()};o.useEffect(()=>{h.current&&d&&(h.current.style.transform="none")},[d]);const P=(w=t.fullScreenContainer)!=null?w:(T=n.current)==null?void 0:T.parentElement,I=P==null?void 0:P.getBoundingClientRect(),b={position:"fixed",top:I==null?void 0:I.y,left:I==null?void 0:I.x,width:x?0:I==null?void 0:I.width,height:I==null?void 0:I.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:p({visibility:i!==!1?"visible":"hidden",position:d&&!x?"absolute":"unset"},d?b:null),ref:n,children:[!x&&e.jsxs("div",{className:`g-expandable-pannel ${d?"full":""} `,style:p({},r),children:[l!=null?l:e.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:e.jsx(ze,{onClick:E,children:d?c.exitFullscreenButton:c.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${x?"collapsed":"expaned"} ${s!=null?s:""}`,children:e.jsx(ze,{onClick:C,children:x?c.expandButton:c.collapseButton})})]})};const aM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Vt=t=>{const{style:n,passes:M,scale:s,activePassId:r,passStyle:i,activePassStyle:a}=t;return e.jsx("svg",{className:"pass-map",style:n,children:M.map((l,c)=>{var N;const z=l.id===r?a:aM;return e.jsx("g",{children:e.jsx("polygon",{points:(N=l.points)==null?void 0:N.map(g=>`${g.x*s} ${g.y*s}`).join(","),style:p(p(p({},i),l.passStyle),z)})},c)})})};const lM=t=>{var g,y,d,j;const N=t,{children:n,open:M,point:s,key:r,style:i}=N,a=we(N,["children","open","point","key","style"]),[l,c]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var h,A;if(!s.tooltipRender||!z.current)return;const x=s.tooltipRender(s);if(typeof x=="string"||typeof x=="number"){z.current.innerText=x.toString();return}const D=(h=z.current)==null?void 0:h.firstChild;D?D.replaceWith(x):(A=z.current)==null||A.appendChild(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,l]),o.useEffect(()=>{c(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),e.jsx(bt,Me(p({},a),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:x=>{var A,f;if(s.tooltipOpen||c(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const D=s.tooltipRender(s);if(typeof D=="string"||typeof D=="number"){z.current.innerText=D.toString();return}const h=(A=z.current)==null?void 0:A.firstChild;h?h.replaceWith(D):(f=z.current)==null||f.appendChild(D)},color:((g=s.tooltipStyle)==null?void 0:g.backgroundColor)||((y=s.tooltipStyle)==null?void 0:y.backgroundImage)||((j=(d=s.tooltipStyle)==null?void 0:d.background)==null?void 0:j.toString()),title:e.jsx("div",{ref:z},r),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:p({zIndex:9},i),motion:{forceRender:!0},children:n}))},zM=lM,jM={attributes:!0,characterData:!0},NM=t=>{const n=o.useRef(null),{point:M,open:s,id:r,x:i,y:a,r:l,active:c=!1,hidden:z=!1,onPointClick:N,getTooltipContainer:g}=t,[y,d]=o.useState(t.style),[j,x]=o.useState(!0);o.useEffect(()=>{const A=un.diff(y,t.style);Object.keys(A).length&&d(t.style)},[t.style]);const D=o.useMemo(()=>e.jsx("circle",{id:`mark-${r}`,className:"point point-active",cx:i,cy:a,r:l,ref:n,style:y,onClick:()=>N&&N(M)}),[i,a,l,y,c]),h=o.useMemo(()=>{const A=gn(()=>{x(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),x(!1),A()})},[]);return o.useEffect(()=>{if(!(!n.current||!M.tooltipRender))return h.observe(n.current,jM),()=>{n.current&&h.disconnect()}},[i,a,l]),z?e.jsx(e.Fragment,{}):M.tooltipRender&&j?e.jsx(zM,{open:s,point:M,getPopupContainer:g,children:D}):D},ht=NM,Ht=t=>{var Qe;const{width:n,height:M,points:s,scale:r,pointSize:i=6,direction:a,activePointId:l,style:c,lineStyle:z,pointStyle:N,directionStyle:g,marks:y,resizable:d,transform:j,keepRatio:x=!1,onPointClick:D,onTransform:h,onPointsChange:A,onCancelResize:f,actions:E=!0,setIsSaved:C,isSaved:P=!1}=t,I=o.useRef(null),b=o.useRef(null),T=o.useRef(null),w=o.useRef(null),S=o.useRef(null),[H,ee]=o.useState(null),[L,Y]=o.useState((j==null?void 0:j.scale)||[1,1]),[k,W]=o.useState((j==null?void 0:j.rotate)||0),[V,ye]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[je,se]=o.useState([]),[G,ae]=o.useState(),[ue,ie]=o.useState(),[re,J]=o.useState(d),[me,_]=o.useState([]),[te,Se]=o.useState(s),[fe,$e]=o.useState(!0),[X,Ie]=o.useState(),[ne,Ne]=o.useState(),[pe,We]=o.useState(typeof E!="boolean"?E:E===!0?{}:null),xe=(i-i/4*.9)*2/r;o.useEffect(()=>{We(typeof E!="boolean"?E:E===!0?{}:null)},[E]);const Ge=(u,m)=>{if(!u.length)return;let B;return u.map(v=>{var oe;if(!B){B=v;return}const Z=e.jsx("line",{x1:Number.isFinite(B.x)?B.x:0,y1:Number.isFinite(B.y)?B.y:0,x2:Number.isFinite(v.x)?v.x:0,y2:Number.isFinite(v.y)?v.y:0,style:Me(p(p({stroke:"#1F66E1BF"},z),B.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((oe=B.lineStyle)==null?void 0:oe.strokeWidth)||2)/m})},v.id);return B=v,Z})},Oe=new ResizeObserver(()=>{I.current&&(b.current&&(b.current.style.transform="none",b.current.style.width="auto",b.current.style.height="100%"),b.current&&(b.current.style.width="100%",b.current.style.height="100%"))});o.useEffect(()=>{var u;Ne((u=T.current)==null?void 0:u.getBoundingClientRect())},[c==null?void 0:c.left,c==null?void 0:c.top,c==null?void 0:c.width,c==null?void 0:c.height,r]),o.useEffect(()=>{J(d)},[d]),o.useEffect(()=>{Se(s||[])},[s,me]),o.useEffect(()=>{var u;(!((u=T.current)!=null&&u.style.transform)||T.current.style.transform==="none")&&(Y((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[(Qe=T.current)==null?void 0:Qe.style.transform]),o.useEffect(()=>{!T.current||re||(T.current.style.transform="none",Y((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[re]),o.useEffect(()=>{if(I.current)return Oe.observe(I.current),()=>{I.current&&Oe.unobserve(I.current)}},[I.current]),o.useEffect(()=>{!H||!j||(H.throttleDragRotate=j.rotate,H.throttleScale=j.scale,H.throttleDrag=j.translate)},[H,j]),o.useEffect(()=>{ae(te==null?void 0:te.find(m=>m.id===l));let u=te.map(m=>{var oe,Ue,Ae;const B=m.x,O=m.y,v=m.id===l,Z=i*(v?1.2:1)/r;return e.jsx(ht,{open:fe,id:m.id,point:m,getTooltipContainer:()=>S.current||document.body,x:B,y:O,r:N!=null&&N.r||(oe=m.pointStyle)!=null&&oe.r?Number((N==null?void 0:N.r)||((Ue=m.pointStyle)==null?void 0:Ue.r))/r:Z/2,hidden:v,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff",cursor:D?"pointer":"unset"},N),m.pointStyle),{strokeWidth:Number(((Ae=m.pointStyle)==null?void 0:Ae.strokeWidth)||2)/r,r:void 0}),onPointClick:D},m.id)})||[];se(u)},[te,l,r,fe]),o.useEffect(()=>{var v,Z,oe;if(!G){ie(void 0);return}const u=G.x,m=G.y,B=G.id===l,O=i*(B?1.2:1)/r;ie(e.jsxs("g",{children:[a!==void 0&&e.jsx("circle",{id:`mark-${G.id}`,cx:u,cy:m,r:`${xe}`,strokeDasharray:xe*2*Math.PI,strokeDashoffset:xe*2*Math.PI/360*(360-60),style:p({transform:`rotate(${a+240}deg)`,transformOrigin:`${u}px ${m}px`,strokeWidth:xe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},g)}),e.jsx(ht,{open:fe,point:G,getTooltipContainer:()=>S.current||document.body,x:u,y:m,r:(v=G.pointStyle)!=null&&v.r?Number((Z=G.pointStyle)==null?void 0:Z.r)/r:O/2,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff"},N),G.pointStyle),{strokeWidth:Number(((oe=G.pointStyle)==null?void 0:oe.strokeWidth)||2)/r,r:void 0}),onPointClick:D},G.id)]},G.id))},[G,a,r,fe]),o.useEffect(()=>{T.current&&setTimeout(()=>{var u,m;Ie((u=T.current)==null?void 0:u.getBBox()),Ne((m=T.current)==null?void 0:m.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var m,B;if(!T.current)return;Ie((m=T.current)==null?void 0:m.getBBox()),Ne((B=T.current)==null?void 0:B.getBoundingClientRect()),new ResizeObserver(()=>{var O,v;Ie((O=T.current)==null?void 0:O.getBBox()),Ne((v=T.current)==null?void 0:v.getBoundingClientRect())}).observe(T.current)},[T.current]),o.useEffect(()=>{P&&(le(),C&&C(!1))},[P]);const le=()=>{var O;const u=(O=w.current)==null?void 0:O.getBoundingClientRect();if(!u){A&&A(s),J(!1);return}const m=me.map(v=>{const Z=v.getBoundingClientRect();return{id:v.id.split("-")[1],x:(Z.x+Z.width/2-u.x)/r,y:(Z.y+Z.height/2-u.y)/r}}),B=s.map(v=>{const Z=m==null?void 0:m.find(oe=>oe.id.toString()===v.id.toString());return Z?p(p({},v),Z):v});Se(B),A&&A(B.length?B.map((v,Z)=>({id:v.id,x:v.x,y:v.y,order:Z})):s),J(!1)},Te=u=>u.map(m=>{const{render:B,renderData:O}=m,v=m.x*r,Z=m.y*r;return e.jsx(bt,{className:"track-map-marker-tooltip",placement:"top",title:B(O,p({},m)),open:!!O,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${m.id}`,cx:v,cy:Z,r:i/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:O.label})})},m.id)}),ve=X?{x:X.x+X.width/2,y:X.y+X.height/2}:{x:0,y:0},be=te.reduce((u,m)=>[Math.min(u[0],m.x),Math.max(u[1],m.x)],[0,0]),ke=te.reduce((u,m)=>[Math.min(u[0],m.y),Math.max(u[1],m.y)],[0,0]);return e.jsx(R.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:I,children:[e.jsx("svg",{style:c,ref:w,viewBox:`0 0 ${n} ${M}`,children:e.jsxs("g",{ref:T,x:be[0],y:ke[0],width:be[1]-be[0],height:ke[1]-ke[0],style:{transformOrigin:`${ve.x}px ${ve.y}px`,cursor:re?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[X&&e.jsx("rect",{x:X.x,y:X.y,width:X.width,height:X.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:Ge((te==null?void 0:te.filter(u=>u.order>-1))||[],r)}),e.jsxs("g",{className:"track-points",children:[je,ue]}),y&&e.jsx("g",{children:Te(y)})]})}),e.jsx("div",{className:"tooltip-container",ref:S,style:{position:"fixed",top:(ne==null?void 0:ne.y)||0,left:(ne==null?void 0:ne.x)||0,width:(ne==null?void 0:ne.width)||0,height:(ne==null?void 0:ne.height)||0}}),re&&T.current&&w.current&&e.jsx(Nn,{className:"path-moveable-control-box",ref:u=>{ee(u)},keepRatio:x,target:[T.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:u,beforeDelta:m,beforeDist:B,left:O,top:v,right:Z,bottom:oe,delta:Ue,dist:Ae,transform:Ye,clientX:qe,clientY:et})=>{ye(Ae),u.style.transform=Ye},onDragStart:({inputEvent:u})=>{u.stopPropagation()},onDragEnd:()=>{var m;const u=(m=T.current)==null?void 0:m.getElementsByTagName("circle");_(u!=null&&u.length?[...u]:[]),h&&h({rotate:k,translate:V,scale:L},u!=null&&u.length?[...u]:[],w.current||void 0)},renderDirections:x?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:u,scale:m,transform:B})=>{var v;Y(m),u.style.transform=B;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),h&&h({rotate:k,translate:V,scale:m},O!=null&&O.length?[...O]:[],w.current||void 0)},onRotate:({target:u,dist:m,transform:B})=>{var v;W(m),u.style.transform=B;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),h&&h({rotate:m,translate:V,scale:L},O!=null&&O.length?[...O]:[],w.current||void 0)},onRenderEnd:()=>{var m,B,O;const u=(m=T.current)==null?void 0:m.getElementsByTagName("circle");h&&h({rotate:k,translate:V,scale:L},u!=null&&u.length?[...u]:[],w.current||void 0),Ie((B=T.current)==null?void 0:B.getBBox()),Ne((O=T.current)==null?void 0:O.getBoundingClientRect())}})]})})},Et=t=>{const{name:n,type:M,style:s,className:r,children:i,onConfirm:a}=t,[l,c]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){c(null);return}if(t.confirm===!0){c({text:`确认${n}吗?`});return}c(t.confirm)},[t.confirm]),l?e.jsx(dn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:l.text,trigger:"click",onConfirm:a,children:e.jsx(Je,{className:r,type:M,style:p({},s),children:i||n})}):e.jsx(Je,{className:r,type:M,onClick:a,children:i||n})};let Ct;const uM=o.forwardRef((t,n)=>{var nt,Mt,st,ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,At;const{url:M,points:s,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,onPointClick:N,passes:g,activePassId:y,passStyle:d,activePassStyle:j,marks:x,draggable:D=!1,offsetEdge:h=[50,50,50,50],zoomable:A=!1,zoomStep:f=.02,zoomMax:E=2,zoomMin:C=0,onImageLoad:P,trackEditable:I,trackEditing:b,keepRatio:T,transform:w,onTrackEditingChange:S,onTransform:H,onPointsChange:ee,actions:L=!0}=t,Y=o.useRef({}),k=o.useRef({}),[W,V]=o.useState(0),[ye,je]=o.useState(0),[se,G]=o.useState(1),[ae,ue]=o.useState(0),[ie,re]=o.useState(0),[J,me]=o.useState(0),[_,te]=o.useState(0),[Se,fe]=o.useState(!1),[$e,X]=o.useState(!1),[Ie,ne]=o.useState(),[Ne,pe]=o.useState({x:0,y:0}),[We,xe,Ge,Oe]=h,[le,Te]=o.useState(b),[ve,be]=o.useState(1),[ke,Qe]=o.useState(!1),[u,m]=o.useState(typeof L!="boolean"?L:L===!0?{}:null);o.useEffect(()=>{be(Math.round(se*100)/100)},[se]),o.useEffect(()=>{Te(b)},[b]),o.useEffect(()=>{Ct=new ResizeObserver(B),Ct.observe(k.current);const Q=U=>(U.preventDefault(),!1);return k.current.addEventListener("wheel",Q),()=>{k.current.removeEventListener("wheel",Q)}},[]);const B=()=>{if(!k.current)return;const Q=k.current.clientWidth,U=k.current.clientHeight,F=Y.current.naturalWidth,K=Y.current.naturalHeight,De=Q/F,Ze=U/K,Re=De<Ze?De:Ze,Xt=(Q-F*Re)/2,Kt=(U-K*Re)/2,qt=F*Re,en=K*Re;V(Q),je(U),G(Re),ue(Xt),re(Kt),me(qt),te(en),fe(!0),P&&P(Y.current)},O=()=>{if(!A||se>=E)return;let Q=se*(1+f),U=f;Q>=E&&(Q=E,U=E/se-1),ue(ae-J*(U/2)),re(ie-_*(U/2)),me(J+J*U),te(_+_*U),G(Q),Ye()},v=()=>{if(!A||se<=C)return;let Q=se*(1-f),U=f;Q<=C&&(Q=C,U=1-C/se),ue(ae-J*(-U/2)),re(ie-_*(-U/2)),me(J+J*-U),te(_+_*-U),G(Q),Ye()};o.useImperativeHandle(n,()=>({zoomIn:O,zoomOut:v}));const Z=Q=>(Q.nativeEvent.deltaY<0?O():v(),!1),oe=Q=>{X(!0);const{pageX:U,pageY:F}=Q;pe({x:U,y:F})},Ue=Q=>{if(!$e)return!1;const{pageX:U,pageY:F}=Q,K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),Ye()},Ae=()=>{X(!1)};window.onmouseup=()=>{X(!1)};const Ye=()=>{ae<-J+Oe&&ue(-J+Oe),ie<-_+We&&re(-_+We),ae>W-xe&&ue(W-xe),ie>ye-Ge&&re(ye-Ge)},qe=()=>{Te(!le),S&&S(!le)},et=Q=>{const{touches:U}=Q;if(console.log("onTouchStart"),console.log(U),X(!0),U.length<2){const{clientX:F,clientY:K}=U[0];pe({x:F,y:K})}else ne(U)},Ft=Q=>{if(!$e||!Q.touches)return!1;const{clientX:U,clientY:F}=Q.touches[0];if(Q.touches.length<2){const K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),Ye()}else{console.log("onTouchMove"),console.log(Q.touches);const K=Q.touches,De=tt(K[0],K[1]),Ze=tt(Ie[0],Ie[1]);De>Ze?O():v()}},tt=(Q,U)=>{const F=U.pageX-Q.pageX,K=U.pageY-Q.pageY;return Math.sqrt(F*F+K*K)};o.useEffect(()=>{m(typeof L!="boolean"?L:L===!0?{}:null)},[L]);const Jt=()=>{Te(!1),S&&S(!1)},_t=()=>{Qe(!0)};return e.jsxs("div",{className:"image-map",ref:k,onMouseDown:D?oe:void 0,onMouseMove:D?Ue:void 0,onMouseUp:D?Ae:void 0,onWheel:D?Z:void 0,onTouchStart:D?et:void 0,onTouchMove:D?Ft:void 0,onTouchEnd:D?Ae:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:ae,top:ie,width:J,height:_},ref:Y,onLoad:B,src:M,alt:""}),Se&&(g==null?void 0:g.length)&&e.jsx(Vt,{style:{position:"absolute",left:ae,top:ie,width:J,height:_},passes:g,scale:se,activePassId:y,passStyle:d,activePassStyle:j}),Se&&!!(s!=null&&s.length)&&e.jsx(Ht,{style:{position:"absolute",left:ae,top:ie,width:J,height:_,overflow:"visible"},width:Y.current.naturalWidth,height:Y.current.naturalHeight,transform:w,movable:le,resizable:le,points:s,scale:se,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,keepRatio:T,marks:x,onPointClick:N,onTransform:H,onPointsChange:Q=>{ee&&ee(Q),Te(!1),S&&S(!1)},onCancelResize:()=>{Te(!1),S&&S(!1)},actions:L,setIsSaved:Qe,isSaved:ke}),I&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx($t,{className:"zoom-controller",value:ve,min:C,max:E,step:f,showText:!0,onChange:Q=>{ve>Q?v():O()}}),I&&(le&&L?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Et,{children:typeof L!="boolean"&&((nt=L.cancelButton)==null?void 0:nt.children)||void 0,name:typeof L!="boolean"&&((Mt=L.cancelButton)==null?void 0:Mt.text)||"退出编辑",className:`editing-controller${le?" active":""} ${typeof L!="boolean"&&((st=L.cancelButton)==null?void 0:st.className)||""}`,confirm:((ot=u==null?void 0:u.cancelButton)==null?void 0:ot.confirm)===!0?{text:"调整记录将不被保存"}:(it=u==null?void 0:u.cancelButton)!=null&&it.confirm?u.cancelButton.confirm:!1,style:typeof L!="boolean"&&((rt=L.cancelButton)==null?void 0:rt.style)||void 0,onConfirm:Jt}),e.jsx(Et,{type:"primary",children:typeof L!="boolean"&&((ct=L.okButton)==null?void 0:ct.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(Ce.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof L!="boolean"&&((at=L.okButton)!=null&&at.confirm)?((lt=L.okButton)==null?void 0:lt.text)||"保存":"确定",className:`editing-controller${le?" active":""} ${typeof L!="boolean"&&((zt=L.okButton)==null?void 0:zt.className)||""}`,confirm:((jt=u==null?void 0:u.okButton)==null?void 0:jt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(Nt=u==null?void 0:u.okButton)!=null&&Nt.confirm?u.okButton.confirm:!1,style:typeof L!="boolean"&&((ut=L.okButton)==null?void 0:ut.style)||void 0,onConfirm:_t})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(Je,{title:le?typeof L!="boolean"&&((gt=L.editButton)==null?void 0:gt.exitTitleText)||"退出编辑":typeof L!="boolean"&&((dt=L.editButton)==null?void 0:dt.titleText)||"调整轨迹",className:`moveable-controller-btn${le?" active":""} ${typeof L!="boolean"&&((yt=L.editButton)==null?void 0:yt.className)||""}`,style:typeof L!="boolean"&&((Dt=L.editButton)==null?void 0:Dt.style)||void 0,onClick:qe,children:typeof L!="boolean"?(It=L.editButton)!=null&&It.children?(xt=L.editButton)==null?void 0:xt.children:(Tt=L.editButton)!=null&&Tt.text?e.jsx("span",{children:(At=L.editButton)==null?void 0:At.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(q,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),gM=t=>{const{className:n,style:M,length:s=0,current:r=0,speed:i=2e3,play:a=!1,loop:l=!1,loading:c=!1,onChange:z}=t,[N,g]=o.useState(a),[y,d]=o.useState(r),[j,x]=o.useState(null);o.useEffect(()=>{d(r)},[r]),o.useEffect(()=>{g(a)},[a]),o.useEffect(()=>{N?D():y>=s-1&&(d(0),z(0))},[N]),o.useEffect(()=>{N&&(c?j&&(clearTimeout(j),x(null)):x(setTimeout(D,i)))},[c]);const D=()=>{d(f=>f<s-1?(z(f+1),f+1):l?(z(0),0):(A(),f))},h=()=>{y>=s-1&&d(0),g(!0)},A=()=>{g(!1),j&&(clearTimeout(j),x(null))};return e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:y<=0||c,onClick:()=>{z(0),d(0)},children:e.jsx(q,{type:"icon-diyige"})}),e.jsx(ze,{disabled:y<=0||c,onClick:()=>{z(y-1),d(y-1)},children:e.jsx(q,{type:"icon-qianyige"})}),N?e.jsx(ze,{onClick:A,children:e.jsx(q,{type:"icon-zanting"})}):e.jsx(ze,{disabled:y>=s-1||c,onClick:h,children:e.jsx(q,{type:"icon-bofang"})}),e.jsx(ze,{disabled:y>=s-1||c,onClick:()=>{z(y+1),d(y+1)},children:e.jsx(q,{type:"icon-xiayige"})}),e.jsx(ze,{disabled:y>=s-1||c,onClick:()=>{z(s-1),d(s-1)},children:e.jsx(q,{type:"icon-zuihouyige"})})]})};const dM=16,yM=16,DM=-1,IM=1,xM=-1,TM=1,AM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetX)return n.offsetX;{const s=M.getBoundingClientRect();return n.clientX-s.left}},wM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetY)return n.offsetY;{const s=M.getBoundingClientRect();return n.clientY-s.top}},LM=t=>{const n=t.split("-");let M=n.length>1||n[0]==="left"||n[0]==="right"?n[0]:"center",s=n.length>1?n[1]:n[0]==="top"||n[0]==="bottom"?n[0]:"middle";return[M,s]},mM=(t,n,M=[dM,yM])=>{const s=()=>{switch(t[0]){case"left":return DM;case"right":return IM;default:return 0}},r=()=>{switch(t[1]){case"top":return xM;case"bottom":return TM;default:return 0}},i=()=>{switch(t[0]){case"left":return-((n==null?void 0:n.width)||0)-M[0]-2;case"right":return 0;default:return-((n==null?void 0:n.width)||0)/2}},a=()=>{switch(t[1]){case"top":return-M[1]-2;case"bottom":return(n==null?void 0:n.height)||0;default:return((n==null?void 0:n.height)||0)/2}};return{x:M[0]*s()+i(),y:M[1]*r()+a()}},fM=t=>{var E;const{children:n,defaultPosition:M,forElement:s,placement:r="right-bottom",curserPosition:i,className:a,style:l}=t,c=o.useRef(null),z=o.useRef(null),N=s||document.body,g=LM(r),y=mM(g,(E=z.current)==null?void 0:E.getBoundingClientRect(),i),[d,j]=o.useState(t.visible||!0),[x,D]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(N.addEventListener("mouseenter",h),N.addEventListener("mousemove",f),N.addEventListener("mouseleave",A),()=>{N.removeEventListener("mouseenter",h),N.removeEventListener("mousemove",f),N.removeEventListener("mouseleave",A)}),[N]),o.useEffect(()=>{j(t.visible||!0)},[t.visible]);const h=()=>{j(!0)},A=()=>{j(!1)},f=C=>{let P=AM(C)+y.x;const I=wM(C)+y.y;D({x:P,y:I})};return e.jsx("div",{className:`g-mouse-tip ${g.join(" ")}`,ref:c,style:{left:`${x.x}px`,top:`${x.y}px`,visibility:`${d?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${a}`,style:l,ref:z,children:n})})},$t=t=>{const{className:n,style:M,value:s,min:r,max:i,step:a=1,onChange:l,showText:c=!1}=t,[z,N]=o.useState(s!=null?s:0);return o.useEffect(()=>{N(s!=null?s:0)},[s]),e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:!!(i&&i<=z),onClick:()=>{l(z+a),N(z+a)},children:e.jsx(q,{type:"icon-fangda"})}),c&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),e.jsx(ze,{disabled:!!(r&&r>=z),onClick:()=>{l(z-a),N(z-a)},children:e.jsx(q,{type:"icon-suoxiao"})})]})};function YM(t,n){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",t),M.appendChild(s),s.onload=n}function hM(t){const[n,M]=o.useState(!1),[s,r]=o.useState(),[i,a]=o.useState(),[l,c]=o.useState(!1),[z,N]=o.useState(),[g,y]=o.useState([]),[d,j]=o.useState(0);function x(I){if(I.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&D(I.viewToken)}const D=I=>{if(!s){let b=z,T=new window.Glodon.Bimface.Application.WebApplication3DConfig;T.domElement=b,T.Toolbars=[];const w=new window.Glodon.Bimface.Application.WebApplication3D(T);w.addView(I),r(w);const S=w.getViewer();S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){S.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},S.setCameraAnimation(!1),S.render(),S.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),S.render(),c(!0)}),S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j(H=>H+1)}),a(S)}};o.useEffect(()=>{l&&g.forEach(I=>{i.loadModel({viewToken:I})})},[l,g]),o.useEffect(()=>{},[d]),o.useEffect(()=>{if(!z||!g.length)return;const I=g.pop();I&&A(I),y([...g])},[z]);function h(I){console.log(I)}function A(I){j(0);const b=()=>{let T=new window.BimfaceSDKLoaderConfig;T.viewToken=I,window.BimfaceSDKLoader.load(T,x,h)};if(!window.BimfaceSDKLoaderConfig){YM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",b);return}b()}const f=(I,b)=>{if(!i||!l||!z){console.error("BIMFace viewer is not ready.");return}const T=z.getElementsByTagName("canvas")[0],w=document.createElement("canvas");w.width=T.width,w.height=T.height;const S=w.getContext("2d");return S&&(S.fillStyle="#fff",S.fillRect(0,0,w.width,w.height),S.drawImage(T,0,0,T.width,T.height)),w.toDataURL(I,b)},E=I=>{if(!i){console.error("viewer is not ready");return}if(d&&g.length+1===d||!g.length)i.getAllModels().map(w=>i._models[w.modelId]).forEach(w=>{let S=new window.Glodon.Web.Graphics.Color(I);w.overrideAllComponentsColor&&w.overrideAllComponentsColor(S)}),i.enableWireframe(!0),i.getLightManager().getAllFillLights().forEach(w=>w.enableLight(!0)),i.render();else{console.error("viewer is not render complete");return}},C=I=>{if(i)if(d&&g.length+1===d||!g.length)i.getAllModels().map(w=>i._models[w.modelId]).forEach(w=>{Object.keys(I).forEach(S=>{let H=[{categoryId:S}];w.getComponentsByConditions(H,function(ee){let L=new window.Glodon.Web.Graphics.Color(I[S]);w.overrideComponentsColorById&&w.overrideComponentsColorById(ee,L)},function(){window.alert("error")})})}),i.enableWireframe(!1),i.getLightManager().getAllFillLights().forEach(w=>w.enableLight(!1)),i.render();else{console.error("viewer is not render complete");return}};function P(I,b,T){const w=i.getModel();w==null||w.getBoundingBox(({currentBoundingBox:S})=>{const H=S.max.x-S.min.x,ee=S.max.y-S.min.y,L=H/ee;let Y,k;L>1?(Y=b.width,k=Y/L):(k=b.height,Y=k*L);const W=document.createElement("div");W.setAttribute("style",`width: ${Y}px;height: ${k}px`),document.body.appendChild(W);const V=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;V.domElement=W;const ye=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(V),je=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;je.viewer=i,je.mapViewer=ye,je.type="SetProfile",je.height=I,je.successCallback=se=>{setTimeout(()=>{const G=new Image;G.src=W.getElementsByTagName("image")[0].getAttribute("href")||"",G.onload=()=>{T(G)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(je)})}return{BimfaceViewer:n&&window.Glodon.Bimface.Viewer,BimfaceSection:n&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:n&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:n&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:i,viewerAdded:l,sDKLoaded:n,loadedModelCount:d,loadModels:I=>{if(I!=null&&I.length||console.error("viewTokens is Empty"),!i&&z){const b=I[0];A(b)}y(I)},setContainerDom:N,getSnapshot:f,setComponentsColorByCatgryId:C,setAllComponentsColor:E,navigationMapByHeight:P}}function EM(t){const{url:n,onScaleChange:M,onLoad:s}=t,r=o.useRef(null),i=kt.useSize(r),a=i==null?void 0:i.width,l=i==null?void 0:i.height,[c,z]=o.useState();return o.useEffect(()=>{a&&l&&c&&M(a/c.width,a,l)},[a,l,c]),e.jsx("img",{ref:r,src:n,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(r.current){s&&s(r.current);const{naturalWidth:N,naturalHeight:g}=r.current;z({width:N,height:g})}}})}function St(t){const{start:n,end:M}=t,{options:{lineColor:s,lineWidth:r}}=o.useContext(Pe);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:n.x,y1:n.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:r!=null?r:2})})}function pt(t){const{markRenderer:n,marker:M}=t,{point:{x:s,y:r}}=M;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:s,cy:r,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:s,y:r,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:n&&n(M)})})]})}function Ot(t){const{points:n,editing:M,options:s,onClose:r}=t,[i,a]=o.useState(!1),{options:{polygon:l}}=o.useContext(Pe);if(!M&&_e(n)<=2)return null;const c=In(n),z=n.map(({x:A,y:f})=>`${A},${f}`).join(" "),N=c?`${z} ${c.x},${c.y}`:z,{showVertexIndex:g,vertexBgColor:y,vertexTextColor:d}=l!=null?l:{},j=g?10:5,x=M||g,{hideBorder:D,backgroundColor:h}=s!=null?s:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${N}`,fill:h!=null?h:"rgba(255, 66, 66, 0.15)"}),!D&&e.jsx("polyline",{points:M?z:N,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!D&&(n==null?void 0:n.map(({x:A,y:f},E)=>{const C=E===_e(n)-1;return e.jsx("g",{style:{zIndex:C?1:100,cursor:"pointer",pointerEvents:C?"none":"bounding-box"},onMouseEnter:P=>{C||a(!0)},onMouseLeave:P=>{a(!1)},onClick:P=>{P.stopPropagation()},onDoubleClick:P=>{P.stopPropagation(),r&&r(E)},children:x&&(!C||!i)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:A,cy:f,r:j,fill:y!=null?y:"#FF5500"}),g&&e.jsx("text",{x:A,y:f,"text-anchor":"middle",fill:d!=null?d:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:E+1})]})})}))]})}const CM=He.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:ge.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[ge.assign((t,{point:n})=>{t.markerPoint=n}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:ge.assign((t,n)=>{t.lineStart=n.point})},ADD_LINE_END:{target:"drawCompleted",actions:[ge.assign((t,n)=>{t.lineEnd=n.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:ge.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{var M;t.polygonPoints=(M=t.polygonPoints)!=null?M:[],t.polygonPoints.push(n)})},MOUSE_MOVE:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function SM(t){const{state:n,scale:M,width:s,height:r,drawOptions:i,lines:a,polygons:l,markers:c,markRenderer:z,onAddLine:N,onAddPolygon:g,onAddMarker:y,onStateChange:d}=t,[j,x]=o.useState([]),[D,h]=o.useState([]),[A,f]=o.useState([]),E=o.useRef(null),{width:C,height:P}=kt.useSize(E)||{};function I({x:Y,y:k}){return{x:Y/M,y:k/M}}function b({x:Y,y:k}){return{x:Y*M,y:k*M}}const[T,w]=Dn.useMachine(CM,{actions:{onAddMarker:He.assign(({markerPoint:Y})=>(y&&Y&&y(I(Y)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:He.assign(Y=>(Y.lineStart&&Y.lineEnd&&N&&N(I(Y.lineStart),I(Y.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:He.assign(({polygonPoints:Y})=>(g&&Y&&Y.length>2&&g(Y.map(I)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var Y;x((Y=a==null?void 0:a.map(({id:k,start:W,end:V})=>({id:k,start:b(W),end:b(V)})))!=null?Y:[])},[a]),o.useEffect(()=>{var Y;f((Y=c==null?void 0:c.map(k=>Me(p({},k),{point:b(k.point)})))!=null?Y:[])},[c]),o.useEffect(()=>{var Y;h((Y=l==null?void 0:l.map(({id:k,points:W,options:V})=>({id:k,points:W.map(b),options:V})))!=null?Y:[])},[l,M]),o.useEffect(()=>{d&&T.matches("idle")&&d("viewOnly")},[T.value]),o.useEffect(()=>{if(d)switch(n){case"drawingLine":w("START_DRAW_LINE");break;case"drawingPolygon":w("START_DRAW_POLYGON");break;case"addingMarker":w("START_ADD_MARKER");break}},[n]);const{lineStart:S,lineEnd:H,polygonPoints:ee,movingPoint:L}=T.context;return e.jsx(Pe.Provider,{value:{options:i!=null?i:{}},children:e.jsx("div",{ref:E,className:"w-full h-full absolute left-0 top-0",style:{cursor:n==="viewOnly"?void 0:"crosshair",width:s,height:r},children:C&&P&&e.jsxs("svg",{viewBox:`0 0 ${C} ${P}`,version:"1.1",className:"absolute inset-0",onClick:Y=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),V={x:Y.clientX-W,y:Y.clientY-k};T.matches("drawingLine")?w(S===void 0?{type:"ADD_LINE_START",point:V}:{type:"ADD_LINE_END",point:V}):T.matches("drawingPolygon")?w({type:"ADD_POLYGON_POINT",point:V}):T.matches("addingMarker")&&w({type:"ADD_MARKER",point:V})},onMouseMove:Y=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),V={x:Y.clientX-W,y:Y.clientY-k};w({type:"MOUSE_MOVE",point:V})},children:[j==null?void 0:j.map((Y,k)=>e.jsx(St,p({},Y),k)),S&&L&&e.jsx(St,{start:S,end:L}),D==null?void 0:D.map(({points:Y,options:k},W)=>e.jsx(Ot,{editing:!1,points:Y,options:k},W)),_e(ee)>0&&L&&e.jsx(Ot,{editing:!0,points:[...ee,L],onClose:Y=>{w({type:"DRAW_POLYGON_COMPLETE"})}}),A==null?void 0:A.map(Y=>e.jsx(pt,{marker:Y,markRenderer:z})),T.matches("addingMarker")&&L&&e.jsx(pt,{marker:{id:"addingMarker",point:L}})]})})})}function Xe(t,n,M){if(M)return Math.abs(Xe(t,M)-Xe(n,M));for(var s=Math.atan2(n.y-t.y,n.x-t.x);s<0;)s+=2*Math.PI;return s}const Pe=o.createContext({options:{}});Pe.displayName="DrawableContext";function pM(t){const i=t,{url:n}=i,M=we(i,["url"]),[s,r]=yn.useImmer({scale:1,width:0,height:0});return n?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(EM,{url:n,onScaleChange:(a,l,c)=>{r(z=>{z.scale=a,z.width=l,z.height=c})}}),e.jsx(SM,p(p({},M),s))]}):null}exports.Button=xn;exports.Copy=Ut;exports.DocumentViewer=Zt;exports.DrawableContext=Pe;exports.DrawableImageMap=pM;exports.ExpandablePannel=cM;exports.IconButton=ze;exports.Iconfont=q;exports.ImageMap=uM;exports.Markdown=Pt;exports.MarkdownATag=Bt;exports.MarkdownCode=Rt;exports.MarkdownImage=Qt;exports.MarkdownVideo=Ke;exports.MouseTip=fM;exports.PanoramaRecordPlayer=gM;exports.PassMap=Vt;exports.TrackMap=Ht;exports.Zoom=$t;exports.calAngle=Xe;exports.useBimface=hM;
|
|
2
|
+
"use strict";var tn=Object.defineProperty,nn=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var Ve=Object.getOwnPropertySymbols;var mt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable;var Lt=(t,n,M)=>n in t?tn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:M}):t[n]=M,p=(t,n)=>{for(var M in n||(n={}))mt.call(n,M)&&Lt(t,M,n[M]);if(Ve)for(var M of Ve(n))ft.call(n,M)&&Lt(t,M,n[M]);return t},Me=(t,n)=>nn(t,Mn(n));var we=(t,n)=>{var M={};for(var s in t)mt.call(t,s)&&n.indexOf(s)<0&&(M[s]=t[s]);if(t!=null&&Ve)for(var s of Ve(t))n.indexOf(s)<0&&ft.call(t,s)&&(M[s]=t[s]);return M};var Le=(t,n,M)=>new Promise((s,r)=>{var i=c=>{try{l(M.next(c))}catch(z){r(z)}},a=c=>{try{l(M.throw(c))}catch(z){r(z)}},l=c=>c.done?s(c.value):Promise.resolve(c.value).then(i,a);l((M=M.apply(t,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),sn=require("react-markdown"),on=require("remark-gfm"),rn=require("rehype-raw"),cn=require("rehype-external-links"),an=require("remark-math"),ln=require("rehype-katex");require("katex/dist/katex.min.css");const B=require("antd"),zn=require("antd-mobile"),jn=require("react-device-detect"),vt=require("react-syntax-highlighter"),Ce=require("@ant-design/icons"),ce=require("@zip.js/zip.js"),bt=require("antd/es/tooltip"),Nn=require("react-moveable"),un=require("deep-object-diff"),gn=require("lodash/debounce"),_e=require("antd/es/button"),dn=require("antd/es/popconfirm"),yn=require("use-immer"),kt=require("ahooks"),Dn=require("@xstate/react"),Xe=require("lodash/size"),$e=require("xstate"),In=require("lodash/first"),ge=require("@xstate/immer");const xn=t=>{const l=t,{primary:n=!1,size:M="medium",backgroundColor:s,label:r}=l,i=we(l,["primary","size","backgroundColor","label"]),a=n?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",Me(p({type:"button",className:["storybook-button",`storybook-button--${M}`,a].join(" "),style:{backgroundColor:s}},i),{children:r}))};const Tn=t=>e.jsx("video",p({style:{maxWidth:"100%",width:560,height:315}},t)),qe=Tn;function An(t){const n=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<n.length;s++)if(s%2===0){let r=n[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(i,a)=>`$$${a}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(i,a)=>`$${a}$`);M+=r}else M+=n[s];return M}function wn(t){var a;const n=(()=>{try{return new URL(t)}catch(l){return null}})();if(!n)return null;const s=((a=n.pathname.split(".").pop())==null?void 0:a.toLowerCase())||"",r=["jpg","jpeg","gif","png"],i=["mp4","wmv","avi","mov"];return r.includes(s)?"image":i.includes(s)?"video":null}const Ln=t=>{const[n,M]=o.useState(!1),[s,r]=o.useState();return o.useEffect(()=>{t.src&&r(wn(t.src))},[t.src]),s=="video"?e.jsx(qe,{src:t.src,controls:!0}):jn.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",p({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{M(!0)}},t)),e.jsx(zn.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:n,onClose:()=>{M(!1)}})]}):e.jsx(B.Image,Me(p({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:i=>{var a,l,c;(c=t.onClick)==null||c.call(t,Me(p({},i),{target:(l=(a=i.target)==null?void 0:a.offsetParent)==null?void 0:l.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Qt=Ln,q=Ce.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),mn=M=>Le(exports,[M],function*({target:t,value:n}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const r=document.querySelector(t);if(!r||!r.textContent)return console.warn("Element not found"),!1;n=r.textContent}return n&&(s=n),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Ut=({text:t})=>{const[n,M]=o.useState();return o.useEffect(()=>{n&&setTimeout(()=>M(void 0),2e3)},[n]),n?e.jsx("div",{className:"copy-tip",children:n==="success"?e.jsx(Ce.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(Ce.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(B.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{mn({value:t}).then(s=>{M(s?"success":"failed")})},children:e.jsx(q,{type:"icon-fuzhi"})})})},fn=i=>{var a=i,{node:t,inline:n,className:M,children:s}=a,r=we(a,["node","inline","className","children"]);const l=/language-(\w+)/.exec(M||""),c=l?l[1]:null;return!n&&c?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:c}),e.jsx(B.Space,{className:"markdown-code-title-action",children:e.jsx(Ut,{text:String(s)})})]}),e.jsx(vt.Prism,Me(p({className:"markdown-code-context",language:c},r),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):e.jsx("code",Me(p({className:M},r),{children:s}))},Bt=fn,hn=t=>{var r,i;const s=t,{node:n}=s,M=we(s,["node"]);if(n.tagName==="a"&&((r=n.children)==null?void 0:r.length)>0){const a=((i=n.children[0])==null?void 0:i.value)||"";let l=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,c=a.match(l),z=a.replace(l,"").trim();if(!(c!=null&&c.length))return e.jsx("a",p({},M));const N=c[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",Me(p({href:/^www\./.test(N)?"//"+N:N,onClick:()=>window.open(t.href,t.target||"_blank")},M),{children:N})),z]})}return e.jsx("a",p({},M))},Rt=hn,Pt=i=>{var a=i,{showLatex:t=!0,components:n={},componentProps:M,children:s}=a,r=we(a,["showLatex","components","componentProps","children"]);const l=o.useRef(null),c=p({img(z){return e.jsx(Qt,p(p({},z),M==null?void 0:M.img))},code(z){return e.jsx(Bt,p(p({},z),M==null?void 0:M.code))},video(z){return e.jsx(qe,p(p({},z),M==null?void 0:M.video))},a(z){return e.jsx(Rt,p(p({},z),M==null?void 0:M.a))}},n);return e.jsx("div",{ref:l,children:e.jsx(sn,Me(p({className:"markdown",rehypePlugins:[ln,rn,[cn,{target:"_blank"}]],remarkPlugins:[an,[on,{singleTilde:!1}]]},r),{children:t?An(s):s,components:c}))})},Re=t=>{var M;if(!t)return;const n=t.split(".");if(!(n.length<2))return(M=n.pop())==null?void 0:M.toLowerCase()},Wt=t=>{if(!t)return"unknown";const n=t.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(n)?"image":n==="mp4"?"video":n==="mp3"?"audio":n==="pdf"?"pdf":n==="markdown"||n==="md"?"markdown":n==="json"?"json":n==="jsonl"||n==="josnl"?"jsonl":n==="csv"?"csv":n==="tsv"?"tsv":n==="html"||n==="htm"?"html":n==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(n)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(n)?"code":n==="txt"?"text":n==="zip"?"zip":n==="tex"||n==="latex"?"text":"unknown"},Fe=5*1024*1024,Yn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,pn=2*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,ht=100*1024*1024,kn=100*1024*1024,Ye=1e4,Ee=1e4,Je=5e3,de=1e3,Qn=1024*1024*5,Un=3e4,Bn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Rn=t=>{const[n,M]=o.useState(null),[s,r]=o.useState(!0),[i,a]=o.useState(null),l=o.useRef(null);return o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}return l.current&&(URL.revokeObjectURL(l.current),l.current=null,M(null)),r(!0),a(null),fetch(t).then(c=>{if(!c.ok)throw new Error(`HTTP error! status: ${c.status}`);return c.blob()}).then(c=>{if(c.type&&c.type!=="application/pdf"&&!t.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(c);l.current=z,M(z),r(!1)}).catch(c=>{a(c.message||"加载 PDF 失败"),r(!1)}),()=>{l.current&&(URL.revokeObjectURL(l.current),l.current=null)}},[t]),{pdfBlobUrl:n,pdfLoading:s,pdfError:i}},Pn=t=>{if(t===0)return"0 B";const n=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(t)/Math.log(n));return Math.round(t/Math.pow(n,s)*100)/100+" "+M[s]},Wn=t=>Le(exports,null,function*(){let n=!1,M=0;try{const s=yield fetch(t,{method:"HEAD",headers:{Range:"bytes=0-0"}}),r=s.headers.get("Accept-Ranges"),i=s.headers.get("Content-Range"),a=s.headers.get("Content-Length");if(i){const l=i.match(/bytes \d+-\d+\/(\d+)/);l&&(M=parseInt(l[1],10))}else a&&(M=parseInt(a,10));return n=s.status===206||r==="bytes"||i!==null&&i.startsWith("bytes"),{supportsRange:n,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Gn=t=>Le(exports,null,function*(){try{const M=(yield fetch(t,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(n){return console.warn("无法获取文件大小:",n),0}}),Zn=t=>{const[n,M]=o.useState([]),[s,r]=o.useState(!0),[i,a]=o.useState(null),[l,c]=o.useState(null),[z,N]=o.useState(null);o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}r(!0),a(null),M([]),c(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),N(null));let D=null;Le(exports,null,function*(){try{ce.configure({chunkSize:Qn,useWebWorkers:!1});const{supportsRange:d,fileSize:j}=yield Wn(t);if(d){const x=new ce.HttpRangeReader(t);D=new ce.ZipReader(x);const Y=(yield Promise.race([D.getEntries(),new Promise((w,h)=>setTimeout(()=>h(new Error("读取 ZIP 目录结构超时")),Un))])).filter(w=>!w.directory).map(w=>({name:w.filename,size:w.uncompressedSize||0,isDirectory:!1}));Y.sort((w,h)=>w.name.localeCompare(h.name)),Y.length>de?(a(`ZIP 文件包含 ${Y.length} 个文件,仅显示前 ${de} 个`),M(Y.slice(0,de))):M(Y)}else{if(j>ht)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const x=yield fetch(t);if(!x.ok)throw new Error(`HTTP error! status: ${x.status}`);const y=yield x.blob(),Y=new ce.BlobReader(y);D=new ce.ZipReader(Y);const h=(yield D.getEntries()).filter(E=>!E.directory).map(E=>({name:E.filename,size:E.uncompressedSize||0,isDirectory:!1}));h.sort((E,C)=>E.name.localeCompare(C.name)),h.length>de?(a(`ZIP 文件包含 ${h.length} 个文件,仅显示前 ${de} 个`),M(h.slice(0,de))):M(h)}D&&(yield D.close()),r(!1)}catch(d){if(D)try{yield D.close()}catch(x){}const j=d.message||d.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const x=yield Gn(t);if(x>ht)throw new Error(`文件过大(${Math.round(x/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const y=yield fetch(t);if(!y.ok)throw new Error(`HTTP error! status: ${y.status}`);const Y=yield y.blob(),w=new ce.BlobReader(Y);D=new ce.ZipReader(w);const E=(yield D.getEntries()).filter(C=>!C.directory).map(C=>({name:C.filename,size:C.uncompressedSize||0,isDirectory:!1}));E.sort((C,P)=>C.name.localeCompare(P.name)),E.length>de?(a(`ZIP 文件包含 ${E.length} 个文件,仅显示前 ${de} 个`),M(E.slice(0,de))):M(E),D&&(yield D.close()),r(!1);return}catch(x){const y=x.message||x.toString();a(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${y}`)}else a(j);r(!1)}})},[t]);const g=o.useCallback(D=>Le(exports,null,function*(){if(l===D&&z){c(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),N(null);return}c(D);try{let d=null,j;try{const E=new ce.HttpRangeReader(t);d=new ce.ZipReader(E),j=(yield d.getEntries()).find(P=>P.filename===D)}catch(E){const C=yield fetch(t);if(!C.ok)throw new Error(`HTTP error! status: ${C.status}`);const P=yield C.blob(),I=new ce.BlobReader(P);d=new ce.ZipReader(I),j=(yield d.getEntries()).find(T=>T.filename===D)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>kn)throw new Error("文件过大(超过 100MB),无法预览");const y=yield j.getData(new ce.BlobWriter),Y=URL.createObjectURL(y),w=Re(D),h=Wt(w);if(!Bn.includes(h))throw new Error(`不支持预览 ${w||"未知"} 格式的文件`);N({name:D,blobUrl:Y,type:h}),d&&(yield d.close())}catch(d){const j=d.message||d.toString()||"预览文件失败";a(j)}}),[t,l,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:n,zipLoading:s,zipError:i,selectedZipFile:l,zipFileContent:z,handleFileClick:g,setSelectedZipFile:c}},H=({url:t,fileName:n})=>e.jsx(B.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:t,download:n,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),Gt=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;if((n||new Blob([t.content]).size)>Yn){const i=t.content.split(`
|
|
3
|
+
`),a=i.length>Ye,c=(a?i.slice(0,Ye):i).join(`
|
|
4
|
+
`);return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(B.Alert,{message:"文件过大",description:`文件包含 ${i.length} 行,仅显示前 ${Ye} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx(H,{url:M,fileName:s})}),e.jsx("pre",{className:"document-viewer-text",children:c})]})}return e.jsx("pre",{className:"document-viewer-text",children:t.content})},Vn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>En)return e.jsx(B.Alert,{message:"JSON文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx(H,{url:M,fileName:s})});try{const i=JSON.parse(t.content);return e.jsx("pre",{className:"document-viewer-json",children:JSON.stringify(i,null,2)})}catch(i){return e.jsx(B.Alert,{message:"JSON解析失败",description:"文件内容不是有效的JSON格式",type:"error",action:e.jsx(H,{url:M,fileName:s})})}},$n=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>Cn)return e.jsx(B.Alert,{message:"CSV文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx(H,{url:M,fileName:s})});try{const i=t.content.split(`
|
|
5
|
+
`).filter(g=>g.trim());if(i.length===0)return null;const a=i.length>Ee,l=a?i.slice(0,Ee):i,c=l[0].split(",").map(g=>g.trim()),z=l.slice(1).map((g,D)=>{const d=g.split(",").map(x=>x.trim()),j={key:String(D)};return c.forEach((x,y)=>{j[x]=d[y]||""}),j}),N=c.map(g=>({title:g,dataIndex:g,key:g}));return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(B.Alert,{message:"文件过大",description:`CSV文件包含 ${i.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx(H,{url:M,fileName:s})}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(B.Table,{dataSource:z,columns:N,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(i){return e.jsx(B.Alert,{message:"CSV解析失败",description:"文件内容不是有效的CSV格式",type:"error",action:e.jsx(H,{url:M,fileName:s})})}},Hn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>Sn)return e.jsx(B.Alert,{message:"TSV文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx(H,{url:M,fileName:s})});try{const i=t.content.split(`
|
|
6
|
+
`).filter(g=>g.trim());if(i.length===0)return null;const a=i.length>Ee,l=a?i.slice(0,Ee):i,c=l[0].split(" ").map(g=>g.trim()),z=l.slice(1).map((g,D)=>{const d=g.split(" ").map(x=>x.trim()),j={key:String(D)};return c.forEach((x,y)=>{j[x]=d[y]||""}),j}),N=c.map(g=>({title:g,dataIndex:g,key:g}));return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(B.Alert,{message:"文件过大",description:`TSV文件包含 ${i.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx(H,{url:M,fileName:s})}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(B.Table,{dataSource:z,columns:N,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(i){return e.jsx(B.Alert,{message:"TSV解析失败",description:"文件内容不是有效的TSV格式",type:"error",action:e.jsx(H,{url:M,fileName:s})})}},Fn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>pn)return e.jsx(B.Alert,{message:"JSONL文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx(H,{url:M,fileName:s})});try{const i=t.content.split(`
|
|
7
|
+
`).filter(c=>c.trim()),a=i.length>Je,l=a?i.slice(0,Je):i;return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(B.Alert,{message:"文件过大",description:`JSONL文件包含 ${i.length} 行,仅显示前 ${Je} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx(H,{url:M,fileName:s})}),e.jsx("div",{className:"document-viewer-jsonl",children:l.map((c,z)=>{try{const N=JSON.parse(c);return e.jsx("div",{className:"document-viewer-jsonl-item",children:e.jsx("pre",{children:JSON.stringify(N,null,2)})},z)}catch(N){return e.jsx("div",{className:"document-viewer-jsonl-item",children:e.jsx("pre",{children:c})},z)}})})]})}catch(i){return e.jsx(B.Alert,{message:"JSONL解析失败",description:"文件内容解析出错",type:"error",action:e.jsx(H,{url:M,fileName:s})})}},Jn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;return r>On?e.jsx(B.Alert,{message:"Markdown文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx(H,{url:M,fileName:s})}):e.jsx("div",{style:{height:"100%",overflow:"auto",padding:"16px"},children:e.jsx(Pt,{children:t.content})})},_n=({fileContent:t})=>t!=null&&t.content?e.jsx("iframe",{srcDoc:t.content,className:"document-viewer-iframe",title:"HTML Preview",sandbox:"allow-same-origin allow-scripts"}):null,Xn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>vn)return e.jsx(B.Alert,{message:"XML文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx(H,{url:M,fileName:s})});try{const i=t.content.replace(/></g,`>
|
|
8
|
+
<`).replace(/^\s+/gm,"");return e.jsx("pre",{className:"document-viewer-xml",children:i})}catch(i){return e.jsx(Gt,{fileContent:t,fileSize:n,url:M,fileName:s})}},Kn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const i=o.useMemo(()=>Re(s||M),[s,M])||"text";if((n||new Blob([t.content]).size)>bn){const l=t.content.split(`
|
|
9
|
+
`),c=l.length>Ye,N=(c?l.slice(0,Ye):l).join(`
|
|
10
|
+
`);return e.jsxs("div",{className:"document-viewer-code",children:[c&&e.jsx(B.Alert,{message:"文件过大",description:`文件包含 ${l.length} 行,仅显示前 ${Ye} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx(H,{url:M,fileName:s})}),e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px"},children:N})})]})}return e.jsx("div",{className:"document-viewer-code",children:e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx(vt.Prism,{language:i,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:t.content})})})},qn=({url:t,fileName:n})=>e.jsx("div",{className:"document-viewer-image",children:e.jsx(B.Image,{src:t,alt:n||"Image"})}),eM=({url:t})=>e.jsx("div",{className:"document-viewer-video",children:e.jsx("video",{src:t,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),tM=({url:t})=>e.jsx("div",{className:"document-viewer-audio",children:e.jsx("audio",{src:t,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),nM=({pdfBlobUrl:t,pdfLoading:n,pdfError:M,url:s,fileName:r})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(B.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?e.jsx(B.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx(H,{url:s,fileName:r})}):t?e.jsx("div",{className:"document-viewer-pdf",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"PDF Preview"})}):e.jsx(B.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:e.jsx(H,{url:s,fileName:r})}),MM=({zipFiles:t,zipLoading:n,zipError:M,selectedZipFile:s,zipFileContent:r,onFileClick:i,url:a})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(B.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&t.length===0?e.jsx(B.Alert,{message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):e.jsxs("div",{className:"document-viewer-zip",children:[M&&t.length>0&&e.jsx(B.Alert,{message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),e.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[e.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",t.length,")"]}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(B.Table,{dataSource:t,size:"small",pagination:!1,scroll:{y:"100%"},onRow:l=>({onClick:()=>i(l.name),style:{cursor:"pointer",backgroundColor:s===l.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:l=>e.jsx("span",{title:l,children:l.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:l=>Pn(l)}]})})]}),e.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&r?e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[e.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:r.name}),e.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:e.jsx(Zt,{url:r.blobUrl,fileName:r.name})})]}):e.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),sM=({message:t,description:n,action:M,url:s,fileName:r})=>{const i=s?e.jsx(B.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:s,download:r,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return e.jsx(B.Alert,{message:t,description:n,type:"error",showIcon:!0,action:M||i})};const oM=t=>{const{url:n,fileName:M,className:s,style:r}=t,i=o.useMemo(()=>{const b=Re(n),T=M?Re(M):void 0;return Wt(b||T)},[n,M]),{pdfBlobUrl:a,pdfLoading:l,pdfError:c}=Rn(i==="pdf"?n:""),{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:D,zipFileContent:d,handleFileClick:j}=Zn(i==="zip"?n:""),[x,y]=o.useState(!0),[Y,w]=o.useState(null),[h,E]=o.useState(null),[C,P]=o.useState(0);o.useEffect(()=>{if(i==="pdf"||i==="zip"){y(!1);return}if(!n){w("文件URL不能为空"),y(!1);return}if(["image","video","audio","office","unknown"].includes(i)){y(!1);return}y(!0),w(null),Le(exports,null,function*(){try{if(n.startsWith("blob:")||n.startsWith("data:")){const L=yield fetch(n);if(!L.ok)throw new Error(`HTTP error! status: ${L.status}`);const k=yield L.blob(),W=k.size;if(P(W),W>Fe){w(`文件过大(${Math.round(W/1024/1024)}MB),无法预览。请下载后查看。`),y(!1);return}const G=yield k.text();E({content:G}),y(!1);return}const m=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length"),S=m?parseInt(m,10):0;if(P(S),S>Fe){w(`文件过大(${Math.round(S/1024/1024)}MB),无法预览。请下载后查看。`),y(!1);return}const $=yield fetch(n);if(!$.ok)throw new Error(`HTTP error! status: ${$.status}`);const ee=yield $.text(),A=new Blob([ee]).size;if(A>Fe){w(`文件过大(${Math.round(A/1024/1024)}MB),无法预览。请下载后查看。`),y(!1);return}E({content:ee}),y(!1)}catch(b){w(b.message||"加载文件失败"),y(!1)}})},[n,i]);const I=()=>{if(x)return e.jsx("div",{className:"document-viewer-loading",children:e.jsx(B.Spin,{size:"large",tip:"加载中..."})});if(Y)return e.jsx(sM,{message:"加载失败",description:Y,url:n,fileName:M});switch(i){case"text":return e.jsx(Gt,{fileContent:h,fileSize:C,url:n,fileName:M});case"json":return e.jsx(Vn,{fileContent:h,fileSize:C,url:n,fileName:M});case"csv":return e.jsx($n,{fileContent:h,fileSize:C,url:n,fileName:M});case"tsv":return e.jsx(Hn,{fileContent:h,fileSize:C,url:n,fileName:M});case"jsonl":return e.jsx(Fn,{fileContent:h,fileSize:C,url:n,fileName:M});case"markdown":return e.jsx(Jn,{fileContent:h,fileSize:C,url:n,fileName:M});case"html":return e.jsx(_n,{fileContent:h,fileSize:C,url:n,fileName:M});case"xml":return e.jsx(Xn,{fileContent:h,fileSize:C,url:n,fileName:M});case"code":return e.jsx(Kn,{fileContent:h,fileSize:C,url:n,fileName:M});case"image":return e.jsx(qn,{url:n,fileName:M});case"video":return e.jsx(eM,{url:n,fileName:M});case"audio":return e.jsx(tM,{url:n,fileName:M});case"pdf":return e.jsx(nM,{pdfBlobUrl:a,pdfLoading:l,pdfError:c,url:n,fileName:M});case"office":return e.jsx(iM,{url:n});case"zip":return e.jsx(MM,{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:D,zipFileContent:d,onFileClick:j,url:n});case"unknown":default:return e.jsx(rM,{url:n})}};return e.jsx("div",{className:`document-viewer ${s||""}`,style:r,children:I()})},iM=({url:t})=>{const n=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(t)}`;return e.jsxs("div",{className:"document-viewer-office",children:[e.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"Office Document Preview"}),e.jsx("div",{className:"document-viewer-fallback",children:e.jsx(B.Alert,{message:"预览可能不可用",description:e.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},rM=({url:t})=>e.jsx("div",{className:"document-viewer-unknown",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"File Preview"})}),Zt=oM;const ze=t=>{var n;return e.jsx("button",Me(p({},t),{className:`g-icon-btn disabled ${(n=t==null?void 0:t.className)!=null?n:""}`}))},cM=t=>{var T,m;const n=o.useRef(null),{className:M,headerClassName:s,style:r,visible:i,mode:a="normal",header:l,icons:c={collapseButton:e.jsx(q,{type:"icon-yincang"}),expandButton:e.jsx(q,{type:"icon-yincang"}),fullscreenButton:e.jsx(q,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(q,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:N,onMinimize:g,onMaximize:D}=t,[d,j]=o.useState(a==="max"),[x,y]=o.useState(a==="min"),Y=o.useRef(null),[w,h]=o.useState(a);o.useEffect(()=>{j(a==="max"),y(a==="min"),h(a)},[a]);const E=()=>{j(!d),h(d?"normal":"max"),d?N&&N():D&&D()},C=()=>{y(!x),h(x?"normal":"min"),x?N&&N():g&&g()};o.useEffect(()=>{Y.current&&d&&(Y.current.style.transform="none")},[d]);const P=(m=t.fullScreenContainer)!=null?m:(T=n.current)==null?void 0:T.parentElement,I=P==null?void 0:P.getBoundingClientRect(),b={position:"fixed",top:I==null?void 0:I.y,left:I==null?void 0:I.x,width:x?0:I==null?void 0:I.width,height:I==null?void 0:I.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:p({visibility:i!==!1?"visible":"hidden",position:d&&!x?"absolute":"unset"},d?b:null),ref:n,children:[!x&&e.jsxs("div",{className:`g-expandable-pannel ${d?"full":""} `,style:p({},r),children:[l!=null?l:e.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:e.jsx(ze,{onClick:E,children:d?c.exitFullscreenButton:c.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${x?"collapsed":"expaned"} ${s!=null?s:""}`,children:e.jsx(ze,{onClick:C,children:x?c.expandButton:c.collapseButton})})]})};const aM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Vt=t=>{const{style:n,passes:M,scale:s,activePassId:r,passStyle:i,activePassStyle:a}=t;return e.jsx("svg",{className:"pass-map",style:n,children:M.map((l,c)=>{var N;const z=l.id===r?a:aM;return e.jsx("g",{children:e.jsx("polygon",{points:(N=l.points)==null?void 0:N.map(g=>`${g.x*s} ${g.y*s}`).join(","),style:p(p(p({},i),l.passStyle),z)})},c)})})};const lM=t=>{var g,D,d,j;const N=t,{children:n,open:M,point:s,key:r,style:i}=N,a=we(N,["children","open","point","key","style"]),[l,c]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var Y,w;if(!s.tooltipRender||!z.current)return;const x=s.tooltipRender(s);if(typeof x=="string"||typeof x=="number"){z.current.innerText=x.toString();return}const y=(Y=z.current)==null?void 0:Y.firstChild;y?y.replaceWith(x):(w=z.current)==null||w.appendChild(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,l]),o.useEffect(()=>{c(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),e.jsx(bt,Me(p({},a),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:x=>{var w,h;if(s.tooltipOpen||c(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const y=s.tooltipRender(s);if(typeof y=="string"||typeof y=="number"){z.current.innerText=y.toString();return}const Y=(w=z.current)==null?void 0:w.firstChild;Y?Y.replaceWith(y):(h=z.current)==null||h.appendChild(y)},color:((g=s.tooltipStyle)==null?void 0:g.backgroundColor)||((D=s.tooltipStyle)==null?void 0:D.backgroundImage)||((j=(d=s.tooltipStyle)==null?void 0:d.background)==null?void 0:j.toString()),title:e.jsx("div",{ref:z},r),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:p({zIndex:9},i),motion:{forceRender:!0},children:n}))},zM=lM,jM={attributes:!0,characterData:!0},NM=t=>{const n=o.useRef(null),{point:M,open:s,id:r,x:i,y:a,r:l,active:c=!1,hidden:z=!1,onPointClick:N,getTooltipContainer:g}=t,[D,d]=o.useState(t.style),[j,x]=o.useState(!0);o.useEffect(()=>{const w=un.diff(D,t.style);Object.keys(w).length&&d(t.style)},[t.style]);const y=o.useMemo(()=>e.jsx("circle",{id:`mark-${r}`,className:"point point-active",cx:i,cy:a,r:l,ref:n,style:D,onClick:()=>N&&N(M)}),[i,a,l,D,c]),Y=o.useMemo(()=>{const w=gn(()=>{x(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),x(!1),w()})},[]);return o.useEffect(()=>{if(!(!n.current||!M.tooltipRender))return Y.observe(n.current,jM),()=>{n.current&&Y.disconnect()}},[i,a,l]),z?e.jsx(e.Fragment,{}):M.tooltipRender&&j?e.jsx(zM,{open:s,point:M,getPopupContainer:g,children:y}):y},Yt=NM,$t=t=>{var Qe;const{width:n,height:M,points:s,scale:r,pointSize:i=6,direction:a,activePointId:l,style:c,lineStyle:z,pointStyle:N,directionStyle:g,marks:D,resizable:d,transform:j,keepRatio:x=!1,onPointClick:y,onTransform:Y,onPointsChange:w,onCancelResize:h,actions:E=!0,setIsSaved:C,isSaved:P=!1}=t,I=o.useRef(null),b=o.useRef(null),T=o.useRef(null),m=o.useRef(null),S=o.useRef(null),[$,ee]=o.useState(null),[A,L]=o.useState((j==null?void 0:j.scale)||[1,1]),[k,W]=o.useState((j==null?void 0:j.rotate)||0),[G,ye]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[je,se]=o.useState([]),[Z,ae]=o.useState(),[ue,ie]=o.useState(),[re,J]=o.useState(d),[me,_]=o.useState([]),[te,Se]=o.useState(s),[fe,He]=o.useState(!0),[X,Ie]=o.useState(),[ne,Ne]=o.useState(),[pe,We]=o.useState(typeof E!="boolean"?E:E===!0?{}:null),xe=(i-i/4*.9)*2/r;o.useEffect(()=>{We(typeof E!="boolean"?E:E===!0?{}:null)},[E]);const Ge=(u,f)=>{if(!u.length)return;let R;return u.map(v=>{var oe;if(!R){R=v;return}const V=e.jsx("line",{x1:Number.isFinite(R.x)?R.x:0,y1:Number.isFinite(R.y)?R.y:0,x2:Number.isFinite(v.x)?v.x:0,y2:Number.isFinite(v.y)?v.y:0,style:Me(p(p({stroke:"#1F66E1BF"},z),R.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((oe=R.lineStyle)==null?void 0:oe.strokeWidth)||2)/f})},v.id);return R=v,V})},Oe=new ResizeObserver(()=>{I.current&&(b.current&&(b.current.style.transform="none",b.current.style.width="auto",b.current.style.height="100%"),b.current&&(b.current.style.width="100%",b.current.style.height="100%"))});o.useEffect(()=>{var u;Ne((u=T.current)==null?void 0:u.getBoundingClientRect())},[c==null?void 0:c.left,c==null?void 0:c.top,c==null?void 0:c.width,c==null?void 0:c.height,r]),o.useEffect(()=>{J(d)},[d]),o.useEffect(()=>{Se(s||[])},[s,me]),o.useEffect(()=>{var u;(!((u=T.current)!=null&&u.style.transform)||T.current.style.transform==="none")&&(L((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[(Qe=T.current)==null?void 0:Qe.style.transform]),o.useEffect(()=>{!T.current||re||(T.current.style.transform="none",L((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[re]),o.useEffect(()=>{if(I.current)return Oe.observe(I.current),()=>{I.current&&Oe.unobserve(I.current)}},[I.current]),o.useEffect(()=>{!$||!j||($.throttleDragRotate=j.rotate,$.throttleScale=j.scale,$.throttleDrag=j.translate)},[$,j]),o.useEffect(()=>{ae(te==null?void 0:te.find(f=>f.id===l));let u=te.map(f=>{var oe,Ue,Ae;const R=f.x,O=f.y,v=f.id===l,V=i*(v?1.2:1)/r;return e.jsx(Yt,{open:fe,id:f.id,point:f,getTooltipContainer:()=>S.current||document.body,x:R,y:O,r:N!=null&&N.r||(oe=f.pointStyle)!=null&&oe.r?Number((N==null?void 0:N.r)||((Ue=f.pointStyle)==null?void 0:Ue.r))/r:V/2,hidden:v,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff",cursor:y?"pointer":"unset"},N),f.pointStyle),{strokeWidth:Number(((Ae=f.pointStyle)==null?void 0:Ae.strokeWidth)||2)/r,r:void 0}),onPointClick:y},f.id)})||[];se(u)},[te,l,r,fe]),o.useEffect(()=>{var v,V,oe;if(!Z){ie(void 0);return}const u=Z.x,f=Z.y,R=Z.id===l,O=i*(R?1.2:1)/r;ie(e.jsxs("g",{children:[a!==void 0&&e.jsx("circle",{id:`mark-${Z.id}`,cx:u,cy:f,r:`${xe}`,strokeDasharray:xe*2*Math.PI,strokeDashoffset:xe*2*Math.PI/360*(360-60),style:p({transform:`rotate(${a+240}deg)`,transformOrigin:`${u}px ${f}px`,strokeWidth:xe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},g)}),e.jsx(Yt,{open:fe,point:Z,getTooltipContainer:()=>S.current||document.body,x:u,y:f,r:(v=Z.pointStyle)!=null&&v.r?Number((V=Z.pointStyle)==null?void 0:V.r)/r:O/2,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff"},N),Z.pointStyle),{strokeWidth:Number(((oe=Z.pointStyle)==null?void 0:oe.strokeWidth)||2)/r,r:void 0}),onPointClick:y},Z.id)]},Z.id))},[Z,a,r,fe]),o.useEffect(()=>{T.current&&setTimeout(()=>{var u,f;Ie((u=T.current)==null?void 0:u.getBBox()),Ne((f=T.current)==null?void 0:f.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var f,R;if(!T.current)return;Ie((f=T.current)==null?void 0:f.getBBox()),Ne((R=T.current)==null?void 0:R.getBoundingClientRect()),new ResizeObserver(()=>{var O,v;Ie((O=T.current)==null?void 0:O.getBBox()),Ne((v=T.current)==null?void 0:v.getBoundingClientRect())}).observe(T.current)},[T.current]),o.useEffect(()=>{P&&(le(),C&&C(!1))},[P]);const le=()=>{var O;const u=(O=m.current)==null?void 0:O.getBoundingClientRect();if(!u){w&&w(s),J(!1);return}const f=me.map(v=>{const V=v.getBoundingClientRect();return{id:v.id.split("-")[1],x:(V.x+V.width/2-u.x)/r,y:(V.y+V.height/2-u.y)/r}}),R=s.map(v=>{const V=f==null?void 0:f.find(oe=>oe.id.toString()===v.id.toString());return V?p(p({},v),V):v});Se(R),w&&w(R.length?R.map((v,V)=>({id:v.id,x:v.x,y:v.y,order:V})):s),J(!1)},Te=u=>u.map(f=>{const{render:R,renderData:O}=f,v=f.x*r,V=f.y*r;return e.jsx(bt,{className:"track-map-marker-tooltip",placement:"top",title:R(O,p({},f)),open:!!O,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${f.id}`,cx:v,cy:V,r:i/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:O.label})})},f.id)}),ve=X?{x:X.x+X.width/2,y:X.y+X.height/2}:{x:0,y:0},be=te.reduce((u,f)=>[Math.min(u[0],f.x),Math.max(u[1],f.x)],[0,0]),ke=te.reduce((u,f)=>[Math.min(u[0],f.y),Math.max(u[1],f.y)],[0,0]);return e.jsx(B.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:I,children:[e.jsx("svg",{style:c,ref:m,viewBox:`0 0 ${n} ${M}`,children:e.jsxs("g",{ref:T,x:be[0],y:ke[0],width:be[1]-be[0],height:ke[1]-ke[0],style:{transformOrigin:`${ve.x}px ${ve.y}px`,cursor:re?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[X&&e.jsx("rect",{x:X.x,y:X.y,width:X.width,height:X.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:Ge((te==null?void 0:te.filter(u=>u.order>-1))||[],r)}),e.jsxs("g",{className:"track-points",children:[je,ue]}),D&&e.jsx("g",{children:Te(D)})]})}),e.jsx("div",{className:"tooltip-container",ref:S,style:{position:"fixed",top:(ne==null?void 0:ne.y)||0,left:(ne==null?void 0:ne.x)||0,width:(ne==null?void 0:ne.width)||0,height:(ne==null?void 0:ne.height)||0}}),re&&T.current&&m.current&&e.jsx(Nn,{className:"path-moveable-control-box",ref:u=>{ee(u)},keepRatio:x,target:[T.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:u,beforeDelta:f,beforeDist:R,left:O,top:v,right:V,bottom:oe,delta:Ue,dist:Ae,transform:he,clientX:et,clientY:tt})=>{ye(Ae),u.style.transform=he},onDragStart:({inputEvent:u})=>{u.stopPropagation()},onDragEnd:()=>{var f;const u=(f=T.current)==null?void 0:f.getElementsByTagName("circle");_(u!=null&&u.length?[...u]:[]),Y&&Y({rotate:k,translate:G,scale:A},u!=null&&u.length?[...u]:[],m.current||void 0)},renderDirections:x?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:u,scale:f,transform:R})=>{var v;L(f),u.style.transform=R;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),Y&&Y({rotate:k,translate:G,scale:f},O!=null&&O.length?[...O]:[],m.current||void 0)},onRotate:({target:u,dist:f,transform:R})=>{var v;W(f),u.style.transform=R;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),Y&&Y({rotate:f,translate:G,scale:A},O!=null&&O.length?[...O]:[],m.current||void 0)},onRenderEnd:()=>{var f,R,O;const u=(f=T.current)==null?void 0:f.getElementsByTagName("circle");Y&&Y({rotate:k,translate:G,scale:A},u!=null&&u.length?[...u]:[],m.current||void 0),Ie((R=T.current)==null?void 0:R.getBBox()),Ne((O=T.current)==null?void 0:O.getBoundingClientRect())}})]})})},Et=t=>{const{name:n,type:M,style:s,className:r,children:i,onConfirm:a}=t,[l,c]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){c(null);return}if(t.confirm===!0){c({text:`确认${n}吗?`});return}c(t.confirm)},[t.confirm]),l?e.jsx(dn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:l.text,trigger:"click",onConfirm:a,children:e.jsx(_e,{className:r,type:M,style:p({},s),children:i||n})}):e.jsx(_e,{className:r,type:M,onClick:a,children:i||n})};let Ct;const uM=o.forwardRef((t,n)=>{var Mt,st,ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,At,wt;const{url:M,points:s,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,onPointClick:N,passes:g,activePassId:D,passStyle:d,activePassStyle:j,marks:x,draggable:y=!1,offsetEdge:Y=[50,50,50,50],zoomable:w=!1,zoomStep:h=.02,zoomMax:E=2,zoomMin:C=0,onImageLoad:P,trackEditable:I,trackEditing:b,keepRatio:T,transform:m,onTrackEditingChange:S,onTransform:$,onPointsChange:ee,actions:A=!0}=t,L=o.useRef({}),k=o.useRef({}),[W,G]=o.useState(0),[ye,je]=o.useState(0),[se,Z]=o.useState(1),[ae,ue]=o.useState(0),[ie,re]=o.useState(0),[J,me]=o.useState(0),[_,te]=o.useState(0),[Se,fe]=o.useState(!1),[He,X]=o.useState(!1),[Ie,ne]=o.useState(),[Ne,pe]=o.useState({x:0,y:0}),[We,xe,Ge,Oe]=Y,[le,Te]=o.useState(b),[ve,be]=o.useState(1),[ke,Qe]=o.useState(!1),[u,f]=o.useState(typeof A!="boolean"?A:A===!0?{}:null);o.useEffect(()=>{be(Math.round(se*100)/100)},[se]),o.useEffect(()=>{Te(b)},[b]),o.useEffect(()=>{Ct=new ResizeObserver(R),Ct.observe(k.current);const Q=U=>(U.preventDefault(),!1);return k.current.addEventListener("wheel",Q),()=>{k.current.removeEventListener("wheel",Q)}},[]);const R=()=>{if(!k.current)return;const Q=k.current.clientWidth,U=k.current.clientHeight,F=L.current.naturalWidth,K=L.current.naturalHeight,De=Q/F,Ze=U/K,Be=De<Ze?De:Ze,Xt=(Q-F*Be)/2,Kt=(U-K*Be)/2,qt=F*Be,en=K*Be;G(Q),je(U),Z(Be),ue(Xt),re(Kt),me(qt),te(en),fe(!0),P&&P(L.current)},O=()=>{if(!w||se>=E)return;let Q=se*(1+h),U=h;Q>=E&&(Q=E,U=E/se-1),ue(ae-J*(U/2)),re(ie-_*(U/2)),me(J+J*U),te(_+_*U),Z(Q),he()},v=()=>{if(!w||se<=C)return;let Q=se*(1-h),U=h;Q<=C&&(Q=C,U=1-C/se),ue(ae-J*(-U/2)),re(ie-_*(-U/2)),me(J+J*-U),te(_+_*-U),Z(Q),he()};o.useImperativeHandle(n,()=>({zoomIn:O,zoomOut:v}));const V=Q=>(Q.nativeEvent.deltaY<0?O():v(),!1),oe=Q=>{X(!0);const{pageX:U,pageY:F}=Q;pe({x:U,y:F})},Ue=Q=>{if(!He)return!1;const{pageX:U,pageY:F}=Q,K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),he()},Ae=()=>{X(!1)};window.onmouseup=()=>{X(!1)};const he=()=>{ae<-J+Oe&&ue(-J+Oe),ie<-_+We&&re(-_+We),ae>W-xe&&ue(W-xe),ie>ye-Ge&&re(ye-Ge)},et=()=>{Te(!le),S&&S(!le)},tt=Q=>{const{touches:U}=Q;if(console.log("onTouchStart"),console.log(U),X(!0),U.length<2){const{clientX:F,clientY:K}=U[0];pe({x:F,y:K})}else ne(U)},Ft=Q=>{if(!He||!Q.touches)return!1;const{clientX:U,clientY:F}=Q.touches[0];if(Q.touches.length<2){const K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),he()}else{console.log("onTouchMove"),console.log(Q.touches);const K=Q.touches,De=nt(K[0],K[1]),Ze=nt(Ie[0],Ie[1]);De>Ze?O():v()}},nt=(Q,U)=>{const F=U.pageX-Q.pageX,K=U.pageY-Q.pageY;return Math.sqrt(F*F+K*K)};o.useEffect(()=>{f(typeof A!="boolean"?A:A===!0?{}:null)},[A]);const Jt=()=>{Te(!1),S&&S(!1)},_t=()=>{Qe(!0)};return e.jsxs("div",{className:"image-map",ref:k,onMouseDown:y?oe:void 0,onMouseMove:y?Ue:void 0,onMouseUp:y?Ae:void 0,onWheel:y?V:void 0,onTouchStart:y?tt:void 0,onTouchMove:y?Ft:void 0,onTouchEnd:y?Ae:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:ae,top:ie,width:J,height:_},ref:L,onLoad:R,src:M,alt:""}),Se&&(g==null?void 0:g.length)&&e.jsx(Vt,{style:{position:"absolute",left:ae,top:ie,width:J,height:_},passes:g,scale:se,activePassId:D,passStyle:d,activePassStyle:j}),Se&&!!(s!=null&&s.length)&&e.jsx($t,{style:{position:"absolute",left:ae,top:ie,width:J,height:_,overflow:"visible"},width:L.current.naturalWidth,height:L.current.naturalHeight,transform:m,movable:le,resizable:le,points:s,scale:se,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,keepRatio:T,marks:x,onPointClick:N,onTransform:$,onPointsChange:Q=>{ee&&ee(Q),Te(!1),S&&S(!1)},onCancelResize:()=>{Te(!1),S&&S(!1)},actions:A,setIsSaved:Qe,isSaved:ke}),I&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx(Ht,{className:"zoom-controller",value:ve,min:C,max:E,step:h,showText:!0,onChange:Q=>{ve>Q?v():O()}}),I&&(le&&A?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Et,{children:typeof A!="boolean"&&((Mt=A.cancelButton)==null?void 0:Mt.children)||void 0,name:typeof A!="boolean"&&((st=A.cancelButton)==null?void 0:st.text)||"退出编辑",className:`editing-controller${le?" active":""} ${typeof A!="boolean"&&((ot=A.cancelButton)==null?void 0:ot.className)||""}`,confirm:((it=u==null?void 0:u.cancelButton)==null?void 0:it.confirm)===!0?{text:"调整记录将不被保存"}:(rt=u==null?void 0:u.cancelButton)!=null&&rt.confirm?u.cancelButton.confirm:!1,style:typeof A!="boolean"&&((ct=A.cancelButton)==null?void 0:ct.style)||void 0,onConfirm:Jt}),e.jsx(Et,{type:"primary",children:typeof A!="boolean"&&((at=A.okButton)==null?void 0:at.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(Ce.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof A!="boolean"&&((lt=A.okButton)!=null&<.confirm)?((zt=A.okButton)==null?void 0:zt.text)||"保存":"确定",className:`editing-controller${le?" active":""} ${typeof A!="boolean"&&((jt=A.okButton)==null?void 0:jt.className)||""}`,confirm:((Nt=u==null?void 0:u.okButton)==null?void 0:Nt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(ut=u==null?void 0:u.okButton)!=null&&ut.confirm?u.okButton.confirm:!1,style:typeof A!="boolean"&&((gt=A.okButton)==null?void 0:gt.style)||void 0,onConfirm:_t})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(_e,{title:le?typeof A!="boolean"&&((dt=A.editButton)==null?void 0:dt.exitTitleText)||"退出编辑":typeof A!="boolean"&&((yt=A.editButton)==null?void 0:yt.titleText)||"调整轨迹",className:`moveable-controller-btn${le?" active":""} ${typeof A!="boolean"&&((Dt=A.editButton)==null?void 0:Dt.className)||""}`,style:typeof A!="boolean"&&((It=A.editButton)==null?void 0:It.style)||void 0,onClick:et,children:typeof A!="boolean"?(xt=A.editButton)!=null&&xt.children?(Tt=A.editButton)==null?void 0:Tt.children:(At=A.editButton)!=null&&At.text?e.jsx("span",{children:(wt=A.editButton)==null?void 0:wt.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(q,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),gM=t=>{const{className:n,style:M,length:s=0,current:r=0,speed:i=2e3,play:a=!1,loop:l=!1,loading:c=!1,onChange:z}=t,[N,g]=o.useState(a),[D,d]=o.useState(r),[j,x]=o.useState(null);o.useEffect(()=>{d(r)},[r]),o.useEffect(()=>{g(a)},[a]),o.useEffect(()=>{N?y():D>=s-1&&(d(0),z(0))},[N]),o.useEffect(()=>{N&&(c?j&&(clearTimeout(j),x(null)):x(setTimeout(y,i)))},[c]);const y=()=>{d(h=>h<s-1?(z(h+1),h+1):l?(z(0),0):(w(),h))},Y=()=>{D>=s-1&&d(0),g(!0)},w=()=>{g(!1),j&&(clearTimeout(j),x(null))};return e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:D<=0||c,onClick:()=>{z(0),d(0)},children:e.jsx(q,{type:"icon-diyige"})}),e.jsx(ze,{disabled:D<=0||c,onClick:()=>{z(D-1),d(D-1)},children:e.jsx(q,{type:"icon-qianyige"})}),N?e.jsx(ze,{onClick:w,children:e.jsx(q,{type:"icon-zanting"})}):e.jsx(ze,{disabled:D>=s-1||c,onClick:Y,children:e.jsx(q,{type:"icon-bofang"})}),e.jsx(ze,{disabled:D>=s-1||c,onClick:()=>{z(D+1),d(D+1)},children:e.jsx(q,{type:"icon-xiayige"})}),e.jsx(ze,{disabled:D>=s-1||c,onClick:()=>{z(s-1),d(s-1)},children:e.jsx(q,{type:"icon-zuihouyige"})})]})};const dM=16,yM=16,DM=-1,IM=1,xM=-1,TM=1,AM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetX)return n.offsetX;{const s=M.getBoundingClientRect();return n.clientX-s.left}},wM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetY)return n.offsetY;{const s=M.getBoundingClientRect();return n.clientY-s.top}},LM=t=>{const n=t.split("-");let M=n.length>1||n[0]==="left"||n[0]==="right"?n[0]:"center",s=n.length>1?n[1]:n[0]==="top"||n[0]==="bottom"?n[0]:"middle";return[M,s]},mM=(t,n,M=[dM,yM])=>{const s=()=>{switch(t[0]){case"left":return DM;case"right":return IM;default:return 0}},r=()=>{switch(t[1]){case"top":return xM;case"bottom":return TM;default:return 0}},i=()=>{switch(t[0]){case"left":return-((n==null?void 0:n.width)||0)-M[0]-2;case"right":return 0;default:return-((n==null?void 0:n.width)||0)/2}},a=()=>{switch(t[1]){case"top":return-M[1]-2;case"bottom":return(n==null?void 0:n.height)||0;default:return((n==null?void 0:n.height)||0)/2}};return{x:M[0]*s()+i(),y:M[1]*r()+a()}},fM=t=>{var E;const{children:n,defaultPosition:M,forElement:s,placement:r="right-bottom",curserPosition:i,className:a,style:l}=t,c=o.useRef(null),z=o.useRef(null),N=s||document.body,g=LM(r),D=mM(g,(E=z.current)==null?void 0:E.getBoundingClientRect(),i),[d,j]=o.useState(t.visible||!0),[x,y]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(N.addEventListener("mouseenter",Y),N.addEventListener("mousemove",h),N.addEventListener("mouseleave",w),()=>{N.removeEventListener("mouseenter",Y),N.removeEventListener("mousemove",h),N.removeEventListener("mouseleave",w)}),[N]),o.useEffect(()=>{j(t.visible||!0)},[t.visible]);const Y=()=>{j(!0)},w=()=>{j(!1)},h=C=>{let P=AM(C)+D.x;const I=wM(C)+D.y;y({x:P,y:I})};return e.jsx("div",{className:`g-mouse-tip ${g.join(" ")}`,ref:c,style:{left:`${x.x}px`,top:`${x.y}px`,visibility:`${d?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${a}`,style:l,ref:z,children:n})})},Ht=t=>{const{className:n,style:M,value:s,min:r,max:i,step:a=1,onChange:l,showText:c=!1}=t,[z,N]=o.useState(s!=null?s:0);return o.useEffect(()=>{N(s!=null?s:0)},[s]),e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:!!(i&&i<=z),onClick:()=>{l(z+a),N(z+a)},children:e.jsx(q,{type:"icon-fangda"})}),c&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),e.jsx(ze,{disabled:!!(r&&r>=z),onClick:()=>{l(z-a),N(z-a)},children:e.jsx(q,{type:"icon-suoxiao"})})]})};function hM(t,n){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",t),M.appendChild(s),s.onload=n}function YM(t){const[n,M]=o.useState(!1),[s,r]=o.useState(),[i,a]=o.useState(),[l,c]=o.useState(!1),[z,N]=o.useState(),[g,D]=o.useState([]),[d,j]=o.useState(0);function x(I){if(I.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&y(I.viewToken)}const y=I=>{if(!s){let b=z,T=new window.Glodon.Bimface.Application.WebApplication3DConfig;T.domElement=b,T.Toolbars=[];const m=new window.Glodon.Bimface.Application.WebApplication3D(T);m.addView(I),r(m);const S=m.getViewer();S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){S.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},S.setCameraAnimation(!1),S.render(),S.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),S.render(),c(!0)}),S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j($=>$+1)}),a(S)}};o.useEffect(()=>{l&&g.forEach(I=>{i.loadModel({viewToken:I})})},[l,g]),o.useEffect(()=>{},[d]),o.useEffect(()=>{if(!z||!g.length)return;const I=g.pop();I&&w(I),D([...g])},[z]);function Y(I){console.log(I)}function w(I){j(0);const b=()=>{let T=new window.BimfaceSDKLoaderConfig;T.viewToken=I,window.BimfaceSDKLoader.load(T,x,Y)};if(!window.BimfaceSDKLoaderConfig){hM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",b);return}b()}const h=(I,b)=>{if(!i||!l||!z){console.error("BIMFace viewer is not ready.");return}const T=z.getElementsByTagName("canvas")[0],m=document.createElement("canvas");m.width=T.width,m.height=T.height;const S=m.getContext("2d");return S&&(S.fillStyle="#fff",S.fillRect(0,0,m.width,m.height),S.drawImage(T,0,0,T.width,T.height)),m.toDataURL(I,b)},E=I=>{if(!i){console.error("viewer is not ready");return}if(d&&g.length+1===d||!g.length)i.getAllModels().map(m=>i._models[m.modelId]).forEach(m=>{let S=new window.Glodon.Web.Graphics.Color(I);m.overrideAllComponentsColor&&m.overrideAllComponentsColor(S)}),i.enableWireframe(!0),i.getLightManager().getAllFillLights().forEach(m=>m.enableLight(!0)),i.render();else{console.error("viewer is not render complete");return}},C=I=>{if(i)if(d&&g.length+1===d||!g.length)i.getAllModels().map(m=>i._models[m.modelId]).forEach(m=>{Object.keys(I).forEach(S=>{let $=[{categoryId:S}];m.getComponentsByConditions($,function(ee){let A=new window.Glodon.Web.Graphics.Color(I[S]);m.overrideComponentsColorById&&m.overrideComponentsColorById(ee,A)},function(){window.alert("error")})})}),i.enableWireframe(!1),i.getLightManager().getAllFillLights().forEach(m=>m.enableLight(!1)),i.render();else{console.error("viewer is not render complete");return}};function P(I,b,T){const m=i.getModel();m==null||m.getBoundingBox(({currentBoundingBox:S})=>{const $=S.max.x-S.min.x,ee=S.max.y-S.min.y,A=$/ee;let L,k;A>1?(L=b.width,k=L/A):(k=b.height,L=k*A);const W=document.createElement("div");W.setAttribute("style",`width: ${L}px;height: ${k}px`),document.body.appendChild(W);const G=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;G.domElement=W;const ye=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(G),je=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;je.viewer=i,je.mapViewer=ye,je.type="SetProfile",je.height=I,je.successCallback=se=>{setTimeout(()=>{const Z=new Image;Z.src=W.getElementsByTagName("image")[0].getAttribute("href")||"",Z.onload=()=>{T(Z)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(je)})}return{BimfaceViewer:n&&window.Glodon.Bimface.Viewer,BimfaceSection:n&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:n&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:n&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:i,viewerAdded:l,sDKLoaded:n,loadedModelCount:d,loadModels:I=>{if(I!=null&&I.length||console.error("viewTokens is Empty"),!i&&z){const b=I[0];w(b)}D(I)},setContainerDom:N,getSnapshot:h,setComponentsColorByCatgryId:C,setAllComponentsColor:E,navigationMapByHeight:P}}function EM(t){const{url:n,onScaleChange:M,onLoad:s}=t,r=o.useRef(null),i=kt.useSize(r),a=i==null?void 0:i.width,l=i==null?void 0:i.height,[c,z]=o.useState();return o.useEffect(()=>{a&&l&&c&&M(a/c.width,a,l)},[a,l,c]),e.jsx("img",{ref:r,src:n,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(r.current){s&&s(r.current);const{naturalWidth:N,naturalHeight:g}=r.current;z({width:N,height:g})}}})}function St(t){const{start:n,end:M}=t,{options:{lineColor:s,lineWidth:r}}=o.useContext(Pe);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:n.x,y1:n.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:r!=null?r:2})})}function pt(t){const{markRenderer:n,marker:M}=t,{point:{x:s,y:r}}=M;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:s,cy:r,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:s,y:r,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:n&&n(M)})})]})}function Ot(t){const{points:n,editing:M,options:s,onClose:r}=t,[i,a]=o.useState(!1),{options:{polygon:l}}=o.useContext(Pe);if(!M&&Xe(n)<=2)return null;const c=In(n),z=n.map(({x:w,y:h})=>`${w},${h}`).join(" "),N=c?`${z} ${c.x},${c.y}`:z,{showVertexIndex:g,vertexBgColor:D,vertexTextColor:d}=l!=null?l:{},j=g?10:5,x=M||g,{hideBorder:y,backgroundColor:Y}=s!=null?s:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${N}`,fill:Y!=null?Y:"rgba(255, 66, 66, 0.15)"}),!y&&e.jsx("polyline",{points:M?z:N,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!y&&(n==null?void 0:n.map(({x:w,y:h},E)=>{const C=E===Xe(n)-1;return e.jsx("g",{style:{zIndex:C?1:100,cursor:"pointer",pointerEvents:C?"none":"bounding-box"},onMouseEnter:P=>{C||a(!0)},onMouseLeave:P=>{a(!1)},onClick:P=>{P.stopPropagation()},onDoubleClick:P=>{P.stopPropagation(),r&&r(E)},children:x&&(!C||!i)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:w,cy:h,r:j,fill:D!=null?D:"#FF5500"}),g&&e.jsx("text",{x:w,y:h,"text-anchor":"middle",fill:d!=null?d:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:E+1})]})})}))]})}const CM=$e.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:ge.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[ge.assign((t,{point:n})=>{t.markerPoint=n}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:ge.assign((t,n)=>{t.lineStart=n.point})},ADD_LINE_END:{target:"drawCompleted",actions:[ge.assign((t,n)=>{t.lineEnd=n.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:ge.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{var M;t.polygonPoints=(M=t.polygonPoints)!=null?M:[],t.polygonPoints.push(n)})},MOUSE_MOVE:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function SM(t){const{state:n,scale:M,width:s,height:r,drawOptions:i,lines:a,polygons:l,markers:c,markRenderer:z,onAddLine:N,onAddPolygon:g,onAddMarker:D,onStateChange:d}=t,[j,x]=o.useState([]),[y,Y]=o.useState([]),[w,h]=o.useState([]),E=o.useRef(null),{width:C,height:P}=kt.useSize(E)||{};function I({x:L,y:k}){return{x:L/M,y:k/M}}function b({x:L,y:k}){return{x:L*M,y:k*M}}const[T,m]=Dn.useMachine(CM,{actions:{onAddMarker:$e.assign(({markerPoint:L})=>(D&&L&&D(I(L)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:$e.assign(L=>(L.lineStart&&L.lineEnd&&N&&N(I(L.lineStart),I(L.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:$e.assign(({polygonPoints:L})=>(g&&L&&L.length>2&&g(L.map(I)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var L;x((L=a==null?void 0:a.map(({id:k,start:W,end:G})=>({id:k,start:b(W),end:b(G)})))!=null?L:[])},[a]),o.useEffect(()=>{var L;h((L=c==null?void 0:c.map(k=>Me(p({},k),{point:b(k.point)})))!=null?L:[])},[c]),o.useEffect(()=>{var L;Y((L=l==null?void 0:l.map(({id:k,points:W,options:G})=>({id:k,points:W.map(b),options:G})))!=null?L:[])},[l,M]),o.useEffect(()=>{d&&T.matches("idle")&&d("viewOnly")},[T.value]),o.useEffect(()=>{if(d)switch(n){case"drawingLine":m("START_DRAW_LINE");break;case"drawingPolygon":m("START_DRAW_POLYGON");break;case"addingMarker":m("START_ADD_MARKER");break}},[n]);const{lineStart:S,lineEnd:$,polygonPoints:ee,movingPoint:A}=T.context;return e.jsx(Pe.Provider,{value:{options:i!=null?i:{}},children:e.jsx("div",{ref:E,className:"w-full h-full absolute left-0 top-0",style:{cursor:n==="viewOnly"?void 0:"crosshair",width:s,height:r},children:C&&P&&e.jsxs("svg",{viewBox:`0 0 ${C} ${P}`,version:"1.1",className:"absolute inset-0",onClick:L=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),G={x:L.clientX-W,y:L.clientY-k};T.matches("drawingLine")?m(S===void 0?{type:"ADD_LINE_START",point:G}:{type:"ADD_LINE_END",point:G}):T.matches("drawingPolygon")?m({type:"ADD_POLYGON_POINT",point:G}):T.matches("addingMarker")&&m({type:"ADD_MARKER",point:G})},onMouseMove:L=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),G={x:L.clientX-W,y:L.clientY-k};m({type:"MOUSE_MOVE",point:G})},children:[j==null?void 0:j.map((L,k)=>e.jsx(St,p({},L),k)),S&&A&&e.jsx(St,{start:S,end:A}),y==null?void 0:y.map(({points:L,options:k},W)=>e.jsx(Ot,{editing:!1,points:L,options:k},W)),Xe(ee)>0&&A&&e.jsx(Ot,{editing:!0,points:[...ee,A],onClose:L=>{m({type:"DRAW_POLYGON_COMPLETE"})}}),w==null?void 0:w.map(L=>e.jsx(pt,{marker:L,markRenderer:z})),T.matches("addingMarker")&&A&&e.jsx(pt,{marker:{id:"addingMarker",point:A}})]})})})}function Ke(t,n,M){if(M)return Math.abs(Ke(t,M)-Ke(n,M));for(var s=Math.atan2(n.y-t.y,n.x-t.x);s<0;)s+=2*Math.PI;return s}const Pe=o.createContext({options:{}});Pe.displayName="DrawableContext";function pM(t){const i=t,{url:n}=i,M=we(i,["url"]),[s,r]=yn.useImmer({scale:1,width:0,height:0});return n?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(EM,{url:n,onScaleChange:(a,l,c)=>{r(z=>{z.scale=a,z.width=l,z.height=c})}}),e.jsx(SM,p(p({},M),s))]}):null}exports.Button=xn;exports.Copy=Ut;exports.DocumentViewer=Zt;exports.DrawableContext=Pe;exports.DrawableImageMap=pM;exports.ExpandablePannel=cM;exports.IconButton=ze;exports.Iconfont=q;exports.ImageMap=uM;exports.Markdown=Pt;exports.MarkdownATag=Rt;exports.MarkdownCode=Bt;exports.MarkdownImage=Qt;exports.MarkdownVideo=qe;exports.MouseTip=fM;exports.PanoramaRecordPlayer=gM;exports.PassMap=Vt;exports.TrackMap=$t;exports.Zoom=Ht;exports.calAngle=Ke;exports.useBimface=YM;
|