UNPKG

reveal.js

Version:

The HTML Presentation Framework

924 lines 1.04 MB
//#region \0rolldown/runtime.js var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), s = (e, i, o, s) => { if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, { get: ((e) => i[e]).bind(null, d), enumerable: !(s = n(i, d)) || s.enumerable }); return e; }, c = (n, r, a) => (a = n == null ? {} : e(i(n)), s(r || !n || !n.__esModule ? t(a, "default", { value: n, enumerable: !0 }) : a, n)), l = /* @__PURE__ */ o(((e, t) => { function n(e) { return e instanceof Map ? e.clear = e.delete = e.set = function() { throw Error("map is read-only"); } : e instanceof Set && (e.add = e.clear = e.delete = function() { throw Error("set is read-only"); }), Object.freeze(e), Object.getOwnPropertyNames(e).forEach((t) => { let r = e[t], i = typeof r; (i === "object" || i === "function") && !Object.isFrozen(r) && n(r); }), e; } var r = class { constructor(e) { e.data === void 0 && (e.data = {}), this.data = e.data, this.isMatchIgnored = !1; } ignoreMatch() { this.isMatchIgnored = !0; } }; function i(e) { return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;"); } function a(e, ...t) { let n = Object.create(null); for (let t in e) n[t] = e[t]; return t.forEach(function(e) { for (let t in e) n[t] = e[t]; }), n; } var o = "</span>", s = (e) => !!e.scope, c = (e, { prefix: t }) => { if (e.startsWith("language:")) return e.replace("language:", "language-"); if (e.includes(".")) { let n = e.split("."); return [`${t}${n.shift()}`, ...n.map((e, t) => `${e}${"_".repeat(t + 1)}`)].join(" "); } return `${t}${e}`; }, l = class { constructor(e, t) { this.buffer = "", this.classPrefix = t.classPrefix, e.walk(this); } addText(e) { this.buffer += i(e); } openNode(e) { if (!s(e)) return; let t = c(e.scope, { prefix: this.classPrefix }); this.span(t); } closeNode(e) { s(e) && (this.buffer += o); } value() { return this.buffer; } span(e) { this.buffer += `<span class="${e}">`; } }, u = (e = {}) => { let t = { children: [] }; return Object.assign(t, e), t; }, d = class e { constructor() { this.rootNode = u(), this.stack = [this.rootNode]; } get top() { return this.stack[this.stack.length - 1]; } get root() { return this.rootNode; } add(e) { this.top.children.push(e); } openNode(e) { let t = u({ scope: e }); this.add(t), this.stack.push(t); } closeNode() { if (this.stack.length > 1) return this.stack.pop(); } closeAllNodes() { for (; this.closeNode();); } toJSON() { return JSON.stringify(this.rootNode, null, 4); } walk(e) { return this.constructor._walk(e, this.rootNode); } static _walk(e, t) { return typeof t == "string" ? e.addText(t) : t.children && (e.openNode(t), t.children.forEach((t) => this._walk(e, t)), e.closeNode(t)), e; } static _collapse(t) { typeof t != "string" && t.children && (t.children.every((e) => typeof e == "string") ? t.children = [t.children.join("")] : t.children.forEach((t) => { e._collapse(t); })); } }, f = class extends d { constructor(e) { super(), this.options = e; } addText(e) { e !== "" && this.add(e); } startScope(e) { this.openNode(e); } endScope() { this.closeNode(); } __addSublanguage(e, t) { let n = e.root; t && (n.scope = `language:${t}`), this.add(n); } toHTML() { return new l(this, this.options).value(); } finalize() { return this.closeAllNodes(), !0; } }; function p(e) { return e ? typeof e == "string" ? e : e.source : null; } function m(e) { return _("(?=", e, ")"); } function h(e) { return _("(?:", e, ")*"); } function g(e) { return _("(?:", e, ")?"); } function _(...e) { return e.map((e) => p(e)).join(""); } function v(e) { let t = e[e.length - 1]; return typeof t == "object" && t.constructor === Object ? (e.splice(e.length - 1, 1), t) : {}; } function y(...e) { return "(" + (v(e).capture ? "" : "?:") + e.map((e) => p(e)).join("|") + ")"; } function b(e) { return RegExp(e.toString() + "|").exec("").length - 1; } function x(e, t) { let n = e && e.exec(t); return n && n.index === 0; } var S = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./; function C(e, { joinWith: t }) { let n = 0; return e.map((e) => { n += 1; let t = n, r = p(e), i = ""; for (; r.length > 0;) { let e = S.exec(r); if (!e) { i += r; break; } i += r.substring(0, e.index), r = r.substring(e.index + e[0].length), e[0][0] === "\\" && e[1] ? i += "\\" + String(Number(e[1]) + t) : (i += e[0], e[0] === "(" && n++); } return i; }).map((e) => `(${e})`).join(t); } var w = /\b\B/, T = "[a-zA-Z]\\w*", E = "[a-zA-Z_]\\w*", D = "\\b\\d+(\\.\\d+)?", O = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", k = "\\b(0b[01]+)", A = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", j = (e = {}) => { let t = /^#![ ]*\//; return e.binary && (e.begin = _(t, /.*\b/, e.binary, /\b.*/)), a({ scope: "meta", begin: t, end: /$/, relevance: 0, "on:begin": (e, t) => { e.index !== 0 && t.ignoreMatch(); } }, e); }, M = { begin: "\\\\[\\s\\S]", relevance: 0 }, N = { scope: "string", begin: "'", end: "'", illegal: "\\n", contains: [M] }, P = { scope: "string", begin: "\"", end: "\"", illegal: "\\n", contains: [M] }, F = { begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ }, I = function(e, t, n = {}) { let r = a({ scope: "comment", begin: e, end: t, contains: [] }, n); r.contains.push({ scope: "doctag", begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/, excludeBegin: !0, relevance: 0 }); let i = y("I", "a", "is", "so", "us", "to", "at", "if", "in", "it", "on", /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, /[A-Za-z]+[-][a-z]+/, /[A-Za-z][a-z]{2,}/); return r.contains.push({ begin: _(/[ ]+/, "(", i, /[.]?[:]?([.][ ]|[ ])/, "){3}") }), r; }, L = I("//", "$"), R = I("/\\*", "\\*/"), z = I("#", "$"), B = { scope: "number", begin: D, relevance: 0 }, ee = { scope: "number", begin: O, relevance: 0 }, te = { scope: "number", begin: k, relevance: 0 }, V = { scope: "regexp", begin: /\/(?=[^/\n]*\/)/, end: /\/[gimuy]*/, contains: [M, { begin: /\[/, end: /\]/, relevance: 0, contains: [M] }] }, ne = { scope: "title", begin: T, relevance: 0 }, H = { scope: "title", begin: E, relevance: 0 }, U = { begin: "\\.\\s*" + E, relevance: 0 }, W = /* @__PURE__ */ Object.freeze({ __proto__: null, APOS_STRING_MODE: N, BACKSLASH_ESCAPE: M, BINARY_NUMBER_MODE: te, BINARY_NUMBER_RE: k, COMMENT: I, C_BLOCK_COMMENT_MODE: R, C_LINE_COMMENT_MODE: L, C_NUMBER_MODE: ee, C_NUMBER_RE: O, END_SAME_AS_BEGIN: function(e) { return Object.assign(e, { "on:begin": (e, t) => { t.data._beginMatch = e[1]; }, "on:end": (e, t) => { t.data._beginMatch !== e[1] && t.ignoreMatch(); } }); }, HASH_COMMENT_MODE: z, IDENT_RE: T, MATCH_NOTHING_RE: w, METHOD_GUARD: U, NUMBER_MODE: B, NUMBER_RE: D, PHRASAL_WORDS_MODE: F, QUOTE_STRING_MODE: P, REGEXP_MODE: V, RE_STARTERS_RE: A, SHEBANG: j, TITLE_MODE: ne, UNDERSCORE_IDENT_RE: E, UNDERSCORE_TITLE_MODE: H }); function G(e, t) { e.input[e.index - 1] === "." && t.ignoreMatch(); } function re(e, t) { e.className !== void 0 && (e.scope = e.className, delete e.className); } function ie(e, t) { t && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e.__beforeBegin = G, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, e.relevance === void 0 && (e.relevance = 0)); } function K(e, t) { Array.isArray(e.illegal) && (e.illegal = y(...e.illegal)); } function ae(e, t) { if (e.match) { if (e.begin || e.end) throw Error("begin & end are not supported with match"); e.begin = e.match, delete e.match; } } function oe(e, t) { e.relevance === void 0 && (e.relevance = 1); } var se = (e, t) => { if (!e.beforeMatch) return; if (e.starts) throw Error("beforeMatch cannot be used with starts"); let n = Object.assign({}, e); Object.keys(e).forEach((t) => { delete e[t]; }), e.keywords = n.keywords, e.begin = _(n.beforeMatch, m(n.begin)), e.starts = { relevance: 0, contains: [Object.assign(n, { endsParent: !0 })] }, e.relevance = 0, delete n.beforeMatch; }, ce = [ "of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value" ], le = "keyword"; function q(e, t, n = le) { let r = Object.create(null); return typeof e == "string" ? i(n, e.split(" ")) : Array.isArray(e) ? i(n, e) : Object.keys(e).forEach(function(n) { Object.assign(r, q(e[n], t, n)); }), r; function i(e, n) { t && (n = n.map((e) => e.toLowerCase())), n.forEach(function(t) { let n = t.split("|"); r[n[0]] = [e, ue(n[0], n[1])]; }); } } function ue(e, t) { return t ? Number(t) : +!de(e); } function de(e) { return ce.includes(e.toLowerCase()); } var fe = {}, J = (e) => { console.error(e); }, pe = (e, ...t) => { console.log(`WARN: ${e}`, ...t); }, Y = (e, t) => { fe[`${e}/${t}`] || (console.log(`Deprecated as of ${e}. ${t}`), fe[`${e}/${t}`] = !0); }, X = /* @__PURE__ */ Error(); function me(e, t, { key: n }) { let r = 0, i = e[n], a = {}, o = {}; for (let e = 1; e <= t.length; e++) o[e + r] = i[e], a[e + r] = !0, r += b(t[e - 1]); e[n] = o, e[n]._emit = a, e[n]._multi = !0; } function he(e) { if (Array.isArray(e.begin)) { if (e.skip || e.excludeBegin || e.returnBegin) throw J("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), X; if (typeof e.beginScope != "object" || e.beginScope === null) throw J("beginScope must be object"), X; me(e, e.begin, { key: "beginScope" }), e.begin = C(e.begin, { joinWith: "" }); } } function ge(e) { if (Array.isArray(e.end)) { if (e.skip || e.excludeEnd || e.returnEnd) throw J("skip, excludeEnd, returnEnd not compatible with endScope: {}"), X; if (typeof e.endScope != "object" || e.endScope === null) throw J("endScope must be object"), X; me(e, e.end, { key: "endScope" }), e.end = C(e.end, { joinWith: "" }); } } function _e(e) { e.scope && typeof e.scope == "object" && e.scope !== null && (e.beginScope = e.scope, delete e.scope); } function ve(e) { _e(e), typeof e.beginScope == "string" && (e.beginScope = { _wrap: e.beginScope }), typeof e.endScope == "string" && (e.endScope = { _wrap: e.endScope }), he(e), ge(e); } function ye(e) { function t(t, n) { return new RegExp(p(t), "m" + (e.case_insensitive ? "i" : "") + (e.unicodeRegex ? "u" : "") + (n ? "g" : "")); } class n { constructor() { this.matchIndexes = {}, this.regexes = [], this.matchAt = 1, this.position = 0; } addRule(e, t) { t.position = this.position++, this.matchIndexes[this.matchAt] = t, this.regexes.push([t, e]), this.matchAt += b(e) + 1; } compile() { this.regexes.length === 0 && (this.exec = () => null), this.matcherRe = t(C(this.regexes.map((e) => e[1]), { joinWith: "|" }), !0), this.lastIndex = 0; } exec(e) { this.matcherRe.lastIndex = this.lastIndex; let t = this.matcherRe.exec(e); if (!t) return null; let n = t.findIndex((e, t) => t > 0 && e !== void 0), r = this.matchIndexes[n]; return t.splice(0, n), Object.assign(t, r); } } class r { constructor() { this.rules = [], this.multiRegexes = [], this.count = 0, this.lastIndex = 0, this.regexIndex = 0; } getMatcher(e) { if (this.multiRegexes[e]) return this.multiRegexes[e]; let t = new n(); return this.rules.slice(e).forEach(([e, n]) => t.addRule(e, n)), t.compile(), this.multiRegexes[e] = t, t; } resumingScanAtSamePosition() { return this.regexIndex !== 0; } considerAll() { this.regexIndex = 0; } addRule(e, t) { this.rules.push([e, t]), t.type === "begin" && this.count++; } exec(e) { let t = this.getMatcher(this.regexIndex); t.lastIndex = this.lastIndex; let n = t.exec(e); if (this.resumingScanAtSamePosition() && !(n && n.index === this.lastIndex)) { let t = this.getMatcher(0); t.lastIndex = this.lastIndex + 1, n = t.exec(e); } return n && (this.regexIndex += n.position + 1, this.regexIndex === this.count && this.considerAll()), n; } } function i(e) { let t = new r(); return e.contains.forEach((e) => t.addRule(e.begin, { rule: e, type: "begin" })), e.terminatorEnd && t.addRule(e.terminatorEnd, { type: "end" }), e.illegal && t.addRule(e.illegal, { type: "illegal" }), t; } function o(n, r) { let a = n; if (n.isCompiled) return a; [ re, ae, ve, se ].forEach((e) => e(n, r)), e.compilerExtensions.forEach((e) => e(n, r)), n.__beforeBegin = null, [ ie, K, oe ].forEach((e) => e(n, r)), n.isCompiled = !0; let s = null; return typeof n.keywords == "object" && n.keywords.$pattern && (n.keywords = Object.assign({}, n.keywords), s = n.keywords.$pattern, delete n.keywords.$pattern), s ||= /\w+/, n.keywords &&= q(n.keywords, e.case_insensitive), a.keywordPatternRe = t(s, !0), r && (n.begin ||= /\B|\b/, a.beginRe = t(a.begin), !n.end && !n.endsWithParent && (n.end = /\B|\b/), n.end && (a.endRe = t(a.end)), a.terminatorEnd = p(a.end) || "", n.endsWithParent && r.terminatorEnd && (a.terminatorEnd += (n.end ? "|" : "") + r.terminatorEnd)), n.illegal && (a.illegalRe = t(n.illegal)), n.contains ||= [], n.contains = [].concat(...n.contains.map(function(e) { return xe(e === "self" ? n : e); })), n.contains.forEach(function(e) { o(e, a); }), n.starts && o(n.starts, r), a.matcher = i(a), a; } if (e.compilerExtensions ||= [], e.contains && e.contains.includes("self")) throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation."); return e.classNameAliases = a(e.classNameAliases || {}), o(e); } function be(e) { return e ? e.endsWithParent || be(e.starts) : !1; } function xe(e) { return e.variants && !e.cachedVariants && (e.cachedVariants = e.variants.map(function(t) { return a(e, { variants: null }, t); })), e.cachedVariants ? e.cachedVariants : be(e) ? a(e, { starts: e.starts ? a(e.starts) : null }) : Object.isFrozen(e) ? a(e) : e; } var Se = "11.11.1", Ce = class extends Error { constructor(e, t) { super(e), this.name = "HTMLInjectionError", this.html = t; } }, we = i, Te = a, Ee = Symbol("nomatch"), De = 7, Oe = function(e) { let t = Object.create(null), i = Object.create(null), a = [], o = !0, s = "Could not find the language '{}', did you forget to load/include a language module?", c = { disableAutodetect: !0, name: "Plain text", contains: [] }, l = { ignoreUnescapedHTML: !1, throwUnescapedHTML: !1, noHighlightRe: /^(no-?highlight)$/i, languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i, classPrefix: "hljs-", cssSelector: "pre code", languages: null, __emitter: f }; function u(e) { return l.noHighlightRe.test(e); } function d(e) { let t = e.className + " "; t += e.parentNode ? e.parentNode.className : ""; let n = l.languageDetectRe.exec(t); if (n) { let t = N(n[1]); return t || (pe(s.replace("{}", n[1])), pe("Falling back to no-highlight mode for this block.", e)), t ? n[1] : "no-highlight"; } return t.split(/\s+/).find((e) => u(e) || N(e)); } function p(e, t, n) { let r = "", i = ""; typeof t == "object" ? (r = e, n = t.ignoreIllegals, i = t.language) : (Y("10.7.0", "highlight(lang, code, ...args) has been deprecated."), Y("10.7.0", "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), i = e, r = t), n === void 0 && (n = !0); let a = { code: r, language: i }; z("before:highlight", a); let o = a.result ? a.result : v(a.language, a.code, n); return o.code = a.code, z("after:highlight", o), o; } function v(e, n, i, a) { let c = Object.create(null); function u(e, t) { return e.keywords[t]; } function d() { if (!A.keywords) { M.addText(P); return; } let e = 0; A.keywordPatternRe.lastIndex = 0; let t = A.keywordPatternRe.exec(P), n = ""; for (; t;) { n += P.substring(e, t.index); let r = D.case_insensitive ? t[0].toLowerCase() : t[0], i = u(A, r); if (i) { let [e, a] = i; if (M.addText(n), n = "", c[r] = (c[r] || 0) + 1, c[r] <= De && (F += a), e.startsWith("_")) n += t[0]; else { let n = D.classNameAliases[e] || e; m(t[0], n); } } else n += t[0]; e = A.keywordPatternRe.lastIndex, t = A.keywordPatternRe.exec(P); } n += P.substring(e), M.addText(n); } function f() { if (P === "") return; let e = null; if (typeof A.subLanguage == "string") { if (!t[A.subLanguage]) { M.addText(P); return; } e = v(A.subLanguage, P, !0, j[A.subLanguage]), j[A.subLanguage] = e._top; } else e = S(P, A.subLanguage.length ? A.subLanguage : null); A.relevance > 0 && (F += e.relevance), M.__addSublanguage(e._emitter, e.language); } function p() { A.subLanguage == null ? d() : f(), P = ""; } function m(e, t) { e !== "" && (M.startScope(t), M.addText(e), M.endScope()); } function h(e, t) { let n = 1, r = t.length - 1; for (; n <= r;) { if (!e._emit[n]) { n++; continue; } let r = D.classNameAliases[e[n]] || e[n], i = t[n]; r ? m(i, r) : (P = i, d(), P = ""), n++; } } function g(e, t) { return e.scope && typeof e.scope == "string" && M.openNode(D.classNameAliases[e.scope] || e.scope), e.beginScope && (e.beginScope._wrap ? (m(P, D.classNameAliases[e.beginScope._wrap] || e.beginScope._wrap), P = "") : e.beginScope._multi && (h(e.beginScope, t), P = "")), A = Object.create(e, { parent: { value: A } }), A; } function _(e, t, n) { let i = x(e.endRe, n); if (i) { if (e["on:end"]) { let n = new r(e); e["on:end"](t, n), n.isMatchIgnored && (i = !1); } if (i) { for (; e.endsParent && e.parent;) e = e.parent; return e; } } if (e.endsWithParent) return _(e.parent, t, n); } function y(e) { return A.matcher.regexIndex === 0 ? (P += e[0], 1) : (R = !0, 0); } function b(e) { let t = e[0], n = e.rule, i = new r(n), a = [n.__beforeBegin, n["on:begin"]]; for (let n of a) if (n && (n(e, i), i.isMatchIgnored)) return y(t); return n.skip ? P += t : (n.excludeBegin && (P += t), p(), !n.returnBegin && !n.excludeBegin && (P = t)), g(n, e), n.returnBegin ? 0 : t.length; } function C(e) { let t = e[0], r = n.substring(e.index), i = _(A, e, r); if (!i) return Ee; let a = A; A.endScope && A.endScope._wrap ? (p(), m(t, A.endScope._wrap)) : A.endScope && A.endScope._multi ? (p(), h(A.endScope, e)) : a.skip ? P += t : (a.returnEnd || a.excludeEnd || (P += t), p(), a.excludeEnd && (P = t)); do A.scope && M.closeNode(), !A.skip && !A.subLanguage && (F += A.relevance), A = A.parent; while (A !== i.parent); return i.starts && g(i.starts, e), a.returnEnd ? 0 : t.length; } function w() { let e = []; for (let t = A; t !== D; t = t.parent) t.scope && e.unshift(t.scope); e.forEach((e) => M.openNode(e)); } let T = {}; function E(t, r) { let a = r && r[0]; if (P += t, a == null) return p(), 0; if (T.type === "begin" && r.type === "end" && T.index === r.index && a === "") { if (P += n.slice(r.index, r.index + 1), !o) { let t = /* @__PURE__ */ Error(`0 width match regex (${e})`); throw t.languageName = e, t.badRule = T.rule, t; } return 1; } if (T = r, r.type === "begin") return b(r); if (r.type === "illegal" && !i) { let e = /* @__PURE__ */ Error("Illegal lexeme \"" + a + "\" for mode \"" + (A.scope || "<unnamed>") + "\""); throw e.mode = A, e; } else if (r.type === "end") { let e = C(r); if (e !== Ee) return e; } if (r.type === "illegal" && a === "") return P += "\n", 1; if (L > 1e5 && L > r.index * 3) throw /* @__PURE__ */ Error("potential infinite loop, way more iterations than matches"); return P += a, a.length; } let D = N(e); if (!D) throw J(s.replace("{}", e)), Error("Unknown language: \"" + e + "\""); let O = ye(D), k = "", A = a || O, j = {}, M = new l.__emitter(l); w(); let P = "", F = 0, I = 0, L = 0, R = !1; try { if (D.__emitTokens) D.__emitTokens(n, M); else { for (A.matcher.considerAll();;) { L++, R ? R = !1 : A.matcher.considerAll(), A.matcher.lastIndex = I; let e = A.matcher.exec(n); if (!e) break; let t = E(n.substring(I, e.index), e); I = e.index + t; } E(n.substring(I)); } return M.finalize(), k = M.toHTML(), { language: e, value: k, relevance: F, illegal: !1, _emitter: M, _top: A }; } catch (t) { if (t.message && t.message.includes("Illegal")) return { language: e, value: we(n), illegal: !0, relevance: 0, _illegalBy: { message: t.message, index: I, context: n.slice(I - 100, I + 100), mode: t.mode, resultSoFar: k }, _emitter: M }; if (o) return { language: e, value: we(n), illegal: !1, relevance: 0, errorRaised: t, _emitter: M, _top: A }; throw t; } } function b(e) { let t = { value: we(e), illegal: !1, relevance: 0, _top: c, _emitter: new l.__emitter(l) }; return t._emitter.addText(e), t; } function S(e, n) { n = n || l.languages || Object.keys(t); let r = b(e), i = n.filter(N).filter(F).map((t) => v(t, e, !1)); i.unshift(r); let [a, o] = i.sort((e, t) => { if (e.relevance !== t.relevance) return t.relevance - e.relevance; if (e.language && t.language) { if (N(e.language).supersetOf === t.language) return 1; if (N(t.language).supersetOf === e.language) return -1; } return 0; }), s = a; return s.secondBest = o, s; } function C(e, t, n) { let r = t && i[t] || n; e.classList.add("hljs"), e.classList.add(`language-${r}`); } function w(e) { let t = null, n = d(e); if (u(n)) return; if (z("before:highlightElement", { el: e, language: n }), e.dataset.highlighted) { console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.", e); return; } if (e.children.length > 0 && (l.ignoreUnescapedHTML || (console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), console.warn("The element with unescaped HTML:"), console.warn(e)), l.throwUnescapedHTML)) throw new Ce("One of your code blocks includes unescaped HTML.", e.innerHTML); t = e; let r = t.textContent, i = n ? p(r, { language: n, ignoreIllegals: !0 }) : S(r); e.innerHTML = i.value, e.dataset.highlighted = "yes", C(e, n, i.language), e.result = { language: i.language, re: i.relevance, relevance: i.relevance }, i.secondBest && (e.secondBest = { language: i.secondBest.language, relevance: i.secondBest.relevance }), z("after:highlightElement", { el: e, result: i, text: r }); } function T(e) { l = Te(l, e); } let E = () => { k(), Y("10.6.0", "initHighlighting() deprecated. Use highlightAll() now."); }; function D() { k(), Y("10.6.0", "initHighlightingOnLoad() deprecated. Use highlightAll() now."); } let O = !1; function k() { function e() { k(); } if (document.readyState === "loading") { O || window.addEventListener("DOMContentLoaded", e, !1), O = !0; return; } document.querySelectorAll(l.cssSelector).forEach(w); } function A(n, r) { let i = null; try { i = r(e); } catch (e) { if (J("Language definition for '{}' could not be registered.".replace("{}", n)), o) J(e); else throw e; i = c; } i.name ||= n, t[n] = i, i.rawDefinition = r.bind(null, e), i.aliases && P(i.aliases, { languageName: n }); } function j(e) { delete t[e]; for (let t of Object.keys(i)) i[t] === e && delete i[t]; } function M() { return Object.keys(t); } function N(e) { return e = (e || "").toLowerCase(), t[e] || t[i[e]]; } function P(e, { languageName: t }) { typeof e == "string" && (e = [e]), e.forEach((e) => { i[e.toLowerCase()] = t; }); } function F(e) { let t = N(e); return t && !t.disableAutodetect; } function I(e) { e["before:highlightBlock"] && !e["before:highlightElement"] && (e["before:highlightElement"] = (t) => { e["before:highlightBlock"](Object.assign({ block: t.el }, t)); }), e["after:highlightBlock"] && !e["after:highlightElement"] && (e["after:highlightElement"] = (t) => { e["after:highlightBlock"](Object.assign({ block: t.el }, t)); }); } function L(e) { I(e), a.push(e); } function R(e) { let t = a.indexOf(e); t !== -1 && a.splice(t, 1); } function z(e, t) { let n = e; a.forEach(function(e) { e[n] && e[n](t); }); } function B(e) { return Y("10.7.0", "highlightBlock will be removed entirely in v12.0"), Y("10.7.0", "Please use highlightElement now."), w(e); } Object.assign(e, { highlight: p, highlightAuto: S, highlightAll: k, highlightElement: w, highlightBlock: B, configure: T, initHighlighting: E, initHighlightingOnLoad: D, registerLanguage: A, unregisterLanguage: j, listLanguages: M, getLanguage: N, registerAliases: P, autoDetection: F, inherit: Te, addPlugin: L, removePlugin: R }), e.debugMode = function() { o = !1; }, e.safeMode = function() { o = !0; }, e.versionString = Se, e.regex = { concat: _, lookahead: m, either: y, optional: g, anyNumberOfTimes: h }; for (let e in W) typeof W[e] == "object" && n(W[e]); return Object.assign(e, W), e; }, Z = Oe({}); Z.newInstance = () => Oe({}), t.exports = Z, Z.HighlightJS = Z, Z.default = Z; })), u = /* @__PURE__ */ o(((e, t) => { function n(e) { let t = "[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+", n = "далее возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ", r = "null истина ложь неопределено", i = e.inherit(e.NUMBER_MODE), a = { className: "string", begin: "\"|\\|", end: "\"|$", contains: [{ begin: "\"\"" }] }, o = { begin: "'", end: "'", excludeBegin: !0, excludeEnd: !0, contains: [{ className: "number", begin: "\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}" }] }, s = { match: /[;()+\-:=,]/, className: "punctuation", relevance: 0 }, c = e.inherit(e.C_LINE_COMMENT_MODE), l = { className: "meta", begin: "#|&", end: "$", keywords: { $pattern: t, keyword: n + "загрузитьизфайла вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент " }, contains: [c] }, u = { className: "symbol", begin: "~", end: ";|:", excludeEnd: !0 }, d = { className: "function", variants: [{ begin: "процедура|функция", end: "\\)", keywords: "процедура функция" }, { begin: "конецпроцедуры|конецфункции", keywords: "конецпроцедуры конецфункции" }], contains: [{ begin: "\\(", end: "\\)", endsParent: !0, contains: [{ className: "params", begin: t, end: ",", excludeEnd: !0, endsWithParent: !0, keywords: { $pattern: t, keyword: "знач", literal: r }, contains: [ i, a, o ] }, c] }, e.inherit(e.TITLE_MODE, { begin: t })] }; return { name: "1C:Enterprise", case_insensitive: !0, keywords: { $pattern: t, keyword: n, built_in: "разделительстраниц разделительстрок символтабуляции ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ", class: "webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц отображениевремениэлементовпланировщика типфайлаформатированногодокумента обходрезультатазапроса типзаписизапроса видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов доступкфайлу режимдиалогавыборафайла режимоткрытияфайла типизмеренияпостроителязапроса видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена осн