UNPKG

@jinntec/fore

Version:

Fore - declarative user interfaces in plain HTML

1,427 lines (1,422 loc) 1.09 MB
/* Version: 3.0.1 - March 16, 2026 17:32:43 */ function t$2(t, s, r, i) { const n = { op: s, func: r, data: i }; return t.push(n), n; } function s$2(t, s) { return t; } class r$2 { constructor() { this.program = []; } test(s, r) { return t$2(this.program, 5, s, void 0 === r ? null : r); } jump(s) { return t$2(this.program, 3, null, s); } record(r, i) { return t$2(this.program, 4, void 0 === i ? s$2 : i, r); } bad(s = 1) { return t$2(this.program, 1, null, s); } accept() { return t$2(this.program, 0, null, null); } fail(s) { return t$2(this.program, 2, s || null, null); } } class i$2 { constructor(t, s, r) { this.programLength = t, this.maxFromByPc = s, this.maxSurvivorFromByPc = r; } static fromProgram(t) { const s = t.length, r = [], n = []; return t.forEach(t => { r.push(0), n.push(0); }), t.forEach((t, i) => { switch (t.op) { case 2: if (null === t.func) return; if (i + 1 >= s) throw new Error("Invalid program: program could run past end"); r[i + 1] += 1; break; case 1: case 4: if (i + 1 >= s) throw new Error("Invalid program: program could run past end"); r[i + 1] += 1; break; case 3: t.data.forEach(t => { if (t < 0 || t >= s) throw new Error("Invalid program: program could run past end"); r[t] += 1; }); break; case 5: if (i + 1 >= s) throw new Error("Invalid program: program could run past end"); n[i + 1] += 1; break; case 0: n[i] += 1; } }), new i$2(s, r, n); } static createStub(t) { const s = [], r = []; for (let i = 0; i < t; ++i) s.push(t), r.push(t); return new i$2(t, s, r); } } class n$2 { constructor(t) { this.acceptingTraces = t, this.success = t.length > 0; } } class h$2 { constructor(t) { this.t = 0, this.i = 0, this.h = new Uint16Array(t), this.l = new Uint8Array(t); } getBadness(t) { return this.l[t]; } add(t, s) { this.l[t] = s > 255 ? 255 : s; const r = function (t, s, r, i, n) { let h = i, e = n; for (; h < e;) { const i = h + e >>> 1; r < s[t[i]] ? e = i : h = i + 1; } return h; }(this.h, this.l, s, this.i, this.t); this.h.copyWithin(r + 1, r, this.t), this.h[r] = t, this.t += 1; } reschedule(t, s) { const r = Math.max(this.l[t], s > 255 ? 255 : s); if (this.l[t] !== r) { const s = this.h.indexOf(t, this.i); if (s < 0 || s >= this.t) return void (this.l[t] = r); this.h.copyWithin(s, s + 1, this.t), this.t -= 1, this.add(t, r); } } getNextPc() { return this.i >= this.t ? null : this.h[this.i++]; } reset() { this.t = 0, this.i = 0, this.l.fill(0); } } class e$2 { constructor(t) { this.o = []; let s = t.length; t.forEach(t => { this.o.push(t > 0 ? s : -1), s += t; }), this.u = new Uint16Array(s); } clear() { this.u.fill(0, 0, this.o.length); } add(t, s) { const r = this.u[s], i = this.o[s]; this.u[s] += 1, this.u[i + r] = t; } has(t) { return this.u[t] > 0; } forEach(t, s) { const r = this.u[t], i = this.o[t]; for (let t = i; t < i + r; ++t) s(this.u[t]); } } function l$2(t, s, r = !1) { return null === t ? s : Array.isArray(t) ? (-1 === t.indexOf(s) && (r && (t = t.slice()), t.push(s)), t) : t === s ? t : [t, s]; } class c$2 { constructor(t, s) { this.prefixes = t, this.record = s; } } function o$2(t, s) { let r; if (null === s) { if (!Array.isArray(t)) return t; r = t; } else r = t === c$2.EMPTY ? [] : Array.isArray(t) ? t : [t]; return new c$2(r, s); } c$2.EMPTY = new c$2([], null); class u$2 { constructor(t) { this.p = [], this.v = []; for (let s = 0; s < t; ++s) this.p.push(0), this.v.push(null); } mergeTraces(t, s, r, i, n, h) { let e = !1; return r.forEach(s, s => { const r = this.trace(s, i, n, h); var c, o, u; o = r, u = e, t = null === (c = t) ? o : null === o ? c : Array.isArray(o) ? o.reduce((t, s) => l$2(t, s, t === o), c) : l$2(c, o, u), e = t === r; }), t; } trace(t, s, r, i) { switch (this.p[t]) { case 2: return this.v[t]; case 1: return null; } this.p[t] = 1; let n = null; const h = s[t]; if (null !== h) n = h;else if (!r.has(t)) throw new Error("Trace without source at pc " + t); if (n = this.mergeTraces(n, t, r, s, r, i), null !== n) { const s = i[t]; null !== s && (n = o$2(n, s)); } return this.v[t] = n, this.p[t] = 2, n; } buildSurvivorTraces(t, s, r, i, n) { for (let h = 0, e = t.length; h < e; ++h) { if (!r.has(h)) { s[h] = null; continue; } this.v.fill(null), this.p.fill(0); const e = this.mergeTraces(null, h, r, t, i, n); if (null === e) throw new Error("No non-cyclic paths found to survivor " + h); s[h] = o$2(e, null); } this.v.fill(null); } } class a$2 { constructor(t) { this.g = [], this.k = [], this.m = [], this.A = new e$2(t.maxFromByPc), this.T = new e$2(t.maxSurvivorFromByPc), this.S = new u$2(t.programLength); for (let s = 0; s < t.programLength; ++s) this.g.push(null), this.k.push(null), this.m.push(null); this.k[0] = c$2.EMPTY; } reset(t) { this.A.clear(), this.T.clear(), this.g.fill(null), t && (this.k.fill(null), this.m.fill(null), this.k[0] = c$2.EMPTY); } record(t, s) { this.g[t] = s; } has(t) { return this.A.has(t) || null !== this.k[t]; } add(t, s) { this.A.add(t, s); } hasSurvivor(t) { return this.T.has(t); } addSurvivor(t, s) { this.T.add(t, s); } buildSurvivorTraces() { const t = this.k; this.S.buildSurvivorTraces(t, this.m, this.T, this.A, this.g), this.k = this.m, this.m = t; } getTraces(t) { const s = t.reduce((t, s) => l$2(t, this.k[s]), null); return null === s ? [] : Array.isArray(s) ? s : [s]; } } class f$2 { constructor(t) { this.I = [], this.N = new h$2(t.programLength), this.M = new h$2(t.programLength), this.P = new a$2(t); } reset() { this.N.reset(), this.N.add(0, 0), this.I.length = 0, this.P.reset(!0); } getNextThreadPc() { return this.N.getNextPc(); } step(t, s, r) { const i = this.P.has(s); this.P.add(t, s); const n = this.N.getBadness(t) + r; i ? this.N.reschedule(s, n) : this.N.add(s, n); } stepToNextGeneration(t, s) { const r = this.P.hasSurvivor(s); this.P.addSurvivor(t, s); const i = this.N.getBadness(t); r ? this.M.reschedule(s, i) : this.M.add(s, i); } accept(t) { this.I.push(t), this.P.addSurvivor(t, t); } fail(t) {} record(t, s) { this.P.record(t, s); } nextGeneration() { this.P.buildSurvivorTraces(), this.P.reset(!1); const t = this.N; t.reset(), this.N = this.M, this.M = t; } getAcceptingTraces() { return this.P.getTraces(this.I); } } class d$2 { constructor(t) { this.U = [], this.G = t, this.V = i$2.fromProgram(t), this.U.push(new f$2(this.V)); } execute(t, s) { const r = this.U.pop() || new f$2(this.V); r.reset(); const i = t.length; let h, e = -1; do { let n = r.getNextThreadPc(); if (null === n) break; for (++e, h = e >= i ? null : t[e]; null !== n;) { const t = this.G[n]; switch (t.op) { case 0: null === h ? r.accept(n) : r.fail(n); break; case 2: { const i = t.func; if (null === i || i(s)) { r.fail(n); break; } r.step(n, n + 1, 0); break; } case 1: r.step(n, n + 1, t.data); break; case 5: if (null === h) { r.fail(n); break; } if (!(0, t.func)(h, t.data, s)) { r.fail(n); break; } r.stepToNextGeneration(n, n + 1); break; case 3: { const s = t.data, i = s.length; if (0 === i) { r.fail(n); break; } for (let t = 0; t < i; ++t) r.step(n, s[t], 0); break; } case 4: { const i = (0, t.func)(t.data, e, s); null != i && r.record(n, i), r.step(n, n + 1, 0); break; } } n = r.getNextThreadPc(); } r.nextGeneration(); } while (null !== h); const l = new n$2(r.getAcceptingTraces()); return r.reset(), this.U.push(r), l; } } function w$2(t) { const s = new r$2(); return t(s), new d$2(s.program); } function B$1(A) { return B => B === A; } function a$1(A, B) { if (null === A || null === B) throw new Error("unescaped hyphen may not be used as a range endpoint"); if (B < A) throw new Error("character range is in the wrong order"); return a => A <= a && a <= B; } function n$1(A) { return !0; } function e$1() { return !1; } function t$1(A, B) { return a => A(a) || B(a); } function G$1(A, B) { switch (B.kind) { case "predicate": return void A.test(B.value); case "regexp": return void r$1(A, B.value, !1); } } function i$1(A, B) { B.forEach(B => { !function (A, B) { const [a, { min: n, max: e }] = B; if (null !== e) { for (let B = 0; B < n; ++B) G$1(A, a); for (let B = n; B < e; ++B) { const B = A.jump([]); B.data.push(A.program.length), G$1(A, a), B.data.push(A.program.length); } } else if (n > 0) { for (let B = 0; B < n - 1; ++B) G$1(A, a); const B = A.program.length; G$1(A, a), A.jump([B]).data.push(A.program.length); } else { const B = A.program.length, n = A.jump([]); n.data.push(A.program.length), G$1(A, a), A.jump([B]), n.data.push(A.program.length); } }(A, B); }); } function r$1(A, B, a) { const n = A.program.length, e = A.jump([]); a && (e.data.push(A.program.length), A.test(() => !0), A.jump([n])); const t = []; if (B.forEach(B => { e.data.push(A.program.length), i$1(A, B), t.push(A.jump([])); }), t.forEach(B => { B.data.push(A.program.length); }), a) { const B = A.program.length, a = A.jump([]); a.data.push(A.program.length), A.test(() => !0), A.jump([B]), a.data.push(A.program.length); } } function o$1(A, B) { return { success: !0, offset: A, value: B }; } function l$1(A) { return o$1(A, void 0); } function H$1(A, B, a = !1) { return { success: !1, offset: A, expected: B, fatal: a }; } function C$1(A) { return (B, a) => { const n = a + A.length; return B.slice(a, n) === A ? o$1(n, A) : H$1(a, [A]); }; } function u$1(A, B) { return (a, n) => { const e = A(a, n); return e.success ? o$1(e.offset, B(e.value)) : e; }; } function s$1(A, B, a, n) { return (e, t) => { const G = A(e, t); return G.success ? B(G.value) ? G : H$1(t, a, n) : G; }; } function c$1(A, B) { return (a, n) => { let e = null; for (const t of A) { const A = t(a, n); if (A.success) return A; if (null === e || A.offset > e.offset ? e = A : A.offset === e.offset && void 0 === B && (e.expected = e.expected.concat(A.expected)), A.fatal) return A; } return B = B || (null == e ? void 0 : e.expected) || [], e && (e.expected = B), e || H$1(n, B); }; } function D$1(A) { return (B, a) => { const n = A(B, a); return n.success || n.fatal ? n : o$1(a, null); }; } function m$1(A) { return (B, a) => { let n = [], e = a; for (;;) { const a = A(B, e); if (!a.success) { if (a.fatal) return a; break; } if (n.push(a.value), a.offset === e) break; e = a.offset; } return o$1(e, n); }; } function I$1(A, B, a) { return (n, e) => { const t = A(n, e); if (!t.success) return t; const G = B(n, t.offset); return G.success ? o$1(G.offset, a(t.value, G.value)) : G; }; } function d$1(A) { return I$1(A, m$1(A), (A, B) => [A].concat(B)); } function h$1(A, B) { return A; } function p$1(A, B) { return B; } function T(A, B) { return I$1(A, B, p$1); } function F$1(A, B) { return I$1(A, B, h$1); } function E$1(A, B, a, n = !1) { return T(A, n ? f$1(F$1(B, a)) : F$1(B, a)); } function g$1(A, B) { return (a, n) => A(a, n).success ? H$1(n, B) : l$1(n); } function f$1(A) { return (B, a) => { const n = A(B, a); return n.success ? n : H$1(n.offset, n.expected, !0); }; } const P$1 = (A, B) => A.length === B ? l$1(B) : H$1(B, ["end of input"]); const M$1 = ["Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Mc", "Me", "Nd", "Nl", "No", "Pc", "Pd", "Ps", "Pe", "Pi", "Pf", "Po", "Zs", "Zl", "Zp", "Sm", "Sc", "Sk", "So", "Cc", "Cf", "Co", "Cn"]; const J$1 = {}; function S$1(A) { return A.codePointAt(0); } "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach((A, B) => { J$1[A] = B; }); const K$1 = A => -1 === A || -2 === A; function b$1(A) { return B => !K$1(B) && !A(B); } function y$1(A, B) { return null === B ? A : a => A(a) && !B(a); } const Q = function (A, B) { const n = new Map(); let e = 0; return A.forEach((A, G) => { const i = B[G]; null !== A && A.split("|").forEach(A => { const B = n.get(A), G = a$1(e, e + i - 1); n.set(A, B ? t$1(B, G) : G); }), e += i; }), n; }(["BasicLatin", "Latin-1Supplement", "LatinExtended-A", "LatinExtended-B", "IPAExtensions", "SpacingModifierLetters", "CombiningDiacriticalMarks", "GreekandCoptic|Greek", "Cyrillic", "CyrillicSupplement", "Armenian", "Hebrew", "Arabic", "Syriac", "ArabicSupplement", "Thaana", "NKo", "Samaritan", "Mandaic", "SyriacSupplement", "ArabicExtended-B", "ArabicExtended-A", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "HangulJamo", "Ethiopic", "EthiopicSupplement", "Cherokee", "UnifiedCanadianAboriginalSyllabics", "Ogham", "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian", "UnifiedCanadianAboriginalSyllabicsExtended", "Limbu", "TaiLe", "NewTaiLue", "KhmerSymbols", "Buginese", "TaiTham", "CombiningDiacriticalMarksExtended", "Balinese", "Sundanese", "Batak", "Lepcha", "OlChiki", "CyrillicExtended-C", "GeorgianExtended", "SundaneseSupplement", "VedicExtensions", "PhoneticExtensions", "PhoneticExtensionsSupplement", "CombiningDiacriticalMarksSupplement", "LatinExtendedAdditional", "GreekExtended", "GeneralPunctuation", "SuperscriptsandSubscripts", "CurrencySymbols", "CombiningDiacriticalMarksforSymbols|CombiningMarksforSymbols", "LetterlikeSymbols", "NumberForms", "Arrows", "MathematicalOperators", "MiscellaneousTechnical", "ControlPictures", "OpticalCharacterRecognition", "EnclosedAlphanumerics", "BoxDrawing", "BlockElements", "GeometricShapes", "MiscellaneousSymbols", "Dingbats", "MiscellaneousMathematicalSymbols-A", "SupplementalArrows-A", "BraillePatterns", "SupplementalArrows-B", "MiscellaneousMathematicalSymbols-B", "SupplementalMathematicalOperators", "MiscellaneousSymbolsandArrows", "Glagolitic", "LatinExtended-C", "Coptic", "GeorgianSupplement", "Tifinagh", "EthiopicExtended", "CyrillicExtended-A", "SupplementalPunctuation", "CJKRadicalsSupplement", "KangxiRadicals", null, "IdeographicDescriptionCharacters", "CJKSymbolsandPunctuation", "Hiragana", "Katakana", "Bopomofo", "HangulCompatibilityJamo", "Kanbun", "BopomofoExtended", "CJKStrokes", "KatakanaPhoneticExtensions", "EnclosedCJKLettersandMonths", "CJKCompatibility", "CJKUnifiedIdeographsExtensionA", "YijingHexagramSymbols", "CJKUnifiedIdeographs", "YiSyllables", "YiRadicals", "Lisu", "Vai", "CyrillicExtended-B", "Bamum", "ModifierToneLetters", "LatinExtended-D", "SylotiNagri", "CommonIndicNumberForms", "Phags-pa", "Saurashtra", "DevanagariExtended", "KayahLi", "Rejang", "HangulJamoExtended-A", "Javanese", "MyanmarExtended-B", "Cham", "MyanmarExtended-A", "TaiViet", "MeeteiMayekExtensions", "EthiopicExtended-A", "LatinExtended-E", "CherokeeSupplement", "MeeteiMayek", "HangulSyllables", "HangulJamoExtended-B", "HighSurrogates", "HighPrivateUseSurrogates", "LowSurrogates", "PrivateUseArea|PrivateUse", "CJKCompatibilityIdeographs", "AlphabeticPresentationForms", "ArabicPresentationForms-A", "VariationSelectors", "VerticalForms", "CombiningHalfMarks", "CJKCompatibilityForms", "SmallFormVariants", "ArabicPresentationForms-B", "HalfwidthandFullwidthForms", "Specials", "LinearBSyllabary", "LinearBIdeograms", "AegeanNumbers", "AncientGreekNumbers", "AncientSymbols", "PhaistosDisc", null, "Lycian", "Carian", "CopticEpactNumbers", "OldItalic", "Gothic", "OldPermic", "Ugaritic", "OldPersian", null, "Deseret", "Shavian", "Osmanya", "Osage", "Elbasan", "CaucasianAlbanian", "Vithkuqi", null, "LinearA", "LatinExtended-F", null, "CypriotSyllabary", "ImperialAramaic", "Palmyrene", "Nabataean", null, "Hatran", "Phoenician", "Lydian", null, "MeroiticHieroglyphs", "MeroiticCursive", "Kharoshthi", "OldSouthArabian", "OldNorthArabian", null, "Manichaean", "Avestan", "InscriptionalParthian", "InscriptionalPahlavi", "PsalterPahlavi", null, "OldTurkic", null, "OldHungarian", "HanifiRohingya", null, "RumiNumeralSymbols", "Yezidi", "ArabicExtended-C", "OldSogdian", "Sogdian", "OldUyghur", "Chorasmian", "Elymaic", "Brahmi", "Kaithi", "SoraSompeng", "Chakma", "Mahajani", "Sharada", "SinhalaArchaicNumbers", "Khojki", null, "Multani", "Khudawadi", "Grantha", null, "Newa", "Tirhuta", null, "Siddham", "Modi", "MongolianSupplement", "Takri", null, "Ahom", null, "Dogra", null, "WarangCiti", "DivesAkuru", null, "Nandinagari", "ZanabazarSquare", "Soyombo", "UnifiedCanadianAboriginalSyllabicsExtended-A", "PauCinHau", "DevanagariExtended-A", null, "Bhaiksuki", "Marchen", null, "MasaramGondi", "GunjalaGondi", null, "Makasar", "Kawi", null, "LisuSupplement", "TamilSupplement", "Cuneiform", "CuneiformNumbersandPunctuation", "EarlyDynasticCuneiform", null, "Cypro-Minoan", "EgyptianHieroglyphs", "EgyptianHieroglyphFormatControls", null, "AnatolianHieroglyphs", null, "BamumSupplement", "Mro", "Tangsa", "BassaVah", "PahawhHmong", null, "Medefaidrin", null, "Miao", null, "IdeographicSymbolsandPunctuation", "Tangut", "TangutComponents", "KhitanSmallScript", "TangutSupplement", null, "KanaExtended-B", "KanaSupplement", "KanaExtended-A", "SmallKanaExtension", "Nushu", null, "Duployan", "ShorthandFormatControls", null, "ZnamennyMusicalNotation", null, "ByzantineMusicalSymbols", "MusicalSymbols", "AncientGreekMusicalNotation", null, "KaktovikNumerals", "MayanNumerals", "TaiXuanJingSymbols", "CountingRodNumerals", null, "MathematicalAlphanumericSymbols", "SuttonSignWriting", null, "LatinExtended-G", "GlagoliticSupplement", "CyrillicExtended-D", null, "NyiakengPuachueHmong", null, "Toto", "Wancho", null, "NagMundari", null, "EthiopicExtended-B", "MendeKikakui", null, "Adlam", null, "IndicSiyaqNumbers", null, "OttomanSiyaqNumbers", null, "ArabicMathematicalAlphabeticSymbols", null, "MahjongTiles", "DominoTiles", "PlayingCards", "EnclosedAlphanumericSupplement", "EnclosedIdeographicSupplement", "MiscellaneousSymbolsandPictographs", "Emoticons", "OrnamentalDingbats", "TransportandMapSymbols", "AlchemicalSymbols", "GeometricShapesExtended", "SupplementalArrows-C", "SupplementalSymbolsandPictographs", "ChessSymbols", "SymbolsandPictographsExtended-A", "SymbolsforLegacyComputing", null, "CJKUnifiedIdeographsExtensionB", null, "CJKUnifiedIdeographsExtensionC", "CJKUnifiedIdeographsExtensionD", "CJKUnifiedIdeographsExtensionE", "CJKUnifiedIdeographsExtensionF", null, "CJKCompatibilityIdeographsSupplement", null, "CJKUnifiedIdeographsExtensionG", "CJKUnifiedIdeographsExtensionH", null, "Tags", null, "VariationSelectorsSupplement", null, "SupplementaryPrivateUseArea-A|PrivateUse", "SupplementaryPrivateUseArea-B|PrivateUse"], [128, 128, 128, 208, 96, 80, 112, 144, 256, 48, 96, 112, 256, 80, 48, 64, 64, 64, 32, 16, 48, 96, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 256, 160, 96, 256, 384, 32, 96, 640, 32, 96, 32, 32, 32, 32, 128, 176, 80, 80, 48, 96, 32, 32, 144, 80, 128, 64, 64, 80, 48, 16, 48, 16, 48, 128, 64, 64, 256, 256, 112, 48, 48, 48, 80, 64, 112, 256, 256, 64, 32, 160, 128, 32, 96, 256, 192, 48, 16, 256, 128, 128, 256, 256, 96, 32, 128, 48, 80, 96, 32, 128, 128, 224, 16, 16, 64, 96, 96, 48, 96, 16, 32, 48, 16, 256, 256, 6592, 64, 20992, 1168, 64, 48, 320, 96, 96, 32, 224, 48, 16, 64, 96, 32, 48, 48, 32, 96, 32, 96, 32, 96, 32, 48, 64, 80, 64, 11184, 80, 896, 128, 1024, 6400, 512, 80, 688, 16, 16, 16, 32, 32, 144, 240, 16, 128, 128, 64, 80, 64, 48, 128, 32, 64, 32, 48, 32, 48, 32, 64, 32, 80, 48, 48, 80, 48, 64, 80, 64, 384, 64, 64, 64, 32, 32, 48, 48, 32, 32, 32, 64, 32, 96, 96, 32, 32, 32, 64, 64, 32, 32, 48, 80, 80, 48, 128, 64, 288, 32, 64, 64, 48, 64, 64, 48, 32, 128, 80, 48, 80, 48, 96, 32, 80, 48, 48, 80, 128, 128, 128, 96, 160, 128, 96, 32, 80, 48, 80, 176, 80, 80, 96, 96, 64, 96, 80, 96, 16, 64, 96, 160, 112, 80, 64, 96, 80, 304, 32, 96, 80, 16, 64, 1024, 128, 208, 2624, 112, 1072, 48, 4e3, 640, 8576, 576, 48, 96, 48, 144, 688, 96, 96, 160, 64, 32, 6144, 768, 512, 128, 8816, 16, 256, 48, 64, 400, 2304, 160, 16, 4688, 208, 48, 256, 256, 80, 112, 32, 32, 96, 32, 128, 1024, 688, 1104, 256, 48, 96, 112, 80, 320, 48, 64, 464, 48, 736, 32, 224, 32, 96, 784, 80, 64, 80, 176, 256, 256, 48, 112, 96, 256, 256, 768, 80, 48, 128, 128, 128, 256, 256, 112, 144, 256, 1024, 42720, 32, 4160, 224, 5776, 7488, 3088, 544, 1504, 4944, 4192, 711760, 128, 128, 240, 65040, 65536, 65536]), x$1 = function (A) { const n = new Map(), G = A.split(""), i = M$1.map(() => []); let r = 0, o = 0; for (; o < G.length;) { const A = J$1[G[o]], n = (31 & A) - 2; let e = 1 + J$1[G[o + 1]]; switch (32 & A ? (e += J$1[G[o + 2]] << 6, e += J$1[G[o + 3]] << 12, e += J$1[G[o + 4]] << 18, o += 5) : o += 2, n) { case -2: { let A = 0; for (let a = r; a < r + e; ++a) { i[A].push(B$1(a)), A = (A + 1) % 2; } break; } case -1: break; default: { const A = i[n]; 1 === e ? A.push(B$1(r)) : A.push(a$1(r, r + e - 1)); break; } } r += e; } const l = new Map(); return M$1.forEach((A, B) => { const a = i[B].reduce(t$1, e$1); n.set(A, a); const G = A.charAt(0), r = l.get(G) || []; l.set(G, r), r.push(a); }), l.forEach((A, B) => { n.set(B, A.reduce(t$1, e$1)); }), n; }("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"); function L$1(A) { return 32 === A || 9 === A || 10 === A || 13 === A; } const X = [B$1(S$1(":")), a$1(S$1("A"), S$1("Z")), B$1(S$1("_")), a$1(S$1("a"), S$1("z")), a$1(192, 214), a$1(216, 246), a$1(192, 214), a$1(216, 246), a$1(248, 767), a$1(880, 893), a$1(895, 8191), a$1(8204, 8205), a$1(8304, 8591), a$1(11264, 12271), a$1(12289, 55295), a$1(63744, 64975), a$1(65008, 65533), a$1(65536, 983039)].reduce(t$1), Z = [X, B$1(S$1("-")), B$1(S$1(".")), a$1(S$1("0"), S$1("9")), B$1(183), a$1(768, 879), a$1(8255, 8256)].reduce(t$1), O = x$1.get("Nd"), k$1 = b$1(O), N$1 = y$1(a$1(0, 1114111), [x$1.get("P"), x$1.get("Z"), x$1.get("C")].reduce(t$1)), v$1 = b$1(N$1); function w$1(A) { return 10 !== A && 13 !== A && !K$1(A); } const Y = { s: L$1, S: b$1(L$1), i: X, I: b$1(X), c: Z, C: b$1(Z), d: O, D: k$1, w: N$1, W: v$1 }, U = C$1("*"), j$1 = C$1("\\"), R = C$1("{"), V = C$1("}"), W = C$1("["), q$1 = C$1("]"), z$1 = C$1("^"), $$1 = C$1("$"), _ = C$1(","), AA = C$1("-"), BA = C$1("("), aA = C$1(")"), nA = C$1("."), eA = C$1("|"), tA = C$1("+"), GA = C$1("?"), iA = C$1("-["), rA = S$1("0"); function oA(A) { function e(A) { return new Set(A.split("").map(A => S$1(A))); } function G(A, B) { const a = A.codePointAt(B); return void 0 === a ? H$1(B, ["any character"]) : o$1(B + String.fromCodePoint(a).length, a); } const i = "xpath" === A.language ? T(j$1, c$1([u$1(C$1("n"), () => 10), u$1(C$1("r"), () => 13), u$1(C$1("t"), () => 9), u$1(c$1([j$1, eA, nA, AA, z$1, GA, U, tA, R, V, $$1, BA, aA, W, q$1]), A => S$1(A))])) : T(j$1, c$1([u$1(C$1("n"), () => 10), u$1(C$1("r"), () => 13), u$1(C$1("t"), () => 9), u$1(c$1([j$1, eA, nA, AA, z$1, GA, U, tA, R, V, BA, aA, W, q$1]), A => S$1(A))])); function r(A, B) { const a = e(B); return I$1(C$1(A), D$1(s$1(G, A => a.has(A), B.split(""))), (A, B) => function (A) { const B = x$1.get(A); if (null == B) throw new Error(A + " is not a valid unicode category"); return B; }(null === B ? A : A + String.fromCodePoint(B))); } const l = c$1([r("L", "ultmo"), r("M", "nce"), r("N", "dlo"), r("P", "cdseifo"), r("Z", "slp"), r("S", "mcko"), r("C", "cfon")]), p = [a$1(S$1("a"), S$1("z")), a$1(S$1("A"), S$1("Z")), a$1(S$1("0"), S$1("9")), B$1(45)].reduce(t$1), M = c$1([l, u$1(T(C$1("Is"), function (A) { return (B, a) => { const n = A(B, a); return n.success ? o$1(n.offset, B.slice(a, n.offset)) : n; }; }(d$1(s$1(G, p, ["block identifier"])))), B => function (A, B) { const a = Q.get(A); if (void 0 === a) { if (B) return n$1; throw new Error(`The unicode block identifier "${A}" is not known.`); } return a; }(B, "xpath" !== A.language))]), J = E$1(C$1("\\p{"), M, V, !0), K = u$1(E$1(C$1("\\P{"), M, V, !0), b$1), L = T(j$1, u$1(c$1("sSiIcCdDwW".split("").map(A => C$1(A))), A => Y[A])), X = u$1(nA, () => w$1), Z = c$1([L, J, K]), O = e("\\[]"), k = c$1([i, s$1(G, A => !O.has(A), ["unescaped character"])]), N = c$1([u$1(AA, () => null), k]), v = I$1(N, T(AA, N), a$1); function oA(A, B) { return [A].concat(B || []); } const lA = u$1(function (A) { return (B, a) => { const n = A(B, a); return n.success ? o$1(a, n.value) : n; }; }(c$1([q$1, iA])), () => null), HA = S$1("-"), CA = c$1([u$1(F$1(F$1(AA, g$1(W, ["not ["])), lA), () => HA), T(g$1(AA, ["not -"]), k)]), uA = c$1([I$1(u$1(CA, B$1), c$1([function (A, B) { return uA(A, B); }, lA]), oA), I$1(c$1([v, Z]), c$1([cA, lA]), oA)]); const sA = c$1([I$1(u$1(k, B$1), c$1([uA, lA]), oA), I$1(c$1([v, Z]), c$1([cA, lA]), oA)]); function cA(A, B) { return sA(A, B); } const DA = u$1(sA, A => A.reduce(t$1)), mA = u$1(T(z$1, DA), b$1), IA = I$1(c$1([T(g$1(z$1, ["not ^"]), DA), mA]), D$1(T(AA, function (A, B) { return dA(A, B); })), y$1), dA = E$1(W, IA, q$1, !0); const hA = "xpath" === A.language ? c$1([u$1(i, B$1), Z, dA, X, u$1(z$1, () => A => -1 === A), u$1($$1, () => A => -2 === A)]) : c$1([u$1(i, B$1), Z, dA, X]), pA = "xpath" === A.language ? e(".\\?*+{}()|^$[]") : e(".\\?*+{}()|[]"), TA = s$1(G, A => !pA.has(A), ["NormalChar"]), FA = u$1(T(j$1, I$1(u$1(s$1(G, a$1(S$1("1"), S$1("9")), ["digit"]), A => A - rA), m$1(u$1(s$1(G, a$1(rA, S$1("9")), ["digit"]), A => A - rA)), (A, B) => { B.reduce((A, B) => 10 * A + B, A); })), A => { throw new Error("Backreferences in XPath patterns are not yet implemented."); }), EA = "xpath" === A.language ? c$1([u$1(TA, A => ({ kind: "predicate", value: B$1(A) })), u$1(hA, A => ({ kind: "predicate", value: A })), u$1(E$1(BA, T(D$1(C$1("?:")), SA), aA, !0), A => ({ kind: "regexp", value: A })), FA]) : c$1([u$1(TA, A => ({ kind: "predicate", value: B$1(A) })), u$1(hA, A => ({ kind: "predicate", value: A })), u$1(E$1(BA, SA, aA, !0), A => ({ kind: "regexp", value: A }))]), gA = u$1(d$1(u$1(s$1(G, a$1(rA, S$1("9")), ["digit"]), A => A - rA)), A => A.reduce((A, B) => 10 * A + B)), fA = c$1([I$1(gA, T(_, gA), (A, B) => { if (B < A) throw new Error("quantifier range is in the wrong order"); return { min: A, max: B }; }), I$1(gA, _, A => ({ min: A, max: null })), u$1(gA, A => ({ min: A, max: A }))]), PA = "xpath" === A.language ? I$1(c$1([u$1(GA, () => ({ min: 0, max: 1 })), u$1(U, () => ({ min: 0, max: null })), u$1(tA, () => ({ min: 1, max: null })), E$1(R, fA, V, !0)]), D$1(GA), (A, B) => A) : c$1([u$1(GA, () => ({ min: 0, max: 1 })), u$1(U, () => ({ min: 0, max: null })), u$1(tA, () => ({ min: 1, max: null })), E$1(R, fA, V, !0)]), MA = m$1(I$1(EA, u$1(D$1(PA), A => null === A ? { min: 1, max: 1 } : A), (A, B) => [A, B])), JA = I$1(MA, m$1(T(eA, f$1(MA))), (A, B) => [A].concat(B)); function SA(A, B) { return JA(A, B); } const KA = function (A) { return I$1(A, P$1, h$1); }(JA); return function (A) { let B; try { B = KA(A, 0); } catch (B) { throw new Error(`Error parsing pattern "${A}": ${B instanceof Error ? B.message : B}`); } return B.success ? B.value : function (A, B, a) { const n = a.map(A => `"${A}"`); throw new Error(`Error parsing pattern "${A}" at offset ${B}: expected ${n.length > 1 ? "one of " + n.join(", ") : n[0]} but found "${A.slice(B, B + 1)}"`); }(A, B.offset, B.expected); }; } function lA(A) { return [...A].map(A => A.codePointAt(0)); } function HA(B, a = { language: "xsd" }) { const n = oA(a)(B), e = w$2(A => { r$1(A, n, "xpath" === a.language), A.accept(); }); return function (A) { const B = "xpath" === a.language ? [-1, ...lA(A), -2] : lA(A); return e.execute(B).success; }; } var xspattern = /*#__PURE__*/Object.freeze({ __proto__: null, compile: HA }); function n(n, t) { return { success: !0, offset: n, value: t }; } function t(t) { return n(t, void 0); } function e(n, t, e = !1) { return { success: !1, offset: n, expected: t, fatal: e }; } function r(t) { return (r, u) => { const o = u + t.length; return r.slice(u, o) === t ? n(o, t) : e(u, [t]); }; } function u(n) { return n > 65535 ? 2 : 1; } function o(n, r) { return (o, c) => { const f = o.codePointAt(c); return void 0 !== f && n(f) ? t(c + u(f)) : e(c, r); }; } function c(n, r) { return (u, o) => { const c = o; for (;;) { const t = u.codePointAt(o); if (void 0 === t) break; if (!n(t)) break; o += t > 65535 ? 2 : 1; } return void 0 !== r && o === c ? e(o, r) : t(o); }; } function f(n, t, e) { return o(e => n <= e && e <= t, e || [`${String.fromCodePoint(n)}-${String.fromCodePoint(t)}`]); } function s(n) { return (r, o) => { let c = n; for (; c > 0;) { const n = r.codePointAt(o); if (void 0 === n) return e(o, ["any character"]); o += u(n), c -= 1; } return t(o); }; } function i(t, e) { return (r, u) => { const o = t(r, u); return o.success ? n(o.offset, e(o.value)) : o; }; } function l(n) { return i(n, () => {}); } function a(n, t, r, u) { return (o, c) => { const f = n(o, c); return f.success ? t(f.value) ? f : e(c, r, u) : f; }; } function d(n, t) { return (r, u) => { let o = null; for (const e of n) { const n = e(r, u); if (n.success) return n; if (null === o || n.offset > o.offset ? o = n : n.offset === o.offset && void 0 === t && (o.expected = o.expected.concat(n.expected)), n.fatal) return n; } return t = t || (null == o ? void 0 : o.expected) || [], o && (o.expected = t), o || e(u, t); }; } function v(t) { return (e, r) => { const u = t(e, r); return u.success || u.fatal ? u : n(r, null); }; } function p(t) { return (e, r) => { let u = [], o = r; for (;;) { const n = t(e, o); if (!n.success) { if (n.fatal) return n; break; } if (u.push(n.value), n.offset === o) break; o = n.offset; } return n(o, u); }; } function x(n) { return (e, r) => { let u = r; for (;;) { const t = n(e, u); if (!t.success) { if (t.fatal) return t; break; } if (t.offset === u) break; u = t.offset; } return t(u); }; } function y(n) { return i(n, n => n.filter(n => void 0 !== n)); } function b(t, e, r) { return (u, o) => { const c = t(u, o); if (!c.success) return c; const f = e(u, c.offset); return f.success ? n(f.offset, r(c.value, f.value)) : f; }; } function h(...t) { return (e, r) => { const u = []; for (const n of t) { const t = n(e, r); if (!t.success) return t; r = t.offset, u.push(t.value); } return n(r, u); }; } function k(...n) { return (e, r) => { for (const t of n) { const n = t(e, r); if (!n.success) return n; r = n.offset; } return t(r); }; } function P(n) { return b(n, p(n), (n, t) => [n].concat(t)); } function g(n, t) { return n; } function A(n, t) { return t; } function m(n) { return b(n, x(n), A); } function C(n, t) { return b(n, t, A); } function S(n, t) { return b(n, t, g); } function $(n, t, e, r = !1) { return C(n, r ? D(S(t, e)) : S(t, e)); } function j(t) { return (e, r) => { const u = t(e, r); return u.success ? n(u.offset, e.slice(r, u.offset)) : u; }; } function q(t) { return (e, r) => { const u = t(e, r); return u.success ? n(r, u.value) : u; }; } function w(n, r) { return (u, o) => n(u, o).success ? e(o, r) : t(o); } function z(n, t, e) { return C(w(t, e), n); } function B(n, t, r = 0, u = []) { return (o, c) => { const f = o.codePointAt(c + r); if (void 0 === f) return e(c, u); const s = n[f]; return void 0 === s ? void 0 === t ? e(c, u) : t(o, c) : s(o, c); }; } function D(n) { return (t, r) => { const u = n(t, r); return u.success ? u : e(u.offset, u.expected, !0); }; } const E = (n, r) => 0 === r ? t(r) : e(r, ["start of input"]), F = (n, r) => n.length === r ? t(r) : e(r, ["end of input"]); function G(n) { return b(n, F, g); } function H(n) { const t = []; let e = n.next(); for (; !e.done;) t.push(e.value), e = n.next(); return [t, e.value]; } function I(n) { return function* (t, e) { const r = n(t, e); return r.success && (yield r.value), r; }; } function J(n, t) { return function* (e, r) { const u = yield* n(e, r); return u.success ? yield* t(e, u.offset) : u; }; } function K(n) { return function* (t, e) { const r = n(t, e); let u = r.next(); for (; !u.done;) { const n = u.value; void 0 !== n && (yield n), u = r.next(); } return u.value; }; } function L(n) { return function* (e, r) { for (;;) { const [u, o] = H(n(e, r)); if (!o.success) return o.fatal ? o : t(r); if (yield* u, r === o.offset) return t(r); r = o.offset; } }; } function M(n) { return function* (e, r) { const [u, o] = H(n(e, r)); return o.success ? (yield* u, o) : o.fatal ? o : t(r); }; } function N(n) { return function* (t, e) { const r = yield* n(t, e); return r.success ? F(t, r.offset) : r; }; } var prsc = /*#__PURE__*/Object.freeze({ __proto__: null, codepoint: o, codepoints: c, collect: H, complete: G, consume: l, cut: D, delimited: $, dispatch: B, end: F, error: e, except: z, filter: a, filterUndefined: y, first: g, followed: S, map: i, not: w, ok: t, okWithValue: n, optional: v, or: d, peek: q, plus: P, plusConsumed: m, preceded: C, range: f, recognize: j, second: A, sequence: h, sequenceConsumed: k, skipChars: s, star: p, starConsumed: x, start: E, streaming: I, streamingComplete: N, streamingFilterUndefined: K, streamingOptional: M, streamingStar: L, streamingThen: J, then: b, token: r }); const fontoxpath = function (xspattern, prsc) { const VERSION = '3.33.2'; const fontoxpathGlobal = {}; function aa(a, b) { if (!("0" !== a && "-0" !== a || "0" !== b && "-0" !== b)) return 0; var c = /(?:\+|(-))?(\d+)?(?:\.(\d+))?/; a = c.exec(a + ""); var d = c.exec(b + ""), e = !a[1]; const f = !d[1]; b = (a[2] || "").replace(/^0*/, ""); c = (d[2] || "").replace(/^0*/, ""); a = a[3] || ""; d = d[3] || ""; if (e && !f) return 1; if (!e && f) return -1; e = e && f; if (b.length > c.length) return e ? 1 : -1; if (b.length < c.length) return e ? -1 : 1; if (b > c) return e ? 1 : -1; if (b < c) return e ? -1 : 1; b = Math.max(a.length, d.length); c = a.padEnd(b, "0"); b = d.padEnd(b, "0"); return c > b ? e ? 1 : -1 : c < b ? e ? -1 : 1 : 0; } function ba(a, b) { a = a.toString(); if (-1 < a.indexOf(".") && 0 === b) return !1; a = /^[-+]?0*([1-9]\d*)?(?:\.((?:\d*[1-9])*)0*)?$/.exec(a); return a[2] ? a[2].length <= b : !0; } function da() { return function (a, b) { return 1 > aa(a, b); }; } function fa() { return function (a, b) { return 0 > aa(a, b); }; } function ha() { return function (a, b) { return -1 < aa(a, b); }; } function ia() { return function (a, b) { return 0 < aa(a, b); }; } function ja(a, b) { switch (b) { case "required": return /(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString()); case "prohibited": return !/(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString()); case "optional": return !0; } } function ka(a) { switch (a) { case 1: case 0: case 6: case 3: return {}; case 4: return { ka: ba, wa: da(), nc: fa(), xa: ha(), oc: ia() }; case 18: return {}; case 9: case 8: case 7: case 11: case 12: case 13: case 15: case 14: return { Ba: ja }; case 22: case 21: case 20: case 23: case 44: return {}; default: return null; } } var la = {}, ma = {}; function na(a) { return /^([+-]?(\d*(\.\d*)?([eE][+-]?\d*)?|INF)|NaN)$/.test(a); } function oa(a) { return /^[_:A-Za-z][-._:A-Za-z0-9]*$/.test(a); } function pa(a) { return oa(a) && /^[_A-Za-z]([-._A-Za-z0-9])*$/.test(a); } function qa(a) { a = a.split(":"); return 1 === a.length ? pa(a[0]) : 2 !== a.length ? !1 : pa(a[0]) && pa(a[1]); } function ra(a) { return !/[\u0009\u000A\u000D]/.test(a); } function sa(a) { return pa(a); } const ta = new Map([[45, function () { return !0; }], [46, function () { return !0; }], [1, function () { return !0; }], [0, function (a) { return /^(0|1|true|false)$/.test(a); }], [6, function (a) { return na(a); }], [3, na], [4, function (a) { return /^[+-]?\d*(\.\d*)?$/.test(a); }], [18, function (a) { return /^(-)?P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.test(a); }], [9, function (a) { return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [8, function (a) { return /^(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [7, function (a) { return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [11, function (a) { return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [12, function (a) { return /^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [13, function (a) { return /^--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [15, function (a) { return /^---(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [14, function (a) { return /^--(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); }], [22, function (a) { return /^([0-9A-Fa-f]{2})*$/.test(a); }], [21, function (a) { return new RegExp(/^((([A-Za-z0-9+/] ?){4})*((([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/])|(([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=)|(([A-Za-z0-9+/] ?)[AQgw] ?= ?=)))?$/).test(a); }], [20, function () { return !0; }], [44, qa], [48, ra], [52, function (a) { return ra(a) && !/^ | {2,}| $/.test(a); }], [51, function (a) { return /^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(a); }], [50, function (a) { return /^[-._:A-Za-z0-9]+$/.test(a); }], [25, oa], [23, qa], [24, pa], [42, sa], [41, sa], [26, function (a) { return pa(a); }], [5, function (a) { return /^[+-]?\d+$/.test(a); }], [16, function (a) { return /^-?P[0-9]+(Y([0-9]+M)?|M)$/.test(a); }], [17, function (a) { return /^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)?$/.test(a); }]]); var ua = Object.create(null); [{ C: 0, name: 59 }, { C: 0, name: 46, parent: 59, K: { whiteSpace: "preserve" } }, { C: 0, name: 19, parent: 46 }, { C: 0, name: 1, parent: 46 }, { C: 0, name: 0, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 4, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 6, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 3, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 18, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 9, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 8, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 7, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 11, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 12, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 13, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 15, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 14, parent: 46, K: { Ba: "optional", whiteSpace: "collapse" } }, { C: 0, name: 22, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 21, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 20, parent: 46, K: { whiteSpace: "collapse" } }, { C: 0, name: 23, parent: 46, K: { whiteSpace: