UNPKG

swagger-editor

Version:

- [Anonymized analytics](#anonymized-analytics) - [Getting started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Usage](#usage) - [Development](#development) - [Prerequisites](#prerequisites) - [Setting

1,110 lines 368 kB
import { a as e } from "./chunk-HEgqtunE.js"; //#region node_modules/@vscode/diff/dist/wire.js var t = class e { start; endExclusive; static ofLength(t) { return new e(0, t); } static ofStartAndLength(t, n) { return new e(t, t + n); } constructor(e, t) { if (this.start = e, this.endExclusive = t, e > t) throw Error(`Invalid range: [${e}, ${t})`); } get isEmpty() { return this.start === this.endExclusive; } get length() { return this.endExclusive - this.start; } delta(t) { return new e(this.start + t, this.endExclusive + t); } deltaStart(t) { return new e(this.start + t, this.endExclusive); } deltaEnd(t) { return new e(this.start, this.endExclusive + t); } equals(e) { return this.start === e.start && this.endExclusive === e.endExclusive; } containsRange(e) { return this.start <= e.start && e.endExclusive <= this.endExclusive; } contains(e) { return this.start <= e && e < this.endExclusive; } join(t) { return new e(Math.min(this.start, t.start), Math.max(this.endExclusive, t.endExclusive)); } intersect(t) { let n = Math.max(this.start, t.start), r = Math.min(this.endExclusive, t.endExclusive); if (n <= r) return new e(n, r); } intersects(e) { return Math.max(this.start, e.start) < Math.min(this.endExclusive, e.endExclusive); } intersectsOrTouches(e) { return Math.max(this.start, e.start) <= Math.min(this.endExclusive, e.endExclusive); } slice(e) { return e.slice(this.start, this.endExclusive); } toString() { return `[${this.start}, ${this.endExclusive})`; } }, n = class e { static instance = new e(); isValid() { return !0; } }, r = class { timeout; startTime = Date.now(); valid = !0; constructor(e) { if (this.timeout = e, e <= 0) throw Error("timeout must be positive"); } isValid() { return !(Date.now() - this.startTime < this.timeout) && this.valid && (this.valid = !1), this.valid; } }, i = class e { offset1; offset2; static zero = new e(0, 0); static max = new e(2 ** 53 - 1, 2 ** 53 - 1); constructor(e, t) { this.offset1 = e, this.offset2 = t; } toString() { return `${this.offset1} <-> ${this.offset2}`; } delta(t) { return t === 0 ? this : new e(this.offset1 + t, this.offset2 + t); } equals(e) { return this.offset1 === e.offset1 && this.offset2 === e.offset2; } }, a = class e { seq1Range; seq2Range; static invert(t, n) { let r = []; return s(t, (t, a) => { r.push(e.fromOffsetPairs(t ? t.getEndExclusives() : i.zero, a ? a.getStarts() : new i(n, (t ? t.seq2Range.endExclusive - t.seq1Range.endExclusive : 0) + n))); }), r; } static fromOffsetPairs(n, r) { return new e(new t(n.offset1, r.offset1), new t(n.offset2, r.offset2)); } static assertSorted(e) { let t; for (let n of e) { if (t && !(t.seq1Range.endExclusive <= n.seq1Range.start && t.seq2Range.endExclusive <= n.seq2Range.start)) throw Error("Sequence diffs must be sorted"); t = n; } } constructor(e, t) { this.seq1Range = e, this.seq2Range = t; } swap() { return new e(this.seq2Range, this.seq1Range); } toString() { return `${this.seq1Range} <-> ${this.seq2Range}`; } join(t) { return new e(this.seq1Range.join(t.seq1Range), this.seq2Range.join(t.seq2Range)); } delta(t) { return t === 0 ? this : new e(this.seq1Range.delta(t), this.seq2Range.delta(t)); } deltaStart(t) { return t === 0 ? this : new e(this.seq1Range.deltaStart(t), this.seq2Range.deltaStart(t)); } deltaEnd(t) { return t === 0 ? this : new e(this.seq1Range.deltaEnd(t), this.seq2Range.deltaEnd(t)); } intersectsOrTouches(e) { return this.seq1Range.intersectsOrTouches(e.seq1Range) || this.seq2Range.intersectsOrTouches(e.seq2Range); } intersect(t) { let n = this.seq1Range.intersect(t.seq1Range), r = this.seq2Range.intersect(t.seq2Range); if (!(!n || !r)) return new e(n, r); } getStarts() { return new i(this.seq1Range.start, this.seq2Range.start); } getEndExclusives() { return new i(this.seq1Range.endExclusive, this.seq2Range.endExclusive); } }, o = class e { diffs; hitTimeout; static trivial(n, r) { return new e([new a(t.ofLength(n.length), t.ofLength(r.length))], !1); } static trivialTimedOut(n, r) { return new e([new a(t.ofLength(n.length), t.ofLength(r.length))], !0); } constructor(e, t) { this.diffs = e, this.hitTimeout = t; } }; function s(e, t) { let n; for (let r of e) t(n, r), n = r; t(n, void 0); } var c = class { width; height; array = []; constructor(e, t) { this.width = e, this.height = t, this.array = Array(e * t); } get(e, t) { return this.array[e + t * this.width]; } set(e, t, n) { this.array[e + t * this.width] = n; } }, l = class { compute(e, r, i = n.instance, s) { if (e.length === 0 || r.length === 0) return o.trivial(e, r); let l = new c(e.length, r.length), u = new c(e.length, r.length), d = new c(e.length, r.length); for (let t = 0; t < e.length; t++) for (let n = 0; n < r.length; n++) { if (!i.isValid()) return o.trivialTimedOut(e, r); let a = t === 0 ? 0 : l.get(t - 1, n), c = n === 0 ? 0 : l.get(t, n - 1), f; e.getElement(t) === r.getElement(n) ? (f = t === 0 || n === 0 ? 0 : l.get(t - 1, n - 1), t > 0 && n > 0 && u.get(t - 1, n - 1) === 3 && (f += d.get(t - 1, n - 1)), f += s ? s(t, n) : 1) : f = -1; let p = Math.max(a, c, f); if (p === f) { let e = t > 0 && n > 0 ? d.get(t - 1, n - 1) : 0; d.set(t, n, e + 1), u.set(t, n, 3); } else p === a ? (d.set(t, n, 0), u.set(t, n, 1)) : p === c && (d.set(t, n, 0), u.set(t, n, 2)); l.set(t, n, p); } let f = [], p = e.length, m = r.length; function h(e, n) { (e + 1 !== p || n + 1 !== m) && f.push(new a(new t(e + 1, p), new t(n + 1, m))), p = e, m = n; } let g = e.length - 1, _ = r.length - 1; for (; g >= 0 && _ >= 0;) u.get(g, _) === 3 ? (h(g, _), g--, _--) : u.get(g, _) === 1 ? g-- : _--; return h(-1, -1), f.reverse(), new o(f, !1); } }, u = class { compute(e, r, i = n.instance) { if (e.length === 0 || r.length === 0) return o.trivial(e, r); let s = e, c = r; function l(e, t) { for (; e < s.length && t < c.length && s.getElement(e) === c.getElement(t);) e++, t++; return e; } let u = 0, m = new f(); m.set(0, l(0, 0)); let h = new p(); h.set(0, m.get(0) === 0 ? null : new d(null, 0, 0, m.get(0))); let g = 0; loop: for (;;) { if (u++, !i.isValid()) return o.trivialTimedOut(s, c); let e = -Math.min(u, c.length + u % 2), t = Math.min(u, s.length + u % 2); for (g = e; g <= t; g += 2) { let n = g === t ? -1 : m.get(g + 1), r = g === e ? -1 : m.get(g - 1) + 1, i = Math.min(Math.max(n, r), s.length), a = i - g; if (i > s.length || a > c.length) continue; let o = l(i, a); m.set(g, o); let u = i === n ? h.get(g + 1) : h.get(g - 1); if (h.set(g, o === i ? u : new d(u, i, a, o - i)), m.get(g) === s.length && m.get(g) - g === c.length) break loop; } } let _ = h.get(g), v = [], y = s.length, b = c.length; for (;;) { let e = _ ? _.x + _.length : 0, n = _ ? _.y + _.length : 0; if ((e !== y || n !== b) && v.push(new a(new t(e, y), new t(n, b))), !_) break; y = _.x, b = _.y, _ = _.prev; } return v.reverse(), new o(v, !1); } }, d = class { prev; x; y; length; constructor(e, t, n, r) { this.prev = e, this.x = t, this.y = n, this.length = r; } }, f = class { positiveArr = new Int32Array(10); negativeArr = new Int32Array(10); get(e) { return e < 0 ? (e = -e - 1, this.negativeArr[e]) : this.positiveArr[e]; } set(e, t) { if (e < 0) { if (e = -e - 1, e >= this.negativeArr.length) { let e = this.negativeArr; this.negativeArr = new Int32Array(e.length * 2), this.negativeArr.set(e); } this.negativeArr[e] = t; } else { if (e >= this.positiveArr.length) { let e = this.positiveArr; this.positiveArr = new Int32Array(e.length * 2), this.positiveArr.set(e); } this.positiveArr[e] = t; } } }, p = class { positiveArr = []; negativeArr = []; get(e) { return e < 0 ? (e = -e - 1, this.negativeArr[e]) : this.positiveArr[e]; } set(e, t) { e < 0 ? (e = -e - 1, this.negativeArr[e] = t) : this.positiveArr[e] = t; } }; function m(e, t, n) { let r = n; return r = h(e, t, r), r = h(e, t, r), r = g(e, t, r), r; } function h(e, n, r) { if (r.length === 0) return r; let i = []; i.push(r[0]); for (let o = 1; o < r.length; o++) { let s = i[i.length - 1], c = r[o]; if (c.seq1Range.isEmpty || c.seq2Range.isEmpty) { let r = c.seq1Range.start - s.seq1Range.endExclusive, o; for (o = 1; o <= r && !(e.getElement(c.seq1Range.start - o) !== e.getElement(c.seq1Range.endExclusive - o) || n.getElement(c.seq2Range.start - o) !== n.getElement(c.seq2Range.endExclusive - o)); o++); if (o--, o === r) { i[i.length - 1] = new a(new t(s.seq1Range.start, c.seq1Range.endExclusive - r), new t(s.seq2Range.start, c.seq2Range.endExclusive - r)); continue; } c = c.delta(-o); } i.push(c); } let o = []; for (let r = 0; r < i.length - 1; r++) { let s = i[r + 1], c = i[r]; if (c.seq1Range.isEmpty || c.seq2Range.isEmpty) { let o = s.seq1Range.start - c.seq1Range.endExclusive, l; for (l = 0; l < o && !(!e.isStronglyEqual(c.seq1Range.start + l, c.seq1Range.endExclusive + l) || !n.isStronglyEqual(c.seq2Range.start + l, c.seq2Range.endExclusive + l)); l++); if (l === o) { i[r + 1] = new a(new t(c.seq1Range.start + o, s.seq1Range.endExclusive), new t(c.seq2Range.start + o, s.seq2Range.endExclusive)); continue; } l > 0 && (c = c.delta(l)); } o.push(c); } return i.length > 0 && o.push(i[i.length - 1]), o; } function g(e, n, r) { if (!e.getBoundaryScore || !n.getBoundaryScore) return r; for (let i = 0; i < r.length; i++) { let a = i > 0 ? r[i - 1] : void 0, o = r[i], s = i + 1 < r.length ? r[i + 1] : void 0, c = new t(a ? a.seq1Range.endExclusive + 1 : 0, s ? s.seq1Range.start - 1 : e.length), l = new t(a ? a.seq2Range.endExclusive + 1 : 0, s ? s.seq2Range.start - 1 : n.length); o.seq1Range.isEmpty ? r[i] = _(o, e, n, c, l) : o.seq2Range.isEmpty && (r[i] = _(o.swap(), n, e, l, c).swap()); } return r; } function _(e, t, n, r, i) { let a = 1; for (; e.seq1Range.start - a >= r.start && e.seq2Range.start - a >= i.start && n.isStronglyEqual(e.seq2Range.start - a, e.seq2Range.endExclusive - a) && a < 100;) a++; a--; let o = 0; for (; e.seq1Range.start + o < r.endExclusive && e.seq2Range.endExclusive + o < i.endExclusive && n.isStronglyEqual(e.seq2Range.start + o, e.seq2Range.endExclusive + o) && o < 100;) o++; if (a === 0 && o === 0) return e; let s = 0, c = -1; for (let r = -a; r <= o; r++) { let i = e.seq2Range.start + r, a = e.seq2Range.endExclusive + r, o = e.seq1Range.start + r, l = t.getBoundaryScore(o) + n.getBoundaryScore(i) + n.getBoundaryScore(a); l > c && (c = l, s = r); } return e.delta(s); } function v(e, t, n) { let r = []; for (let e of n) { let t = r[r.length - 1]; if (!t) { r.push(e); continue; } e.seq1Range.start - t.seq1Range.endExclusive <= 2 || e.seq2Range.start - t.seq2Range.endExclusive <= 2 ? r[r.length - 1] = new a(t.seq1Range.join(e.seq1Range), t.seq2Range.join(e.seq2Range)) : r.push(e); } return r; } function y(e, t, n, r, o = !1) { let s = a.invert(n, e.length), c = [], l = new i(0, 0); function u(n, i) { if (n.offset1 < l.offset1 || n.offset2 < l.offset2) return; let u = r(e, n.offset1), d = r(t, n.offset2); if (!u || !d) return; let f = new a(u, d), p = f.intersect(i), m = p.seq1Range.length, h = p.seq2Range.length; for (; s.length > 0;) { let n = s[0]; if (!(n.seq1Range.intersects(f.seq1Range) || n.seq2Range.intersects(f.seq2Range))) break; let i = new a(r(e, n.seq1Range.start), r(t, n.seq2Range.start)), o = i.intersect(n); if (m += o.seq1Range.length, h += o.seq2Range.length, f = f.join(i), f.seq1Range.endExclusive >= n.seq1Range.endExclusive) s.shift(); else break; } (o && m + h < f.seq1Range.length + f.seq2Range.length || m + h < (f.seq1Range.length + f.seq2Range.length) * 2 / 3) && c.push(f), l = f.getEndExclusives(); } for (; s.length > 0;) { let e = s.shift(); e.seq1Range.isEmpty || (u(e.getStarts(), e), u(e.getEndExclusives().delta(-1), e)); } return b(n, c); } function b(e, t) { let n = []; for (; e.length > 0 || t.length > 0;) { let r = e[0], i = t[0], a; a = r && (!i || r.seq1Range.start < i.seq1Range.start) ? e.shift() : t.shift(), n.length > 0 && n[n.length - 1].seq1Range.endExclusive >= a.seq1Range.start ? n[n.length - 1] = n[n.length - 1].join(a) : n.push(a); } return n; } function ee(e, n, r) { let i = r; if (i.length === 0) return i; let a = 0, o; do { o = !1; let n = [i[0]]; for (let r = 1; r < i.length; r++) { let a = i[r], s = n[n.length - 1]; function c(n, r) { let i = new t(s.seq1Range.endExclusive, a.seq1Range.start); return e.getText(i).replace(/\s/g, "").length <= 4 && (n.seq1Range.length + n.seq2Range.length > 5 || r.seq1Range.length + r.seq2Range.length > 5); } c(s, a) ? (o = !0, n[n.length - 1] = n[n.length - 1].join(a)) : n.push(a); } i = n; } while (a++ < 10 && o); return i; } function x(e, n, r) { let o = r; if (o.length === 0) return o; let s = 0, c; do { c = !1; let r = [o[0]]; for (let i = 1; i < o.length; i++) { let a = o[i], s = r[r.length - 1]; function l(r, i) { let o = new t(s.seq1Range.endExclusive, a.seq1Range.start); if (e.countLinesIn(o) > 5 || o.length > 500) return !1; let c = e.getText(o).trim(); if (c.length > 20 || c.split(/\r\n|\r|\n/).length > 1) return !1; let l = e.countLinesIn(r.seq1Range), u = r.seq1Range.length, d = n.countLinesIn(r.seq2Range), f = r.seq2Range.length, p = e.countLinesIn(i.seq1Range), m = i.seq1Range.length, h = n.countLinesIn(i.seq2Range), g = i.seq2Range.length; function _(e) { return Math.min(e, 130); } return (_(l * 40 + u) ** 1.5 + _(d * 40 + f) ** 1.5) ** 1.5 + (_(p * 40 + m) ** 1.5 + _(h * 40 + g) ** 1.5) ** 1.5 > (130 ** 1.5) ** 1.5 * 1.3; } l(s, a) ? (c = !0, r[r.length - 1] = r[r.length - 1].join(a)) : r.push(a); } o = r; } while (s++ < 10 && c); let l = []; return te(o, (n, r, o) => { let s = r; function c(e) { return e.length > 0 && e.trim().length <= 3 && r.seq1Range.length + r.seq2Range.length > 100; } let u = e.extendToFullLines(r.seq1Range), d = e.getText(new t(u.start, r.seq1Range.start)); c(d) && (s = s.deltaStart(-d.length)); let f = e.getText(new t(r.seq1Range.endExclusive, u.endExclusive)); c(f) && (s = s.deltaEnd(f.length)); let p = a.fromOffsetPairs(n ? n.getEndExclusives() : i.zero, o ? o.getStarts() : i.max), m = s.intersect(p); l.length > 0 && m.getStarts().equals(l[l.length - 1].getEndExclusives()) ? l[l.length - 1] = l[l.length - 1].join(m) : l.push(m); }), l; } function te(e, t) { for (let n = 0; n < e.length; n++) t(e[n - 1], e[n], e[n + 1]); } var ne = { Space: 32, Tab: 9 }, re = class { trimmedHash; lines; constructor(e, t) { this.trimmedHash = e, this.lines = t; } getElement(e) { return this.trimmedHash[e]; } get length() { return this.trimmedHash.length; } getBoundaryScore(e) { return 1e3 - ((e === 0 ? 0 : S(this.lines[e - 1])) + (e === this.lines.length ? 0 : S(this.lines[e]))); } getText(e) { return this.lines.slice(e.start, e.endExclusive).join("\n"); } isStronglyEqual(e, t) { return this.lines[e] === this.lines[t]; } }; function S(e) { let t = 0; for (; t < e.length && (e.charCodeAt(t) === ne.Space || e.charCodeAt(t) === ne.Tab);) t++; return t; } var C = { LineFeed: 10, CarriageReturn: 13, Space: 32, Tab: 9, a: 97, z: 122, A: 65, Z: 90, Digit0: 48, Digit9: 57, Comma: 44, Semicolon: 59 }; function ie(e) { return e === C.Space || e === C.Tab; } var w = class e { startLineNumber; startColumn; endLineNumber; endColumn; constructor(e, t, n, r) { this.startLineNumber = e, this.startColumn = t, this.endLineNumber = n, this.endColumn = r; } static fromPositions(t, n) { return new e(t.lineNumber, t.column, n.lineNumber, n.column); } }, T = class { lineNumber; column; constructor(e, t) { this.lineNumber = e, this.column = t; } isBefore(e) { return this.lineNumber < e.lineNumber ? !0 : e.lineNumber < this.lineNumber ? !1 : this.column < e.column; } }, ae = class { lines; considerWhitespaceChanges; elements = []; firstElementOffsetByLineIdx = []; lineStartOffsets = []; trimmedWsLengthsByLineIdx = []; _range; constructor(e, t, n) { this.lines = e, this.considerWhitespaceChanges = n, this._range = t, this.firstElementOffsetByLineIdx.push(0); for (let t = this._range.startLineNumber; t <= this._range.endLineNumber; t++) { let r = e[t - 1], i = 0; t === this._range.startLineNumber && this._range.startColumn > 1 && (i = this._range.startColumn - 1, r = r.substring(i)), this.lineStartOffsets.push(i); let a = 0; if (!n) { let e = r.trimStart(); a = r.length - e.length, r = e.trimEnd(); } this.trimmedWsLengthsByLineIdx.push(a); let o = t === this._range.endLineNumber ? Math.min(this._range.endColumn - 1 - i - a, r.length) : r.length; for (let e = 0; e < o; e++) this.elements.push(r.charCodeAt(e)); t < this._range.endLineNumber && (this.elements.push(10), this.firstElementOffsetByLineIdx.push(this.elements.length)); } } toString() { return `Slice: "${this.text}"`; } get text() { return this.getText(new t(0, this.length)); } getText(e) { return this.elements.slice(e.start, e.endExclusive).map((e) => String.fromCharCode(e)).join(""); } getElement(e) { return this.elements[e]; } get length() { return this.elements.length; } getBoundaryScore(e) { let t = le(e > 0 ? this.elements[e - 1] : -1), n = le(e < this.elements.length ? this.elements[e] : -1); if (t === 7 && n === 8) return 0; if (t === 8) return 150; let r = 0; return t !== n && (r += 10, t === 0 && n === 1 && (r += 1)), r += ce(t), r += ce(n), r; } translateOffset(e, t = "right") { let n = ue(this.firstElementOffsetByLineIdx, (t) => t <= e), r = e - this.firstElementOffsetByLineIdx[n]; return new T(this._range.startLineNumber + n, 1 + this.lineStartOffsets[n] + r + (r === 0 && t === "left" ? 0 : this.trimmedWsLengthsByLineIdx[n])); } translateRange(e) { let t = this.translateOffset(e.start, "right"), n = this.translateOffset(e.endExclusive, "left"); return n.isBefore(t) ? w.fromPositions(n, n) : w.fromPositions(t, n); } findWordContaining(e) { if (e < 0 || e >= this.elements.length || !E(this.elements[e])) return; let n = e; for (; n > 0 && E(this.elements[n - 1]);) n--; let r = e; for (; r < this.elements.length && E(this.elements[r]);) r++; return new t(n, r); } findSubWordContaining(e) { if (e < 0 || e >= this.elements.length || !E(this.elements[e])) return; let n = e; for (; n > 0 && E(this.elements[n - 1]) && !oe(this.elements[n]);) n--; let r = e; for (; r < this.elements.length && E(this.elements[r]) && !oe(this.elements[r]);) r++; return new t(n, r); } countLinesIn(e) { return this.translateOffset(e.endExclusive).lineNumber - this.translateOffset(e.start).lineNumber; } isStronglyEqual(e, t) { return this.elements[e] === this.elements[t]; } extendToFullLines(e) { return new t(de(this.firstElementOffsetByLineIdx, (t) => t <= e.start) ?? 0, fe(this.firstElementOffsetByLineIdx, (t) => e.endExclusive <= t) ?? this.elements.length); } }; function E(e) { return e >= C.a && e <= C.z || e >= C.A && e <= C.Z || e >= C.Digit0 && e <= C.Digit9; } function oe(e) { return e >= C.A && e <= C.Z; } var se = { 0: 0, 1: 0, 2: 0, 3: 10, 4: 2, 5: 30, 6: 3, 7: 10, 8: 10 }; function ce(e) { return se[e]; } function le(e) { return e === C.LineFeed ? 8 : e === C.CarriageReturn ? 7 : ie(e) ? 6 : e >= C.a && e <= C.z ? 0 : e >= C.A && e <= C.Z ? 1 : e >= C.Digit0 && e <= C.Digit9 ? 2 : e === -1 ? 3 : e === C.Comma || e === C.Semicolon ? 5 : 4; } function ue(e, t) { let n = 0, r = e.length - 1; for (; n <= r;) { let i = Math.floor((n + r) / 2); t(e[i]) ? n = i + 1 : r = i - 1; } return r; } function de(e, t) { let n = ue(e, t); return n >= 0 ? e[n] : void 0; } function fe(e, t) { let n = 0, r = e.length - 1; for (; n <= r;) { let i = Math.floor((n + r) / 2); t(e[i]) ? r = i - 1 : n = i + 1; } return n < e.length ? e[n] : void 0; } var D = class e { startLineNumber; endLineNumberExclusive; constructor(e, t) { if (this.startLineNumber = e, this.endLineNumberExclusive = t, e > t) throw Error(`Invalid range: ${e} > ${t}`); } get isEmpty() { return this.startLineNumber === this.endLineNumberExclusive; } get length() { return this.endLineNumberExclusive - this.startLineNumber; } join(t) { return new e(Math.min(this.startLineNumber, t.startLineNumber), Math.max(this.endLineNumberExclusive, t.endLineNumberExclusive)); } intersectsOrTouches(e) { return this.startLineNumber <= e.endLineNumberExclusive && e.startLineNumber <= this.endLineNumberExclusive; } toOffsetRange() { return new t(this.startLineNumber - 1, this.endLineNumberExclusive - 1); } toString() { return `[${this.startLineNumber}, ${this.endLineNumberExclusive})`; } }, O = class { originalRange; modifiedRange; constructor(e, t) { this.originalRange = e, this.modifiedRange = t; } toString() { return `${pe(this.originalRange)} <-> ${pe(this.modifiedRange)}`; } static assertSorted(e) { for (let t = 1; t < e.length; t++) { let n = e[t - 1], r = e[t]; if (!(n.originalRange.endLineNumber <= r.originalRange.startLineNumber || n.originalRange.endLineNumber === r.originalRange.startLineNumber && n.originalRange.endColumn <= r.originalRange.startColumn)) throw Error("RangeMappings must be sorted"); } } }; function pe(e) { return `(${e.startLineNumber}:${e.startColumn})-(${e.endLineNumber}:${e.endColumn})`; } var k = class { original; modified; constructor(e, t) { this.original = e, this.modified = t; } toString() { return `${this.original} <-> ${this.modified}`; } toRangeMapping2(e, t) { let n = (e, t) => e >= 1 && e <= t.length, r = (e, t, n) => { if (e < 1) return new T(1, 1); if (e > n.length) return new T(n.length, n[n.length - 1].length + 1); let r = n[e - 1]; return t > r.length + 1 ? new T(e, r.length + 1) : new T(e, t); }; if (n(this.original.endLineNumberExclusive, e) && n(this.modified.endLineNumberExclusive, t)) return new O(new w(this.original.startLineNumber, 1, this.original.endLineNumberExclusive, 1), new w(this.modified.startLineNumber, 1, this.modified.endLineNumberExclusive, 1)); if (!this.original.isEmpty && !this.modified.isEmpty) return new O(w.fromPositions(new T(this.original.startLineNumber, 1), r(this.original.endLineNumberExclusive - 1, 2 ** 53 - 1, e)), w.fromPositions(new T(this.modified.startLineNumber, 1), r(this.modified.endLineNumberExclusive - 1, 2 ** 53 - 1, t))); if (this.original.startLineNumber > 1 && this.modified.startLineNumber > 1) return new O(w.fromPositions(r(this.original.startLineNumber - 1, 2 ** 53 - 1, e), r(this.original.endLineNumberExclusive - 1, 2 ** 53 - 1, e)), w.fromPositions(r(this.modified.startLineNumber - 1, 2 ** 53 - 1, t), r(this.modified.endLineNumberExclusive - 1, 2 ** 53 - 1, t))); throw Error("Invalid diff: cannot convert to range mapping"); } }, A = class extends k { innerChanges; constructor(e, t, n) { super(e, t), this.innerChanges = n; } }, j = class { changes; moves; hitTimeout; constructor(e, t, n) { this.changes = e, this.moves = t, this.hitTimeout = n; } }, me = class { lineRangeMapping; changes; constructor(e, t) { this.lineRangeMapping = e, this.changes = t; } }; function he(e, t, n, r = !1) { let i = []; for (let r of _e(e.map((e) => ge(e, t, n)), (e, t) => e.original.intersectsOrTouches(t.original) || e.modified.intersectsOrTouches(t.modified))) { let e = r[0], t = r[r.length - 1]; i.push(new A(e.original.join(t.original), e.modified.join(t.modified), r.map((e) => e.innerChanges[0]))); } if (!r) for (let e = 1; e < i.length; e++) { let t = i[e - 1], n = i[e]; if (t.original.endLineNumberExclusive > n.original.startLineNumber || t.modified.endLineNumberExclusive > n.modified.startLineNumber) break; } return i; } function ge(e, t, n) { let r = 0, i = 0; return e.modifiedRange.endColumn === 1 && e.originalRange.endColumn === 1 && e.originalRange.startLineNumber + r <= e.originalRange.endLineNumber && e.modifiedRange.startLineNumber + r <= e.modifiedRange.endLineNumber && (i = -1), e.modifiedRange.startColumn - 1 >= (n[e.modifiedRange.startLineNumber - 1]?.length ?? 0) && e.originalRange.startColumn - 1 >= (t[e.originalRange.startLineNumber - 1]?.length ?? 0) && e.originalRange.startLineNumber <= e.originalRange.endLineNumber + i && e.modifiedRange.startLineNumber <= e.modifiedRange.endLineNumber + i && (r = 1), new A(new D(e.originalRange.startLineNumber + r, e.originalRange.endLineNumber + 1 + i), new D(e.modifiedRange.startLineNumber + r, e.modifiedRange.endLineNumber + 1 + i), [e]); } function* _e(e, t) { let n, r; for (let i of e) r !== void 0 && t(r, i) ? n.push(i) : (n && (yield n), n = [i]), r = i; n && (yield n); } var ve = class { lines; constructor(e) { this.lines = e; } get lineCount() { return this.lines.length; } getLineContent(e) { return this.lines[e - 1]; } }, ye = class { _dynamicProgrammingDiffing = new l(); _myersDiffingAlgorithm = new u(); computeDiff(e, i, o) { if (e.length <= 1 && xe(e, i)) return new j([], [], !1); if (e.length === 1 && e[0].length === 0 || i.length === 1 && i[0].length === 0) return new j([new A(new D(1, e.length + 1), new D(1, i.length + 1), [new O(new w(1, 1, e.length, e[e.length - 1].length + 1), new w(1, 1, i.length, i[i.length - 1].length + 1))])], [], !1); let s = o.maxComputationTimeMs === 0 ? n.instance : new r(o.maxComputationTimeMs), c = !o.ignoreTrimWhitespace, l = /* @__PURE__ */ new Map(); function u(e) { let t = l.get(e); return t === void 0 && (t = l.size, l.set(e, t)), t; } let d = e.map((e) => u(e.trim())), f = i.map((e) => u(e.trim())), p = new re(d, e), h = new re(f, i), g = p.length + h.length < 1700 ? this._dynamicProgrammingDiffing.compute(p, h, s, (t, n) => e[t] === i[n] ? i[n].length === 0 ? .1 : 1 + Math.log(1 + i[n].length) : .99) : this._myersDiffingAlgorithm.compute(p, h, s), _ = g.diffs, v = g.hitTimeout; _ = m(p, h, _), _ = ee(p, h, _); let y = [], b = (n) => { if (c) for (let r = 0; r < n; r++) { let n = x + r, l = te + r; if (e[n] !== i[l]) { let r = this._refineDiff(e, i, new a(new t(n, n + 1), new t(l, l + 1)), s, c, o); for (let e of r.mappings) y.push(e); r.hitTimeout && (v = !0); } } }, x = 0, te = 0; for (let t of _) { b(t.seq1Range.start - x), x = t.seq1Range.endExclusive, te = t.seq2Range.endExclusive; let n = this._refineDiff(e, i, t, s, c, o); n.hitTimeout && (v = !0); for (let e of n.mappings) y.push(e); } b(e.length - x); let ne = new ve(e), S = new ve(i); return new j(he(y, ne.lines, S.lines), [], v); } _refineDiff(e, t, n, r, i, a) { let o = be(n).toRangeMapping2(e, t), s = new ae(e, o.originalRange, i), c = new ae(t, o.modifiedRange, i), l = s.length + c.length < 500 ? this._dynamicProgrammingDiffing.compute(s, c, r) : this._myersDiffingAlgorithm.compute(s, c, r), u = l.diffs; return u = m(s, c, u), u = y(s, c, u, (e, t) => e.findWordContaining(t)), a.extendToSubwords && (u = y(s, c, u, (e, t) => e.findSubWordContaining(t), !0)), u = v(s, c, u), u = x(s, c, u), { mappings: u.map((e) => new O(s.translateRange(e.seq1Range), c.translateRange(e.seq2Range))), hitTimeout: l.hitTimeout }; } }; function be(e) { return new k(new D(e.seq1Range.start + 1, e.seq1Range.endExclusive + 1), new D(e.seq2Range.start + 1, e.seq2Range.endExclusive + 1)); } function xe(e, t) { if (e.length !== t.length) return !1; for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1; return !0; } function Se(e, t, n) { let r = z(e, G.__wbindgen_malloc, G.__wbindgen_realloc), i = W, a = z(t, G.__wbindgen_malloc, G.__wbindgen_realloc), o = W, s = G.computeDiff(r, i, a, o, n); if (s[2]) throw B(s[1]); return B(s[0]); } function Ce(e, t, n) { let r = G.computeDiffLines(e, t, n); if (r[2]) throw B(r[1]); return B(r[0]); } function we() { G.init(); } function Te() { return { __proto__: null, "./diff_wasm_bg.js": { __proto__: null, __wbg_Error_ef53bc310eb298a0: function(e, t) { return Error(F(e, t)); }, __wbg_Number_6b506e6536831eaa: function(e) { return Number(e); }, __wbg_String_8564e559799eccda: function(e, t) { let n = z(String(t), G.__wbindgen_malloc, G.__wbindgen_realloc), r = W; P().setInt32(e + 4, r, !0), P().setInt32(e + 0, n, !0); }, __wbg___wbindgen_bigint_get_as_i64_38130e98eecd467d: function(e, t) { let n = t, r = typeof n == "bigint" ? n : void 0; P().setBigInt64(e + 8, R(r) ? BigInt(0) : r, !0), P().setInt32(e + 0, !R(r), !0); }, __wbg___wbindgen_boolean_get_1a45e2c38d4d41b9: function(e) { let t = e, n = typeof t == "boolean" ? t : void 0; return R(n) ? 16777215 : +!!n; }, __wbg___wbindgen_debug_string_0accd80f45e5faa2: function(e, t) { let n = z(M(t), G.__wbindgen_malloc, G.__wbindgen_realloc), r = W; P().setInt32(e + 4, r, !0), P().setInt32(e + 0, n, !0); }, __wbg___wbindgen_in_70a403a56e771704: function(e, t) { return e in t; }, __wbg___wbindgen_is_bigint_6ffd6468a9bc44b9: function(e) { return typeof e == "bigint"; }, __wbg___wbindgen_is_function_754e9f305ff6029e: function(e) { return typeof e == "function"; }, __wbg___wbindgen_is_null_87c3bfe968c6a5ad: function(e) { return e === null; }, __wbg___wbindgen_is_object_56732c2bc353f41d: function(e) { let t = e; return typeof t == "object" && !!t; }, __wbg___wbindgen_is_undefined_67b456be8673d3d7: function(e) { return e === void 0; }, __wbg___wbindgen_jsval_eq_1068e624fa87f6ab: function(e, t) { return e === t; }, __wbg___wbindgen_jsval_loose_eq_2c56564c75129511: function(e, t) { return e == t; }, __wbg___wbindgen_number_get_9bb1761122181af2: function(e, t) { let n = t, r = typeof n == "number" ? n : void 0; P().setFloat64(e + 8, R(r) ? 0 : r, !0), P().setInt32(e + 0, !R(r), !0); }, __wbg___wbindgen_string_get_72bdf95d3ae505b1: function(e, t) { let n = t, r = typeof n == "string" ? n : void 0; var i = R(r) ? 0 : z(r, G.__wbindgen_malloc, G.__wbindgen_realloc), a = W; P().setInt32(e + 4, a, !0), P().setInt32(e + 0, i, !0); }, __wbg___wbindgen_throw_1506f2235d1bdba0: function(e, t) { throw Error(F(e, t)); }, __wbg_call_8a89609d89f6608a: function() { return Oe(function(e, t) { return e.call(t); }, arguments); }, __wbg_done_60cf307fcc680536: function(e) { return e.done; }, __wbg_error_a6fa202b58aa1cd3: function(e, t) { let n, r; try { n = e, r = t, console.error(F(e, t)); } finally { G.__wbindgen_free(n, r, 1); } }, __wbg_get_1f8f054ddbaa7db2: function() { return Oe(function(e, t) { return Reflect.get(e, t); }, arguments); }, __wbg_get_unchecked_33f6e5c9e2f2d6b2: function(e, t) { return e[t >>> 0]; }, __wbg_get_with_ref_key_6412cf3094599694: function(e, t) { return e[t]; }, __wbg_instanceof_ArrayBuffer_8f49811467741499: function(e) { let t; try { t = e instanceof ArrayBuffer; } catch { t = !1; } return t; }, __wbg_instanceof_Uint8Array_86f30649f63ef9c2: function(e) { let t; try { t = e instanceof Uint8Array; } catch { t = !1; } return t; }, __wbg_isArray_67c2c9c4313f4448: function(e) { return Array.isArray(e); }, __wbg_isSafeInteger_66acec27e09e99a7: function(e) { return Number.isSafeInteger(e); }, __wbg_iterator_8732428d309e270e: function() { return Symbol.iterator; }, __wbg_length_4a591ecaa01354d9: function(e) { return e.length; }, __wbg_length_66f1a4b2e9026940: function(e) { return e.length; }, __wbg_new_227d7c05414eb861: function() { return /* @__PURE__ */ Error(); }, __wbg_new_578aeef4b6b94378: function(e) { return new Uint8Array(e); }, __wbg_new_ce1ab61c1c2b300d: function() { return {}; }, __wbg_new_d90091b82fdf5b91: function() { return []; }, __wbg_next_9e03acdf51c4960d: function(e) { return e.next; }, __wbg_next_eb8ca7351fa27906: function() { return Oe(function(e) { return e.next(); }, arguments); }, __wbg_prototypesetcall_3249fc62a0fafa30: function(e, t, n) { Uint8Array.prototype.set.call(De(e, t), n); }, __wbg_set_6be42768c690e380: function(e, t, n) { e[t] = n; }, __wbg_set_dca99999bba88a9a: function(e, t, n) { e[t >>> 0] = n; }, __wbg_stack_3b0d974bbf31e44f: function(e, t) { let n = t.stack, r = z(n, G.__wbindgen_malloc, G.__wbindgen_realloc), i = W; P().setInt32(e + 4, i, !0), P().setInt32(e + 0, r, !0); }, __wbg_value_f3625092ee4b37f4: function(e) { return e.value; }, __wbindgen_cast_0000000000000001: function(e) { return e; }, __wbindgen_cast_0000000000000002: function(e, t) { return F(e, t); }, __wbindgen_cast_0000000000000003: function(e) { return BigInt.asUintN(64, e); }, __wbindgen_init_externref_table: function() { let e = G.__wbindgen_externrefs, t = e.grow(4); e.set(0, void 0), e.set(t + 0, void 0), e.set(t + 1, null), e.set(t + 2, !0), e.set(t + 3, !1); } } }; } function Ee(e) { let t = G.__externref_table_alloc(); return G.__wbindgen_externrefs.set(t, e), t; } function M(e) { let t = typeof e; if (t == "number" || t == "boolean" || e == null) return `${e}`; if (t == "string") return `"${e}"`; if (t == "symbol") { let t = e.description; return t == null ? "Symbol" : `Symbol(${t})`; } if (t == "function") { let t = e.name; return typeof t == "string" && t.length > 0 ? `Function(${t})` : "Function"; } if (Array.isArray(e)) { let t = e.length, n = "["; t > 0 && (n += M(e[0])); for (let r = 1; r < t; r++) n += ", " + M(e[r]); return n += "]", n; } let n = /\[object ([^\]]+)\]/.exec(toString.call(e)), r; if (n && n.length > 1) r = n[1]; else return toString.call(e); if (r == "Object") try { return "Object(" + JSON.stringify(e) + ")"; } catch { return "Object"; } return e instanceof Error ? `${e.name}: ${e.message}\n${e.stack}` : r; } function De(e, t) { return e >>>= 0, L().subarray(e / 1, e / 1 + t); } var N = null; function P() { return (N === null || N.buffer.detached === !0 || N.buffer.detached === void 0 && N.buffer !== G.memory.buffer) && (N = new DataView(G.memory.buffer)), N; } function F(e, t) { return Ae(e >>> 0, t); } var I = null; function L() { return (I === null || I.byteLength === 0) && (I = new Uint8Array(G.memory.buffer)), I; } function Oe(e, t) { try { return e.apply(this, t); } catch (e) { let t = Ee(e); G.__wbindgen_exn_store(t); } } function R(e) { return e == null; } function z(e, t, n) { if (n === void 0) { let n = U.encode(e), r = t(n.length, 1) >>> 0; return L().subarray(r, r + n.length).set(n), W = n.length, r; } let r = e.length, i = t(r, 1) >>> 0, a = L(), o = 0; for (; o < r; o++) { let t = e.charCodeAt(o); if (t > 127) break; a[i + o] = t; } if (o !== r) { o !== 0 && (e = e.slice(o)), i = n(i, r, r = o + e.length * 3, 1) >>> 0; let t = L().subarray(i + o, i + r), a = U.encodeInto(e, t); o += a.written, i = n(i, r, o, 1) >>> 0; } return W = o, i; } function B(e) { let t = G.__wbindgen_externrefs.get(e); return G.__externref_table_dealloc(e), t; } var V = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }); V.decode(); var ke = 2146435072, H = 0; function Ae(e, t) { return H += t, H >= ke && (V = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }), V.decode(), H = t), V.decode(L().subarray(e, e + t)); } var U = new TextEncoder(); "encodeInto" in U || (U.encodeInto = function(e, t) { let n = U.encode(e); return t.set(n), { read: e.length, written: n.length }; }); var W = 0, G; function je(e, t) { return G = e.exports, N = null, I = null, G.__wbindgen_start(), G; } async function Me(e, t) { if (typeof Response == "function" && e instanceof Response) { if (typeof WebAssembly.instantiateStreaming == "function") try { return await WebAssembly.instantiateStreaming(e, t); } catch (t) { if (e.ok && n(e.type) && e.headers.get("Content-Type") !== "application/wasm") console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", t); else throw t; } let r = await e.arrayBuffer(); return await WebAssembly.instantiate(r, t); } else { let n = await WebAssembly.instantiate(e, t); return n instanceof WebAssembly.Instance ? { instance: n, module: e } : n; } function n(e) { switch (e) { case "basic": case "cors": case "default": return !0; } return !1; } } function Ne(e) { if (G !== void 0) return G; e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module: e} = e : console.warn("using deprecated parameters for `initSync()`; pass a single object instead")); let t = Te(); return e instanceof WebAssembly.Module || (e = new WebAssembly.Module(e)), je(new WebAssembly.Instance(e, t)); } async function Pe(e) { if (G !== void 0) return G; e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL(new URL("data:application/wasm;base64,AGFzbQEAAAAB3AIyYAJ/fwF/YAN/f38Bf2ACf38AYAN/f38AYAF/AGAEf39/fwBgBX9/f39/AGABbwF/YAZ/f39/f38AYAF/AX9gAn9vAGAAAGAEf39/fwF/YAFvAW9gAAFvYAADf39/YAJvbwFvYAJvbwF/YAh/f39/f39/fwBgBX9/f39/AX9gAn9/AW9gAXwBfGAGf39/f39/AX9gBX9/fn9/AGAFf399f38AYAV/f3x/fwBgA29/bwBgAm9/AW9gA29vbwBgA39/bwBgAW8BfGABfAFvYAF+AW9gCX9/f39/f39/fwBgCn9/f39/f39/f38AYAJ/fwF+YAl/f39/f39+fn4AYAABf2ADf35+AGADf39+AGAGf39/fn9/AGAGf39/fX9/AGAGf39/fH9/AGAFf39/f28Df39/YANvb28Df39/YAR/fH9/AGAEf31/fwBgBH9+f38AYAJ8fAF8YAF+AX8CyBMtES4vZGlmZl93YXNtX2JnLmpzGl9fd2JnX3NldF9kY2E5OTk5OWJiYTg4YTlhABoRLi9kaWZmX3dhc21fYmcuanMkX193YmdfZ2V0X3VuY2hlY2tlZF8zM2Y2ZTVjOWUyZjJkNmIyABsRLi9kaWZmX3dhc21fYmcuanMdX193YmdfbGVuZ3RoXzY2ZjFhNGIyZTkwMjY5NDAABxEuL2RpZmZfd2FzbV9iZy5qcxtfX3diZ19uZXh0X2ViOGNhNzM1MWZhMjc5MDYADREuL2RpZmZfd2FzbV9iZy5qcxtfX3diZ19kb25lXzYwY2YzMDdmY2M2ODA1MzYABxEuL2RpZmZfd2FzbV9iZy5qcxxfX3diZ192YWx1ZV9mMzYyNTA5MmVlNGIzN2Y0AA0RLi9kaWZmX3dhc21fYmcuanMnX193YmdfZ2V0X3dpdGhfcmVmX2tleV82NDEyY2YzMDk0NTk5Njk0ABARLi9kaWZmX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBEuL2RpZmZfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAKES4vZGlmZl93YXNtX2JnLmpzGl9fd2JnX25ld19kOTAwOTFiODJmZGY1YjkxAA4RLi9kaWZmX3dhc21fYmcuanMaX193YmdfbmV3X2NlMWFiNjFjMWMyYjMwMGQADhEuL2RpZmZfd2FzbV9iZy5qcxpfX3diZ19uZXdfNTc4YWVlZjRiNmI5NDM3OAANES4vZGlmZl93YXNtX2JnLmpzHV9fd2JnX2xlbmd0aF80YTU5MWVjYWEwMTM1NGQ5AAcRLi9kaWZmX3dhc21fYmcuanMnX193YmdfcHJvdG90eXBlc2V0Y2FsbF8zMjQ5ZmM2MmEwZmFmYTMwAB0RLi9kaWZmX3dhc21fYmcuanMsX193YmdfaW5zdGFuY2VvZl9VaW50OEFycmF5Xzg2ZjMwNjQ5ZjYzZWY5YzIABxEuL2RpZmZfd2FzbV9iZy5qcy1fX3diZ19pbnN0YW5jZW9mX0FycmF5QnVmZmVyXzhmNDk4MTE0Njc3NDE0OTkABxEuL2RpZmZfd2FzbV9iZy5qcx5fX3diZ19pc0FycmF5XzY3YzJjOWM0MzEzZjQ0NDgABxEuL2RpZmZfd2FzbV9iZy5qcyRfX3diZ19pc1NhZmVJbnRlZ2VyXzY2YWNlYzI3ZTA5ZTk5YTcABxEuL2RpZmZfd2FzbV9iZy5qcx9fX3diZ19pdGVyYXRvcl84NzMyNDI4ZDMwOWUyNzBlAA4RLi9kaWZmX3dhc21fYmcuanMbX193YmdfbmV4dF85ZTAzYWNkZjUxYzQ5NjBkAA0RLi9kaWZmX3dhc21fYmcuanMaX193YmdfZ2V0XzFmOGYwNTRkZGJhYTdkYjIAEBEuL2RpZmZfd2FzbV9iZy5qcxtfX3diZ19jYWxsXzhhODk2MDlkODlmNjYwOGEAEBEuL2RpZmZfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjI3ZDdjMDU0MTRlYjg2MQAOES4vZGlmZl93YXNtX2JnLmpzHF9fd2JnX3N0YWNrXzNiMGQ5NzRiYmYzMWU0NGYAChEuL2RpZmZfd2FzbV9iZy5qcxxfX3diZ19lcnJvcl9hNmZhMjAyYjU4YWExY2QzAAIRLi9kaWZmX3dhc21fYmcuanMsX193YmdfX193YmluZGdlbl9udW1iZXJfZ2V0XzliYjE3NjExMjIxODFhZjIAChEuL2RpZmZfd2FzbV9iZy5qcyRfX3diZ19fX3diaW5kZ2VuX2luXzcwYTQwM2E1NmU3NzE3MDQAEREuL2RpZmZfd2FzbV9iZy5qcydfX3diZ19fX3diaW5kZ2VuX3Rocm93XzE1MDZmMjIzNWQxYmRiYTAAAhEuL2RpZmZfd2FzbV9iZy5qcylfX3diZ19fX3diaW5kZ2VuX2lzX251bGxfODdjM2JmZTk2OGM2YTVhZAAHES4vZGlmZl93YXNtX2JnLmpzKl9fd2JnX19fd2JpbmRnZW5fanN2YWxfZXFfMTA2OGU2MjRmYTg3ZjZhYgARES4vZGlmZl93YXNtX2JnLmpzHV9fd2JnX051bWJlcl82YjUwNmU2NTM2ODMxZWFhAB4RLi9kaWZmX3dhc21fYmcuanMcX193YmdfRXJyb3JfZWY1M2JjMzEwZWIyOThhMAAUES4vZGlmZl93YXNtX2JnLmpzK19fd2JnX19fd2JpbmRnZW5faXNfYmlnaW50XzZmZmQ2NDY4YTliYzQ0YjkABxEuL2RpZmZfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX29iamVjdF81NjczMmMyYmMzNTNmNDFkAAcRLi9kaWZmX3dhc21fYmcuanMsX193YmdfX193YmluZGdlbl9zdHJpbmdfZ2V0XzcyYmRmOTVkM2FlNTA1YjEAChEuL2RpZmZfd2FzbV9iZy5qcy1fX3diZ19fX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0XzFhNDVlMmMzOGQ0ZDQxYjkABxEuL2RpZmZfd2FzbV9iZy5qcy1fX3diZ19fX3diaW5kZ2VuX2lzX2Z1bmN0aW9uXzc1NGU5ZjMwNWZmNjAyOWUABxEuL2RpZmZfd2FzbV9iZy5qcy5fX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF82N2I0NTZiZTg2NzNkM2Q3AAcRLi9kaWZmX3dhc21fYmcuanMwX193YmdfX193YmluZGdlbl9qc3ZhbF9sb29zZV9lcV8yYzU2NTY0Yzc1MTI5NTExABERLi9kaWZmX3dhc21fYmcuanMzX193YmdfX193YmluZGdlbl9iaWdpbnRfZ2V0X2FzX2k2NF8zODEzMGU5OGVlY2Q0NjdkAAoRLi9kaWZmX3dhc21fYmcuanMuX193YmdfX193YmluZGdlbl9kZWJ1Z19zdHJpbmdfMGFjY2Q4MGY0NWU1ZmFhMgAKES4vZGlmZl93YXNtX2JnLmpzH19fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZf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uN/AAEGs38AANgIAQbTfwABBrN/AADYCAEHA38AAQbTfwAA2AgBBvN/AAEG038AANgIAQcjfwABBvN/AADYCAEHE38AAQbzfwAA2AgBB0N/AAEHE38AANgIAQczfwABBxN/AADYCAEHY38AAQczfwAA2AgBB1N/AAEHM38AANgIAQeDfwABB1N/AADYCAEHo38AAQdzfwAA2AgBB3N/AAEHU38AANgIAQfDfwABB5N/AADYCAEHk38AAQdzfwAA2AgBB+N/AAEHs38AANgIAQezfwABB5N/AADYCAEGA4MAAQfTfwAA2AgBB9N/AAEHs38AANgIAQYjgwABB/N/AADYCAEH838AAQfTfwAA2AgBBkODAAEGE4MAANgIAQYTgwABB/N/AADYCAEGY4MAAQYzgwAA2AgBBjODAAEGE4MAANgIAQaDgwABBlODAADYCAEGU4MAAQYzgwAA2AgBBqODAAEGc4MAANgIAQZzgwABBlODAADYCAEGw4MAAQaTgwAA2AgBBpODAAEGc4MAANgIAQbjgwABBrODAADYCAEGs4MAAQaTgwAA2AgBBwODAAEG04MAANgIAQbTgwABBrODAADYCAEHI4MAAQbzgwAA2AgBBvODAAEG04MAANgIAQdDgwABBxODAADYCAEHE4MAAQbzgwAA2AgBB2ODAAEHM4MAANgIAQczgwABBxODAADYCAEHw4MAAIAFBD2pBeHEiAEEIayICNgIAQdTgwABBzODAADYCAEHo4MAAIARBKGsiBCABIABrakEIaiIANgIAIAIgAEEBcjYCBCABIARqQSg2AgRB/ODAAEGAgIABNgIADAgLIAIgA0kgASACTXINACAAKAIMIgNBAXENACADQQF2IAdGDQMLQYDhwABBgOHAACgCACIAIAEgACABSRs2AgAgASAEaiEDQcTewAAhAAJAAkADQCADIAAoAgAiBkcEQCAAKAIIIgANAQwCCwsgACgCDCIDQQFxDQAgA0EBdiAHRg0BC0HE3sAAIQADQAJAIAIgACgCACIDTwRAIAIgAyAAKAIEaiIGSQ0BCyAAKAIIIQAMAQsLQfDgwAAgAUEPakF4cSIAQQhrIgM2AgBB6ODAACAEQShrIgkgASAAa2pBCGoiADYCACADIABBAXI2AgQgASAJakEoNgIEQfzgwABBgICAATYCACACIAZBIGtB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