archgine 1.0.5 → 1.0.7

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/lib/archgine.mjs DELETED
@@ -1,4474 +0,0 @@
1
- const Ge = {
2
- name: "TinyEngine",
3
- containerId: "tinyEngine",
4
- canvas: "tinyEngine",
5
- width: 0,
6
- height: 0,
7
- aspect: 1,
8
- dpr: 1,
9
- alpha: !1,
10
- color: "#232323",
11
- fps: 60,
12
- syncDelay: 800,
13
- animateDuration: 1e3,
14
- usedCache: !1,
15
- showPoints: !1,
16
- wireframe: !1,
17
- castShadow: !1,
18
- workerRender: !1,
19
- monitorDuration: 1e4,
20
- light: {
21
- color: "#f2f2f2",
22
- position: [-6, 6, 0],
23
- castShadow: !0,
24
- shadowBlur: 16
25
- },
26
- camera: {
27
- left: -1,
28
- right: 1,
29
- top: 1,
30
- bottom: -1,
31
- aspect: 1,
32
- eye: [0, 0, 0],
33
- up: [0, 0, 1],
34
- helperEnable: !0
35
- },
36
- controls: {
37
- target: [0, 0, 0],
38
- minDistance: 0.1,
39
- maxDistance: 1e3,
40
- enablePan: !0,
41
- enableRotate: !0,
42
- enableZoom: !0,
43
- focusMode: !0,
44
- autoRotate: !1,
45
- autoRotateSpeed: 0.5,
46
- enableDamping: !0,
47
- dampingFactor: 0.2
48
- },
49
- gridHelper: {
50
- fill: "#e3e3e3"
51
- },
52
- axesHelper: {},
53
- displayUnits: "",
54
- // 公制: metric、英制: imperial,默认空为metric
55
- tooltip: !0,
56
- // 鼠标悬停提示,显示当前资源标签文本
57
- assetType: "rm",
58
- // 当前显示、操作的资源类型,需按照配置隐藏冲突的图层,避免鼠标交互时由于图层重叠顺序获取不到
59
- zoomToSelectEnable: !1,
60
- // 按选区缩放相机位置
61
- selectEnable: !1,
62
- // 是否开启单选资源
63
- multiSelectEnable: !1,
64
- // 是否开启多选资源
65
- socialDistanceEnable: !1,
66
- // 是否开始安全距离显示
67
- socialDistance: {
68
- // colors: ['#45b787', '#F26666'], // 安全距离圆形描边默认绿色,有交叉时红色
69
- radius: 3
70
- // 安全距离半径
71
- }
72
- };
73
- function Zu(e, u) {
74
- const r = e.x * Math.cos(u) - e.y * Math.sin(u), t = e.y * Math.cos(u) + e.x * Math.sin(u);
75
- e.x = r, e.y = t;
76
- }
77
- function He(e, u, r) {
78
- e.x += u, e.y += r;
79
- }
80
- function Qu(e, u) {
81
- e.x *= u, e.y *= u;
82
- }
83
- class nu {
84
- commands;
85
- constructor(u) {
86
- this.commands = [], u && u instanceof nu ? this.commands.push(...u.commands) : u && (this.commands = Ye(u));
87
- }
88
- addPath(u) {
89
- u && u instanceof nu && this.commands.push(...u.commands);
90
- }
91
- moveTo(u, r) {
92
- this.commands.push(["M", u, r]);
93
- }
94
- lineTo(u, r) {
95
- this.commands.push(["L", u, r]);
96
- }
97
- arc(u, r, t, n, a, o) {
98
- this.commands.push(["AC", u, r, t, n, a, !!o]);
99
- }
100
- arcTo(u, r, t, n, a) {
101
- this.commands.push(["AT", u, r, t, n, a]);
102
- }
103
- ellipse(u, r, t, n, a, o, s, l) {
104
- this.commands.push(["E", u, r, t, n, a, o, s, !!l]);
105
- }
106
- closePath() {
107
- this.commands.push(["Z"]);
108
- }
109
- bezierCurveTo(u, r, t, n, a, o) {
110
- this.commands.push(["C", u, r, t, n, a, o]);
111
- }
112
- quadraticCurveTo(u, r, t, n) {
113
- this.commands.push(["Q", u, r, t, n]);
114
- }
115
- rect(u, r, t, n) {
116
- this.commands.push(["R", u, r, t, n]);
117
- }
118
- roundRect(u, r, t, n, a) {
119
- typeof a > "u" ? this.commands.push(["RR", u, r, t, n, 0]) : this.commands.push(["RR", u, r, t, n, a]);
120
- }
121
- }
122
- function Ru(e, u) {
123
- let r = 0, t = 0, n, a, o, s, l, c, p, D, f, b, T, v, d, h, y, C, F, S, k, J, lu, E = null, x = null, m = null, B = null, U = null, I = null;
124
- e.beginPath();
125
- for (let A = 0; A < u.length; ++A) {
126
- S = u[A][0], S !== "S" && S !== "s" && S !== "C" && S !== "c" && (E = null, x = null), S !== "T" && S !== "t" && S !== "Q" && S !== "q" && (m = null, B = null);
127
- let i;
128
- switch (S) {
129
- case "m":
130
- case "M":
131
- i = u[A], S === "m" ? (r += i[1], t += i[2]) : (r = i[1], t = i[2]), (S === "M" || !U) && (U = { x: r, y: t }), e.moveTo(r, t);
132
- break;
133
- case "l":
134
- i = u[A], r += i[1], t += i[2], e.lineTo(r, t);
135
- break;
136
- case "L":
137
- i = u[A], r = i[1], t = i[2], e.lineTo(r, t);
138
- break;
139
- case "H":
140
- i = u[A], r = i[1], e.lineTo(r, t);
141
- break;
142
- case "h":
143
- i = u[A], r += i[1], e.lineTo(r, t);
144
- break;
145
- case "V":
146
- i = u[A], t = i[1], e.lineTo(r, t);
147
- break;
148
- case "v":
149
- i = u[A], t += i[1], e.lineTo(r, t);
150
- break;
151
- case "a":
152
- case "A":
153
- if (i = u[A], I === null)
154
- throw new Error("This should never happen");
155
- S === "a" ? (r += i[6], t += i[7]) : (r = i[6], t = i[7]), h = i[1], y = i[2], p = i[3] * Math.PI / 180, o = !!i[4], s = !!i[5], l = { x: r, y: t }, c = {
156
- x: (I.x - l.x) / 2,
157
- y: (I.y - l.y) / 2
158
- }, Zu(c, -p), D = c.x * c.x / (h * h) + c.y * c.y / (y * y), D > 1 && (D = Math.sqrt(D), h *= D, y *= D), k = {
159
- x: h * c.y / y,
160
- y: -(y * c.x) / h
161
- }, f = h * h * y * y, b = h * h * c.y * c.y + y * y * c.x * c.x, s !== o ? Qu(k, Math.sqrt((f - b) / b) || 0) : Qu(k, -Math.sqrt((f - b) / b) || 0), a = Math.atan2((c.y - k.y) / y, (c.x - k.x) / h), n = Math.atan2(-(c.y + k.y) / y, -(c.x + k.x) / h), Zu(k, p), He(k, (l.x + I.x) / 2, (l.y + I.y) / 2), e.save(), e.translate(k.x, k.y), e.rotate(p), e.scale(h, y), e.arc(0, 0, 1, a, n, !s), e.restore();
162
- break;
163
- case "C":
164
- i = u[A], E = i[3], x = i[4], r = i[5], t = i[6], e.bezierCurveTo(i[1], i[2], E, x, r, t);
165
- break;
166
- case "c":
167
- i = u[A], e.bezierCurveTo(i[1] + r, i[2] + t, i[3] + r, i[4] + t, i[5] + r, i[6] + t), E = i[3] + r, x = i[4] + t, r += i[5], t += i[6];
168
- break;
169
- case "S":
170
- i = u[A], (E === null || x === null) && (E = r, x = t), e.bezierCurveTo(2 * r - E, 2 * t - x, i[1], i[2], i[3], i[4]), E = i[1], x = i[2], r = i[3], t = i[4];
171
- break;
172
- case "s":
173
- i = u[A], (E === null || x === null) && (E = r, x = t), e.bezierCurveTo(2 * r - E, 2 * t - x, i[1] + r, i[2] + t, i[3] + r, i[4] + t), E = i[1] + r, x = i[2] + t, r += i[3], t += i[4];
174
- break;
175
- case "Q":
176
- i = u[A], m = i[1], B = i[2], r = i[3], t = i[4], e.quadraticCurveTo(m, B, r, t);
177
- break;
178
- case "q":
179
- i = u[A], m = i[1] + r, B = i[2] + t, r += i[3], t += i[4], e.quadraticCurveTo(m, B, r, t);
180
- break;
181
- case "T":
182
- i = u[A], (m === null || B === null) && (m = r, B = t), m = 2 * r - m, B = 2 * t - B, r = i[1], t = i[2], e.quadraticCurveTo(m, B, r, t);
183
- break;
184
- case "t":
185
- i = u[A], (m === null || B === null) && (m = r, B = t), m = 2 * r - m, B = 2 * t - B, r += i[1], t += i[2], e.quadraticCurveTo(m, B, r, t);
186
- break;
187
- case "z":
188
- case "Z":
189
- U && (r = U.x, t = U.y), U = null, e.closePath();
190
- break;
191
- case "AC":
192
- i = u[A], r = i[1], t = i[2], d = i[3], a = i[4], n = i[5], J = i[6], e.arc(r, t, d, a, n, J);
193
- break;
194
- case "AT":
195
- i = u[A], T = i[1], v = i[2], r = i[3], t = i[4], d = i[5], e.arcTo(T, v, r, t, d);
196
- break;
197
- case "E":
198
- i = u[A], r = i[1], t = i[2], h = i[3], y = i[4], p = i[5], a = i[6], n = i[7], J = i[8], e.save(), e.translate(r, t), e.rotate(p), e.scale(h, y), e.arc(0, 0, 1, a, n, J), e.restore();
199
- break;
200
- case "R":
201
- i = u[A], r = i[1], t = i[2], C = i[3], F = i[4], U = { x: r, y: t }, e.rect(r, t, C, F);
202
- break;
203
- case "RR":
204
- i = u[A], r = i[1], t = i[2], C = i[3], F = i[4], lu = i[5], U = { x: r, y: t }, e.roundRect(r, t, C, F, lu);
205
- break;
206
- }
207
- I ? (I.x = r, I.y = t) : I = { x: r, y: t };
208
- }
209
- }
210
- function ze(e) {
211
- if (!e || !e.CanvasRenderingContext2D || e.Path2D) return;
212
- const { CanvasRenderingContext2D: u } = e, r = u == null ? void 0 : u.prototype.fill, t = u == null ? void 0 : u.prototype.stroke, n = u == null ? void 0 : u.prototype.isPointInPath;
213
- u.prototype.fill = function(...o) {
214
- if (o[0] instanceof nu) {
215
- const s = o[0], l = o[1] || "nonzero";
216
- Ru(this, s.commands), r.apply(this, [l]);
217
- } else {
218
- const s = o[0] || "nonzero";
219
- return r.apply(this, [s]);
220
- }
221
- }, u.prototype.stroke = function(o) {
222
- o && Ru(this, o.commands), t.apply(this);
223
- }, u.prototype.isPointInPath = function(...o) {
224
- if (o[0] instanceof nu) {
225
- const s = o[0], l = o[1], c = o[2], p = o[3] || "nonzero";
226
- return Ru(this, s.commands), n.apply(this, [l, c, p]);
227
- } else
228
- return n.apply(this, o);
229
- }, e.Path2D = nu;
230
- }
231
- const cu = {
232
- a: 7,
233
- c: 6,
234
- h: 1,
235
- l: 2,
236
- m: 2,
237
- q: 4,
238
- s: 4,
239
- t: 2,
240
- v: 1,
241
- z: 0
242
- }, $e = /([astvzqmhlc])([^astvzqmhlc]*)/gi, je = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;
243
- function Xe(e) {
244
- const u = e.match(je);
245
- return u ? u.map(Number) : [];
246
- }
247
- function Ye(e) {
248
- const u = [], r = String(e).trim();
249
- return r[0] !== "M" && r[0] !== "m" || r.replace($e, (t, n, a) => {
250
- const o = Xe(a);
251
- let s = n.toLowerCase(), l = n;
252
- if (s === "m" && o.length > 2 && (u.push([l, ...o.splice(0, 2)]), s = "l", l = l === "m" ? "l" : "L"), o.length < cu[s])
253
- return "";
254
- for (u.push([l, ...o.splice(0, cu[s])]); o.length >= cu[s] && o.length && cu[s]; )
255
- u.push([l, ...o.splice(0, cu[s])]);
256
- return "";
257
- }), u;
258
- }
259
- var Z = {}, j = {};
260
- function We(e, u, r) {
261
- if (r === void 0 && (r = Array.prototype), e && typeof r.find == "function")
262
- return r.find.call(e, u);
263
- for (var t = 0; t < e.length; t++)
264
- if (Object.prototype.hasOwnProperty.call(e, t)) {
265
- var n = e[t];
266
- if (u.call(void 0, n, t, e))
267
- return n;
268
- }
269
- }
270
- function Uu(e, u) {
271
- return u === void 0 && (u = Object), u && typeof u.freeze == "function" ? u.freeze(e) : e;
272
- }
273
- function Ze(e, u) {
274
- if (e === null || typeof e != "object")
275
- throw new TypeError("target is not an object");
276
- for (var r in u)
277
- Object.prototype.hasOwnProperty.call(u, r) && (e[r] = u[r]);
278
- return e;
279
- }
280
- var he = Uu({
281
- /**
282
- * `text/html`, the only mime type that triggers treating an XML document as HTML.
283
- *
284
- * @see DOMParser.SupportedType.isHTML
285
- * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration
286
- * @see https://en.wikipedia.org/wiki/HTML Wikipedia
287
- * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN
288
- * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec
289
- */
290
- HTML: "text/html",
291
- /**
292
- * Helper method to check a mime type if it indicates an HTML document
293
- *
294
- * @param {string} [value]
295
- * @returns {boolean}
296
- *
297
- * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration
298
- * @see https://en.wikipedia.org/wiki/HTML Wikipedia
299
- * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN
300
- * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring */
301
- isHTML: function(e) {
302
- return e === he.HTML;
303
- },
304
- /**
305
- * `application/xml`, the standard mime type for XML documents.
306
- *
307
- * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration
308
- * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303
309
- * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia
310
- */
311
- XML_APPLICATION: "application/xml",
312
- /**
313
- * `text/html`, an alias for `application/xml`.
314
- *
315
- * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303
316
- * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration
317
- * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia
318
- */
319
- XML_TEXT: "text/xml",
320
- /**
321
- * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,
322
- * but is parsed as an XML document.
323
- *
324
- * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration
325
- * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec
326
- * @see https://en.wikipedia.org/wiki/XHTML Wikipedia
327
- */
328
- XML_XHTML_APPLICATION: "application/xhtml+xml",
329
- /**
330
- * `image/svg+xml`,
331
- *
332
- * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration
333
- * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1
334
- * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia
335
- */
336
- XML_SVG_IMAGE: "image/svg+xml"
337
- }), fe = Uu({
338
- /**
339
- * The XHTML namespace.
340
- *
341
- * @see http://www.w3.org/1999/xhtml
342
- */
343
- HTML: "http://www.w3.org/1999/xhtml",
344
- /**
345
- * Checks if `uri` equals `NAMESPACE.HTML`.
346
- *
347
- * @param {string} [uri]
348
- *
349
- * @see NAMESPACE.HTML
350
- */
351
- isHTML: function(e) {
352
- return e === fe.HTML;
353
- },
354
- /**
355
- * The SVG namespace.
356
- *
357
- * @see http://www.w3.org/2000/svg
358
- */
359
- SVG: "http://www.w3.org/2000/svg",
360
- /**
361
- * The `xml:` namespace.
362
- *
363
- * @see http://www.w3.org/XML/1998/namespace
364
- */
365
- XML: "http://www.w3.org/XML/1998/namespace",
366
- /**
367
- * The `xmlns:` namespace
368
- *
369
- * @see https://www.w3.org/2000/xmlns/
370
- */
371
- XMLNS: "http://www.w3.org/2000/xmlns/"
372
- });
373
- j.assign = Ze;
374
- j.find = We;
375
- j.freeze = Uu;
376
- j.MIME_TYPE = he;
377
- j.NAMESPACE = fe;
378
- var De = j, V = De.find, mu = De.NAMESPACE;
379
- function Qe(e) {
380
- return e !== "";
381
- }
382
- function Je(e) {
383
- return e ? e.split(/[\t\n\f\r ]+/).filter(Qe) : [];
384
- }
385
- function Ke(e, u) {
386
- return e.hasOwnProperty(u) || (e[u] = !0), e;
387
- }
388
- function Ju(e) {
389
- if (!e) return [];
390
- var u = Je(e);
391
- return Object.keys(u.reduce(Ke, {}));
392
- }
393
- function ur(e) {
394
- return function(u) {
395
- return e && e.indexOf(u) !== -1;
396
- };
397
- }
398
- function Au(e, u) {
399
- for (var r in e)
400
- Object.prototype.hasOwnProperty.call(e, r) && (u[r] = e[r]);
401
- }
402
- function O(e, u) {
403
- var r = e.prototype;
404
- if (!(r instanceof u)) {
405
- let t = function() {
406
- };
407
- t.prototype = u.prototype, t = new t(), Au(r, t), e.prototype = r = t;
408
- }
409
- r.constructor != e && (typeof e != "function" && console.error("unknown Class:" + e), r.constructor = e);
410
- }
411
- var L = {}, P = L.ELEMENT_NODE = 1, iu = L.ATTRIBUTE_NODE = 2, Nu = L.TEXT_NODE = 3, me = L.CDATA_SECTION_NODE = 4, ge = L.ENTITY_REFERENCE_NODE = 5, er = L.ENTITY_NODE = 6, de = L.PROCESSING_INSTRUCTION_NODE = 7, Ae = L.COMMENT_NODE = 8, Ee = L.DOCUMENT_NODE = 9, be = L.DOCUMENT_TYPE_NODE = 10, z = L.DOCUMENT_FRAGMENT_NODE = 11, rr = L.NOTATION_NODE = 12, q = {}, N = {};
412
- q.INDEX_SIZE_ERR = (N[1] = "Index size error", 1);
413
- q.DOMSTRING_SIZE_ERR = (N[2] = "DOMString size error", 2);
414
- var R = q.HIERARCHY_REQUEST_ERR = (N[3] = "Hierarchy request error", 3);
415
- q.WRONG_DOCUMENT_ERR = (N[4] = "Wrong document", 4);
416
- q.INVALID_CHARACTER_ERR = (N[5] = "Invalid character", 5);
417
- q.NO_DATA_ALLOWED_ERR = (N[6] = "No data allowed", 6);
418
- q.NO_MODIFICATION_ALLOWED_ERR = (N[7] = "No modification allowed", 7);
419
- var Ce = q.NOT_FOUND_ERR = (N[8] = "Not found", 8);
420
- q.NOT_SUPPORTED_ERR = (N[9] = "Not supported", 9);
421
- var Ku = q.INUSE_ATTRIBUTE_ERR = (N[10] = "Attribute in use", 10);
422
- q.INVALID_STATE_ERR = (N[11] = "Invalid state", 11);
423
- q.SYNTAX_ERR = (N[12] = "Syntax error", 12);
424
- q.INVALID_MODIFICATION_ERR = (N[13] = "Invalid modification", 13);
425
- q.NAMESPACE_ERR = (N[14] = "Invalid namespace", 14);
426
- q.INVALID_ACCESS_ERR = (N[15] = "Invalid access", 15);
427
- function w(e, u) {
428
- if (u instanceof Error)
429
- var r = u;
430
- else
431
- r = this, Error.call(this, N[e]), this.message = N[e], Error.captureStackTrace && Error.captureStackTrace(this, w);
432
- return r.code = e, u && (this.message = this.message + ": " + u), r;
433
- }
434
- w.prototype = Error.prototype;
435
- Au(q, w);
436
- function H() {
437
- }
438
- H.prototype = {
439
- /**
440
- * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
441
- * @standard level1
442
- */
443
- length: 0,
444
- /**
445
- * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.
446
- * @standard level1
447
- * @param index unsigned long
448
- * Index into the collection.
449
- * @return Node
450
- * The node at the indexth position in the NodeList, or null if that is not a valid index.
451
- */
452
- item: function(e) {
453
- return e >= 0 && e < this.length ? this[e] : null;
454
- },
455
- toString: function(e, u) {
456
- for (var r = [], t = 0; t < this.length; t++)
457
- tu(this[t], r, e, u);
458
- return r.join("");
459
- },
460
- /**
461
- * @private
462
- * @param {function (Node):boolean} predicate
463
- * @returns {Node[]}
464
- */
465
- filter: function(e) {
466
- return Array.prototype.filter.call(this, e);
467
- },
468
- /**
469
- * @private
470
- * @param {Node} item
471
- * @returns {number}
472
- */
473
- indexOf: function(e) {
474
- return Array.prototype.indexOf.call(this, e);
475
- }
476
- };
477
- function au(e, u) {
478
- this._node = e, this._refresh = u, Vu(this);
479
- }
480
- function Vu(e) {
481
- var u = e._node._inc || e._node.ownerDocument._inc;
482
- if (e._inc !== u) {
483
- var r = e._refresh(e._node);
484
- if (Re(e, "length", r.length), !e.$$length || r.length < e.$$length)
485
- for (var t = r.length; t in e; t++)
486
- Object.prototype.hasOwnProperty.call(e, t) && delete e[t];
487
- Au(r, e), e._inc = u;
488
- }
489
- }
490
- au.prototype.item = function(e) {
491
- return Vu(this), this[e] || null;
492
- };
493
- O(au, H);
494
- function Tu() {
495
- }
496
- function ve(e, u) {
497
- for (var r = e.length; r--; )
498
- if (e[r] === u)
499
- return r;
500
- }
501
- function ue(e, u, r, t) {
502
- if (t ? u[ve(u, t)] = r : u[u.length++] = r, e) {
503
- r.ownerElement = e;
504
- var n = e.ownerDocument;
505
- n && (t && Be(n, e, t), tr(n, e, r));
506
- }
507
- }
508
- function ee(e, u, r) {
509
- var t = ve(u, r);
510
- if (t >= 0) {
511
- for (var n = u.length - 1; t < n; )
512
- u[t] = u[++t];
513
- if (u.length = n, e) {
514
- var a = e.ownerDocument;
515
- a && (Be(a, e, r), r.ownerElement = null);
516
- }
517
- } else
518
- throw new w(Ce, new Error(e.tagName + "@" + r));
519
- }
520
- Tu.prototype = {
521
- length: 0,
522
- item: H.prototype.item,
523
- getNamedItem: function(e) {
524
- for (var u = this.length; u--; ) {
525
- var r = this[u];
526
- if (r.nodeName == e)
527
- return r;
528
- }
529
- },
530
- setNamedItem: function(e) {
531
- var u = e.ownerElement;
532
- if (u && u != this._ownerElement)
533
- throw new w(Ku);
534
- var r = this.getNamedItem(e.nodeName);
535
- return ue(this._ownerElement, this, e, r), r;
536
- },
537
- /* returns Node */
538
- setNamedItemNS: function(e) {
539
- var u = e.ownerElement, r;
540
- if (u && u != this._ownerElement)
541
- throw new w(Ku);
542
- return r = this.getNamedItemNS(e.namespaceURI, e.localName), ue(this._ownerElement, this, e, r), r;
543
- },
544
- /* returns Node */
545
- removeNamedItem: function(e) {
546
- var u = this.getNamedItem(e);
547
- return ee(this._ownerElement, this, u), u;
548
- },
549
- // raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR
550
- //for level2
551
- removeNamedItemNS: function(e, u) {
552
- var r = this.getNamedItemNS(e, u);
553
- return ee(this._ownerElement, this, r), r;
554
- },
555
- getNamedItemNS: function(e, u) {
556
- for (var r = this.length; r--; ) {
557
- var t = this[r];
558
- if (t.localName == u && t.namespaceURI == e)
559
- return t;
560
- }
561
- return null;
562
- }
563
- };
564
- function ye() {
565
- }
566
- ye.prototype = {
567
- /**
568
- * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.
569
- * The different implementations fairly diverged in what kind of features were reported.
570
- * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.
571
- *
572
- * @deprecated It is deprecated and modern browsers return true in all cases.
573
- *
574
- * @param {string} feature
575
- * @param {string} [version]
576
- * @returns {boolean} always true
577
- *
578
- * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN
579
- * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core
580
- * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard
581
- */
582
- hasFeature: function(e, u) {
583
- return !0;
584
- },
585
- /**
586
- * Creates an XML Document object of the specified type with its document element.
587
- *
588
- * __It behaves slightly different from the description in the living standard__:
589
- * - There is no interface/class `XMLDocument`, it returns a `Document` instance.
590
- * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.
591
- * - this implementation is not validating names or qualified names
592
- * (when parsing XML strings, the SAX parser takes care of that)
593
- *
594
- * @param {string|null} namespaceURI
595
- * @param {string} qualifiedName
596
- * @param {DocumentType=null} doctype
597
- * @returns {Document}
598
- *
599
- * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN
600
- * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)
601
- * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core
602
- *
603
- * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract
604
- * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names
605
- * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names
606
- */
607
- createDocument: function(e, u, r) {
608
- var t = new Eu();
609
- if (t.implementation = this, t.childNodes = new H(), t.doctype = r || null, r && t.appendChild(r), u) {
610
- var n = t.createElementNS(e, u);
611
- t.appendChild(n);
612
- }
613
- return t;
614
- },
615
- /**
616
- * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.
617
- *
618
- * __This behavior is slightly different from the in the specs__:
619
- * - this implementation is not validating names or qualified names
620
- * (when parsing XML strings, the SAX parser takes care of that)
621
- *
622
- * @param {string} qualifiedName
623
- * @param {string} [publicId]
624
- * @param {string} [systemId]
625
- * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation
626
- * or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`
627
- *
628
- * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN
629
- * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core
630
- * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard
631
- *
632
- * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract
633
- * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names
634
- * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names
635
- */
636
- createDocumentType: function(e, u, r) {
637
- var t = new xu();
638
- return t.name = e, t.nodeName = e, t.publicId = u || "", t.systemId = r || "", t;
639
- }
640
- };
641
- function g() {
642
- }
643
- g.prototype = {
644
- firstChild: null,
645
- lastChild: null,
646
- previousSibling: null,
647
- nextSibling: null,
648
- attributes: null,
649
- parentNode: null,
650
- childNodes: null,
651
- ownerDocument: null,
652
- nodeValue: null,
653
- namespaceURI: null,
654
- prefix: null,
655
- localName: null,
656
- // Modified in DOM Level 2:
657
- insertBefore: function(e, u) {
658
- return Fu(this, e, u);
659
- },
660
- replaceChild: function(e, u) {
661
- Fu(this, e, u, Te), u && this.removeChild(u);
662
- },
663
- removeChild: function(e) {
664
- return Ne(this, e);
665
- },
666
- appendChild: function(e) {
667
- return this.insertBefore(e, null);
668
- },
669
- hasChildNodes: function() {
670
- return this.firstChild != null;
671
- },
672
- cloneNode: function(e) {
673
- return Mu(this.ownerDocument || this, this, e);
674
- },
675
- // Modified in DOM Level 2:
676
- normalize: function() {
677
- for (var e = this.firstChild; e; ) {
678
- var u = e.nextSibling;
679
- u && u.nodeType == Nu && e.nodeType == Nu ? (this.removeChild(u), e.appendData(u.data)) : (e.normalize(), e = u);
680
- }
681
- },
682
- // Introduced in DOM Level 2:
683
- isSupported: function(e, u) {
684
- return this.ownerDocument.implementation.hasFeature(e, u);
685
- },
686
- // Introduced in DOM Level 2:
687
- hasAttributes: function() {
688
- return this.attributes.length > 0;
689
- },
690
- /**
691
- * Look up the prefix associated to the given namespace URI, starting from this node.
692
- * **The default namespace declarations are ignored by this method.**
693
- * See Namespace Prefix Lookup for details on the algorithm used by this method.
694
- *
695
- * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._
696
- *
697
- * @param {string | null} namespaceURI
698
- * @returns {string | null}
699
- * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix
700
- * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo
701
- * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix
702
- * @see https://github.com/xmldom/xmldom/issues/322
703
- */
704
- lookupPrefix: function(e) {
705
- for (var u = this; u; ) {
706
- var r = u._nsMap;
707
- if (r) {
708
- for (var t in r)
709
- if (Object.prototype.hasOwnProperty.call(r, t) && r[t] === e)
710
- return t;
711
- }
712
- u = u.nodeType == iu ? u.ownerDocument : u.parentNode;
713
- }
714
- return null;
715
- },
716
- // Introduced in DOM Level 3:
717
- lookupNamespaceURI: function(e) {
718
- for (var u = this; u; ) {
719
- var r = u._nsMap;
720
- if (r && Object.prototype.hasOwnProperty.call(r, e))
721
- return r[e];
722
- u = u.nodeType == iu ? u.ownerDocument : u.parentNode;
723
- }
724
- return null;
725
- },
726
- // Introduced in DOM Level 3:
727
- isDefaultNamespace: function(e) {
728
- var u = this.lookupPrefix(e);
729
- return u == null;
730
- }
731
- };
732
- function we(e) {
733
- return e == "<" && "&lt;" || e == ">" && "&gt;" || e == "&" && "&amp;" || e == '"' && "&quot;" || "&#" + e.charCodeAt() + ";";
734
- }
735
- Au(L, g);
736
- Au(L, g.prototype);
737
- function gu(e, u) {
738
- if (u(e))
739
- return !0;
740
- if (e = e.firstChild)
741
- do
742
- if (gu(e, u))
743
- return !0;
744
- while (e = e.nextSibling);
745
- }
746
- function Eu() {
747
- this.ownerDocument = this;
748
- }
749
- function tr(e, u, r) {
750
- e && e._inc++;
751
- var t = r.namespaceURI;
752
- t === mu.XMLNS && (u._nsMap[r.prefix ? r.localName : ""] = r.value);
753
- }
754
- function Be(e, u, r, t) {
755
- e && e._inc++;
756
- var n = r.namespaceURI;
757
- n === mu.XMLNS && delete u._nsMap[r.prefix ? r.localName : ""];
758
- }
759
- function Gu(e, u, r) {
760
- if (e && e._inc) {
761
- e._inc++;
762
- var t = u.childNodes;
763
- if (r)
764
- t[t.length++] = r;
765
- else {
766
- for (var n = u.firstChild, a = 0; n; )
767
- t[a++] = n, n = n.nextSibling;
768
- t.length = a, delete t[t.length];
769
- }
770
- }
771
- }
772
- function Ne(e, u) {
773
- var r = u.previousSibling, t = u.nextSibling;
774
- return r ? r.nextSibling = t : e.firstChild = t, t ? t.previousSibling = r : e.lastChild = r, u.parentNode = null, u.previousSibling = null, u.nextSibling = null, Gu(e.ownerDocument, e), u;
775
- }
776
- function nr(e) {
777
- return e && (e.nodeType === g.DOCUMENT_NODE || e.nodeType === g.DOCUMENT_FRAGMENT_NODE || e.nodeType === g.ELEMENT_NODE);
778
- }
779
- function ir(e) {
780
- return e && (G(e) || Hu(e) || $(e) || e.nodeType === g.DOCUMENT_FRAGMENT_NODE || e.nodeType === g.COMMENT_NODE || e.nodeType === g.PROCESSING_INSTRUCTION_NODE);
781
- }
782
- function $(e) {
783
- return e && e.nodeType === g.DOCUMENT_TYPE_NODE;
784
- }
785
- function G(e) {
786
- return e && e.nodeType === g.ELEMENT_NODE;
787
- }
788
- function Hu(e) {
789
- return e && e.nodeType === g.TEXT_NODE;
790
- }
791
- function re(e, u) {
792
- var r = e.childNodes || [];
793
- if (V(r, G) || $(u))
794
- return !1;
795
- var t = V(r, $);
796
- return !(u && t && r.indexOf(t) > r.indexOf(u));
797
- }
798
- function te(e, u) {
799
- var r = e.childNodes || [];
800
- function t(a) {
801
- return G(a) && a !== u;
802
- }
803
- if (V(r, t))
804
- return !1;
805
- var n = V(r, $);
806
- return !(u && n && r.indexOf(n) > r.indexOf(u));
807
- }
808
- function ar(e, u, r) {
809
- if (!nr(e))
810
- throw new w(R, "Unexpected parent node type " + e.nodeType);
811
- if (r && r.parentNode !== e)
812
- throw new w(Ce, "child not in parent");
813
- if (
814
- // 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a "HierarchyRequestError" DOMException.
815
- !ir(u) || // 5. If either `node` is a Text node and `parent` is a document,
816
- // the sax parser currently adds top level text nodes, this will be fixed in 0.9.0
817
- // || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)
818
- // or `node` is a doctype and `parent` is not a document, then throw a "HierarchyRequestError" DOMException.
819
- $(u) && e.nodeType !== g.DOCUMENT_NODE
820
- )
821
- throw new w(
822
- R,
823
- "Unexpected node type " + u.nodeType + " for parent node type " + e.nodeType
824
- );
825
- }
826
- function or(e, u, r) {
827
- var t = e.childNodes || [], n = u.childNodes || [];
828
- if (u.nodeType === g.DOCUMENT_FRAGMENT_NODE) {
829
- var a = n.filter(G);
830
- if (a.length > 1 || V(n, Hu))
831
- throw new w(R, "More than one element or text in fragment");
832
- if (a.length === 1 && !re(e, r))
833
- throw new w(R, "Element in fragment can not be inserted before doctype");
834
- }
835
- if (G(u) && !re(e, r))
836
- throw new w(R, "Only one element can be added and only after doctype");
837
- if ($(u)) {
838
- if (V(t, $))
839
- throw new w(R, "Only one doctype is allowed");
840
- var o = V(t, G);
841
- if (r && t.indexOf(o) < t.indexOf(r))
842
- throw new w(R, "Doctype can only be inserted before an element");
843
- if (!r && o)
844
- throw new w(R, "Doctype can not be appended since element is present");
845
- }
846
- }
847
- function Te(e, u, r) {
848
- var t = e.childNodes || [], n = u.childNodes || [];
849
- if (u.nodeType === g.DOCUMENT_FRAGMENT_NODE) {
850
- var a = n.filter(G);
851
- if (a.length > 1 || V(n, Hu))
852
- throw new w(R, "More than one element or text in fragment");
853
- if (a.length === 1 && !te(e, r))
854
- throw new w(R, "Element in fragment can not be inserted before doctype");
855
- }
856
- if (G(u) && !te(e, r))
857
- throw new w(R, "Only one element can be added and only after doctype");
858
- if ($(u)) {
859
- if (V(t, function(l) {
860
- return $(l) && l !== r;
861
- }))
862
- throw new w(R, "Only one doctype is allowed");
863
- var o = V(t, G);
864
- if (r && t.indexOf(o) < t.indexOf(r))
865
- throw new w(R, "Doctype can only be inserted before an element");
866
- }
867
- }
868
- function Fu(e, u, r, t) {
869
- ar(e, u, r), e.nodeType === g.DOCUMENT_NODE && (t || or)(e, u, r);
870
- var n = u.parentNode;
871
- if (n && n.removeChild(u), u.nodeType === z) {
872
- var a = u.firstChild;
873
- if (a == null)
874
- return u;
875
- var o = u.lastChild;
876
- } else
877
- a = o = u;
878
- var s = r ? r.previousSibling : e.lastChild;
879
- a.previousSibling = s, o.nextSibling = r, s ? s.nextSibling = a : e.firstChild = a, r == null ? e.lastChild = o : r.previousSibling = o;
880
- do
881
- a.parentNode = e;
882
- while (a !== o && (a = a.nextSibling));
883
- return Gu(e.ownerDocument || e, e), u.nodeType == z && (u.firstChild = u.lastChild = null), u;
884
- }
885
- function sr(e, u) {
886
- return u.parentNode && u.parentNode.removeChild(u), u.parentNode = e, u.previousSibling = e.lastChild, u.nextSibling = null, u.previousSibling ? u.previousSibling.nextSibling = u : e.firstChild = u, e.lastChild = u, Gu(e.ownerDocument, e, u), u;
887
- }
888
- Eu.prototype = {
889
- //implementation : null,
890
- nodeName: "#document",
891
- nodeType: Ee,
892
- /**
893
- * The DocumentType node of the document.
894
- *
895
- * @readonly
896
- * @type DocumentType
897
- */
898
- doctype: null,
899
- documentElement: null,
900
- _inc: 1,
901
- insertBefore: function(e, u) {
902
- if (e.nodeType == z) {
903
- for (var r = e.firstChild; r; ) {
904
- var t = r.nextSibling;
905
- this.insertBefore(r, u), r = t;
906
- }
907
- return e;
908
- }
909
- return Fu(this, e, u), e.ownerDocument = this, this.documentElement === null && e.nodeType === P && (this.documentElement = e), e;
910
- },
911
- removeChild: function(e) {
912
- return this.documentElement == e && (this.documentElement = null), Ne(this, e);
913
- },
914
- replaceChild: function(e, u) {
915
- Fu(this, e, u, Te), e.ownerDocument = this, u && this.removeChild(u), G(e) && (this.documentElement = e);
916
- },
917
- // Introduced in DOM Level 2:
918
- importNode: function(e, u) {
919
- return ke(this, e, u);
920
- },
921
- // Introduced in DOM Level 2:
922
- getElementById: function(e) {
923
- var u = null;
924
- return gu(this.documentElement, function(r) {
925
- if (r.nodeType == P && r.getAttribute("id") == e)
926
- return u = r, !0;
927
- }), u;
928
- },
929
- /**
930
- * The `getElementsByClassName` method of `Document` interface returns an array-like object
931
- * of all child elements which have **all** of the given class name(s).
932
- *
933
- * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.
934
- *
935
- *
936
- * Warning: This is a live LiveNodeList.
937
- * Changes in the DOM will reflect in the array as the changes occur.
938
- * If an element selected by this array no longer qualifies for the selector,
939
- * it will automatically be removed. Be aware of this for iteration purposes.
940
- *
941
- * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace
942
- *
943
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
944
- * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname
945
- */
946
- getElementsByClassName: function(e) {
947
- var u = Ju(e);
948
- return new au(this, function(r) {
949
- var t = [];
950
- return u.length > 0 && gu(r.documentElement, function(n) {
951
- if (n !== r && n.nodeType === P) {
952
- var a = n.getAttribute("class");
953
- if (a) {
954
- var o = e === a;
955
- if (!o) {
956
- var s = Ju(a);
957
- o = u.every(ur(s));
958
- }
959
- o && t.push(n);
960
- }
961
- }
962
- }), t;
963
- });
964
- },
965
- //document factory method:
966
- createElement: function(e) {
967
- var u = new Q();
968
- u.ownerDocument = this, u.nodeName = e, u.tagName = e, u.localName = e, u.childNodes = new H();
969
- var r = u.attributes = new Tu();
970
- return r._ownerElement = u, u;
971
- },
972
- createDocumentFragment: function() {
973
- var e = new qu();
974
- return e.ownerDocument = this, e.childNodes = new H(), e;
975
- },
976
- createTextNode: function(e) {
977
- var u = new zu();
978
- return u.ownerDocument = this, u.appendData(e), u;
979
- },
980
- createComment: function(e) {
981
- var u = new $u();
982
- return u.ownerDocument = this, u.appendData(e), u;
983
- },
984
- createCDATASection: function(e) {
985
- var u = new ju();
986
- return u.ownerDocument = this, u.appendData(e), u;
987
- },
988
- createProcessingInstruction: function(e, u) {
989
- var r = new Yu();
990
- return r.ownerDocument = this, r.tagName = r.nodeName = r.target = e, r.nodeValue = r.data = u, r;
991
- },
992
- createAttribute: function(e) {
993
- var u = new Su();
994
- return u.ownerDocument = this, u.name = e, u.nodeName = e, u.localName = e, u.specified = !0, u;
995
- },
996
- createEntityReference: function(e) {
997
- var u = new Xu();
998
- return u.ownerDocument = this, u.nodeName = e, u;
999
- },
1000
- // Introduced in DOM Level 2:
1001
- createElementNS: function(e, u) {
1002
- var r = new Q(), t = u.split(":"), n = r.attributes = new Tu();
1003
- return r.childNodes = new H(), r.ownerDocument = this, r.nodeName = u, r.tagName = u, r.namespaceURI = e, t.length == 2 ? (r.prefix = t[0], r.localName = t[1]) : r.localName = u, n._ownerElement = r, r;
1004
- },
1005
- // Introduced in DOM Level 2:
1006
- createAttributeNS: function(e, u) {
1007
- var r = new Su(), t = u.split(":");
1008
- return r.ownerDocument = this, r.nodeName = u, r.name = u, r.namespaceURI = e, r.specified = !0, t.length == 2 ? (r.prefix = t[0], r.localName = t[1]) : r.localName = u, r;
1009
- }
1010
- };
1011
- O(Eu, g);
1012
- function Q() {
1013
- this._nsMap = {};
1014
- }
1015
- Q.prototype = {
1016
- nodeType: P,
1017
- hasAttribute: function(e) {
1018
- return this.getAttributeNode(e) != null;
1019
- },
1020
- getAttribute: function(e) {
1021
- var u = this.getAttributeNode(e);
1022
- return u && u.value || "";
1023
- },
1024
- getAttributeNode: function(e) {
1025
- return this.attributes.getNamedItem(e);
1026
- },
1027
- setAttribute: function(e, u) {
1028
- var r = this.ownerDocument.createAttribute(e);
1029
- r.value = r.nodeValue = "" + u, this.setAttributeNode(r);
1030
- },
1031
- removeAttribute: function(e) {
1032
- var u = this.getAttributeNode(e);
1033
- u && this.removeAttributeNode(u);
1034
- },
1035
- //four real opeartion method
1036
- appendChild: function(e) {
1037
- return e.nodeType === z ? this.insertBefore(e, null) : sr(this, e);
1038
- },
1039
- setAttributeNode: function(e) {
1040
- return this.attributes.setNamedItem(e);
1041
- },
1042
- setAttributeNodeNS: function(e) {
1043
- return this.attributes.setNamedItemNS(e);
1044
- },
1045
- removeAttributeNode: function(e) {
1046
- return this.attributes.removeNamedItem(e.nodeName);
1047
- },
1048
- //get real attribute name,and remove it by removeAttributeNode
1049
- removeAttributeNS: function(e, u) {
1050
- var r = this.getAttributeNodeNS(e, u);
1051
- r && this.removeAttributeNode(r);
1052
- },
1053
- hasAttributeNS: function(e, u) {
1054
- return this.getAttributeNodeNS(e, u) != null;
1055
- },
1056
- getAttributeNS: function(e, u) {
1057
- var r = this.getAttributeNodeNS(e, u);
1058
- return r && r.value || "";
1059
- },
1060
- setAttributeNS: function(e, u, r) {
1061
- var t = this.ownerDocument.createAttributeNS(e, u);
1062
- t.value = t.nodeValue = "" + r, this.setAttributeNode(t);
1063
- },
1064
- getAttributeNodeNS: function(e, u) {
1065
- return this.attributes.getNamedItemNS(e, u);
1066
- },
1067
- getElementsByTagName: function(e) {
1068
- return new au(this, function(u) {
1069
- var r = [];
1070
- return gu(u, function(t) {
1071
- t !== u && t.nodeType == P && (e === "*" || t.tagName == e) && r.push(t);
1072
- }), r;
1073
- });
1074
- },
1075
- getElementsByTagNameNS: function(e, u) {
1076
- return new au(this, function(r) {
1077
- var t = [];
1078
- return gu(r, function(n) {
1079
- n !== r && n.nodeType === P && (e === "*" || n.namespaceURI === e) && (u === "*" || n.localName == u) && t.push(n);
1080
- }), t;
1081
- });
1082
- }
1083
- };
1084
- Eu.prototype.getElementsByTagName = Q.prototype.getElementsByTagName;
1085
- Eu.prototype.getElementsByTagNameNS = Q.prototype.getElementsByTagNameNS;
1086
- O(Q, g);
1087
- function Su() {
1088
- }
1089
- Su.prototype.nodeType = iu;
1090
- O(Su, g);
1091
- function bu() {
1092
- }
1093
- bu.prototype = {
1094
- data: "",
1095
- substringData: function(e, u) {
1096
- return this.data.substring(e, e + u);
1097
- },
1098
- appendData: function(e) {
1099
- e = this.data + e, this.nodeValue = this.data = e, this.length = e.length;
1100
- },
1101
- insertData: function(e, u) {
1102
- this.replaceData(e, 0, u);
1103
- },
1104
- appendChild: function(e) {
1105
- throw new Error(N[R]);
1106
- },
1107
- deleteData: function(e, u) {
1108
- this.replaceData(e, u, "");
1109
- },
1110
- replaceData: function(e, u, r) {
1111
- var t = this.data.substring(0, e), n = this.data.substring(e + u);
1112
- r = t + r + n, this.nodeValue = this.data = r, this.length = r.length;
1113
- }
1114
- };
1115
- O(bu, g);
1116
- function zu() {
1117
- }
1118
- zu.prototype = {
1119
- nodeName: "#text",
1120
- nodeType: Nu,
1121
- splitText: function(e) {
1122
- var u = this.data, r = u.substring(e);
1123
- u = u.substring(0, e), this.data = this.nodeValue = u, this.length = u.length;
1124
- var t = this.ownerDocument.createTextNode(r);
1125
- return this.parentNode && this.parentNode.insertBefore(t, this.nextSibling), t;
1126
- }
1127
- };
1128
- O(zu, bu);
1129
- function $u() {
1130
- }
1131
- $u.prototype = {
1132
- nodeName: "#comment",
1133
- nodeType: Ae
1134
- };
1135
- O($u, bu);
1136
- function ju() {
1137
- }
1138
- ju.prototype = {
1139
- nodeName: "#cdata-section",
1140
- nodeType: me
1141
- };
1142
- O(ju, bu);
1143
- function xu() {
1144
- }
1145
- xu.prototype.nodeType = be;
1146
- O(xu, g);
1147
- function Fe() {
1148
- }
1149
- Fe.prototype.nodeType = rr;
1150
- O(Fe, g);
1151
- function Se() {
1152
- }
1153
- Se.prototype.nodeType = er;
1154
- O(Se, g);
1155
- function Xu() {
1156
- }
1157
- Xu.prototype.nodeType = ge;
1158
- O(Xu, g);
1159
- function qu() {
1160
- }
1161
- qu.prototype.nodeName = "#document-fragment";
1162
- qu.prototype.nodeType = z;
1163
- O(qu, g);
1164
- function Yu() {
1165
- }
1166
- Yu.prototype.nodeType = de;
1167
- O(Yu, g);
1168
- function xe() {
1169
- }
1170
- xe.prototype.serializeToString = function(e, u, r) {
1171
- return qe.call(e, u, r);
1172
- };
1173
- g.prototype.toString = qe;
1174
- function qe(e, u) {
1175
- var r = [], t = this.nodeType == 9 && this.documentElement || this, n = t.prefix, a = t.namespaceURI;
1176
- if (a && n == null) {
1177
- var n = t.lookupPrefix(a);
1178
- if (n == null)
1179
- var o = [
1180
- { namespace: a, prefix: null }
1181
- //{namespace:uri,prefix:''}
1182
- ];
1183
- }
1184
- return tu(this, r, e, u, o), r.join("");
1185
- }
1186
- function ne(e, u, r) {
1187
- var t = e.prefix || "", n = e.namespaceURI;
1188
- if (!n || t === "xml" && n === mu.XML || n === mu.XMLNS)
1189
- return !1;
1190
- for (var a = r.length; a--; ) {
1191
- var o = r[a];
1192
- if (o.prefix === t)
1193
- return o.namespace !== n;
1194
- }
1195
- return !0;
1196
- }
1197
- function Ou(e, u, r) {
1198
- e.push(" ", u, '="', r.replace(/[<>&"\t\n\r]/g, we), '"');
1199
- }
1200
- function tu(e, u, r, t, n) {
1201
- if (n || (n = []), t)
1202
- if (e = t(e), e) {
1203
- if (typeof e == "string") {
1204
- u.push(e);
1205
- return;
1206
- }
1207
- } else
1208
- return;
1209
- switch (e.nodeType) {
1210
- case P:
1211
- var a = e.attributes, o = a.length, h = e.firstChild, s = e.tagName;
1212
- r = mu.isHTML(e.namespaceURI) || r;
1213
- var l = s;
1214
- if (!r && !e.prefix && e.namespaceURI) {
1215
- for (var c, p = 0; p < a.length; p++)
1216
- if (a.item(p).name === "xmlns") {
1217
- c = a.item(p).value;
1218
- break;
1219
- }
1220
- if (!c)
1221
- for (var D = n.length - 1; D >= 0; D--) {
1222
- var f = n[D];
1223
- if (f.prefix === "" && f.namespace === e.namespaceURI) {
1224
- c = f.namespace;
1225
- break;
1226
- }
1227
- }
1228
- if (c !== e.namespaceURI)
1229
- for (var D = n.length - 1; D >= 0; D--) {
1230
- var f = n[D];
1231
- if (f.namespace === e.namespaceURI) {
1232
- f.prefix && (l = f.prefix + ":" + s);
1233
- break;
1234
- }
1235
- }
1236
- }
1237
- u.push("<", l);
1238
- for (var b = 0; b < o; b++) {
1239
- var T = a.item(b);
1240
- T.prefix == "xmlns" ? n.push({ prefix: T.localName, namespace: T.value }) : T.nodeName == "xmlns" && n.push({ prefix: "", namespace: T.value });
1241
- }
1242
- for (var b = 0; b < o; b++) {
1243
- var T = a.item(b);
1244
- if (ne(T, r, n)) {
1245
- var v = T.prefix || "", d = T.namespaceURI;
1246
- Ou(u, v ? "xmlns:" + v : "xmlns", d), n.push({ prefix: v, namespace: d });
1247
- }
1248
- tu(T, u, r, t, n);
1249
- }
1250
- if (s === l && ne(e, r, n)) {
1251
- var v = e.prefix || "", d = e.namespaceURI;
1252
- Ou(u, v ? "xmlns:" + v : "xmlns", d), n.push({ prefix: v, namespace: d });
1253
- }
1254
- if (h || r && !/^(?:meta|link|img|br|hr|input)$/i.test(s)) {
1255
- if (u.push(">"), r && /^script$/i.test(s))
1256
- for (; h; )
1257
- h.data ? u.push(h.data) : tu(h, u, r, t, n.slice()), h = h.nextSibling;
1258
- else
1259
- for (; h; )
1260
- tu(h, u, r, t, n.slice()), h = h.nextSibling;
1261
- u.push("</", l, ">");
1262
- } else
1263
- u.push("/>");
1264
- return;
1265
- case Ee:
1266
- case z:
1267
- for (var h = e.firstChild; h; )
1268
- tu(h, u, r, t, n.slice()), h = h.nextSibling;
1269
- return;
1270
- case iu:
1271
- return Ou(u, e.name, e.value);
1272
- case Nu:
1273
- return u.push(
1274
- e.data.replace(/[<&>]/g, we)
1275
- );
1276
- case me:
1277
- return u.push("<![CDATA[", e.data, "]]>");
1278
- case Ae:
1279
- return u.push("<!--", e.data, "-->");
1280
- case be:
1281
- var y = e.publicId, C = e.systemId;
1282
- if (u.push("<!DOCTYPE ", e.name), y)
1283
- u.push(" PUBLIC ", y), C && C != "." && u.push(" ", C), u.push(">");
1284
- else if (C && C != ".")
1285
- u.push(" SYSTEM ", C, ">");
1286
- else {
1287
- var F = e.internalSubset;
1288
- F && u.push(" [", F, "]"), u.push(">");
1289
- }
1290
- return;
1291
- case de:
1292
- return u.push("<?", e.target, " ", e.data, "?>");
1293
- case ge:
1294
- return u.push("&", e.nodeName, ";");
1295
- default:
1296
- u.push("??", e.nodeName);
1297
- }
1298
- }
1299
- function ke(e, u, r) {
1300
- var t;
1301
- switch (u.nodeType) {
1302
- case P:
1303
- t = u.cloneNode(!1), t.ownerDocument = e;
1304
- case z:
1305
- break;
1306
- case iu:
1307
- r = !0;
1308
- break;
1309
- }
1310
- if (t || (t = u.cloneNode(!1)), t.ownerDocument = e, t.parentNode = null, r)
1311
- for (var n = u.firstChild; n; )
1312
- t.appendChild(ke(e, n, r)), n = n.nextSibling;
1313
- return t;
1314
- }
1315
- function Mu(e, u, r) {
1316
- var t = new u.constructor();
1317
- for (var n in u)
1318
- if (Object.prototype.hasOwnProperty.call(u, n)) {
1319
- var a = u[n];
1320
- typeof a != "object" && a != t[n] && (t[n] = a);
1321
- }
1322
- switch (u.childNodes && (t.childNodes = new H()), t.ownerDocument = e, t.nodeType) {
1323
- case P:
1324
- var o = u.attributes, s = t.attributes = new Tu(), l = o.length;
1325
- s._ownerElement = t;
1326
- for (var c = 0; c < l; c++)
1327
- t.setAttributeNode(Mu(e, o.item(c), !0));
1328
- break;
1329
- case iu:
1330
- r = !0;
1331
- }
1332
- if (r)
1333
- for (var p = u.firstChild; p; )
1334
- t.appendChild(Mu(e, p, r)), p = p.nextSibling;
1335
- return t;
1336
- }
1337
- function Re(e, u, r) {
1338
- e[u] = r;
1339
- }
1340
- try {
1341
- if (Object.defineProperty) {
1342
- let e = function(u) {
1343
- switch (u.nodeType) {
1344
- case P:
1345
- case z:
1346
- var r = [];
1347
- for (u = u.firstChild; u; )
1348
- u.nodeType !== 7 && u.nodeType !== 8 && r.push(e(u)), u = u.nextSibling;
1349
- return r.join("");
1350
- default:
1351
- return u.nodeValue;
1352
- }
1353
- };
1354
- Object.defineProperty(au.prototype, "length", {
1355
- get: function() {
1356
- return Vu(this), this.$$length;
1357
- }
1358
- }), Object.defineProperty(g.prototype, "textContent", {
1359
- get: function() {
1360
- return e(this);
1361
- },
1362
- set: function(u) {
1363
- switch (this.nodeType) {
1364
- case P:
1365
- case z:
1366
- for (; this.firstChild; )
1367
- this.removeChild(this.firstChild);
1368
- (u || String(u)) && this.appendChild(this.ownerDocument.createTextNode(u));
1369
- break;
1370
- default:
1371
- this.data = u, this.value = u, this.nodeValue = u;
1372
- }
1373
- }
1374
- }), Re = function(u, r, t) {
1375
- u["$$" + r] = t;
1376
- };
1377
- }
1378
- } catch {
1379
- }
1380
- Z.DocumentType = xu;
1381
- Z.DOMException = w;
1382
- Z.DOMImplementation = ye;
1383
- Z.Element = Q;
1384
- Z.Node = g;
1385
- Z.NodeList = H;
1386
- Z.XMLSerializer = xe;
1387
- var ku = {}, Oe = {};
1388
- (function(e) {
1389
- var u = j.freeze;
1390
- e.XML_ENTITIES = u({
1391
- amp: "&",
1392
- apos: "'",
1393
- gt: ">",
1394
- lt: "<",
1395
- quot: '"'
1396
- }), e.HTML_ENTITIES = u({
1397
- Aacute: "Á",
1398
- aacute: "á",
1399
- Abreve: "Ă",
1400
- abreve: "ă",
1401
- ac: "∾",
1402
- acd: "∿",
1403
- acE: "∾̳",
1404
- Acirc: "Â",
1405
- acirc: "â",
1406
- acute: "´",
1407
- Acy: "А",
1408
- acy: "а",
1409
- AElig: "Æ",
1410
- aelig: "æ",
1411
- af: "⁡",
1412
- Afr: "𝔄",
1413
- afr: "𝔞",
1414
- Agrave: "À",
1415
- agrave: "à",
1416
- alefsym: "ℵ",
1417
- aleph: "ℵ",
1418
- Alpha: "Α",
1419
- alpha: "α",
1420
- Amacr: "Ā",
1421
- amacr: "ā",
1422
- amalg: "⨿",
1423
- AMP: "&",
1424
- amp: "&",
1425
- And: "⩓",
1426
- and: "∧",
1427
- andand: "⩕",
1428
- andd: "⩜",
1429
- andslope: "⩘",
1430
- andv: "⩚",
1431
- ang: "∠",
1432
- ange: "⦤",
1433
- angle: "∠",
1434
- angmsd: "∡",
1435
- angmsdaa: "⦨",
1436
- angmsdab: "⦩",
1437
- angmsdac: "⦪",
1438
- angmsdad: "⦫",
1439
- angmsdae: "⦬",
1440
- angmsdaf: "⦭",
1441
- angmsdag: "⦮",
1442
- angmsdah: "⦯",
1443
- angrt: "∟",
1444
- angrtvb: "⊾",
1445
- angrtvbd: "⦝",
1446
- angsph: "∢",
1447
- angst: "Å",
1448
- angzarr: "⍼",
1449
- Aogon: "Ą",
1450
- aogon: "ą",
1451
- Aopf: "𝔸",
1452
- aopf: "𝕒",
1453
- ap: "≈",
1454
- apacir: "⩯",
1455
- apE: "⩰",
1456
- ape: "≊",
1457
- apid: "≋",
1458
- apos: "'",
1459
- ApplyFunction: "⁡",
1460
- approx: "≈",
1461
- approxeq: "≊",
1462
- Aring: "Å",
1463
- aring: "å",
1464
- Ascr: "𝒜",
1465
- ascr: "𝒶",
1466
- Assign: "≔",
1467
- ast: "*",
1468
- asymp: "≈",
1469
- asympeq: "≍",
1470
- Atilde: "Ã",
1471
- atilde: "ã",
1472
- Auml: "Ä",
1473
- auml: "ä",
1474
- awconint: "∳",
1475
- awint: "⨑",
1476
- backcong: "≌",
1477
- backepsilon: "϶",
1478
- backprime: "‵",
1479
- backsim: "∽",
1480
- backsimeq: "⋍",
1481
- Backslash: "∖",
1482
- Barv: "⫧",
1483
- barvee: "⊽",
1484
- Barwed: "⌆",
1485
- barwed: "⌅",
1486
- barwedge: "⌅",
1487
- bbrk: "⎵",
1488
- bbrktbrk: "⎶",
1489
- bcong: "≌",
1490
- Bcy: "Б",
1491
- bcy: "б",
1492
- bdquo: "„",
1493
- becaus: "∵",
1494
- Because: "∵",
1495
- because: "∵",
1496
- bemptyv: "⦰",
1497
- bepsi: "϶",
1498
- bernou: "ℬ",
1499
- Bernoullis: "ℬ",
1500
- Beta: "Β",
1501
- beta: "β",
1502
- beth: "ℶ",
1503
- between: "≬",
1504
- Bfr: "𝔅",
1505
- bfr: "𝔟",
1506
- bigcap: "⋂",
1507
- bigcirc: "◯",
1508
- bigcup: "⋃",
1509
- bigodot: "⨀",
1510
- bigoplus: "⨁",
1511
- bigotimes: "⨂",
1512
- bigsqcup: "⨆",
1513
- bigstar: "★",
1514
- bigtriangledown: "▽",
1515
- bigtriangleup: "△",
1516
- biguplus: "⨄",
1517
- bigvee: "⋁",
1518
- bigwedge: "⋀",
1519
- bkarow: "⤍",
1520
- blacklozenge: "⧫",
1521
- blacksquare: "▪",
1522
- blacktriangle: "▴",
1523
- blacktriangledown: "▾",
1524
- blacktriangleleft: "◂",
1525
- blacktriangleright: "▸",
1526
- blank: "␣",
1527
- blk12: "▒",
1528
- blk14: "░",
1529
- blk34: "▓",
1530
- block: "█",
1531
- bne: "=⃥",
1532
- bnequiv: "≡⃥",
1533
- bNot: "⫭",
1534
- bnot: "⌐",
1535
- Bopf: "𝔹",
1536
- bopf: "𝕓",
1537
- bot: "⊥",
1538
- bottom: "⊥",
1539
- bowtie: "⋈",
1540
- boxbox: "⧉",
1541
- boxDL: "╗",
1542
- boxDl: "╖",
1543
- boxdL: "╕",
1544
- boxdl: "┐",
1545
- boxDR: "╔",
1546
- boxDr: "╓",
1547
- boxdR: "╒",
1548
- boxdr: "┌",
1549
- boxH: "═",
1550
- boxh: "─",
1551
- boxHD: "╦",
1552
- boxHd: "╤",
1553
- boxhD: "╥",
1554
- boxhd: "┬",
1555
- boxHU: "╩",
1556
- boxHu: "╧",
1557
- boxhU: "╨",
1558
- boxhu: "┴",
1559
- boxminus: "⊟",
1560
- boxplus: "⊞",
1561
- boxtimes: "⊠",
1562
- boxUL: "╝",
1563
- boxUl: "╜",
1564
- boxuL: "╛",
1565
- boxul: "┘",
1566
- boxUR: "╚",
1567
- boxUr: "╙",
1568
- boxuR: "╘",
1569
- boxur: "└",
1570
- boxV: "║",
1571
- boxv: "│",
1572
- boxVH: "╬",
1573
- boxVh: "╫",
1574
- boxvH: "╪",
1575
- boxvh: "┼",
1576
- boxVL: "╣",
1577
- boxVl: "╢",
1578
- boxvL: "╡",
1579
- boxvl: "┤",
1580
- boxVR: "╠",
1581
- boxVr: "╟",
1582
- boxvR: "╞",
1583
- boxvr: "├",
1584
- bprime: "‵",
1585
- Breve: "˘",
1586
- breve: "˘",
1587
- brvbar: "¦",
1588
- Bscr: "ℬ",
1589
- bscr: "𝒷",
1590
- bsemi: "⁏",
1591
- bsim: "∽",
1592
- bsime: "⋍",
1593
- bsol: "\\",
1594
- bsolb: "⧅",
1595
- bsolhsub: "⟈",
1596
- bull: "•",
1597
- bullet: "•",
1598
- bump: "≎",
1599
- bumpE: "⪮",
1600
- bumpe: "≏",
1601
- Bumpeq: "≎",
1602
- bumpeq: "≏",
1603
- Cacute: "Ć",
1604
- cacute: "ć",
1605
- Cap: "⋒",
1606
- cap: "∩",
1607
- capand: "⩄",
1608
- capbrcup: "⩉",
1609
- capcap: "⩋",
1610
- capcup: "⩇",
1611
- capdot: "⩀",
1612
- CapitalDifferentialD: "ⅅ",
1613
- caps: "∩︀",
1614
- caret: "⁁",
1615
- caron: "ˇ",
1616
- Cayleys: "ℭ",
1617
- ccaps: "⩍",
1618
- Ccaron: "Č",
1619
- ccaron: "č",
1620
- Ccedil: "Ç",
1621
- ccedil: "ç",
1622
- Ccirc: "Ĉ",
1623
- ccirc: "ĉ",
1624
- Cconint: "∰",
1625
- ccups: "⩌",
1626
- ccupssm: "⩐",
1627
- Cdot: "Ċ",
1628
- cdot: "ċ",
1629
- cedil: "¸",
1630
- Cedilla: "¸",
1631
- cemptyv: "⦲",
1632
- cent: "¢",
1633
- CenterDot: "·",
1634
- centerdot: "·",
1635
- Cfr: "ℭ",
1636
- cfr: "𝔠",
1637
- CHcy: "Ч",
1638
- chcy: "ч",
1639
- check: "✓",
1640
- checkmark: "✓",
1641
- Chi: "Χ",
1642
- chi: "χ",
1643
- cir: "○",
1644
- circ: "ˆ",
1645
- circeq: "≗",
1646
- circlearrowleft: "↺",
1647
- circlearrowright: "↻",
1648
- circledast: "⊛",
1649
- circledcirc: "⊚",
1650
- circleddash: "⊝",
1651
- CircleDot: "⊙",
1652
- circledR: "®",
1653
- circledS: "Ⓢ",
1654
- CircleMinus: "⊖",
1655
- CirclePlus: "⊕",
1656
- CircleTimes: "⊗",
1657
- cirE: "⧃",
1658
- cire: "≗",
1659
- cirfnint: "⨐",
1660
- cirmid: "⫯",
1661
- cirscir: "⧂",
1662
- ClockwiseContourIntegral: "∲",
1663
- CloseCurlyDoubleQuote: "”",
1664
- CloseCurlyQuote: "’",
1665
- clubs: "♣",
1666
- clubsuit: "♣",
1667
- Colon: "∷",
1668
- colon: ":",
1669
- Colone: "⩴",
1670
- colone: "≔",
1671
- coloneq: "≔",
1672
- comma: ",",
1673
- commat: "@",
1674
- comp: "∁",
1675
- compfn: "∘",
1676
- complement: "∁",
1677
- complexes: "ℂ",
1678
- cong: "≅",
1679
- congdot: "⩭",
1680
- Congruent: "≡",
1681
- Conint: "∯",
1682
- conint: "∮",
1683
- ContourIntegral: "∮",
1684
- Copf: "ℂ",
1685
- copf: "𝕔",
1686
- coprod: "∐",
1687
- Coproduct: "∐",
1688
- COPY: "©",
1689
- copy: "©",
1690
- copysr: "℗",
1691
- CounterClockwiseContourIntegral: "∳",
1692
- crarr: "↵",
1693
- Cross: "⨯",
1694
- cross: "✗",
1695
- Cscr: "𝒞",
1696
- cscr: "𝒸",
1697
- csub: "⫏",
1698
- csube: "⫑",
1699
- csup: "⫐",
1700
- csupe: "⫒",
1701
- ctdot: "⋯",
1702
- cudarrl: "⤸",
1703
- cudarrr: "⤵",
1704
- cuepr: "⋞",
1705
- cuesc: "⋟",
1706
- cularr: "↶",
1707
- cularrp: "⤽",
1708
- Cup: "⋓",
1709
- cup: "∪",
1710
- cupbrcap: "⩈",
1711
- CupCap: "≍",
1712
- cupcap: "⩆",
1713
- cupcup: "⩊",
1714
- cupdot: "⊍",
1715
- cupor: "⩅",
1716
- cups: "∪︀",
1717
- curarr: "↷",
1718
- curarrm: "⤼",
1719
- curlyeqprec: "⋞",
1720
- curlyeqsucc: "⋟",
1721
- curlyvee: "⋎",
1722
- curlywedge: "⋏",
1723
- curren: "¤",
1724
- curvearrowleft: "↶",
1725
- curvearrowright: "↷",
1726
- cuvee: "⋎",
1727
- cuwed: "⋏",
1728
- cwconint: "∲",
1729
- cwint: "∱",
1730
- cylcty: "⌭",
1731
- Dagger: "‡",
1732
- dagger: "†",
1733
- daleth: "ℸ",
1734
- Darr: "↡",
1735
- dArr: "⇓",
1736
- darr: "↓",
1737
- dash: "‐",
1738
- Dashv: "⫤",
1739
- dashv: "⊣",
1740
- dbkarow: "⤏",
1741
- dblac: "˝",
1742
- Dcaron: "Ď",
1743
- dcaron: "ď",
1744
- Dcy: "Д",
1745
- dcy: "д",
1746
- DD: "ⅅ",
1747
- dd: "ⅆ",
1748
- ddagger: "‡",
1749
- ddarr: "⇊",
1750
- DDotrahd: "⤑",
1751
- ddotseq: "⩷",
1752
- deg: "°",
1753
- Del: "∇",
1754
- Delta: "Δ",
1755
- delta: "δ",
1756
- demptyv: "⦱",
1757
- dfisht: "⥿",
1758
- Dfr: "𝔇",
1759
- dfr: "𝔡",
1760
- dHar: "⥥",
1761
- dharl: "⇃",
1762
- dharr: "⇂",
1763
- DiacriticalAcute: "´",
1764
- DiacriticalDot: "˙",
1765
- DiacriticalDoubleAcute: "˝",
1766
- DiacriticalGrave: "`",
1767
- DiacriticalTilde: "˜",
1768
- diam: "⋄",
1769
- Diamond: "⋄",
1770
- diamond: "⋄",
1771
- diamondsuit: "♦",
1772
- diams: "♦",
1773
- die: "¨",
1774
- DifferentialD: "ⅆ",
1775
- digamma: "ϝ",
1776
- disin: "⋲",
1777
- div: "÷",
1778
- divide: "÷",
1779
- divideontimes: "⋇",
1780
- divonx: "⋇",
1781
- DJcy: "Ђ",
1782
- djcy: "ђ",
1783
- dlcorn: "⌞",
1784
- dlcrop: "⌍",
1785
- dollar: "$",
1786
- Dopf: "𝔻",
1787
- dopf: "𝕕",
1788
- Dot: "¨",
1789
- dot: "˙",
1790
- DotDot: "⃜",
1791
- doteq: "≐",
1792
- doteqdot: "≑",
1793
- DotEqual: "≐",
1794
- dotminus: "∸",
1795
- dotplus: "∔",
1796
- dotsquare: "⊡",
1797
- doublebarwedge: "⌆",
1798
- DoubleContourIntegral: "∯",
1799
- DoubleDot: "¨",
1800
- DoubleDownArrow: "⇓",
1801
- DoubleLeftArrow: "⇐",
1802
- DoubleLeftRightArrow: "⇔",
1803
- DoubleLeftTee: "⫤",
1804
- DoubleLongLeftArrow: "⟸",
1805
- DoubleLongLeftRightArrow: "⟺",
1806
- DoubleLongRightArrow: "⟹",
1807
- DoubleRightArrow: "⇒",
1808
- DoubleRightTee: "⊨",
1809
- DoubleUpArrow: "⇑",
1810
- DoubleUpDownArrow: "⇕",
1811
- DoubleVerticalBar: "∥",
1812
- DownArrow: "↓",
1813
- Downarrow: "⇓",
1814
- downarrow: "↓",
1815
- DownArrowBar: "⤓",
1816
- DownArrowUpArrow: "⇵",
1817
- DownBreve: "̑",
1818
- downdownarrows: "⇊",
1819
- downharpoonleft: "⇃",
1820
- downharpoonright: "⇂",
1821
- DownLeftRightVector: "⥐",
1822
- DownLeftTeeVector: "⥞",
1823
- DownLeftVector: "↽",
1824
- DownLeftVectorBar: "⥖",
1825
- DownRightTeeVector: "⥟",
1826
- DownRightVector: "⇁",
1827
- DownRightVectorBar: "⥗",
1828
- DownTee: "⊤",
1829
- DownTeeArrow: "↧",
1830
- drbkarow: "⤐",
1831
- drcorn: "⌟",
1832
- drcrop: "⌌",
1833
- Dscr: "𝒟",
1834
- dscr: "𝒹",
1835
- DScy: "Ѕ",
1836
- dscy: "ѕ",
1837
- dsol: "⧶",
1838
- Dstrok: "Đ",
1839
- dstrok: "đ",
1840
- dtdot: "⋱",
1841
- dtri: "▿",
1842
- dtrif: "▾",
1843
- duarr: "⇵",
1844
- duhar: "⥯",
1845
- dwangle: "⦦",
1846
- DZcy: "Џ",
1847
- dzcy: "џ",
1848
- dzigrarr: "⟿",
1849
- Eacute: "É",
1850
- eacute: "é",
1851
- easter: "⩮",
1852
- Ecaron: "Ě",
1853
- ecaron: "ě",
1854
- ecir: "≖",
1855
- Ecirc: "Ê",
1856
- ecirc: "ê",
1857
- ecolon: "≕",
1858
- Ecy: "Э",
1859
- ecy: "э",
1860
- eDDot: "⩷",
1861
- Edot: "Ė",
1862
- eDot: "≑",
1863
- edot: "ė",
1864
- ee: "ⅇ",
1865
- efDot: "≒",
1866
- Efr: "𝔈",
1867
- efr: "𝔢",
1868
- eg: "⪚",
1869
- Egrave: "È",
1870
- egrave: "è",
1871
- egs: "⪖",
1872
- egsdot: "⪘",
1873
- el: "⪙",
1874
- Element: "∈",
1875
- elinters: "⏧",
1876
- ell: "ℓ",
1877
- els: "⪕",
1878
- elsdot: "⪗",
1879
- Emacr: "Ē",
1880
- emacr: "ē",
1881
- empty: "∅",
1882
- emptyset: "∅",
1883
- EmptySmallSquare: "◻",
1884
- emptyv: "∅",
1885
- EmptyVerySmallSquare: "▫",
1886
- emsp: " ",
1887
- emsp13: " ",
1888
- emsp14: " ",
1889
- ENG: "Ŋ",
1890
- eng: "ŋ",
1891
- ensp: " ",
1892
- Eogon: "Ę",
1893
- eogon: "ę",
1894
- Eopf: "𝔼",
1895
- eopf: "𝕖",
1896
- epar: "⋕",
1897
- eparsl: "⧣",
1898
- eplus: "⩱",
1899
- epsi: "ε",
1900
- Epsilon: "Ε",
1901
- epsilon: "ε",
1902
- epsiv: "ϵ",
1903
- eqcirc: "≖",
1904
- eqcolon: "≕",
1905
- eqsim: "≂",
1906
- eqslantgtr: "⪖",
1907
- eqslantless: "⪕",
1908
- Equal: "⩵",
1909
- equals: "=",
1910
- EqualTilde: "≂",
1911
- equest: "≟",
1912
- Equilibrium: "⇌",
1913
- equiv: "≡",
1914
- equivDD: "⩸",
1915
- eqvparsl: "⧥",
1916
- erarr: "⥱",
1917
- erDot: "≓",
1918
- Escr: "ℰ",
1919
- escr: "ℯ",
1920
- esdot: "≐",
1921
- Esim: "⩳",
1922
- esim: "≂",
1923
- Eta: "Η",
1924
- eta: "η",
1925
- ETH: "Ð",
1926
- eth: "ð",
1927
- Euml: "Ë",
1928
- euml: "ë",
1929
- euro: "€",
1930
- excl: "!",
1931
- exist: "∃",
1932
- Exists: "∃",
1933
- expectation: "ℰ",
1934
- ExponentialE: "ⅇ",
1935
- exponentiale: "ⅇ",
1936
- fallingdotseq: "≒",
1937
- Fcy: "Ф",
1938
- fcy: "ф",
1939
- female: "♀",
1940
- ffilig: "ffi",
1941
- fflig: "ff",
1942
- ffllig: "ffl",
1943
- Ffr: "𝔉",
1944
- ffr: "𝔣",
1945
- filig: "fi",
1946
- FilledSmallSquare: "◼",
1947
- FilledVerySmallSquare: "▪",
1948
- fjlig: "fj",
1949
- flat: "♭",
1950
- fllig: "fl",
1951
- fltns: "▱",
1952
- fnof: "ƒ",
1953
- Fopf: "𝔽",
1954
- fopf: "𝕗",
1955
- ForAll: "∀",
1956
- forall: "∀",
1957
- fork: "⋔",
1958
- forkv: "⫙",
1959
- Fouriertrf: "ℱ",
1960
- fpartint: "⨍",
1961
- frac12: "½",
1962
- frac13: "⅓",
1963
- frac14: "¼",
1964
- frac15: "⅕",
1965
- frac16: "⅙",
1966
- frac18: "⅛",
1967
- frac23: "⅔",
1968
- frac25: "⅖",
1969
- frac34: "¾",
1970
- frac35: "⅗",
1971
- frac38: "⅜",
1972
- frac45: "⅘",
1973
- frac56: "⅚",
1974
- frac58: "⅝",
1975
- frac78: "⅞",
1976
- frasl: "⁄",
1977
- frown: "⌢",
1978
- Fscr: "ℱ",
1979
- fscr: "𝒻",
1980
- gacute: "ǵ",
1981
- Gamma: "Γ",
1982
- gamma: "γ",
1983
- Gammad: "Ϝ",
1984
- gammad: "ϝ",
1985
- gap: "⪆",
1986
- Gbreve: "Ğ",
1987
- gbreve: "ğ",
1988
- Gcedil: "Ģ",
1989
- Gcirc: "Ĝ",
1990
- gcirc: "ĝ",
1991
- Gcy: "Г",
1992
- gcy: "г",
1993
- Gdot: "Ġ",
1994
- gdot: "ġ",
1995
- gE: "≧",
1996
- ge: "≥",
1997
- gEl: "⪌",
1998
- gel: "⋛",
1999
- geq: "≥",
2000
- geqq: "≧",
2001
- geqslant: "⩾",
2002
- ges: "⩾",
2003
- gescc: "⪩",
2004
- gesdot: "⪀",
2005
- gesdoto: "⪂",
2006
- gesdotol: "⪄",
2007
- gesl: "⋛︀",
2008
- gesles: "⪔",
2009
- Gfr: "𝔊",
2010
- gfr: "𝔤",
2011
- Gg: "⋙",
2012
- gg: "≫",
2013
- ggg: "⋙",
2014
- gimel: "ℷ",
2015
- GJcy: "Ѓ",
2016
- gjcy: "ѓ",
2017
- gl: "≷",
2018
- gla: "⪥",
2019
- glE: "⪒",
2020
- glj: "⪤",
2021
- gnap: "⪊",
2022
- gnapprox: "⪊",
2023
- gnE: "≩",
2024
- gne: "⪈",
2025
- gneq: "⪈",
2026
- gneqq: "≩",
2027
- gnsim: "⋧",
2028
- Gopf: "𝔾",
2029
- gopf: "𝕘",
2030
- grave: "`",
2031
- GreaterEqual: "≥",
2032
- GreaterEqualLess: "⋛",
2033
- GreaterFullEqual: "≧",
2034
- GreaterGreater: "⪢",
2035
- GreaterLess: "≷",
2036
- GreaterSlantEqual: "⩾",
2037
- GreaterTilde: "≳",
2038
- Gscr: "𝒢",
2039
- gscr: "ℊ",
2040
- gsim: "≳",
2041
- gsime: "⪎",
2042
- gsiml: "⪐",
2043
- Gt: "≫",
2044
- GT: ">",
2045
- gt: ">",
2046
- gtcc: "⪧",
2047
- gtcir: "⩺",
2048
- gtdot: "⋗",
2049
- gtlPar: "⦕",
2050
- gtquest: "⩼",
2051
- gtrapprox: "⪆",
2052
- gtrarr: "⥸",
2053
- gtrdot: "⋗",
2054
- gtreqless: "⋛",
2055
- gtreqqless: "⪌",
2056
- gtrless: "≷",
2057
- gtrsim: "≳",
2058
- gvertneqq: "≩︀",
2059
- gvnE: "≩︀",
2060
- Hacek: "ˇ",
2061
- hairsp: " ",
2062
- half: "½",
2063
- hamilt: "ℋ",
2064
- HARDcy: "Ъ",
2065
- hardcy: "ъ",
2066
- hArr: "⇔",
2067
- harr: "↔",
2068
- harrcir: "⥈",
2069
- harrw: "↭",
2070
- Hat: "^",
2071
- hbar: "ℏ",
2072
- Hcirc: "Ĥ",
2073
- hcirc: "ĥ",
2074
- hearts: "♥",
2075
- heartsuit: "♥",
2076
- hellip: "…",
2077
- hercon: "⊹",
2078
- Hfr: "ℌ",
2079
- hfr: "𝔥",
2080
- HilbertSpace: "ℋ",
2081
- hksearow: "⤥",
2082
- hkswarow: "⤦",
2083
- hoarr: "⇿",
2084
- homtht: "∻",
2085
- hookleftarrow: "↩",
2086
- hookrightarrow: "↪",
2087
- Hopf: "ℍ",
2088
- hopf: "𝕙",
2089
- horbar: "―",
2090
- HorizontalLine: "─",
2091
- Hscr: "ℋ",
2092
- hscr: "𝒽",
2093
- hslash: "ℏ",
2094
- Hstrok: "Ħ",
2095
- hstrok: "ħ",
2096
- HumpDownHump: "≎",
2097
- HumpEqual: "≏",
2098
- hybull: "⁃",
2099
- hyphen: "‐",
2100
- Iacute: "Í",
2101
- iacute: "í",
2102
- ic: "⁣",
2103
- Icirc: "Î",
2104
- icirc: "î",
2105
- Icy: "И",
2106
- icy: "и",
2107
- Idot: "İ",
2108
- IEcy: "Е",
2109
- iecy: "е",
2110
- iexcl: "¡",
2111
- iff: "⇔",
2112
- Ifr: "ℑ",
2113
- ifr: "𝔦",
2114
- Igrave: "Ì",
2115
- igrave: "ì",
2116
- ii: "ⅈ",
2117
- iiiint: "⨌",
2118
- iiint: "∭",
2119
- iinfin: "⧜",
2120
- iiota: "℩",
2121
- IJlig: "IJ",
2122
- ijlig: "ij",
2123
- Im: "ℑ",
2124
- Imacr: "Ī",
2125
- imacr: "ī",
2126
- image: "ℑ",
2127
- ImaginaryI: "ⅈ",
2128
- imagline: "ℐ",
2129
- imagpart: "ℑ",
2130
- imath: "ı",
2131
- imof: "⊷",
2132
- imped: "Ƶ",
2133
- Implies: "⇒",
2134
- in: "∈",
2135
- incare: "℅",
2136
- infin: "∞",
2137
- infintie: "⧝",
2138
- inodot: "ı",
2139
- Int: "∬",
2140
- int: "∫",
2141
- intcal: "⊺",
2142
- integers: "ℤ",
2143
- Integral: "∫",
2144
- intercal: "⊺",
2145
- Intersection: "⋂",
2146
- intlarhk: "⨗",
2147
- intprod: "⨼",
2148
- InvisibleComma: "⁣",
2149
- InvisibleTimes: "⁢",
2150
- IOcy: "Ё",
2151
- iocy: "ё",
2152
- Iogon: "Į",
2153
- iogon: "į",
2154
- Iopf: "𝕀",
2155
- iopf: "𝕚",
2156
- Iota: "Ι",
2157
- iota: "ι",
2158
- iprod: "⨼",
2159
- iquest: "¿",
2160
- Iscr: "ℐ",
2161
- iscr: "𝒾",
2162
- isin: "∈",
2163
- isindot: "⋵",
2164
- isinE: "⋹",
2165
- isins: "⋴",
2166
- isinsv: "⋳",
2167
- isinv: "∈",
2168
- it: "⁢",
2169
- Itilde: "Ĩ",
2170
- itilde: "ĩ",
2171
- Iukcy: "І",
2172
- iukcy: "і",
2173
- Iuml: "Ï",
2174
- iuml: "ï",
2175
- Jcirc: "Ĵ",
2176
- jcirc: "ĵ",
2177
- Jcy: "Й",
2178
- jcy: "й",
2179
- Jfr: "𝔍",
2180
- jfr: "𝔧",
2181
- jmath: "ȷ",
2182
- Jopf: "𝕁",
2183
- jopf: "𝕛",
2184
- Jscr: "𝒥",
2185
- jscr: "𝒿",
2186
- Jsercy: "Ј",
2187
- jsercy: "ј",
2188
- Jukcy: "Є",
2189
- jukcy: "є",
2190
- Kappa: "Κ",
2191
- kappa: "κ",
2192
- kappav: "ϰ",
2193
- Kcedil: "Ķ",
2194
- kcedil: "ķ",
2195
- Kcy: "К",
2196
- kcy: "к",
2197
- Kfr: "𝔎",
2198
- kfr: "𝔨",
2199
- kgreen: "ĸ",
2200
- KHcy: "Х",
2201
- khcy: "х",
2202
- KJcy: "Ќ",
2203
- kjcy: "ќ",
2204
- Kopf: "𝕂",
2205
- kopf: "𝕜",
2206
- Kscr: "𝒦",
2207
- kscr: "𝓀",
2208
- lAarr: "⇚",
2209
- Lacute: "Ĺ",
2210
- lacute: "ĺ",
2211
- laemptyv: "⦴",
2212
- lagran: "ℒ",
2213
- Lambda: "Λ",
2214
- lambda: "λ",
2215
- Lang: "⟪",
2216
- lang: "⟨",
2217
- langd: "⦑",
2218
- langle: "⟨",
2219
- lap: "⪅",
2220
- Laplacetrf: "ℒ",
2221
- laquo: "«",
2222
- Larr: "↞",
2223
- lArr: "⇐",
2224
- larr: "←",
2225
- larrb: "⇤",
2226
- larrbfs: "⤟",
2227
- larrfs: "⤝",
2228
- larrhk: "↩",
2229
- larrlp: "↫",
2230
- larrpl: "⤹",
2231
- larrsim: "⥳",
2232
- larrtl: "↢",
2233
- lat: "⪫",
2234
- lAtail: "⤛",
2235
- latail: "⤙",
2236
- late: "⪭",
2237
- lates: "⪭︀",
2238
- lBarr: "⤎",
2239
- lbarr: "⤌",
2240
- lbbrk: "❲",
2241
- lbrace: "{",
2242
- lbrack: "[",
2243
- lbrke: "⦋",
2244
- lbrksld: "⦏",
2245
- lbrkslu: "⦍",
2246
- Lcaron: "Ľ",
2247
- lcaron: "ľ",
2248
- Lcedil: "Ļ",
2249
- lcedil: "ļ",
2250
- lceil: "⌈",
2251
- lcub: "{",
2252
- Lcy: "Л",
2253
- lcy: "л",
2254
- ldca: "⤶",
2255
- ldquo: "“",
2256
- ldquor: "„",
2257
- ldrdhar: "⥧",
2258
- ldrushar: "⥋",
2259
- ldsh: "↲",
2260
- lE: "≦",
2261
- le: "≤",
2262
- LeftAngleBracket: "⟨",
2263
- LeftArrow: "←",
2264
- Leftarrow: "⇐",
2265
- leftarrow: "←",
2266
- LeftArrowBar: "⇤",
2267
- LeftArrowRightArrow: "⇆",
2268
- leftarrowtail: "↢",
2269
- LeftCeiling: "⌈",
2270
- LeftDoubleBracket: "⟦",
2271
- LeftDownTeeVector: "⥡",
2272
- LeftDownVector: "⇃",
2273
- LeftDownVectorBar: "⥙",
2274
- LeftFloor: "⌊",
2275
- leftharpoondown: "↽",
2276
- leftharpoonup: "↼",
2277
- leftleftarrows: "⇇",
2278
- LeftRightArrow: "↔",
2279
- Leftrightarrow: "⇔",
2280
- leftrightarrow: "↔",
2281
- leftrightarrows: "⇆",
2282
- leftrightharpoons: "⇋",
2283
- leftrightsquigarrow: "↭",
2284
- LeftRightVector: "⥎",
2285
- LeftTee: "⊣",
2286
- LeftTeeArrow: "↤",
2287
- LeftTeeVector: "⥚",
2288
- leftthreetimes: "⋋",
2289
- LeftTriangle: "⊲",
2290
- LeftTriangleBar: "⧏",
2291
- LeftTriangleEqual: "⊴",
2292
- LeftUpDownVector: "⥑",
2293
- LeftUpTeeVector: "⥠",
2294
- LeftUpVector: "↿",
2295
- LeftUpVectorBar: "⥘",
2296
- LeftVector: "↼",
2297
- LeftVectorBar: "⥒",
2298
- lEg: "⪋",
2299
- leg: "⋚",
2300
- leq: "≤",
2301
- leqq: "≦",
2302
- leqslant: "⩽",
2303
- les: "⩽",
2304
- lescc: "⪨",
2305
- lesdot: "⩿",
2306
- lesdoto: "⪁",
2307
- lesdotor: "⪃",
2308
- lesg: "⋚︀",
2309
- lesges: "⪓",
2310
- lessapprox: "⪅",
2311
- lessdot: "⋖",
2312
- lesseqgtr: "⋚",
2313
- lesseqqgtr: "⪋",
2314
- LessEqualGreater: "⋚",
2315
- LessFullEqual: "≦",
2316
- LessGreater: "≶",
2317
- lessgtr: "≶",
2318
- LessLess: "⪡",
2319
- lesssim: "≲",
2320
- LessSlantEqual: "⩽",
2321
- LessTilde: "≲",
2322
- lfisht: "⥼",
2323
- lfloor: "⌊",
2324
- Lfr: "𝔏",
2325
- lfr: "𝔩",
2326
- lg: "≶",
2327
- lgE: "⪑",
2328
- lHar: "⥢",
2329
- lhard: "↽",
2330
- lharu: "↼",
2331
- lharul: "⥪",
2332
- lhblk: "▄",
2333
- LJcy: "Љ",
2334
- ljcy: "љ",
2335
- Ll: "⋘",
2336
- ll: "≪",
2337
- llarr: "⇇",
2338
- llcorner: "⌞",
2339
- Lleftarrow: "⇚",
2340
- llhard: "⥫",
2341
- lltri: "◺",
2342
- Lmidot: "Ŀ",
2343
- lmidot: "ŀ",
2344
- lmoust: "⎰",
2345
- lmoustache: "⎰",
2346
- lnap: "⪉",
2347
- lnapprox: "⪉",
2348
- lnE: "≨",
2349
- lne: "⪇",
2350
- lneq: "⪇",
2351
- lneqq: "≨",
2352
- lnsim: "⋦",
2353
- loang: "⟬",
2354
- loarr: "⇽",
2355
- lobrk: "⟦",
2356
- LongLeftArrow: "⟵",
2357
- Longleftarrow: "⟸",
2358
- longleftarrow: "⟵",
2359
- LongLeftRightArrow: "⟷",
2360
- Longleftrightarrow: "⟺",
2361
- longleftrightarrow: "⟷",
2362
- longmapsto: "⟼",
2363
- LongRightArrow: "⟶",
2364
- Longrightarrow: "⟹",
2365
- longrightarrow: "⟶",
2366
- looparrowleft: "↫",
2367
- looparrowright: "↬",
2368
- lopar: "⦅",
2369
- Lopf: "𝕃",
2370
- lopf: "𝕝",
2371
- loplus: "⨭",
2372
- lotimes: "⨴",
2373
- lowast: "∗",
2374
- lowbar: "_",
2375
- LowerLeftArrow: "↙",
2376
- LowerRightArrow: "↘",
2377
- loz: "◊",
2378
- lozenge: "◊",
2379
- lozf: "⧫",
2380
- lpar: "(",
2381
- lparlt: "⦓",
2382
- lrarr: "⇆",
2383
- lrcorner: "⌟",
2384
- lrhar: "⇋",
2385
- lrhard: "⥭",
2386
- lrm: "‎",
2387
- lrtri: "⊿",
2388
- lsaquo: "‹",
2389
- Lscr: "ℒ",
2390
- lscr: "𝓁",
2391
- Lsh: "↰",
2392
- lsh: "↰",
2393
- lsim: "≲",
2394
- lsime: "⪍",
2395
- lsimg: "⪏",
2396
- lsqb: "[",
2397
- lsquo: "‘",
2398
- lsquor: "‚",
2399
- Lstrok: "Ł",
2400
- lstrok: "ł",
2401
- Lt: "≪",
2402
- LT: "<",
2403
- lt: "<",
2404
- ltcc: "⪦",
2405
- ltcir: "⩹",
2406
- ltdot: "⋖",
2407
- lthree: "⋋",
2408
- ltimes: "⋉",
2409
- ltlarr: "⥶",
2410
- ltquest: "⩻",
2411
- ltri: "◃",
2412
- ltrie: "⊴",
2413
- ltrif: "◂",
2414
- ltrPar: "⦖",
2415
- lurdshar: "⥊",
2416
- luruhar: "⥦",
2417
- lvertneqq: "≨︀",
2418
- lvnE: "≨︀",
2419
- macr: "¯",
2420
- male: "♂",
2421
- malt: "✠",
2422
- maltese: "✠",
2423
- Map: "⤅",
2424
- map: "↦",
2425
- mapsto: "↦",
2426
- mapstodown: "↧",
2427
- mapstoleft: "↤",
2428
- mapstoup: "↥",
2429
- marker: "▮",
2430
- mcomma: "⨩",
2431
- Mcy: "М",
2432
- mcy: "м",
2433
- mdash: "—",
2434
- mDDot: "∺",
2435
- measuredangle: "∡",
2436
- MediumSpace: " ",
2437
- Mellintrf: "ℳ",
2438
- Mfr: "𝔐",
2439
- mfr: "𝔪",
2440
- mho: "℧",
2441
- micro: "µ",
2442
- mid: "∣",
2443
- midast: "*",
2444
- midcir: "⫰",
2445
- middot: "·",
2446
- minus: "−",
2447
- minusb: "⊟",
2448
- minusd: "∸",
2449
- minusdu: "⨪",
2450
- MinusPlus: "∓",
2451
- mlcp: "⫛",
2452
- mldr: "…",
2453
- mnplus: "∓",
2454
- models: "⊧",
2455
- Mopf: "𝕄",
2456
- mopf: "𝕞",
2457
- mp: "∓",
2458
- Mscr: "ℳ",
2459
- mscr: "𝓂",
2460
- mstpos: "∾",
2461
- Mu: "Μ",
2462
- mu: "μ",
2463
- multimap: "⊸",
2464
- mumap: "⊸",
2465
- nabla: "∇",
2466
- Nacute: "Ń",
2467
- nacute: "ń",
2468
- nang: "∠⃒",
2469
- nap: "≉",
2470
- napE: "⩰̸",
2471
- napid: "≋̸",
2472
- napos: "ʼn",
2473
- napprox: "≉",
2474
- natur: "♮",
2475
- natural: "♮",
2476
- naturals: "ℕ",
2477
- nbsp: " ",
2478
- nbump: "≎̸",
2479
- nbumpe: "≏̸",
2480
- ncap: "⩃",
2481
- Ncaron: "Ň",
2482
- ncaron: "ň",
2483
- Ncedil: "Ņ",
2484
- ncedil: "ņ",
2485
- ncong: "≇",
2486
- ncongdot: "⩭̸",
2487
- ncup: "⩂",
2488
- Ncy: "Н",
2489
- ncy: "н",
2490
- ndash: "–",
2491
- ne: "≠",
2492
- nearhk: "⤤",
2493
- neArr: "⇗",
2494
- nearr: "↗",
2495
- nearrow: "↗",
2496
- nedot: "≐̸",
2497
- NegativeMediumSpace: "​",
2498
- NegativeThickSpace: "​",
2499
- NegativeThinSpace: "​",
2500
- NegativeVeryThinSpace: "​",
2501
- nequiv: "≢",
2502
- nesear: "⤨",
2503
- nesim: "≂̸",
2504
- NestedGreaterGreater: "≫",
2505
- NestedLessLess: "≪",
2506
- NewLine: `
2507
- `,
2508
- nexist: "∄",
2509
- nexists: "∄",
2510
- Nfr: "𝔑",
2511
- nfr: "𝔫",
2512
- ngE: "≧̸",
2513
- nge: "≱",
2514
- ngeq: "≱",
2515
- ngeqq: "≧̸",
2516
- ngeqslant: "⩾̸",
2517
- nges: "⩾̸",
2518
- nGg: "⋙̸",
2519
- ngsim: "≵",
2520
- nGt: "≫⃒",
2521
- ngt: "≯",
2522
- ngtr: "≯",
2523
- nGtv: "≫̸",
2524
- nhArr: "⇎",
2525
- nharr: "↮",
2526
- nhpar: "⫲",
2527
- ni: "∋",
2528
- nis: "⋼",
2529
- nisd: "⋺",
2530
- niv: "∋",
2531
- NJcy: "Њ",
2532
- njcy: "њ",
2533
- nlArr: "⇍",
2534
- nlarr: "↚",
2535
- nldr: "‥",
2536
- nlE: "≦̸",
2537
- nle: "≰",
2538
- nLeftarrow: "⇍",
2539
- nleftarrow: "↚",
2540
- nLeftrightarrow: "⇎",
2541
- nleftrightarrow: "↮",
2542
- nleq: "≰",
2543
- nleqq: "≦̸",
2544
- nleqslant: "⩽̸",
2545
- nles: "⩽̸",
2546
- nless: "≮",
2547
- nLl: "⋘̸",
2548
- nlsim: "≴",
2549
- nLt: "≪⃒",
2550
- nlt: "≮",
2551
- nltri: "⋪",
2552
- nltrie: "⋬",
2553
- nLtv: "≪̸",
2554
- nmid: "∤",
2555
- NoBreak: "⁠",
2556
- NonBreakingSpace: " ",
2557
- Nopf: "ℕ",
2558
- nopf: "𝕟",
2559
- Not: "⫬",
2560
- not: "¬",
2561
- NotCongruent: "≢",
2562
- NotCupCap: "≭",
2563
- NotDoubleVerticalBar: "∦",
2564
- NotElement: "∉",
2565
- NotEqual: "≠",
2566
- NotEqualTilde: "≂̸",
2567
- NotExists: "∄",
2568
- NotGreater: "≯",
2569
- NotGreaterEqual: "≱",
2570
- NotGreaterFullEqual: "≧̸",
2571
- NotGreaterGreater: "≫̸",
2572
- NotGreaterLess: "≹",
2573
- NotGreaterSlantEqual: "⩾̸",
2574
- NotGreaterTilde: "≵",
2575
- NotHumpDownHump: "≎̸",
2576
- NotHumpEqual: "≏̸",
2577
- notin: "∉",
2578
- notindot: "⋵̸",
2579
- notinE: "⋹̸",
2580
- notinva: "∉",
2581
- notinvb: "⋷",
2582
- notinvc: "⋶",
2583
- NotLeftTriangle: "⋪",
2584
- NotLeftTriangleBar: "⧏̸",
2585
- NotLeftTriangleEqual: "⋬",
2586
- NotLess: "≮",
2587
- NotLessEqual: "≰",
2588
- NotLessGreater: "≸",
2589
- NotLessLess: "≪̸",
2590
- NotLessSlantEqual: "⩽̸",
2591
- NotLessTilde: "≴",
2592
- NotNestedGreaterGreater: "⪢̸",
2593
- NotNestedLessLess: "⪡̸",
2594
- notni: "∌",
2595
- notniva: "∌",
2596
- notnivb: "⋾",
2597
- notnivc: "⋽",
2598
- NotPrecedes: "⊀",
2599
- NotPrecedesEqual: "⪯̸",
2600
- NotPrecedesSlantEqual: "⋠",
2601
- NotReverseElement: "∌",
2602
- NotRightTriangle: "⋫",
2603
- NotRightTriangleBar: "⧐̸",
2604
- NotRightTriangleEqual: "⋭",
2605
- NotSquareSubset: "⊏̸",
2606
- NotSquareSubsetEqual: "⋢",
2607
- NotSquareSuperset: "⊐̸",
2608
- NotSquareSupersetEqual: "⋣",
2609
- NotSubset: "⊂⃒",
2610
- NotSubsetEqual: "⊈",
2611
- NotSucceeds: "⊁",
2612
- NotSucceedsEqual: "⪰̸",
2613
- NotSucceedsSlantEqual: "⋡",
2614
- NotSucceedsTilde: "≿̸",
2615
- NotSuperset: "⊃⃒",
2616
- NotSupersetEqual: "⊉",
2617
- NotTilde: "≁",
2618
- NotTildeEqual: "≄",
2619
- NotTildeFullEqual: "≇",
2620
- NotTildeTilde: "≉",
2621
- NotVerticalBar: "∤",
2622
- npar: "∦",
2623
- nparallel: "∦",
2624
- nparsl: "⫽⃥",
2625
- npart: "∂̸",
2626
- npolint: "⨔",
2627
- npr: "⊀",
2628
- nprcue: "⋠",
2629
- npre: "⪯̸",
2630
- nprec: "⊀",
2631
- npreceq: "⪯̸",
2632
- nrArr: "⇏",
2633
- nrarr: "↛",
2634
- nrarrc: "⤳̸",
2635
- nrarrw: "↝̸",
2636
- nRightarrow: "⇏",
2637
- nrightarrow: "↛",
2638
- nrtri: "⋫",
2639
- nrtrie: "⋭",
2640
- nsc: "⊁",
2641
- nsccue: "⋡",
2642
- nsce: "⪰̸",
2643
- Nscr: "𝒩",
2644
- nscr: "𝓃",
2645
- nshortmid: "∤",
2646
- nshortparallel: "∦",
2647
- nsim: "≁",
2648
- nsime: "≄",
2649
- nsimeq: "≄",
2650
- nsmid: "∤",
2651
- nspar: "∦",
2652
- nsqsube: "⋢",
2653
- nsqsupe: "⋣",
2654
- nsub: "⊄",
2655
- nsubE: "⫅̸",
2656
- nsube: "⊈",
2657
- nsubset: "⊂⃒",
2658
- nsubseteq: "⊈",
2659
- nsubseteqq: "⫅̸",
2660
- nsucc: "⊁",
2661
- nsucceq: "⪰̸",
2662
- nsup: "⊅",
2663
- nsupE: "⫆̸",
2664
- nsupe: "⊉",
2665
- nsupset: "⊃⃒",
2666
- nsupseteq: "⊉",
2667
- nsupseteqq: "⫆̸",
2668
- ntgl: "≹",
2669
- Ntilde: "Ñ",
2670
- ntilde: "ñ",
2671
- ntlg: "≸",
2672
- ntriangleleft: "⋪",
2673
- ntrianglelefteq: "⋬",
2674
- ntriangleright: "⋫",
2675
- ntrianglerighteq: "⋭",
2676
- Nu: "Ν",
2677
- nu: "ν",
2678
- num: "#",
2679
- numero: "№",
2680
- numsp: " ",
2681
- nvap: "≍⃒",
2682
- nVDash: "⊯",
2683
- nVdash: "⊮",
2684
- nvDash: "⊭",
2685
- nvdash: "⊬",
2686
- nvge: "≥⃒",
2687
- nvgt: ">⃒",
2688
- nvHarr: "⤄",
2689
- nvinfin: "⧞",
2690
- nvlArr: "⤂",
2691
- nvle: "≤⃒",
2692
- nvlt: "<⃒",
2693
- nvltrie: "⊴⃒",
2694
- nvrArr: "⤃",
2695
- nvrtrie: "⊵⃒",
2696
- nvsim: "∼⃒",
2697
- nwarhk: "⤣",
2698
- nwArr: "⇖",
2699
- nwarr: "↖",
2700
- nwarrow: "↖",
2701
- nwnear: "⤧",
2702
- Oacute: "Ó",
2703
- oacute: "ó",
2704
- oast: "⊛",
2705
- ocir: "⊚",
2706
- Ocirc: "Ô",
2707
- ocirc: "ô",
2708
- Ocy: "О",
2709
- ocy: "о",
2710
- odash: "⊝",
2711
- Odblac: "Ő",
2712
- odblac: "ő",
2713
- odiv: "⨸",
2714
- odot: "⊙",
2715
- odsold: "⦼",
2716
- OElig: "Œ",
2717
- oelig: "œ",
2718
- ofcir: "⦿",
2719
- Ofr: "𝔒",
2720
- ofr: "𝔬",
2721
- ogon: "˛",
2722
- Ograve: "Ò",
2723
- ograve: "ò",
2724
- ogt: "⧁",
2725
- ohbar: "⦵",
2726
- ohm: "Ω",
2727
- oint: "∮",
2728
- olarr: "↺",
2729
- olcir: "⦾",
2730
- olcross: "⦻",
2731
- oline: "‾",
2732
- olt: "⧀",
2733
- Omacr: "Ō",
2734
- omacr: "ō",
2735
- Omega: "Ω",
2736
- omega: "ω",
2737
- Omicron: "Ο",
2738
- omicron: "ο",
2739
- omid: "⦶",
2740
- ominus: "⊖",
2741
- Oopf: "𝕆",
2742
- oopf: "𝕠",
2743
- opar: "⦷",
2744
- OpenCurlyDoubleQuote: "“",
2745
- OpenCurlyQuote: "‘",
2746
- operp: "⦹",
2747
- oplus: "⊕",
2748
- Or: "⩔",
2749
- or: "∨",
2750
- orarr: "↻",
2751
- ord: "⩝",
2752
- order: "ℴ",
2753
- orderof: "ℴ",
2754
- ordf: "ª",
2755
- ordm: "º",
2756
- origof: "⊶",
2757
- oror: "⩖",
2758
- orslope: "⩗",
2759
- orv: "⩛",
2760
- oS: "Ⓢ",
2761
- Oscr: "𝒪",
2762
- oscr: "ℴ",
2763
- Oslash: "Ø",
2764
- oslash: "ø",
2765
- osol: "⊘",
2766
- Otilde: "Õ",
2767
- otilde: "õ",
2768
- Otimes: "⨷",
2769
- otimes: "⊗",
2770
- otimesas: "⨶",
2771
- Ouml: "Ö",
2772
- ouml: "ö",
2773
- ovbar: "⌽",
2774
- OverBar: "‾",
2775
- OverBrace: "⏞",
2776
- OverBracket: "⎴",
2777
- OverParenthesis: "⏜",
2778
- par: "∥",
2779
- para: "¶",
2780
- parallel: "∥",
2781
- parsim: "⫳",
2782
- parsl: "⫽",
2783
- part: "∂",
2784
- PartialD: "∂",
2785
- Pcy: "П",
2786
- pcy: "п",
2787
- percnt: "%",
2788
- period: ".",
2789
- permil: "‰",
2790
- perp: "⊥",
2791
- pertenk: "‱",
2792
- Pfr: "𝔓",
2793
- pfr: "𝔭",
2794
- Phi: "Φ",
2795
- phi: "φ",
2796
- phiv: "ϕ",
2797
- phmmat: "ℳ",
2798
- phone: "☎",
2799
- Pi: "Π",
2800
- pi: "π",
2801
- pitchfork: "⋔",
2802
- piv: "ϖ",
2803
- planck: "ℏ",
2804
- planckh: "ℎ",
2805
- plankv: "ℏ",
2806
- plus: "+",
2807
- plusacir: "⨣",
2808
- plusb: "⊞",
2809
- pluscir: "⨢",
2810
- plusdo: "∔",
2811
- plusdu: "⨥",
2812
- pluse: "⩲",
2813
- PlusMinus: "±",
2814
- plusmn: "±",
2815
- plussim: "⨦",
2816
- plustwo: "⨧",
2817
- pm: "±",
2818
- Poincareplane: "ℌ",
2819
- pointint: "⨕",
2820
- Popf: "ℙ",
2821
- popf: "𝕡",
2822
- pound: "£",
2823
- Pr: "⪻",
2824
- pr: "≺",
2825
- prap: "⪷",
2826
- prcue: "≼",
2827
- prE: "⪳",
2828
- pre: "⪯",
2829
- prec: "≺",
2830
- precapprox: "⪷",
2831
- preccurlyeq: "≼",
2832
- Precedes: "≺",
2833
- PrecedesEqual: "⪯",
2834
- PrecedesSlantEqual: "≼",
2835
- PrecedesTilde: "≾",
2836
- preceq: "⪯",
2837
- precnapprox: "⪹",
2838
- precneqq: "⪵",
2839
- precnsim: "⋨",
2840
- precsim: "≾",
2841
- Prime: "″",
2842
- prime: "′",
2843
- primes: "ℙ",
2844
- prnap: "⪹",
2845
- prnE: "⪵",
2846
- prnsim: "⋨",
2847
- prod: "∏",
2848
- Product: "∏",
2849
- profalar: "⌮",
2850
- profline: "⌒",
2851
- profsurf: "⌓",
2852
- prop: "∝",
2853
- Proportion: "∷",
2854
- Proportional: "∝",
2855
- propto: "∝",
2856
- prsim: "≾",
2857
- prurel: "⊰",
2858
- Pscr: "𝒫",
2859
- pscr: "𝓅",
2860
- Psi: "Ψ",
2861
- psi: "ψ",
2862
- puncsp: " ",
2863
- Qfr: "𝔔",
2864
- qfr: "𝔮",
2865
- qint: "⨌",
2866
- Qopf: "ℚ",
2867
- qopf: "𝕢",
2868
- qprime: "⁗",
2869
- Qscr: "𝒬",
2870
- qscr: "𝓆",
2871
- quaternions: "ℍ",
2872
- quatint: "⨖",
2873
- quest: "?",
2874
- questeq: "≟",
2875
- QUOT: '"',
2876
- quot: '"',
2877
- rAarr: "⇛",
2878
- race: "∽̱",
2879
- Racute: "Ŕ",
2880
- racute: "ŕ",
2881
- radic: "√",
2882
- raemptyv: "⦳",
2883
- Rang: "⟫",
2884
- rang: "⟩",
2885
- rangd: "⦒",
2886
- range: "⦥",
2887
- rangle: "⟩",
2888
- raquo: "»",
2889
- Rarr: "↠",
2890
- rArr: "⇒",
2891
- rarr: "→",
2892
- rarrap: "⥵",
2893
- rarrb: "⇥",
2894
- rarrbfs: "⤠",
2895
- rarrc: "⤳",
2896
- rarrfs: "⤞",
2897
- rarrhk: "↪",
2898
- rarrlp: "↬",
2899
- rarrpl: "⥅",
2900
- rarrsim: "⥴",
2901
- Rarrtl: "⤖",
2902
- rarrtl: "↣",
2903
- rarrw: "↝",
2904
- rAtail: "⤜",
2905
- ratail: "⤚",
2906
- ratio: "∶",
2907
- rationals: "ℚ",
2908
- RBarr: "⤐",
2909
- rBarr: "⤏",
2910
- rbarr: "⤍",
2911
- rbbrk: "❳",
2912
- rbrace: "}",
2913
- rbrack: "]",
2914
- rbrke: "⦌",
2915
- rbrksld: "⦎",
2916
- rbrkslu: "⦐",
2917
- Rcaron: "Ř",
2918
- rcaron: "ř",
2919
- Rcedil: "Ŗ",
2920
- rcedil: "ŗ",
2921
- rceil: "⌉",
2922
- rcub: "}",
2923
- Rcy: "Р",
2924
- rcy: "р",
2925
- rdca: "⤷",
2926
- rdldhar: "⥩",
2927
- rdquo: "”",
2928
- rdquor: "”",
2929
- rdsh: "↳",
2930
- Re: "ℜ",
2931
- real: "ℜ",
2932
- realine: "ℛ",
2933
- realpart: "ℜ",
2934
- reals: "ℝ",
2935
- rect: "▭",
2936
- REG: "®",
2937
- reg: "®",
2938
- ReverseElement: "∋",
2939
- ReverseEquilibrium: "⇋",
2940
- ReverseUpEquilibrium: "⥯",
2941
- rfisht: "⥽",
2942
- rfloor: "⌋",
2943
- Rfr: "ℜ",
2944
- rfr: "𝔯",
2945
- rHar: "⥤",
2946
- rhard: "⇁",
2947
- rharu: "⇀",
2948
- rharul: "⥬",
2949
- Rho: "Ρ",
2950
- rho: "ρ",
2951
- rhov: "ϱ",
2952
- RightAngleBracket: "⟩",
2953
- RightArrow: "→",
2954
- Rightarrow: "⇒",
2955
- rightarrow: "→",
2956
- RightArrowBar: "⇥",
2957
- RightArrowLeftArrow: "⇄",
2958
- rightarrowtail: "↣",
2959
- RightCeiling: "⌉",
2960
- RightDoubleBracket: "⟧",
2961
- RightDownTeeVector: "⥝",
2962
- RightDownVector: "⇂",
2963
- RightDownVectorBar: "⥕",
2964
- RightFloor: "⌋",
2965
- rightharpoondown: "⇁",
2966
- rightharpoonup: "⇀",
2967
- rightleftarrows: "⇄",
2968
- rightleftharpoons: "⇌",
2969
- rightrightarrows: "⇉",
2970
- rightsquigarrow: "↝",
2971
- RightTee: "⊢",
2972
- RightTeeArrow: "↦",
2973
- RightTeeVector: "⥛",
2974
- rightthreetimes: "⋌",
2975
- RightTriangle: "⊳",
2976
- RightTriangleBar: "⧐",
2977
- RightTriangleEqual: "⊵",
2978
- RightUpDownVector: "⥏",
2979
- RightUpTeeVector: "⥜",
2980
- RightUpVector: "↾",
2981
- RightUpVectorBar: "⥔",
2982
- RightVector: "⇀",
2983
- RightVectorBar: "⥓",
2984
- ring: "˚",
2985
- risingdotseq: "≓",
2986
- rlarr: "⇄",
2987
- rlhar: "⇌",
2988
- rlm: "‏",
2989
- rmoust: "⎱",
2990
- rmoustache: "⎱",
2991
- rnmid: "⫮",
2992
- roang: "⟭",
2993
- roarr: "⇾",
2994
- robrk: "⟧",
2995
- ropar: "⦆",
2996
- Ropf: "ℝ",
2997
- ropf: "𝕣",
2998
- roplus: "⨮",
2999
- rotimes: "⨵",
3000
- RoundImplies: "⥰",
3001
- rpar: ")",
3002
- rpargt: "⦔",
3003
- rppolint: "⨒",
3004
- rrarr: "⇉",
3005
- Rrightarrow: "⇛",
3006
- rsaquo: "›",
3007
- Rscr: "ℛ",
3008
- rscr: "𝓇",
3009
- Rsh: "↱",
3010
- rsh: "↱",
3011
- rsqb: "]",
3012
- rsquo: "’",
3013
- rsquor: "’",
3014
- rthree: "⋌",
3015
- rtimes: "⋊",
3016
- rtri: "▹",
3017
- rtrie: "⊵",
3018
- rtrif: "▸",
3019
- rtriltri: "⧎",
3020
- RuleDelayed: "⧴",
3021
- ruluhar: "⥨",
3022
- rx: "℞",
3023
- Sacute: "Ś",
3024
- sacute: "ś",
3025
- sbquo: "‚",
3026
- Sc: "⪼",
3027
- sc: "≻",
3028
- scap: "⪸",
3029
- Scaron: "Š",
3030
- scaron: "š",
3031
- sccue: "≽",
3032
- scE: "⪴",
3033
- sce: "⪰",
3034
- Scedil: "Ş",
3035
- scedil: "ş",
3036
- Scirc: "Ŝ",
3037
- scirc: "ŝ",
3038
- scnap: "⪺",
3039
- scnE: "⪶",
3040
- scnsim: "⋩",
3041
- scpolint: "⨓",
3042
- scsim: "≿",
3043
- Scy: "С",
3044
- scy: "с",
3045
- sdot: "⋅",
3046
- sdotb: "⊡",
3047
- sdote: "⩦",
3048
- searhk: "⤥",
3049
- seArr: "⇘",
3050
- searr: "↘",
3051
- searrow: "↘",
3052
- sect: "§",
3053
- semi: ";",
3054
- seswar: "⤩",
3055
- setminus: "∖",
3056
- setmn: "∖",
3057
- sext: "✶",
3058
- Sfr: "𝔖",
3059
- sfr: "𝔰",
3060
- sfrown: "⌢",
3061
- sharp: "♯",
3062
- SHCHcy: "Щ",
3063
- shchcy: "щ",
3064
- SHcy: "Ш",
3065
- shcy: "ш",
3066
- ShortDownArrow: "↓",
3067
- ShortLeftArrow: "←",
3068
- shortmid: "∣",
3069
- shortparallel: "∥",
3070
- ShortRightArrow: "→",
3071
- ShortUpArrow: "↑",
3072
- shy: "­",
3073
- Sigma: "Σ",
3074
- sigma: "σ",
3075
- sigmaf: "ς",
3076
- sigmav: "ς",
3077
- sim: "∼",
3078
- simdot: "⩪",
3079
- sime: "≃",
3080
- simeq: "≃",
3081
- simg: "⪞",
3082
- simgE: "⪠",
3083
- siml: "⪝",
3084
- simlE: "⪟",
3085
- simne: "≆",
3086
- simplus: "⨤",
3087
- simrarr: "⥲",
3088
- slarr: "←",
3089
- SmallCircle: "∘",
3090
- smallsetminus: "∖",
3091
- smashp: "⨳",
3092
- smeparsl: "⧤",
3093
- smid: "∣",
3094
- smile: "⌣",
3095
- smt: "⪪",
3096
- smte: "⪬",
3097
- smtes: "⪬︀",
3098
- SOFTcy: "Ь",
3099
- softcy: "ь",
3100
- sol: "/",
3101
- solb: "⧄",
3102
- solbar: "⌿",
3103
- Sopf: "𝕊",
3104
- sopf: "𝕤",
3105
- spades: "♠",
3106
- spadesuit: "♠",
3107
- spar: "∥",
3108
- sqcap: "⊓",
3109
- sqcaps: "⊓︀",
3110
- sqcup: "⊔",
3111
- sqcups: "⊔︀",
3112
- Sqrt: "√",
3113
- sqsub: "⊏",
3114
- sqsube: "⊑",
3115
- sqsubset: "⊏",
3116
- sqsubseteq: "⊑",
3117
- sqsup: "⊐",
3118
- sqsupe: "⊒",
3119
- sqsupset: "⊐",
3120
- sqsupseteq: "⊒",
3121
- squ: "□",
3122
- Square: "□",
3123
- square: "□",
3124
- SquareIntersection: "⊓",
3125
- SquareSubset: "⊏",
3126
- SquareSubsetEqual: "⊑",
3127
- SquareSuperset: "⊐",
3128
- SquareSupersetEqual: "⊒",
3129
- SquareUnion: "⊔",
3130
- squarf: "▪",
3131
- squf: "▪",
3132
- srarr: "→",
3133
- Sscr: "𝒮",
3134
- sscr: "𝓈",
3135
- ssetmn: "∖",
3136
- ssmile: "⌣",
3137
- sstarf: "⋆",
3138
- Star: "⋆",
3139
- star: "☆",
3140
- starf: "★",
3141
- straightepsilon: "ϵ",
3142
- straightphi: "ϕ",
3143
- strns: "¯",
3144
- Sub: "⋐",
3145
- sub: "⊂",
3146
- subdot: "⪽",
3147
- subE: "⫅",
3148
- sube: "⊆",
3149
- subedot: "⫃",
3150
- submult: "⫁",
3151
- subnE: "⫋",
3152
- subne: "⊊",
3153
- subplus: "⪿",
3154
- subrarr: "⥹",
3155
- Subset: "⋐",
3156
- subset: "⊂",
3157
- subseteq: "⊆",
3158
- subseteqq: "⫅",
3159
- SubsetEqual: "⊆",
3160
- subsetneq: "⊊",
3161
- subsetneqq: "⫋",
3162
- subsim: "⫇",
3163
- subsub: "⫕",
3164
- subsup: "⫓",
3165
- succ: "≻",
3166
- succapprox: "⪸",
3167
- succcurlyeq: "≽",
3168
- Succeeds: "≻",
3169
- SucceedsEqual: "⪰",
3170
- SucceedsSlantEqual: "≽",
3171
- SucceedsTilde: "≿",
3172
- succeq: "⪰",
3173
- succnapprox: "⪺",
3174
- succneqq: "⪶",
3175
- succnsim: "⋩",
3176
- succsim: "≿",
3177
- SuchThat: "∋",
3178
- Sum: "∑",
3179
- sum: "∑",
3180
- sung: "♪",
3181
- Sup: "⋑",
3182
- sup: "⊃",
3183
- sup1: "¹",
3184
- sup2: "²",
3185
- sup3: "³",
3186
- supdot: "⪾",
3187
- supdsub: "⫘",
3188
- supE: "⫆",
3189
- supe: "⊇",
3190
- supedot: "⫄",
3191
- Superset: "⊃",
3192
- SupersetEqual: "⊇",
3193
- suphsol: "⟉",
3194
- suphsub: "⫗",
3195
- suplarr: "⥻",
3196
- supmult: "⫂",
3197
- supnE: "⫌",
3198
- supne: "⊋",
3199
- supplus: "⫀",
3200
- Supset: "⋑",
3201
- supset: "⊃",
3202
- supseteq: "⊇",
3203
- supseteqq: "⫆",
3204
- supsetneq: "⊋",
3205
- supsetneqq: "⫌",
3206
- supsim: "⫈",
3207
- supsub: "⫔",
3208
- supsup: "⫖",
3209
- swarhk: "⤦",
3210
- swArr: "⇙",
3211
- swarr: "↙",
3212
- swarrow: "↙",
3213
- swnwar: "⤪",
3214
- szlig: "ß",
3215
- Tab: " ",
3216
- target: "⌖",
3217
- Tau: "Τ",
3218
- tau: "τ",
3219
- tbrk: "⎴",
3220
- Tcaron: "Ť",
3221
- tcaron: "ť",
3222
- Tcedil: "Ţ",
3223
- tcedil: "ţ",
3224
- Tcy: "Т",
3225
- tcy: "т",
3226
- tdot: "⃛",
3227
- telrec: "⌕",
3228
- Tfr: "𝔗",
3229
- tfr: "𝔱",
3230
- there4: "∴",
3231
- Therefore: "∴",
3232
- therefore: "∴",
3233
- Theta: "Θ",
3234
- theta: "θ",
3235
- thetasym: "ϑ",
3236
- thetav: "ϑ",
3237
- thickapprox: "≈",
3238
- thicksim: "∼",
3239
- ThickSpace: "  ",
3240
- thinsp: " ",
3241
- ThinSpace: " ",
3242
- thkap: "≈",
3243
- thksim: "∼",
3244
- THORN: "Þ",
3245
- thorn: "þ",
3246
- Tilde: "∼",
3247
- tilde: "˜",
3248
- TildeEqual: "≃",
3249
- TildeFullEqual: "≅",
3250
- TildeTilde: "≈",
3251
- times: "×",
3252
- timesb: "⊠",
3253
- timesbar: "⨱",
3254
- timesd: "⨰",
3255
- tint: "∭",
3256
- toea: "⤨",
3257
- top: "⊤",
3258
- topbot: "⌶",
3259
- topcir: "⫱",
3260
- Topf: "𝕋",
3261
- topf: "𝕥",
3262
- topfork: "⫚",
3263
- tosa: "⤩",
3264
- tprime: "‴",
3265
- TRADE: "™",
3266
- trade: "™",
3267
- triangle: "▵",
3268
- triangledown: "▿",
3269
- triangleleft: "◃",
3270
- trianglelefteq: "⊴",
3271
- triangleq: "≜",
3272
- triangleright: "▹",
3273
- trianglerighteq: "⊵",
3274
- tridot: "◬",
3275
- trie: "≜",
3276
- triminus: "⨺",
3277
- TripleDot: "⃛",
3278
- triplus: "⨹",
3279
- trisb: "⧍",
3280
- tritime: "⨻",
3281
- trpezium: "⏢",
3282
- Tscr: "𝒯",
3283
- tscr: "𝓉",
3284
- TScy: "Ц",
3285
- tscy: "ц",
3286
- TSHcy: "Ћ",
3287
- tshcy: "ћ",
3288
- Tstrok: "Ŧ",
3289
- tstrok: "ŧ",
3290
- twixt: "≬",
3291
- twoheadleftarrow: "↞",
3292
- twoheadrightarrow: "↠",
3293
- Uacute: "Ú",
3294
- uacute: "ú",
3295
- Uarr: "↟",
3296
- uArr: "⇑",
3297
- uarr: "↑",
3298
- Uarrocir: "⥉",
3299
- Ubrcy: "Ў",
3300
- ubrcy: "ў",
3301
- Ubreve: "Ŭ",
3302
- ubreve: "ŭ",
3303
- Ucirc: "Û",
3304
- ucirc: "û",
3305
- Ucy: "У",
3306
- ucy: "у",
3307
- udarr: "⇅",
3308
- Udblac: "Ű",
3309
- udblac: "ű",
3310
- udhar: "⥮",
3311
- ufisht: "⥾",
3312
- Ufr: "𝔘",
3313
- ufr: "𝔲",
3314
- Ugrave: "Ù",
3315
- ugrave: "ù",
3316
- uHar: "⥣",
3317
- uharl: "↿",
3318
- uharr: "↾",
3319
- uhblk: "▀",
3320
- ulcorn: "⌜",
3321
- ulcorner: "⌜",
3322
- ulcrop: "⌏",
3323
- ultri: "◸",
3324
- Umacr: "Ū",
3325
- umacr: "ū",
3326
- uml: "¨",
3327
- UnderBar: "_",
3328
- UnderBrace: "⏟",
3329
- UnderBracket: "⎵",
3330
- UnderParenthesis: "⏝",
3331
- Union: "⋃",
3332
- UnionPlus: "⊎",
3333
- Uogon: "Ų",
3334
- uogon: "ų",
3335
- Uopf: "𝕌",
3336
- uopf: "𝕦",
3337
- UpArrow: "↑",
3338
- Uparrow: "⇑",
3339
- uparrow: "↑",
3340
- UpArrowBar: "⤒",
3341
- UpArrowDownArrow: "⇅",
3342
- UpDownArrow: "↕",
3343
- Updownarrow: "⇕",
3344
- updownarrow: "↕",
3345
- UpEquilibrium: "⥮",
3346
- upharpoonleft: "↿",
3347
- upharpoonright: "↾",
3348
- uplus: "⊎",
3349
- UpperLeftArrow: "↖",
3350
- UpperRightArrow: "↗",
3351
- Upsi: "ϒ",
3352
- upsi: "υ",
3353
- upsih: "ϒ",
3354
- Upsilon: "Υ",
3355
- upsilon: "υ",
3356
- UpTee: "⊥",
3357
- UpTeeArrow: "↥",
3358
- upuparrows: "⇈",
3359
- urcorn: "⌝",
3360
- urcorner: "⌝",
3361
- urcrop: "⌎",
3362
- Uring: "Ů",
3363
- uring: "ů",
3364
- urtri: "◹",
3365
- Uscr: "𝒰",
3366
- uscr: "𝓊",
3367
- utdot: "⋰",
3368
- Utilde: "Ũ",
3369
- utilde: "ũ",
3370
- utri: "▵",
3371
- utrif: "▴",
3372
- uuarr: "⇈",
3373
- Uuml: "Ü",
3374
- uuml: "ü",
3375
- uwangle: "⦧",
3376
- vangrt: "⦜",
3377
- varepsilon: "ϵ",
3378
- varkappa: "ϰ",
3379
- varnothing: "∅",
3380
- varphi: "ϕ",
3381
- varpi: "ϖ",
3382
- varpropto: "∝",
3383
- vArr: "⇕",
3384
- varr: "↕",
3385
- varrho: "ϱ",
3386
- varsigma: "ς",
3387
- varsubsetneq: "⊊︀",
3388
- varsubsetneqq: "⫋︀",
3389
- varsupsetneq: "⊋︀",
3390
- varsupsetneqq: "⫌︀",
3391
- vartheta: "ϑ",
3392
- vartriangleleft: "⊲",
3393
- vartriangleright: "⊳",
3394
- Vbar: "⫫",
3395
- vBar: "⫨",
3396
- vBarv: "⫩",
3397
- Vcy: "В",
3398
- vcy: "в",
3399
- VDash: "⊫",
3400
- Vdash: "⊩",
3401
- vDash: "⊨",
3402
- vdash: "⊢",
3403
- Vdashl: "⫦",
3404
- Vee: "⋁",
3405
- vee: "∨",
3406
- veebar: "⊻",
3407
- veeeq: "≚",
3408
- vellip: "⋮",
3409
- Verbar: "‖",
3410
- verbar: "|",
3411
- Vert: "‖",
3412
- vert: "|",
3413
- VerticalBar: "∣",
3414
- VerticalLine: "|",
3415
- VerticalSeparator: "❘",
3416
- VerticalTilde: "≀",
3417
- VeryThinSpace: " ",
3418
- Vfr: "𝔙",
3419
- vfr: "𝔳",
3420
- vltri: "⊲",
3421
- vnsub: "⊂⃒",
3422
- vnsup: "⊃⃒",
3423
- Vopf: "𝕍",
3424
- vopf: "𝕧",
3425
- vprop: "∝",
3426
- vrtri: "⊳",
3427
- Vscr: "𝒱",
3428
- vscr: "𝓋",
3429
- vsubnE: "⫋︀",
3430
- vsubne: "⊊︀",
3431
- vsupnE: "⫌︀",
3432
- vsupne: "⊋︀",
3433
- Vvdash: "⊪",
3434
- vzigzag: "⦚",
3435
- Wcirc: "Ŵ",
3436
- wcirc: "ŵ",
3437
- wedbar: "⩟",
3438
- Wedge: "⋀",
3439
- wedge: "∧",
3440
- wedgeq: "≙",
3441
- weierp: "℘",
3442
- Wfr: "𝔚",
3443
- wfr: "𝔴",
3444
- Wopf: "𝕎",
3445
- wopf: "𝕨",
3446
- wp: "℘",
3447
- wr: "≀",
3448
- wreath: "≀",
3449
- Wscr: "𝒲",
3450
- wscr: "𝓌",
3451
- xcap: "⋂",
3452
- xcirc: "◯",
3453
- xcup: "⋃",
3454
- xdtri: "▽",
3455
- Xfr: "𝔛",
3456
- xfr: "𝔵",
3457
- xhArr: "⟺",
3458
- xharr: "⟷",
3459
- Xi: "Ξ",
3460
- xi: "ξ",
3461
- xlArr: "⟸",
3462
- xlarr: "⟵",
3463
- xmap: "⟼",
3464
- xnis: "⋻",
3465
- xodot: "⨀",
3466
- Xopf: "𝕏",
3467
- xopf: "𝕩",
3468
- xoplus: "⨁",
3469
- xotime: "⨂",
3470
- xrArr: "⟹",
3471
- xrarr: "⟶",
3472
- Xscr: "𝒳",
3473
- xscr: "𝓍",
3474
- xsqcup: "⨆",
3475
- xuplus: "⨄",
3476
- xutri: "△",
3477
- xvee: "⋁",
3478
- xwedge: "⋀",
3479
- Yacute: "Ý",
3480
- yacute: "ý",
3481
- YAcy: "Я",
3482
- yacy: "я",
3483
- Ycirc: "Ŷ",
3484
- ycirc: "ŷ",
3485
- Ycy: "Ы",
3486
- ycy: "ы",
3487
- yen: "¥",
3488
- Yfr: "𝔜",
3489
- yfr: "𝔶",
3490
- YIcy: "Ї",
3491
- yicy: "ї",
3492
- Yopf: "𝕐",
3493
- yopf: "𝕪",
3494
- Yscr: "𝒴",
3495
- yscr: "𝓎",
3496
- YUcy: "Ю",
3497
- yucy: "ю",
3498
- Yuml: "Ÿ",
3499
- yuml: "ÿ",
3500
- Zacute: "Ź",
3501
- zacute: "ź",
3502
- Zcaron: "Ž",
3503
- zcaron: "ž",
3504
- Zcy: "З",
3505
- zcy: "з",
3506
- Zdot: "Ż",
3507
- zdot: "ż",
3508
- zeetrf: "ℨ",
3509
- ZeroWidthSpace: "​",
3510
- Zeta: "Ζ",
3511
- zeta: "ζ",
3512
- Zfr: "ℨ",
3513
- zfr: "𝔷",
3514
- ZHcy: "Ж",
3515
- zhcy: "ж",
3516
- zigrarr: "⇝",
3517
- Zopf: "ℤ",
3518
- zopf: "𝕫",
3519
- Zscr: "𝒵",
3520
- zscr: "𝓏",
3521
- zwj: "‍",
3522
- zwnj: "‌"
3523
- }), e.entityMap = e.HTML_ENTITIES;
3524
- })(Oe);
3525
- var Wu = {}, du = j.NAMESPACE, _u = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, ie = new RegExp("[\\-\\.0-9" + _u.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"), ae = new RegExp("^" + _u.source + ie.source + "*(?::" + _u.source + ie.source + "*)?$"), pu = 0, X = 1, K = 2, hu = 3, uu = 4, eu = 5, fu = 6, vu = 7;
3526
- function ou(e, u) {
3527
- this.message = e, this.locator = u, Error.captureStackTrace && Error.captureStackTrace(this, ou);
3528
- }
3529
- ou.prototype = new Error();
3530
- ou.prototype.name = ou.name;
3531
- function Le() {
3532
- }
3533
- Le.prototype = {
3534
- parse: function(e, u, r) {
3535
- var t = this.domBuilder;
3536
- t.startDocument(), Ie(u, u = {}), lr(
3537
- e,
3538
- u,
3539
- r,
3540
- t,
3541
- this.errorHandler
3542
- ), t.endDocument();
3543
- }
3544
- };
3545
- function lr(e, u, r, t, n) {
3546
- function a(i) {
3547
- if (i > 65535) {
3548
- i -= 65536;
3549
- var M = 55296 + (i >> 10), Ve = 56320 + (i & 1023);
3550
- return String.fromCharCode(M, Ve);
3551
- } else
3552
- return String.fromCharCode(i);
3553
- }
3554
- function o(i) {
3555
- var M = i.slice(1, -1);
3556
- return Object.hasOwnProperty.call(r, M) ? r[M] : M.charAt(0) === "#" ? a(parseInt(M.substr(1).replace("x", "0x"))) : (n.error("entity not found:" + i), i);
3557
- }
3558
- function s(i) {
3559
- if (i > v) {
3560
- var M = e.substring(v, i).replace(/&#?\w+;/g, o);
3561
- f && l(v), t.characters(M, 0, i - v), v = i;
3562
- }
3563
- }
3564
- function l(i, M) {
3565
- for (; i >= p && (M = D.exec(e)); )
3566
- c = M.index, p = c + M[0].length, f.lineNumber++;
3567
- f.columnNumber = i - c + 1;
3568
- }
3569
- for (var c = 0, p = 0, D = /.*(?:\r\n?|\n)|.*$/g, f = t.locator, b = [{ currentNSMap: u }], T = {}, v = 0; ; ) {
3570
- try {
3571
- var d = e.indexOf("<", v);
3572
- if (d < 0) {
3573
- if (!e.substr(v).match(/^\s*$/)) {
3574
- var h = t.doc, y = h.createTextNode(e.substr(v));
3575
- h.appendChild(y), t.currentElement = y;
3576
- }
3577
- return;
3578
- }
3579
- switch (d > v && s(d), e.charAt(d + 1)) {
3580
- case "/":
3581
- var m = e.indexOf(">", d + 3), C = e.substring(d + 2, m).replace(/[ \t\n\r]+$/g, ""), F = b.pop();
3582
- m < 0 ? (C = e.substring(d + 2).replace(/[\s<].*/, ""), n.error("end tag name: " + C + " is not complete:" + F.tagName), m = d + 1 + C.length) : C.match(/\s</) && (C = C.replace(/[\s<].*/, ""), n.error("end tag name: " + C + " maybe not complete"), m = d + 1 + C.length);
3583
- var S = F.localNSMap, k = F.tagName == C, J = k || F.tagName && F.tagName.toLowerCase() == C.toLowerCase();
3584
- if (J) {
3585
- if (t.endElement(F.uri, F.localName, C), S)
3586
- for (var lu in S)
3587
- Object.prototype.hasOwnProperty.call(S, lu) && t.endPrefixMapping(lu);
3588
- k || n.fatalError("end tag name: " + C + " is not match the current start tagName:" + F.tagName);
3589
- } else
3590
- b.push(F);
3591
- m++;
3592
- break;
3593
- case "?":
3594
- f && l(d), m = Dr(e, d, t);
3595
- break;
3596
- case "!":
3597
- f && l(d), m = fr(e, d, t, n);
3598
- break;
3599
- default:
3600
- f && l(d);
3601
- var E = new Me(), x = b[b.length - 1].currentNSMap, m = cr(e, d, E, x, o, n), B = E.length;
3602
- if (!E.closed && hr(e, m, E.tagName, T) && (E.closed = !0, r.nbsp || n.warning("unclosed xml attribute")), f && B) {
3603
- for (var U = oe(f, {}), I = 0; I < B; I++) {
3604
- var A = E[I];
3605
- l(A.offset), A.locator = oe(f, {});
3606
- }
3607
- t.locator = U, se(E, t, x) && b.push(E), t.locator = f;
3608
- } else
3609
- se(E, t, x) && b.push(E);
3610
- du.isHTML(E.uri) && !E.closed ? m = pr(e, m, E.tagName, o, t) : m++;
3611
- }
3612
- } catch (i) {
3613
- if (i instanceof ou)
3614
- throw i;
3615
- n.error("element parse error: " + i), m = -1;
3616
- }
3617
- m > v ? v = m : s(Math.max(d, v) + 1);
3618
- }
3619
- }
3620
- function oe(e, u) {
3621
- return u.lineNumber = e.lineNumber, u.columnNumber = e.columnNumber, u;
3622
- }
3623
- function cr(e, u, r, t, n, a) {
3624
- function o(f, b, T) {
3625
- r.attributeNames.hasOwnProperty(f) && a.fatalError("Attribute " + f + " redefined"), r.addValue(
3626
- f,
3627
- // @see https://www.w3.org/TR/xml/#AVNormalize
3628
- // since the xmldom sax parser does not "interpret" DTD the following is not implemented:
3629
- // - recursive replacement of (DTD) entity references
3630
- // - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA
3631
- b.replace(/[\t\n\r]/g, " ").replace(/&#?\w+;/g, n),
3632
- T
3633
- );
3634
- }
3635
- for (var s, l, c = ++u, p = pu; ; ) {
3636
- var D = e.charAt(c);
3637
- switch (D) {
3638
- case "=":
3639
- if (p === X)
3640
- s = e.slice(u, c), p = hu;
3641
- else if (p === K)
3642
- p = hu;
3643
- else
3644
- throw new Error("attribute equal must after attrName");
3645
- break;
3646
- case "'":
3647
- case '"':
3648
- if (p === hu || p === X)
3649
- if (p === X && (a.warning('attribute value must after "="'), s = e.slice(u, c)), u = c + 1, c = e.indexOf(D, u), c > 0)
3650
- l = e.slice(u, c), o(s, l, u - 1), p = eu;
3651
- else
3652
- throw new Error("attribute value no end '" + D + "' match");
3653
- else if (p == uu)
3654
- l = e.slice(u, c), o(s, l, u), a.warning('attribute "' + s + '" missed start quot(' + D + ")!!"), u = c + 1, p = eu;
3655
- else
3656
- throw new Error('attribute value must after "="');
3657
- break;
3658
- case "/":
3659
- switch (p) {
3660
- case pu:
3661
- r.setTagName(e.slice(u, c));
3662
- case eu:
3663
- case fu:
3664
- case vu:
3665
- p = vu, r.closed = !0;
3666
- case uu:
3667
- case X:
3668
- break;
3669
- case K:
3670
- r.closed = !0;
3671
- break;
3672
- default:
3673
- throw new Error("attribute invalid close char('/')");
3674
- }
3675
- break;
3676
- case "":
3677
- return a.error("unexpected end of input"), p == pu && r.setTagName(e.slice(u, c)), c;
3678
- case ">":
3679
- switch (p) {
3680
- case pu:
3681
- r.setTagName(e.slice(u, c));
3682
- case eu:
3683
- case fu:
3684
- case vu:
3685
- break;
3686
- case uu:
3687
- case X:
3688
- l = e.slice(u, c), l.slice(-1) === "/" && (r.closed = !0, l = l.slice(0, -1));
3689
- case K:
3690
- p === K && (l = s), p == uu ? (a.warning('attribute "' + l + '" missed quot(")!'), o(s, l, u)) : ((!du.isHTML(t[""]) || !l.match(/^(?:disabled|checked|selected)$/i)) && a.warning('attribute "' + l + '" missed value!! "' + l + '" instead!!'), o(l, l, u));
3691
- break;
3692
- case hu:
3693
- throw new Error("attribute value missed!!");
3694
- }
3695
- return c;
3696
- case "€":
3697
- D = " ";
3698
- default:
3699
- if (D <= " ")
3700
- switch (p) {
3701
- case pu:
3702
- r.setTagName(e.slice(u, c)), p = fu;
3703
- break;
3704
- case X:
3705
- s = e.slice(u, c), p = K;
3706
- break;
3707
- case uu:
3708
- var l = e.slice(u, c);
3709
- a.warning('attribute "' + l + '" missed quot(")!!'), o(s, l, u);
3710
- case eu:
3711
- p = fu;
3712
- break;
3713
- }
3714
- else
3715
- switch (p) {
3716
- case K:
3717
- r.tagName, (!du.isHTML(t[""]) || !s.match(/^(?:disabled|checked|selected)$/i)) && a.warning('attribute "' + s + '" missed value!! "' + s + '" instead2!!'), o(s, s, u), u = c, p = X;
3718
- break;
3719
- case eu:
3720
- a.warning('attribute space is required"' + s + '"!!');
3721
- case fu:
3722
- p = X, u = c;
3723
- break;
3724
- case hu:
3725
- p = uu, u = c;
3726
- break;
3727
- case vu:
3728
- throw new Error("elements closed character '/' and '>' must be connected to");
3729
- }
3730
- }
3731
- c++;
3732
- }
3733
- }
3734
- function se(e, u, r) {
3735
- for (var t = e.tagName, n = null, D = e.length; D--; ) {
3736
- var a = e[D], o = a.qName, s = a.value, f = o.indexOf(":");
3737
- if (f > 0)
3738
- var l = a.prefix = o.slice(0, f), c = o.slice(f + 1), p = l === "xmlns" && c;
3739
- else
3740
- c = o, l = null, p = o === "xmlns" && "";
3741
- a.localName = c, p !== !1 && (n == null && (n = {}, Ie(r, r = {})), r[p] = n[p] = s, a.uri = du.XMLNS, u.startPrefixMapping(p, s));
3742
- }
3743
- for (var D = e.length; D--; ) {
3744
- a = e[D];
3745
- var l = a.prefix;
3746
- l && (l === "xml" && (a.uri = du.XML), l !== "xmlns" && (a.uri = r[l || ""]));
3747
- }
3748
- var f = t.indexOf(":");
3749
- f > 0 ? (l = e.prefix = t.slice(0, f), c = e.localName = t.slice(f + 1)) : (l = null, c = e.localName = t);
3750
- var b = e.uri = r[l || ""];
3751
- if (u.startElement(b, c, t, e), e.closed) {
3752
- if (u.endElement(b, c, t), n)
3753
- for (l in n)
3754
- Object.prototype.hasOwnProperty.call(n, l) && u.endPrefixMapping(l);
3755
- } else
3756
- return e.currentNSMap = r, e.localNSMap = n, !0;
3757
- }
3758
- function pr(e, u, r, t, n) {
3759
- if (/^(?:script|textarea)$/i.test(r)) {
3760
- var a = e.indexOf("</" + r + ">", u), o = e.substring(u + 1, a);
3761
- if (/[&<]/.test(o))
3762
- return /^script$/i.test(r) ? (n.characters(o, 0, o.length), a) : (o = o.replace(/&#?\w+;/g, t), n.characters(o, 0, o.length), a);
3763
- }
3764
- return u + 1;
3765
- }
3766
- function hr(e, u, r, t) {
3767
- var n = t[r];
3768
- return n == null && (n = e.lastIndexOf("</" + r + ">"), n < u && (n = e.lastIndexOf("</" + r)), t[r] = n), n < u;
3769
- }
3770
- function Ie(e, u) {
3771
- for (var r in e)
3772
- Object.prototype.hasOwnProperty.call(e, r) && (u[r] = e[r]);
3773
- }
3774
- function fr(e, u, r, t) {
3775
- var n = e.charAt(u + 2);
3776
- switch (n) {
3777
- case "-":
3778
- if (e.charAt(u + 3) === "-") {
3779
- var a = e.indexOf("-->", u + 4);
3780
- return a > u ? (r.comment(e, u + 4, a - u - 4), a + 3) : (t.error("Unclosed comment"), -1);
3781
- } else
3782
- return -1;
3783
- default:
3784
- if (e.substr(u + 3, 6) == "CDATA[") {
3785
- var a = e.indexOf("]]>", u + 9);
3786
- return r.startCDATA(), r.characters(e, u + 9, a - u - 9), r.endCDATA(), a + 3;
3787
- }
3788
- var o = mr(e, u), s = o.length;
3789
- if (s > 1 && /!doctype/i.test(o[0][0])) {
3790
- var l = o[1][0], c = !1, p = !1;
3791
- s > 3 && (/^public$/i.test(o[2][0]) ? (c = o[3][0], p = s > 4 && o[4][0]) : /^system$/i.test(o[2][0]) && (p = o[3][0]));
3792
- var D = o[s - 1];
3793
- return r.startDTD(l, c, p), r.endDTD(), D.index + D[0].length;
3794
- }
3795
- }
3796
- return -1;
3797
- }
3798
- function Dr(e, u, r) {
3799
- var t = e.indexOf("?>", u);
3800
- if (t) {
3801
- var n = e.substring(u, t).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
3802
- return n ? (n[0].length, r.processingInstruction(n[1], n[2]), t + 2) : -1;
3803
- }
3804
- return -1;
3805
- }
3806
- function Me() {
3807
- this.attributeNames = {};
3808
- }
3809
- Me.prototype = {
3810
- setTagName: function(e) {
3811
- if (!ae.test(e))
3812
- throw new Error("invalid tagName:" + e);
3813
- this.tagName = e;
3814
- },
3815
- addValue: function(e, u, r) {
3816
- if (!ae.test(e))
3817
- throw new Error("invalid attribute:" + e);
3818
- this.attributeNames[e] = this.length, this[this.length++] = { qName: e, value: u, offset: r };
3819
- },
3820
- length: 0,
3821
- getLocalName: function(e) {
3822
- return this[e].localName;
3823
- },
3824
- getLocator: function(e) {
3825
- return this[e].locator;
3826
- },
3827
- getQName: function(e) {
3828
- return this[e].qName;
3829
- },
3830
- getURI: function(e) {
3831
- return this[e].uri;
3832
- },
3833
- getValue: function(e) {
3834
- return this[e].value;
3835
- }
3836
- // ,getIndex:function(uri, localName)){
3837
- // if(localName){
3838
- //
3839
- // }else{
3840
- // var qName = uri
3841
- // }
3842
- // },
3843
- // getValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},
3844
- // getType:function(uri,localName){}
3845
- // getType:function(i){},
3846
- };
3847
- function mr(e, u) {
3848
- var r, t = [], n = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
3849
- for (n.lastIndex = u, n.exec(e); r = n.exec(e); )
3850
- if (t.push(r), r[1]) return t;
3851
- }
3852
- Wu.XMLReader = Le;
3853
- Wu.ParseError = ou;
3854
- var gr = j, dr = Z, le = Oe, _e = Wu, Ar = dr.DOMImplementation, ce = gr.NAMESPACE, Er = _e.ParseError, br = _e.XMLReader;
3855
- function Pe(e) {
3856
- return e.replace(/\r[\n\u0085]/g, `
3857
- `).replace(/[\r\u0085\u2028]/g, `
3858
- `);
3859
- }
3860
- function Ue(e) {
3861
- this.options = e || { locator: {} };
3862
- }
3863
- Ue.prototype.parseFromString = function(e, u) {
3864
- var r = this.options, t = new br(), n = r.domBuilder || new Cu(), a = r.errorHandler, o = r.locator, s = r.xmlns || {}, l = /\/x?html?$/.test(u), c = l ? le.HTML_ENTITIES : le.XML_ENTITIES;
3865
- o && n.setDocumentLocator(o), t.errorHandler = Cr(a, n, o), t.domBuilder = r.domBuilder || n, l && (s[""] = ce.HTML), s.xml = s.xml || ce.XML;
3866
- var p = r.normalizeLineEndings || Pe;
3867
- return e && typeof e == "string" ? t.parse(
3868
- p(e),
3869
- s,
3870
- c
3871
- ) : t.errorHandler.error("invalid doc source"), n.doc;
3872
- };
3873
- function Cr(e, u, r) {
3874
- if (!e) {
3875
- if (u instanceof Cu)
3876
- return u;
3877
- e = u;
3878
- }
3879
- var t = {}, n = e instanceof Function;
3880
- r = r || {};
3881
- function a(o) {
3882
- var s = e[o];
3883
- !s && n && (s = e.length == 2 ? function(l) {
3884
- e(o, l);
3885
- } : e), t[o] = s && function(l) {
3886
- s("[xmldom " + o + "] " + l + Pu(r));
3887
- } || function() {
3888
- };
3889
- }
3890
- return a("warning"), a("error"), a("fatalError"), t;
3891
- }
3892
- function Cu() {
3893
- this.cdata = !1;
3894
- }
3895
- function ru(e, u) {
3896
- u.lineNumber = e.lineNumber, u.columnNumber = e.columnNumber;
3897
- }
3898
- Cu.prototype = {
3899
- startDocument: function() {
3900
- this.doc = new Ar().createDocument(null, null, null), this.locator && (this.doc.documentURI = this.locator.systemId);
3901
- },
3902
- startElement: function(e, u, r, t) {
3903
- var n = this.doc, a = n.createElementNS(e, r || u), o = t.length;
3904
- yu(this, a), this.currentElement = a, this.locator && ru(this.locator, a);
3905
- for (var s = 0; s < o; s++) {
3906
- var e = t.getURI(s), l = t.getValue(s), r = t.getQName(s), c = n.createAttributeNS(e, r);
3907
- this.locator && ru(t.getLocator(s), c), c.value = c.nodeValue = l, a.setAttributeNode(c);
3908
- }
3909
- },
3910
- endElement: function(e, u, r) {
3911
- var t = this.currentElement;
3912
- t.tagName, this.currentElement = t.parentNode;
3913
- },
3914
- startPrefixMapping: function(e, u) {
3915
- },
3916
- endPrefixMapping: function(e) {
3917
- },
3918
- processingInstruction: function(e, u) {
3919
- var r = this.doc.createProcessingInstruction(e, u);
3920
- this.locator && ru(this.locator, r), yu(this, r);
3921
- },
3922
- ignorableWhitespace: function(e, u, r) {
3923
- },
3924
- characters: function(e, u, r) {
3925
- if (e = pe.apply(this, arguments), e) {
3926
- if (this.cdata)
3927
- var t = this.doc.createCDATASection(e);
3928
- else
3929
- var t = this.doc.createTextNode(e);
3930
- this.currentElement ? this.currentElement.appendChild(t) : /^\s*$/.test(e) && this.doc.appendChild(t), this.locator && ru(this.locator, t);
3931
- }
3932
- },
3933
- skippedEntity: function(e) {
3934
- },
3935
- endDocument: function() {
3936
- this.doc.normalize();
3937
- },
3938
- setDocumentLocator: function(e) {
3939
- (this.locator = e) && (e.lineNumber = 0);
3940
- },
3941
- //LexicalHandler
3942
- comment: function(e, u, r) {
3943
- e = pe.apply(this, arguments);
3944
- var t = this.doc.createComment(e);
3945
- this.locator && ru(this.locator, t), yu(this, t);
3946
- },
3947
- startCDATA: function() {
3948
- this.cdata = !0;
3949
- },
3950
- endCDATA: function() {
3951
- this.cdata = !1;
3952
- },
3953
- startDTD: function(e, u, r) {
3954
- var t = this.doc.implementation;
3955
- if (t && t.createDocumentType) {
3956
- var n = t.createDocumentType(e, u, r);
3957
- this.locator && ru(this.locator, n), yu(this, n), this.doc.doctype = n;
3958
- }
3959
- },
3960
- /**
3961
- * @see org.xml.sax.ErrorHandler
3962
- * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
3963
- */
3964
- warning: function(e) {
3965
- console.warn("[xmldom warning] " + e, Pu(this.locator));
3966
- },
3967
- error: function(e) {
3968
- console.error("[xmldom error] " + e, Pu(this.locator));
3969
- },
3970
- fatalError: function(e) {
3971
- throw new Er(e, this.locator);
3972
- }
3973
- };
3974
- function Pu(e) {
3975
- if (e)
3976
- return `
3977
- @` + (e.systemId || "") + "#[line:" + e.lineNumber + ",col:" + e.columnNumber + "]";
3978
- }
3979
- function pe(e, u, r) {
3980
- return typeof e == "string" ? e.substr(u, r) : e.length >= u + r || u ? new java.lang.String(e, u, r) + "" : e;
3981
- }
3982
- "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function(e) {
3983
- Cu.prototype[e] = function() {
3984
- return null;
3985
- };
3986
- });
3987
- function yu(e, u) {
3988
- e.currentElement ? e.currentElement.appendChild(u) : e.doc.appendChild(u);
3989
- }
3990
- ku.__DOMHandler = Cu;
3991
- ku.normalizeLineEndings = Pe;
3992
- ku.DOMParser = Ue;
3993
- var vr = ku.DOMParser;
3994
- const yr = "1.0.5";
3995
- function wr() {
3996
- return typeof window < "u" && ({}.toString.call(window) === "[object Window]" || {}.toString.call(window) === "[object global]");
3997
- }
3998
- const su = typeof window < "u" ? window : typeof WorkerGlobalScope < "u" ? self : { document: void 0, tinyEngine: void 0 };
3999
- su.Path2D || ze(su);
4000
- su.DOMParser || (su.DOMParser = vr);
4001
- const Fr = {
4002
- window: su,
4003
- version: yr,
4004
- isBrowser: wr(),
4005
- dpr: typeof window < "u" && window.devicePixelRatio || 1,
4006
- document: su.document,
4007
- time: 0,
4008
- deltaTime: 0,
4009
- config: Ge
4010
- }, Du = (e, u, r) => Math.max(u, Math.min(r, e)), Br = (e, u) => (e % u + u) % u, Lu = (e, u, r) => (1 - r) * e + r * u, Sr = {
4011
- transparent: "rgba(1, 1, 1, 0)",
4012
- green: "#45b787",
4013
- darkGreen: "#314a43",
4014
- blue: "#6e9bc5",
4015
- darkBlue: "#2775b6",
4016
- red: "#F26666",
4017
- darkRed: "#D95970",
4018
- brown: "#ECD2B9",
4019
- darkBrown: "#BF9D8A",
4020
- yellow: "#ECDEC0",
4021
- darkYellow: "#D0AC57",
4022
- lightGray: "#e0e0e0",
4023
- gray: "#beb6b6",
4024
- darkGray: "#918883",
4025
- white: "#F2F2F2",
4026
- darkWhite: "#ececec",
4027
- lightBlack: "#2E3032",
4028
- // 403C3A
4029
- black: "#182327",
4030
- blackAlpha5: "rgba(0, 0, 0, 0.5)"
4031
- }, Nr = {
4032
- aliceblue: 15792383,
4033
- antiquewhite: 16444375,
4034
- aqua: 65535,
4035
- aquamarine: 8388564,
4036
- azure: 15794175,
4037
- beige: 16119260,
4038
- bisque: 16770244,
4039
- black: 0,
4040
- blanchedalmond: 16772045,
4041
- blue: 255,
4042
- blueviolet: 9055202,
4043
- brown: 10824234,
4044
- burlywood: 14596231,
4045
- cadetblue: 6266528,
4046
- chartreuse: 8388352,
4047
- chocolate: 13789470,
4048
- coral: 16744272,
4049
- cornflowerblue: 6591981,
4050
- cornsilk: 16775388,
4051
- crimson: 14423100,
4052
- cyan: 65535,
4053
- darkblue: 139,
4054
- darkcyan: 35723,
4055
- darkgoldenrod: 12092939,
4056
- darkgray: 11119017,
4057
- darkgreen: 25600,
4058
- darkgrey: 11119017,
4059
- darkkhaki: 12433259,
4060
- darkmagenta: 9109643,
4061
- darkolivegreen: 5597999,
4062
- darkorange: 16747520,
4063
- darkorchid: 10040012,
4064
- darkred: 9109504,
4065
- darksalmon: 15308410,
4066
- darkseagreen: 9419919,
4067
- darkslateblue: 4734347,
4068
- darkslategray: 3100495,
4069
- darkslategrey: 3100495,
4070
- darkturquoise: 52945,
4071
- darkviolet: 9699539,
4072
- deeppink: 16716947,
4073
- deepskyblue: 49151,
4074
- dimgray: 6908265,
4075
- dimgrey: 6908265,
4076
- dodgerblue: 2003199,
4077
- firebrick: 11674146,
4078
- floralwhite: 16775920,
4079
- forestgreen: 2263842,
4080
- fuchsia: 16711935,
4081
- gainsboro: 14474460,
4082
- ghostwhite: 16316671,
4083
- gold: 16766720,
4084
- goldenrod: 14329120,
4085
- gray: 8421504,
4086
- green: 32768,
4087
- greenyellow: 11403055,
4088
- grey: 8421504,
4089
- honeydew: 15794160,
4090
- hotpink: 16738740,
4091
- indianred: 13458524,
4092
- indigo: 4915330,
4093
- ivory: 16777200,
4094
- khaki: 15787660,
4095
- lavender: 15132410,
4096
- lavenderblush: 16773365,
4097
- lawngreen: 8190976,
4098
- lemonchiffon: 16775885,
4099
- lightblue: 11393254,
4100
- lightcoral: 15761536,
4101
- lightcyan: 14745599,
4102
- lightgoldenrodyellow: 16448210,
4103
- lightgray: 13882323,
4104
- lightgreen: 9498256,
4105
- lightgrey: 13882323,
4106
- lightpink: 16758465,
4107
- lightsalmon: 16752762,
4108
- lightseagreen: 2142890,
4109
- lightskyblue: 8900346,
4110
- lightslategray: 7833753,
4111
- lightslategrey: 7833753,
4112
- lightsteelblue: 11584734,
4113
- lightyellow: 16777184,
4114
- lime: 65280,
4115
- limegreen: 3329330,
4116
- linen: 16445670,
4117
- magenta: 16711935,
4118
- maroon: 8388608,
4119
- mediumaquamarine: 6737322,
4120
- mediumblue: 205,
4121
- mediumorchid: 12211667,
4122
- mediumpurple: 9662683,
4123
- mediumseagreen: 3978097,
4124
- mediumslateblue: 8087790,
4125
- mediumspringgreen: 64154,
4126
- mediumturquoise: 4772300,
4127
- mediumvioletred: 13047173,
4128
- midnightblue: 1644912,
4129
- mintcream: 16121850,
4130
- mistyrose: 16770273,
4131
- moccasin: 16770229,
4132
- navajowhite: 16768685,
4133
- navy: 128,
4134
- oldlace: 16643558,
4135
- olive: 8421376,
4136
- olivedrab: 7048739,
4137
- orange: 16753920,
4138
- orangered: 16729344,
4139
- orchid: 14315734,
4140
- palegoldenrod: 15657130,
4141
- palegreen: 10025880,
4142
- paleturquoise: 11529966,
4143
- palevioletred: 14381203,
4144
- papayawhip: 16773077,
4145
- peachpuff: 16767673,
4146
- peru: 13468991,
4147
- pink: 16761035,
4148
- plum: 14524637,
4149
- powderblue: 11591910,
4150
- purple: 8388736,
4151
- rebeccapurple: 6697881,
4152
- red: 16711680,
4153
- rosybrown: 12357519,
4154
- royalblue: 4286945,
4155
- saddlebrown: 9127187,
4156
- salmon: 16416882,
4157
- sandybrown: 16032864,
4158
- seagreen: 3050327,
4159
- seashell: 16774638,
4160
- sienna: 10506797,
4161
- silver: 12632256,
4162
- skyblue: 8900331,
4163
- slateblue: 6970061,
4164
- slategray: 7372944,
4165
- slategrey: 7372944,
4166
- snow: 16775930,
4167
- springgreen: 65407,
4168
- steelblue: 4620980,
4169
- tan: 13808780,
4170
- teal: 32896,
4171
- thistle: 14204888,
4172
- tomato: 16737095,
4173
- turquoise: 4251856,
4174
- violet: 15631086,
4175
- wheat: 16113331,
4176
- white: 16777215,
4177
- whitesmoke: 16119285,
4178
- yellow: 16776960,
4179
- yellowgreen: 10145074
4180
- }, _ = { h: 0, s: 0, l: 0 }, wu = { h: 0, s: 0, l: 0 };
4181
- function Iu(e, u, r) {
4182
- return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (u - e) * 6 * r : r < 1 / 2 ? u : r < 2 / 3 ? e + (u - e) * 6 * (2 / 3 - r) : e;
4183
- }
4184
- const Tr = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$|rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)|rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[\d.]+\s*\)/;
4185
- class W {
4186
- isColor = !0;
4187
- r = 1;
4188
- g = 1;
4189
- b = 1;
4190
- a = 1;
4191
- constructor(u, r, t, n) {
4192
- return r === void 0 && t === void 0 ? this.set(u) : this.setRGBA(u, r, t, n);
4193
- }
4194
- // Set methods
4195
- // set(value: Color) {}
4196
- // set(value: number) {}
4197
- static isColor(u) {
4198
- return typeof u == "string" ? Tr.test(u) : typeof u == "number" ? u >= 0 && u <= 16777215 : !1;
4199
- }
4200
- static getRandomStyle() {
4201
- return Y.random().getStyle();
4202
- }
4203
- static getDarken(u, r = 0.8) {
4204
- return Y.set(u).getHSL(Bu), Y.setHSL(Bu.h, Bu.s, Bu.l * r).getStyle();
4205
- }
4206
- static getLighten(u, r = 1.2) {
4207
- return this.getDarken(u, r);
4208
- }
4209
- static getContrast(u) {
4210
- return Y.set(u), Y.getContrastString();
4211
- }
4212
- static getArray(u) {
4213
- return Y.set(u).toArray();
4214
- }
4215
- static getComplementary(u) {
4216
- return Y.set(u), Y.getComplementaryString();
4217
- }
4218
- // set(value: string) {}
4219
- set(u) {
4220
- return u && u.isColor ? this.copy(u) : typeof u == "number" ? this.setHex(u) : typeof u == "string" && this.setStyle(u), this;
4221
- }
4222
- random() {
4223
- return this.setHex(Math.floor(Math.random() * (1 << 24)));
4224
- }
4225
- setScalar(u) {
4226
- return this.r = u, this.g = u, this.b = u, this.a = 1, this;
4227
- }
4228
- setHex(u) {
4229
- return u = Math.floor(u), this.r = (u >> 16 & 255) / 255, this.g = (u >> 8 & 255) / 255, this.b = (u & 255) / 255, this.a = 1, this;
4230
- }
4231
- setR(u) {
4232
- return this.r = u, this;
4233
- }
4234
- setG(u) {
4235
- return this.g = u, this;
4236
- }
4237
- setB(u) {
4238
- return this.b = u, this;
4239
- }
4240
- setA(u) {
4241
- return this.a = u, this;
4242
- }
4243
- setRGB(u, r, t) {
4244
- return this.setRGBA(u, r, t, this.a);
4245
- }
4246
- setRGBA(u, r, t, n = 1) {
4247
- return this.r = u, this.g = r, this.b = t, this.a = n, this;
4248
- }
4249
- // copySRGBToLinear(color: Color) {
4250
- // this.r = SRGBToLinear(color.r);
4251
- // this.g = SRGBToLinear(color.g);
4252
- // this.b = SRGBToLinear(color.b);
4253
- // return this;
4254
- // }
4255
- //
4256
- // copyLinearToSRGB(color: Color) {
4257
- // this.r = LinearToSRGB(color.r);
4258
- // this.g = LinearToSRGB(color.g);
4259
- // this.b = LinearToSRGB(color.b);
4260
- // return this;
4261
- // }
4262
- //
4263
- // convertSRGBToLinear() {
4264
- // this.copySRGBToLinear(this);
4265
- // return this;
4266
- // }
4267
- //
4268
- // convertLinearToSRGB() {
4269
- // this.copyLinearToSRGB(this);
4270
- // return this;
4271
- // }
4272
- // Get methods
4273
- setHSL(u, r, t, n = 1) {
4274
- if (u = Br(u, 1), r = Du(r, 0, 1), t = Du(t, 0, 1), r === 0)
4275
- this.r = this.g = this.b = t;
4276
- else {
4277
- const a = t <= 0.5 ? t * (1 + r) : t + r - t * r, o = 2 * t - a;
4278
- this.r = Iu(o, a, u + 1 / 3), this.g = Iu(o, a, u), this.b = Iu(o, a, u - 1 / 3);
4279
- }
4280
- return this.a = n, this;
4281
- }
4282
- setStyle(u) {
4283
- let r;
4284
- if (r = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(u)) {
4285
- let t;
4286
- const n = r[1], a = r[2];
4287
- switch (n) {
4288
- case "rgb":
4289
- case "rgba":
4290
- if (t = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))
4291
- return this.r = Math.min(255, parseInt(t[1], 10)) / 255, this.g = Math.min(255, parseInt(t[2], 10)) / 255, this.b = Math.min(255, parseInt(t[3], 10)) / 255, this.a = Math.max(Math.min(1, t[4] !== void 0 ? parseFloat(t[4]) : 1), 0), this;
4292
- if (t = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))
4293
- return this.r = Math.min(100, parseInt(t[1], 10)) / 100, this.g = Math.min(100, parseInt(t[2], 10)) / 100, this.b = Math.min(100, parseInt(t[3], 10)) / 100, this.a = Math.max(Math.min(1, t[4] !== void 0 ? parseFloat(t[4]) : 1), 0), this;
4294
- break;
4295
- case "hsl":
4296
- case "hsla":
4297
- if (t = /^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)) {
4298
- const o = parseFloat(t[1]) / 360, s = parseInt(t[2], 10) / 100, l = parseInt(t[3], 10) / 100, c = Math.max(Math.min(1, t[4] !== void 0 ? parseFloat(t[4]) : 1), 0);
4299
- return this.setHSL(o, s, l, c);
4300
- }
4301
- break;
4302
- }
4303
- } else if (r = /^\#([A-Fa-f\d]+)$/.exec(u)) {
4304
- const t = r[1], n = t.length;
4305
- if (n === 3)
4306
- return this.r = parseInt(t.charAt(0) + t.charAt(0), 16) / 255, this.g = parseInt(t.charAt(1) + t.charAt(1), 16) / 255, this.b = parseInt(t.charAt(2) + t.charAt(2), 16) / 255, this.a = 1, this;
4307
- if (n === 6)
4308
- return this.r = parseInt(t.charAt(0) + t.charAt(1), 16) / 255, this.g = parseInt(t.charAt(2) + t.charAt(3), 16) / 255, this.b = parseInt(t.charAt(4) + t.charAt(5), 16) / 255, this.a = 1, this;
4309
- }
4310
- return u && u.length > 0 ? this.setColorName(u) : this;
4311
- }
4312
- setColorName(u) {
4313
- const r = Nr[u.toLowerCase()];
4314
- return r !== void 0 ? this.setHex(r) : console.warn("Color: Unknown color " + u), this;
4315
- }
4316
- clone() {
4317
- return new W(this.r, this.g, this.b, this.a);
4318
- }
4319
- copy(u) {
4320
- return this.r = u.r, this.g = u.g, this.b = u.b, this.a = u.a, this;
4321
- }
4322
- getRGB(u = new W()) {
4323
- return u.setRGB(this.r, this.g, this.b);
4324
- }
4325
- getRGBByBg(u = new W()) {
4326
- const r = this.a, t = r * this.r + (1 - r) * u.r, n = r * this.g + (1 - r) * u.g, a = r * this.b + (1 - r) * u.b;
4327
- return new W(t, n, a);
4328
- }
4329
- getHex() {
4330
- return Du(this.r * 255, 0, 255) << 16 ^ Du(this.g * 255, 0, 255) << 8 ^ Du(this.b * 255, 0, 255) << 0;
4331
- }
4332
- getHSL(u) {
4333
- const r = this.r, t = this.g, n = this.b, a = Math.max(r, t, n), o = Math.min(r, t, n);
4334
- let s = 0, l;
4335
- const c = (o + a) / 2;
4336
- if (o === a)
4337
- s = 0, l = 0;
4338
- else {
4339
- const p = a - o;
4340
- switch (l = c <= 0.5 ? p / (a + o) : p / (2 - a - o), a) {
4341
- case r:
4342
- s = (t - n) / p + (t < n ? 6 : 0);
4343
- break;
4344
- case t:
4345
- s = (n - r) / p + 2;
4346
- break;
4347
- case n:
4348
- s = (r - t) / p + 4;
4349
- break;
4350
- }
4351
- s /= 6;
4352
- }
4353
- return u.h = s, u.s = l, u.l = c, u;
4354
- }
4355
- getStyle() {
4356
- return this.a === 1 ? `rgb(${this.r * 255 | 0},${this.g * 255 | 0},${this.b * 255 | 0})` : `rgba(${this.r * 255 | 0},${this.g * 255 | 0},${this.b * 255 | 0},${this.a || 1})`;
4357
- }
4358
- getHexString() {
4359
- return "#" + ("000000" + this.getHex().toString(16)).slice(-6);
4360
- }
4361
- /** custom */
4362
- getBrightness() {
4363
- let u = (this.r * 255 * 299 + this.g * 255 * 587 + this.b * 255 * 144) / 1e3;
4364
- return u += (255 - u) * (255 - this.a * 255) / 255, u;
4365
- }
4366
- getContrastString() {
4367
- return this.getBrightness() > 125 ? "#2f2f2f" : "#f2f2f2";
4368
- }
4369
- // operates
4370
- getComplementary(u = new W()) {
4371
- const r = this.toArray(), t = [0, 0, 0, 1];
4372
- for (let n = 0; n < r.length; n++)
4373
- if (n < 3)
4374
- t[n] = 1 - r[n];
4375
- else if (n === 3)
4376
- r[n] > 1 || r[n] <= 0 ? t[n] = 1 : t[n] = Math.max(Math.min(parseFloat(r[n].toFixed(2)), 1), 0);
4377
- else
4378
- continue;
4379
- return u.setRGBA(t[0], t[1], t[2], parseFloat(t[3].toFixed(2)));
4380
- }
4381
- // getComplementaryString 补色
4382
- getComplementaryString() {
4383
- return this.getComplementary().getStyle();
4384
- }
4385
- // getLightenOrDarken 稍亮/稍暗
4386
- getLightenOrDarken(u) {
4387
- if (typeof u > "u" || u >= 1) return this.getHexString();
4388
- const r = this.getRGBByBg(), t = r.r * u + (1 - u), n = r.g * u + (1 - u), a = r.b * u + (1 - u);
4389
- return new W(t, n, a).getHexString();
4390
- }
4391
- getNormalized() {
4392
- return [
4393
- parseFloat(Math.max(Math.min(this.r, 1), 0).toFixed(2)),
4394
- parseFloat(Math.max(Math.min(this.g, 1), 0).toFixed(2)),
4395
- parseFloat(Math.max(Math.min(this.b, 1), 0).toFixed(2)),
4396
- parseFloat(Math.max(Math.min(this.a, 1), 0).toFixed(2))
4397
- ];
4398
- }
4399
- getNormalized3() {
4400
- return [
4401
- parseFloat(Math.max(Math.min(this.r, 1), 0).toFixed(2)),
4402
- parseFloat(Math.max(Math.min(this.g, 1), 0).toFixed(2)),
4403
- parseFloat(Math.max(Math.min(this.b, 1), 0).toFixed(2))
4404
- ];
4405
- }
4406
- offsetHSL(u, r, t) {
4407
- return this.getHSL(_), _.h += u, _.s += r, _.l += t, this.setHSL(_.h, _.s, _.l), this;
4408
- }
4409
- add(u) {
4410
- return this.r += u.r, this.g += u.g, this.b += u.b, this;
4411
- }
4412
- addColors(u, r) {
4413
- return this.r = u.r + r.r, this.g = u.g + r.g, this.b = u.b + r.b, this;
4414
- }
4415
- addScalar(u) {
4416
- return this.r += u, this.g += u, this.b += u, this;
4417
- }
4418
- sub(u) {
4419
- return this.r = Math.max(0, this.r - u.r), this.g = Math.max(0, this.g - u.g), this.b = Math.max(0, this.b - u.b), this;
4420
- }
4421
- multiply(u) {
4422
- return this.r *= u.r, this.g *= u.g, this.b *= u.b, this;
4423
- }
4424
- multiplyScalar(u) {
4425
- return this.r *= u, this.g *= u, this.b *= u, this;
4426
- }
4427
- lerp(u, r) {
4428
- return this.r += (u.r - this.r) * r, this.g += (u.g - this.g) * r, this.b += (u.b - this.b) * r, this;
4429
- }
4430
- lerpColors(u, r, t) {
4431
- return this.r = u.r + (r.r - u.r) * t, this.g = u.g + (r.g - u.g) * t, this.b = u.b + (r.b - u.b) * t, this;
4432
- }
4433
- lerpHSL(u, r) {
4434
- this.getHSL(_), u.getHSL(wu);
4435
- const t = Lu(_.h, wu.h, r), n = Lu(_.s, wu.s, r), a = Lu(_.l, wu.l, r);
4436
- return this.setHSL(t, n, a), this;
4437
- }
4438
- equals(u) {
4439
- return u.r === this.r && u.g === this.g && u.b === this.b;
4440
- }
4441
- // fromArray(array: [number, number, number, number], offset = 0): this {
4442
- fromArray(u, r = 0) {
4443
- return this.r = u[r], this.g = u[r + 1], this.b = u[r + 2], this.a = u[r + 3], this;
4444
- }
4445
- toArray(u = [0, 0, 0, 0], r = 0) {
4446
- return u[r] = this.r, u[r + 1] = this.g, u[r + 2] = this.b, u[r + 3] = this.a, u;
4447
- }
4448
- fromBufferAttribute(u, r) {
4449
- return this.r = u.getX(r), this.g = u.getY(r), this.b = u.getZ(r), u.normalized === !0 && (this.r /= 255, this.g /= 255, this.b /= 255), this;
4450
- }
4451
- toJSON() {
4452
- return this.getHex();
4453
- }
4454
- *[Symbol.iterator]() {
4455
- yield this.r, yield this.g, yield this.b;
4456
- }
4457
- }
4458
- const Y = new W(), Bu = { h: 0, s: 0, l: 0 };
4459
- function xr(e) {
4460
- return new Worker(
4461
- "/environment.worker.js",
4462
- {
4463
- type: "module",
4464
- name: e == null ? void 0 : e.name
4465
- }
4466
- );
4467
- }
4468
- export {
4469
- W as Color,
4470
- Sr as ColorsEnum,
4471
- xr as EnvironmentWorker,
4472
- Fr as GLOB,
4473
- Ge as defaultConfig
4474
- };