4927 lines
171 KiB
JavaScript
4927 lines
171 KiB
JavaScript
(() => {
|
|
'use strict';
|
|
var e = {};
|
|
e.g = (function () {
|
|
if ('object' == typeof globalThis) return globalThis;
|
|
try {
|
|
return this || new Function('return this')();
|
|
} catch (e) {
|
|
if ('object' == typeof window) return window;
|
|
}
|
|
})();
|
|
const t = new (class {
|
|
constructor() {
|
|
(this.listeners = []),
|
|
(this.unexpectedErrorHandler = function (e) {
|
|
setTimeout(() => {
|
|
if (e.stack) throw new Error(e.message + '\n\n' + e.stack);
|
|
throw e;
|
|
}, 0);
|
|
});
|
|
}
|
|
emit(e) {
|
|
this.listeners.forEach((t) => {
|
|
t(e);
|
|
});
|
|
}
|
|
onUnexpectedError(e) {
|
|
this.unexpectedErrorHandler(e), this.emit(e);
|
|
}
|
|
onUnexpectedExternalError(e) {
|
|
this.unexpectedErrorHandler(e);
|
|
}
|
|
})();
|
|
function n(e) {
|
|
var n;
|
|
((n = e) instanceof Error && n.name === r && n.message === r) ||
|
|
t.onUnexpectedError(e);
|
|
}
|
|
function i(e) {
|
|
if (e instanceof Error) {
|
|
let { name: t, message: n } = e;
|
|
return {
|
|
$isError: !0,
|
|
name: t,
|
|
message: n,
|
|
stack: e.stacktrace || e.stack,
|
|
};
|
|
}
|
|
return e;
|
|
}
|
|
const r = 'Canceled';
|
|
var s;
|
|
function o(e) {}
|
|
!(function (e) {
|
|
e.is = function (e) {
|
|
return (
|
|
e && 'object' == typeof e && 'function' == typeof e[Symbol.iterator]
|
|
);
|
|
};
|
|
const t = Object.freeze([]);
|
|
(e.empty = function () {
|
|
return t;
|
|
}),
|
|
(e.single = function* (e) {
|
|
yield e;
|
|
}),
|
|
(e.from = function (e) {
|
|
return e || t;
|
|
}),
|
|
(e.first = function (e) {
|
|
return e[Symbol.iterator]().next().value;
|
|
}),
|
|
(e.some = function (e, t) {
|
|
for (const n of e) if (t(n)) return !0;
|
|
return !1;
|
|
}),
|
|
(e.filter = function* (e, t) {
|
|
for (const n of e) t(n) && (yield n);
|
|
}),
|
|
(e.map = function* (e, t) {
|
|
for (const n of e) yield t(n);
|
|
}),
|
|
(e.concat = function* (...e) {
|
|
for (const t of e) for (const e of t) yield e;
|
|
}),
|
|
(e.consume = function (t, n = Number.POSITIVE_INFINITY) {
|
|
const i = [];
|
|
if (0 === n) return [i, t];
|
|
const r = t[Symbol.iterator]();
|
|
for (let t = 0; t < n; t++) {
|
|
const t = r.next();
|
|
if (t.done) return [i, e.empty()];
|
|
i.push(t.value);
|
|
}
|
|
return [i, { [Symbol.iterator]: () => r }];
|
|
});
|
|
})(s || (s = {}));
|
|
class a extends Error {
|
|
constructor(e) {
|
|
super(
|
|
`Encounter errors while disposing of store. Errors: [${e.join(', ')}]`
|
|
),
|
|
(this.errors = e);
|
|
}
|
|
}
|
|
function l(e) {
|
|
if (s.is(e)) {
|
|
let t = [];
|
|
for (const n of e)
|
|
if (n)
|
|
try {
|
|
n.dispose();
|
|
} catch (e) {
|
|
t.push(e);
|
|
}
|
|
if (1 === t.length) throw t[0];
|
|
if (t.length > 1) throw new a(t);
|
|
return Array.isArray(e) ? [] : e;
|
|
}
|
|
if (e) return e.dispose(), e;
|
|
}
|
|
class u {
|
|
constructor() {
|
|
(this._toDispose = new Set()), (this._isDisposed = !1);
|
|
}
|
|
dispose() {
|
|
this._isDisposed || ((this._isDisposed = !0), this.clear());
|
|
}
|
|
clear() {
|
|
try {
|
|
l(this._toDispose.values());
|
|
} finally {
|
|
this._toDispose.clear();
|
|
}
|
|
}
|
|
add(e) {
|
|
if (!e) return e;
|
|
if (e === this)
|
|
throw new Error('Cannot register a disposable on itself!');
|
|
return (
|
|
this._isDisposed
|
|
? u.DISABLE_DISPOSED_WARNING ||
|
|
console.warn(
|
|
new Error(
|
|
'Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!'
|
|
).stack
|
|
)
|
|
: this._toDispose.add(e),
|
|
e
|
|
);
|
|
}
|
|
}
|
|
u.DISABLE_DISPOSED_WARNING = !1;
|
|
class h {
|
|
constructor() {
|
|
this._store = new u();
|
|
}
|
|
dispose() {
|
|
this._store.dispose();
|
|
}
|
|
_register(e) {
|
|
if (e === this)
|
|
throw new Error('Cannot register a disposable on itself!');
|
|
return this._store.add(e);
|
|
}
|
|
}
|
|
h.None = Object.freeze({ dispose() {} });
|
|
const d = 'en';
|
|
let c,
|
|
f,
|
|
m,
|
|
g = !1,
|
|
_ = !1,
|
|
p = !1,
|
|
C = !1,
|
|
b = !1,
|
|
L = !1,
|
|
N = null;
|
|
const S =
|
|
'undefined' != typeof process &&
|
|
void 0 !== process.versions &&
|
|
void 0 !== process.versions.electron &&
|
|
'renderer' === process.type;
|
|
if ('object' != typeof navigator || S) {
|
|
if ('object' == typeof process) {
|
|
(g = 'win32' === process.platform),
|
|
(_ = 'darwin' === process.platform),
|
|
(p = 'linux' === process.platform),
|
|
(c = d),
|
|
(N = d);
|
|
const e = process.env.VSCODE_NLS_CONFIG;
|
|
if (e)
|
|
try {
|
|
const t = JSON.parse(e),
|
|
n = t.availableLanguages['*'];
|
|
(c = t.locale), (N = n || d), (f = t._translationsConfigFile);
|
|
} catch (e) {}
|
|
C = !0;
|
|
}
|
|
} else
|
|
(m = navigator.userAgent),
|
|
(g = m.indexOf('Windows') >= 0),
|
|
(_ = m.indexOf('Macintosh') >= 0),
|
|
(m.indexOf('Macintosh') >= 0 ||
|
|
m.indexOf('iPad') >= 0 ||
|
|
m.indexOf('iPhone') >= 0) &&
|
|
!!navigator.maxTouchPoints &&
|
|
navigator.maxTouchPoints > 0,
|
|
(p = m.indexOf('Linux') >= 0),
|
|
!0,
|
|
(c = navigator.language),
|
|
(N = c);
|
|
let E = 0;
|
|
_ ? (E = 1) : g ? (E = 3) : p && (E = 2);
|
|
const A = g,
|
|
y = _,
|
|
w = 'object' == typeof self ? self : 'object' == typeof e.g ? e.g : {},
|
|
v = (function () {
|
|
if (w.setImmediate) return w.setImmediate.bind(w);
|
|
if ('function' == typeof w.postMessage && !w.importScripts) {
|
|
let e = [];
|
|
w.addEventListener('message', (t) => {
|
|
if (t.data && t.data.vscodeSetImmediateId)
|
|
for (let n = 0, i = e.length; n < i; n++) {
|
|
const i = e[n];
|
|
if (i.id === t.data.vscodeSetImmediateId)
|
|
return e.splice(n, 1), void i.callback();
|
|
}
|
|
});
|
|
let t = 0;
|
|
return (n) => {
|
|
const i = ++t;
|
|
e.push({ id: i, callback: n }),
|
|
w.postMessage({ vscodeSetImmediateId: i }, '*');
|
|
};
|
|
}
|
|
if (
|
|
'undefined' != typeof process &&
|
|
'function' == typeof process.nextTick
|
|
)
|
|
return process.nextTick.bind(process);
|
|
const e = Promise.resolve();
|
|
return (t) => e.then(t);
|
|
})();
|
|
function T(e) {
|
|
const t = [];
|
|
for (const n of (function (e) {
|
|
let t = [],
|
|
n = Object.getPrototypeOf(e);
|
|
for (; Object.prototype !== n; )
|
|
(t = t.concat(Object.getOwnPropertyNames(n))),
|
|
(n = Object.getPrototypeOf(n));
|
|
return t;
|
|
})(e))
|
|
'function' == typeof e[n] && t.push(n);
|
|
return t;
|
|
}
|
|
function O(e, t) {
|
|
const n = (e) =>
|
|
function () {
|
|
const n = Array.prototype.slice.call(arguments, 0);
|
|
return t(e, n);
|
|
};
|
|
let i = {};
|
|
for (const t of e) i[t] = n(t);
|
|
return i;
|
|
}
|
|
class I {
|
|
constructor(e) {
|
|
(this._workerId = -1),
|
|
(this._handler = e),
|
|
(this._lastSentReq = 0),
|
|
(this._pendingReplies = Object.create(null));
|
|
}
|
|
setWorkerId(e) {
|
|
this._workerId = e;
|
|
}
|
|
sendMessage(e, t) {
|
|
let n = String(++this._lastSentReq);
|
|
return new Promise((i, r) => {
|
|
(this._pendingReplies[n] = { resolve: i, reject: r }),
|
|
this._send({ vsWorker: this._workerId, req: n, method: e, args: t });
|
|
});
|
|
}
|
|
handleMessage(e) {
|
|
e &&
|
|
e.vsWorker &&
|
|
((-1 !== this._workerId && e.vsWorker !== this._workerId) ||
|
|
this._handleMessage(e));
|
|
}
|
|
_handleMessage(e) {
|
|
if (e.seq) {
|
|
let t = e;
|
|
if (!this._pendingReplies[t.seq])
|
|
return void console.warn('Got reply to unknown seq');
|
|
let n = this._pendingReplies[t.seq];
|
|
if ((delete this._pendingReplies[t.seq], t.err)) {
|
|
let e = t.err;
|
|
return (
|
|
t.err.$isError &&
|
|
((e = new Error()),
|
|
(e.name = t.err.name),
|
|
(e.message = t.err.message),
|
|
(e.stack = t.err.stack)),
|
|
void n.reject(e)
|
|
);
|
|
}
|
|
return void n.resolve(t.res);
|
|
}
|
|
let t = e,
|
|
n = t.req;
|
|
this._handler.handleMessage(t.method, t.args).then(
|
|
(e) => {
|
|
this._send({ vsWorker: this._workerId, seq: n, res: e, err: void 0 });
|
|
},
|
|
(e) => {
|
|
e.detail instanceof Error && (e.detail = i(e.detail)),
|
|
this._send({
|
|
vsWorker: this._workerId,
|
|
seq: n,
|
|
res: void 0,
|
|
err: i(e),
|
|
});
|
|
}
|
|
);
|
|
}
|
|
_send(e) {
|
|
let t = [];
|
|
if (e.req) {
|
|
const n = e;
|
|
for (let e = 0; e < n.args.length; e++)
|
|
n.args[e] instanceof ArrayBuffer && t.push(n.args[e]);
|
|
} else {
|
|
const n = e;
|
|
n.res instanceof ArrayBuffer && t.push(n.res);
|
|
}
|
|
this._handler.sendMessage(e, t);
|
|
}
|
|
}
|
|
class M {
|
|
constructor(e, t) {
|
|
(this._requestHandlerFactory = t),
|
|
(this._requestHandler = null),
|
|
(this._protocol = new I({
|
|
sendMessage: (t, n) => {
|
|
e(t, n);
|
|
},
|
|
handleMessage: (e, t) => this._handleMessage(e, t),
|
|
}));
|
|
}
|
|
onmessage(e) {
|
|
this._protocol.handleMessage(e);
|
|
}
|
|
_handleMessage(e, t) {
|
|
if ('$initialize' === e) return this.initialize(t[0], t[1], t[2], t[3]);
|
|
if (!this._requestHandler || 'function' != typeof this._requestHandler[e])
|
|
return Promise.reject(
|
|
new Error('Missing requestHandler or method: ' + e)
|
|
);
|
|
try {
|
|
return Promise.resolve(
|
|
this._requestHandler[e].apply(this._requestHandler, t)
|
|
);
|
|
} catch (e) {
|
|
return Promise.reject(e);
|
|
}
|
|
}
|
|
initialize(e, t, n, i) {
|
|
this._protocol.setWorkerId(e);
|
|
const r = O(i, (e, t) => this._protocol.sendMessage(e, t));
|
|
return this._requestHandlerFactory
|
|
? ((this._requestHandler = this._requestHandlerFactory(r)),
|
|
Promise.resolve(T(this._requestHandler)))
|
|
: (t &&
|
|
(void 0 !== t.baseUrl && delete t.baseUrl,
|
|
void 0 !== t.paths && void 0 !== t.paths.vs && delete t.paths.vs,
|
|
(t.catchError = !0),
|
|
self.require.config(t)),
|
|
new Promise((e, t) => {
|
|
self.require(
|
|
[n],
|
|
(n) => {
|
|
(this._requestHandler = n.create(r)),
|
|
this._requestHandler
|
|
? e(T(this._requestHandler))
|
|
: t(new Error('No RequestHandler!'));
|
|
},
|
|
t
|
|
);
|
|
}));
|
|
}
|
|
}
|
|
function x(e, t) {
|
|
return R(e, t, 0, e.length - 1, []), e;
|
|
}
|
|
function R(e, t, n, i, r) {
|
|
if (i <= n) return;
|
|
const s = (n + (i - n) / 2) | 0;
|
|
R(e, t, n, s, r),
|
|
R(e, t, s + 1, i, r),
|
|
t(e[s], e[s + 1]) <= 0 ||
|
|
(function (e, t, n, i, r, s) {
|
|
let o = n,
|
|
a = i + 1;
|
|
for (let t = n; t <= r; t++) s[t] = e[t];
|
|
for (let l = n; l <= r; l++)
|
|
o > i
|
|
? (e[l] = s[a++])
|
|
: a > r
|
|
? (e[l] = s[o++])
|
|
: t(s[a], s[o]) < 0
|
|
? (e[l] = s[a++])
|
|
: (e[l] = s[o++]);
|
|
})(e, t, n, s, i, r);
|
|
}
|
|
class P {
|
|
constructor(e, t, n, i) {
|
|
(this.originalStart = e),
|
|
(this.originalLength = t),
|
|
(this.modifiedStart = n),
|
|
(this.modifiedLength = i);
|
|
}
|
|
getOriginalEnd() {
|
|
return this.originalStart + this.originalLength;
|
|
}
|
|
getModifiedEnd() {
|
|
return this.modifiedStart + this.modifiedLength;
|
|
}
|
|
}
|
|
function U(e) {
|
|
return 55296 <= e && e <= 56319;
|
|
}
|
|
function k(e) {
|
|
return 56320 <= e && e <= 57343;
|
|
}
|
|
String.fromCharCode(65279);
|
|
class D {
|
|
constructor() {
|
|
this._data = JSON.parse(
|
|
'[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]'
|
|
);
|
|
}
|
|
static getInstance() {
|
|
return D._INSTANCE || (D._INSTANCE = new D()), D._INSTANCE;
|
|
}
|
|
getGraphemeBreakType(e) {
|
|
if (e < 32) return 10 === e ? 3 : 13 === e ? 2 : 4;
|
|
if (e < 127) return 0;
|
|
const t = this._data,
|
|
n = t.length / 3;
|
|
let i = 1;
|
|
for (; i <= n; )
|
|
if (e < t[3 * i]) i *= 2;
|
|
else {
|
|
if (!(e > t[3 * i + 1])) return t[3 * i + 2];
|
|
i = 2 * i + 1;
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
function F(e, t) {
|
|
return ((t << 5) - t + e) | 0;
|
|
}
|
|
function K(e, t) {
|
|
t = F(149417, t);
|
|
for (let n = 0, i = e.length; n < i; n++) t = F(e.charCodeAt(n), t);
|
|
return t;
|
|
}
|
|
function B(e, t, n = 32) {
|
|
const i = n - t;
|
|
return ((e << t) | ((~((1 << i) - 1) & e) >>> i)) >>> 0;
|
|
}
|
|
function W(e, t = 0, n = e.byteLength, i = 0) {
|
|
for (let r = 0; r < n; r++) e[t + r] = i;
|
|
}
|
|
function q(e, t = 32) {
|
|
return (function (e, t, n = '0') {
|
|
for (; e.length < t; ) e = n + e;
|
|
return e;
|
|
})((e >>> 0).toString(16), t / 4);
|
|
}
|
|
D._INSTANCE = null;
|
|
class H {
|
|
constructor() {
|
|
(this._h0 = 1732584193),
|
|
(this._h1 = 4023233417),
|
|
(this._h2 = 2562383102),
|
|
(this._h3 = 271733878),
|
|
(this._h4 = 3285377520),
|
|
(this._buff = new Uint8Array(67)),
|
|
(this._buffDV = new DataView(this._buff.buffer)),
|
|
(this._buffLen = 0),
|
|
(this._totalLen = 0),
|
|
(this._leftoverHighSurrogate = 0),
|
|
(this._finished = !1);
|
|
}
|
|
update(e) {
|
|
const t = e.length;
|
|
if (0 === t) return;
|
|
const n = this._buff;
|
|
let i,
|
|
r,
|
|
s = this._buffLen,
|
|
o = this._leftoverHighSurrogate;
|
|
for (
|
|
0 !== o
|
|
? ((i = o), (r = -1), (o = 0))
|
|
: ((i = e.charCodeAt(0)), (r = 0));
|
|
;
|
|
|
|
) {
|
|
let a = i;
|
|
if (U(i)) {
|
|
if (!(r + 1 < t)) {
|
|
o = i;
|
|
break;
|
|
}
|
|
{
|
|
const t = e.charCodeAt(r + 1);
|
|
k(t)
|
|
? (r++, (a = t - 56320 + ((i - 55296) << 10) + 65536))
|
|
: (a = 65533);
|
|
}
|
|
} else k(i) && (a = 65533);
|
|
if (((s = this._push(n, s, a)), r++, !(r < t))) break;
|
|
i = e.charCodeAt(r);
|
|
}
|
|
(this._buffLen = s), (this._leftoverHighSurrogate = o);
|
|
}
|
|
_push(e, t, n) {
|
|
return (
|
|
n < 128
|
|
? (e[t++] = n)
|
|
: n < 2048
|
|
? ((e[t++] = 192 | ((1984 & n) >>> 6)),
|
|
(e[t++] = 128 | ((63 & n) >>> 0)))
|
|
: n < 65536
|
|
? ((e[t++] = 224 | ((61440 & n) >>> 12)),
|
|
(e[t++] = 128 | ((4032 & n) >>> 6)),
|
|
(e[t++] = 128 | ((63 & n) >>> 0)))
|
|
: ((e[t++] = 240 | ((1835008 & n) >>> 18)),
|
|
(e[t++] = 128 | ((258048 & n) >>> 12)),
|
|
(e[t++] = 128 | ((4032 & n) >>> 6)),
|
|
(e[t++] = 128 | ((63 & n) >>> 0))),
|
|
t >= 64 &&
|
|
(this._step(),
|
|
(t -= 64),
|
|
(this._totalLen += 64),
|
|
(e[0] = e[64]),
|
|
(e[1] = e[65]),
|
|
(e[2] = e[66])),
|
|
t
|
|
);
|
|
}
|
|
digest() {
|
|
return (
|
|
this._finished ||
|
|
((this._finished = !0),
|
|
this._leftoverHighSurrogate &&
|
|
((this._leftoverHighSurrogate = 0),
|
|
(this._buffLen = this._push(this._buff, this._buffLen, 65533))),
|
|
(this._totalLen += this._buffLen),
|
|
this._wrapUp()),
|
|
q(this._h0) + q(this._h1) + q(this._h2) + q(this._h3) + q(this._h4)
|
|
);
|
|
}
|
|
_wrapUp() {
|
|
(this._buff[this._buffLen++] = 128),
|
|
W(this._buff, this._buffLen),
|
|
this._buffLen > 56 && (this._step(), W(this._buff));
|
|
const e = 8 * this._totalLen;
|
|
this._buffDV.setUint32(56, Math.floor(e / 4294967296), !1),
|
|
this._buffDV.setUint32(60, e % 4294967296, !1),
|
|
this._step();
|
|
}
|
|
_step() {
|
|
const e = H._bigBlock32,
|
|
t = this._buffDV;
|
|
for (let n = 0; n < 64; n += 4) e.setUint32(n, t.getUint32(n, !1), !1);
|
|
for (let t = 64; t < 320; t += 4)
|
|
e.setUint32(
|
|
t,
|
|
B(
|
|
e.getUint32(t - 12, !1) ^
|
|
e.getUint32(t - 32, !1) ^
|
|
e.getUint32(t - 56, !1) ^
|
|
e.getUint32(t - 64, !1),
|
|
1
|
|
),
|
|
!1
|
|
);
|
|
let n,
|
|
i,
|
|
r,
|
|
s = this._h0,
|
|
o = this._h1,
|
|
a = this._h2,
|
|
l = this._h3,
|
|
u = this._h4;
|
|
for (let t = 0; t < 80; t++)
|
|
t < 20
|
|
? ((n = (o & a) | (~o & l)), (i = 1518500249))
|
|
: t < 40
|
|
? ((n = o ^ a ^ l), (i = 1859775393))
|
|
: t < 60
|
|
? ((n = (o & a) | (o & l) | (a & l)), (i = 2400959708))
|
|
: ((n = o ^ a ^ l), (i = 3395469782)),
|
|
(r = (B(s, 5) + n + u + i + e.getUint32(4 * t, !1)) & 4294967295),
|
|
(u = l),
|
|
(l = a),
|
|
(a = B(o, 30)),
|
|
(o = s),
|
|
(s = r);
|
|
(this._h0 = (this._h0 + s) & 4294967295),
|
|
(this._h1 = (this._h1 + o) & 4294967295),
|
|
(this._h2 = (this._h2 + a) & 4294967295),
|
|
(this._h3 = (this._h3 + l) & 4294967295),
|
|
(this._h4 = (this._h4 + u) & 4294967295);
|
|
}
|
|
}
|
|
H._bigBlock32 = new DataView(new ArrayBuffer(320));
|
|
class V {
|
|
constructor(e) {
|
|
this.source = e;
|
|
}
|
|
getElements() {
|
|
const e = this.source,
|
|
t = new Int32Array(e.length);
|
|
for (let n = 0, i = e.length; n < i; n++) t[n] = e.charCodeAt(n);
|
|
return t;
|
|
}
|
|
}
|
|
function Y(e, t, n) {
|
|
return new z(new V(e), new V(t)).ComputeDiff(n).changes;
|
|
}
|
|
class $ {
|
|
static Assert(e, t) {
|
|
if (!e) throw new Error(t);
|
|
}
|
|
}
|
|
class j {
|
|
static Copy(e, t, n, i, r) {
|
|
for (let s = 0; s < r; s++) n[i + s] = e[t + s];
|
|
}
|
|
static Copy2(e, t, n, i, r) {
|
|
for (let s = 0; s < r; s++) n[i + s] = e[t + s];
|
|
}
|
|
}
|
|
class G {
|
|
constructor() {
|
|
(this.m_changes = []),
|
|
(this.m_originalStart = 1073741824),
|
|
(this.m_modifiedStart = 1073741824),
|
|
(this.m_originalCount = 0),
|
|
(this.m_modifiedCount = 0);
|
|
}
|
|
MarkNextChange() {
|
|
(this.m_originalCount > 0 || this.m_modifiedCount > 0) &&
|
|
this.m_changes.push(
|
|
new P(
|
|
this.m_originalStart,
|
|
this.m_originalCount,
|
|
this.m_modifiedStart,
|
|
this.m_modifiedCount
|
|
)
|
|
),
|
|
(this.m_originalCount = 0),
|
|
(this.m_modifiedCount = 0),
|
|
(this.m_originalStart = 1073741824),
|
|
(this.m_modifiedStart = 1073741824);
|
|
}
|
|
AddOriginalElement(e, t) {
|
|
(this.m_originalStart = Math.min(this.m_originalStart, e)),
|
|
(this.m_modifiedStart = Math.min(this.m_modifiedStart, t)),
|
|
this.m_originalCount++;
|
|
}
|
|
AddModifiedElement(e, t) {
|
|
(this.m_originalStart = Math.min(this.m_originalStart, e)),
|
|
(this.m_modifiedStart = Math.min(this.m_modifiedStart, t)),
|
|
this.m_modifiedCount++;
|
|
}
|
|
getChanges() {
|
|
return (
|
|
(this.m_originalCount > 0 || this.m_modifiedCount > 0) &&
|
|
this.MarkNextChange(),
|
|
this.m_changes
|
|
);
|
|
}
|
|
getReverseChanges() {
|
|
return (
|
|
(this.m_originalCount > 0 || this.m_modifiedCount > 0) &&
|
|
this.MarkNextChange(),
|
|
this.m_changes.reverse(),
|
|
this.m_changes
|
|
);
|
|
}
|
|
}
|
|
class z {
|
|
constructor(e, t, n = null) {
|
|
this.ContinueProcessingPredicate = n;
|
|
const [i, r, s] = z._getElements(e),
|
|
[o, a, l] = z._getElements(t);
|
|
(this._hasStrings = s && l),
|
|
(this._originalStringElements = i),
|
|
(this._originalElementsOrHash = r),
|
|
(this._modifiedStringElements = o),
|
|
(this._modifiedElementsOrHash = a),
|
|
(this.m_forwardHistory = []),
|
|
(this.m_reverseHistory = []);
|
|
}
|
|
static _isStringArray(e) {
|
|
return e.length > 0 && 'string' == typeof e[0];
|
|
}
|
|
static _getElements(e) {
|
|
const t = e.getElements();
|
|
if (z._isStringArray(t)) {
|
|
const e = new Int32Array(t.length);
|
|
for (let n = 0, i = t.length; n < i; n++) e[n] = K(t[n], 0);
|
|
return [t, e, !0];
|
|
}
|
|
return t instanceof Int32Array
|
|
? [[], t, !1]
|
|
: [[], new Int32Array(t), !1];
|
|
}
|
|
ElementsAreEqual(e, t) {
|
|
return (
|
|
this._originalElementsOrHash[e] === this._modifiedElementsOrHash[t] &&
|
|
(!this._hasStrings ||
|
|
this._originalStringElements[e] === this._modifiedStringElements[t])
|
|
);
|
|
}
|
|
OriginalElementsAreEqual(e, t) {
|
|
return (
|
|
this._originalElementsOrHash[e] === this._originalElementsOrHash[t] &&
|
|
(!this._hasStrings ||
|
|
this._originalStringElements[e] === this._originalStringElements[t])
|
|
);
|
|
}
|
|
ModifiedElementsAreEqual(e, t) {
|
|
return (
|
|
this._modifiedElementsOrHash[e] === this._modifiedElementsOrHash[t] &&
|
|
(!this._hasStrings ||
|
|
this._modifiedStringElements[e] === this._modifiedStringElements[t])
|
|
);
|
|
}
|
|
ComputeDiff(e) {
|
|
return this._ComputeDiff(
|
|
0,
|
|
this._originalElementsOrHash.length - 1,
|
|
0,
|
|
this._modifiedElementsOrHash.length - 1,
|
|
e
|
|
);
|
|
}
|
|
_ComputeDiff(e, t, n, i, r) {
|
|
const s = [!1];
|
|
let o = this.ComputeDiffRecursive(e, t, n, i, s);
|
|
return (
|
|
r && (o = this.PrettifyChanges(o)), { quitEarly: s[0], changes: o }
|
|
);
|
|
}
|
|
ComputeDiffRecursive(e, t, n, i, r) {
|
|
for (r[0] = !1; e <= t && n <= i && this.ElementsAreEqual(e, n); )
|
|
e++, n++;
|
|
for (; t >= e && i >= n && this.ElementsAreEqual(t, i); ) t--, i--;
|
|
if (e > t || n > i) {
|
|
let r;
|
|
return (
|
|
n <= i
|
|
? ($.Assert(
|
|
e === t + 1,
|
|
'originalStart should only be one more than originalEnd'
|
|
),
|
|
(r = [new P(e, 0, n, i - n + 1)]))
|
|
: e <= t
|
|
? ($.Assert(
|
|
n === i + 1,
|
|
'modifiedStart should only be one more than modifiedEnd'
|
|
),
|
|
(r = [new P(e, t - e + 1, n, 0)]))
|
|
: ($.Assert(
|
|
e === t + 1,
|
|
'originalStart should only be one more than originalEnd'
|
|
),
|
|
$.Assert(
|
|
n === i + 1,
|
|
'modifiedStart should only be one more than modifiedEnd'
|
|
),
|
|
(r = [])),
|
|
r
|
|
);
|
|
}
|
|
const s = [0],
|
|
o = [0],
|
|
a = this.ComputeRecursionPoint(e, t, n, i, s, o, r),
|
|
l = s[0],
|
|
u = o[0];
|
|
if (null !== a) return a;
|
|
if (!r[0]) {
|
|
const s = this.ComputeDiffRecursive(e, l, n, u, r);
|
|
let o = [];
|
|
return (
|
|
(o = r[0]
|
|
? [new P(l + 1, t - (l + 1) + 1, u + 1, i - (u + 1) + 1)]
|
|
: this.ComputeDiffRecursive(l + 1, t, u + 1, i, r)),
|
|
this.ConcatenateChanges(s, o)
|
|
);
|
|
}
|
|
return [new P(e, t - e + 1, n, i - n + 1)];
|
|
}
|
|
WALKTRACE(e, t, n, i, r, s, o, a, l, u, h, d, c, f, m, g, _, p) {
|
|
let C = null,
|
|
b = null,
|
|
L = new G(),
|
|
N = t,
|
|
S = n,
|
|
E = c[0] - g[0] - i,
|
|
A = -1073741824,
|
|
y = this.m_forwardHistory.length - 1;
|
|
do {
|
|
const t = E + e;
|
|
t === N || (t < S && l[t - 1] < l[t + 1])
|
|
? ((f = (h = l[t + 1]) - E - i),
|
|
h < A && L.MarkNextChange(),
|
|
(A = h),
|
|
L.AddModifiedElement(h + 1, f),
|
|
(E = t + 1 - e))
|
|
: ((f = (h = l[t - 1] + 1) - E - i),
|
|
h < A && L.MarkNextChange(),
|
|
(A = h - 1),
|
|
L.AddOriginalElement(h, f + 1),
|
|
(E = t - 1 - e)),
|
|
y >= 0 &&
|
|
((e = (l = this.m_forwardHistory[y])[0]),
|
|
(N = 1),
|
|
(S = l.length - 1));
|
|
} while (--y >= -1);
|
|
if (((C = L.getReverseChanges()), p[0])) {
|
|
let e = c[0] + 1,
|
|
t = g[0] + 1;
|
|
if (null !== C && C.length > 0) {
|
|
const n = C[C.length - 1];
|
|
(e = Math.max(e, n.getOriginalEnd())),
|
|
(t = Math.max(t, n.getModifiedEnd()));
|
|
}
|
|
b = [new P(e, d - e + 1, t, m - t + 1)];
|
|
} else {
|
|
(L = new G()),
|
|
(N = s),
|
|
(S = o),
|
|
(E = c[0] - g[0] - a),
|
|
(A = 1073741824),
|
|
(y = _
|
|
? this.m_reverseHistory.length - 1
|
|
: this.m_reverseHistory.length - 2);
|
|
do {
|
|
const e = E + r;
|
|
e === N || (e < S && u[e - 1] >= u[e + 1])
|
|
? ((f = (h = u[e + 1] - 1) - E - a),
|
|
h > A && L.MarkNextChange(),
|
|
(A = h + 1),
|
|
L.AddOriginalElement(h + 1, f + 1),
|
|
(E = e + 1 - r))
|
|
: ((f = (h = u[e - 1]) - E - a),
|
|
h > A && L.MarkNextChange(),
|
|
(A = h),
|
|
L.AddModifiedElement(h + 1, f + 1),
|
|
(E = e - 1 - r)),
|
|
y >= 0 &&
|
|
((r = (u = this.m_reverseHistory[y])[0]),
|
|
(N = 1),
|
|
(S = u.length - 1));
|
|
} while (--y >= -1);
|
|
b = L.getChanges();
|
|
}
|
|
return this.ConcatenateChanges(C, b);
|
|
}
|
|
ComputeRecursionPoint(e, t, n, i, r, s, o) {
|
|
let a = 0,
|
|
l = 0,
|
|
u = 0,
|
|
h = 0,
|
|
d = 0,
|
|
c = 0;
|
|
e--,
|
|
n--,
|
|
(r[0] = 0),
|
|
(s[0] = 0),
|
|
(this.m_forwardHistory = []),
|
|
(this.m_reverseHistory = []);
|
|
const f = t - e + (i - n),
|
|
m = f + 1,
|
|
g = new Int32Array(m),
|
|
_ = new Int32Array(m),
|
|
p = i - n,
|
|
C = t - e,
|
|
b = e - n,
|
|
L = t - i,
|
|
N = (C - p) % 2 == 0;
|
|
(g[p] = e), (_[C] = t), (o[0] = !1);
|
|
for (let S = 1; S <= f / 2 + 1; S++) {
|
|
let f = 0,
|
|
E = 0;
|
|
(u = this.ClipDiagonalBound(p - S, S, p, m)),
|
|
(h = this.ClipDiagonalBound(p + S, S, p, m));
|
|
for (let e = u; e <= h; e += 2) {
|
|
(a =
|
|
e === u || (e < h && g[e - 1] < g[e + 1])
|
|
? g[e + 1]
|
|
: g[e - 1] + 1),
|
|
(l = a - (e - p) - b);
|
|
const n = a;
|
|
for (; a < t && l < i && this.ElementsAreEqual(a + 1, l + 1); )
|
|
a++, l++;
|
|
if (
|
|
((g[e] = a),
|
|
a + l > f + E && ((f = a), (E = l)),
|
|
!N && Math.abs(e - C) <= S - 1 && a >= _[e])
|
|
)
|
|
return (
|
|
(r[0] = a),
|
|
(s[0] = l),
|
|
n <= _[e] && S <= 1448
|
|
? this.WALKTRACE(
|
|
p,
|
|
u,
|
|
h,
|
|
b,
|
|
C,
|
|
d,
|
|
c,
|
|
L,
|
|
g,
|
|
_,
|
|
a,
|
|
t,
|
|
r,
|
|
l,
|
|
i,
|
|
s,
|
|
N,
|
|
o
|
|
)
|
|
: null
|
|
);
|
|
}
|
|
const A = (f - e + (E - n) - S) / 2;
|
|
if (
|
|
null !== this.ContinueProcessingPredicate &&
|
|
!this.ContinueProcessingPredicate(f, A)
|
|
)
|
|
return (
|
|
(o[0] = !0),
|
|
(r[0] = f),
|
|
(s[0] = E),
|
|
A > 0 && S <= 1448
|
|
? this.WALKTRACE(
|
|
p,
|
|
u,
|
|
h,
|
|
b,
|
|
C,
|
|
d,
|
|
c,
|
|
L,
|
|
g,
|
|
_,
|
|
a,
|
|
t,
|
|
r,
|
|
l,
|
|
i,
|
|
s,
|
|
N,
|
|
o
|
|
)
|
|
: (e++, n++, [new P(e, t - e + 1, n, i - n + 1)])
|
|
);
|
|
(d = this.ClipDiagonalBound(C - S, S, C, m)),
|
|
(c = this.ClipDiagonalBound(C + S, S, C, m));
|
|
for (let f = d; f <= c; f += 2) {
|
|
(a =
|
|
f === d || (f < c && _[f - 1] >= _[f + 1])
|
|
? _[f + 1] - 1
|
|
: _[f - 1]),
|
|
(l = a - (f - C) - L);
|
|
const m = a;
|
|
for (; a > e && l > n && this.ElementsAreEqual(a, l); ) a--, l--;
|
|
if (((_[f] = a), N && Math.abs(f - p) <= S && a <= g[f]))
|
|
return (
|
|
(r[0] = a),
|
|
(s[0] = l),
|
|
m >= g[f] && S <= 1448
|
|
? this.WALKTRACE(
|
|
p,
|
|
u,
|
|
h,
|
|
b,
|
|
C,
|
|
d,
|
|
c,
|
|
L,
|
|
g,
|
|
_,
|
|
a,
|
|
t,
|
|
r,
|
|
l,
|
|
i,
|
|
s,
|
|
N,
|
|
o
|
|
)
|
|
: null
|
|
);
|
|
}
|
|
if (S <= 1447) {
|
|
let e = new Int32Array(h - u + 2);
|
|
(e[0] = p - u + 1),
|
|
j.Copy2(g, u, e, 1, h - u + 1),
|
|
this.m_forwardHistory.push(e),
|
|
(e = new Int32Array(c - d + 2)),
|
|
(e[0] = C - d + 1),
|
|
j.Copy2(_, d, e, 1, c - d + 1),
|
|
this.m_reverseHistory.push(e);
|
|
}
|
|
}
|
|
return this.WALKTRACE(
|
|
p,
|
|
u,
|
|
h,
|
|
b,
|
|
C,
|
|
d,
|
|
c,
|
|
L,
|
|
g,
|
|
_,
|
|
a,
|
|
t,
|
|
r,
|
|
l,
|
|
i,
|
|
s,
|
|
N,
|
|
o
|
|
);
|
|
}
|
|
PrettifyChanges(e) {
|
|
for (let t = 0; t < e.length; t++) {
|
|
const n = e[t],
|
|
i =
|
|
t < e.length - 1
|
|
? e[t + 1].originalStart
|
|
: this._originalElementsOrHash.length,
|
|
r =
|
|
t < e.length - 1
|
|
? e[t + 1].modifiedStart
|
|
: this._modifiedElementsOrHash.length,
|
|
s = n.originalLength > 0,
|
|
o = n.modifiedLength > 0;
|
|
for (
|
|
;
|
|
n.originalStart + n.originalLength < i &&
|
|
n.modifiedStart + n.modifiedLength < r &&
|
|
(!s ||
|
|
this.OriginalElementsAreEqual(
|
|
n.originalStart,
|
|
n.originalStart + n.originalLength
|
|
)) &&
|
|
(!o ||
|
|
this.ModifiedElementsAreEqual(
|
|
n.modifiedStart,
|
|
n.modifiedStart + n.modifiedLength
|
|
));
|
|
|
|
)
|
|
n.originalStart++, n.modifiedStart++;
|
|
let a = [null];
|
|
t < e.length - 1 &&
|
|
this.ChangesOverlap(e[t], e[t + 1], a) &&
|
|
((e[t] = a[0]), e.splice(t + 1, 1), t--);
|
|
}
|
|
for (let t = e.length - 1; t >= 0; t--) {
|
|
const n = e[t];
|
|
let i = 0,
|
|
r = 0;
|
|
if (t > 0) {
|
|
const n = e[t - 1];
|
|
n.originalLength > 0 && (i = n.originalStart + n.originalLength),
|
|
n.modifiedLength > 0 && (r = n.modifiedStart + n.modifiedLength);
|
|
}
|
|
const s = n.originalLength > 0,
|
|
o = n.modifiedLength > 0;
|
|
let a = 0,
|
|
l = this._boundaryScore(
|
|
n.originalStart,
|
|
n.originalLength,
|
|
n.modifiedStart,
|
|
n.modifiedLength
|
|
);
|
|
for (let e = 1; ; e++) {
|
|
const t = n.originalStart - e,
|
|
u = n.modifiedStart - e;
|
|
if (t < i || u < r) break;
|
|
if (s && !this.OriginalElementsAreEqual(t, t + n.originalLength))
|
|
break;
|
|
if (o && !this.ModifiedElementsAreEqual(u, u + n.modifiedLength))
|
|
break;
|
|
const h = this._boundaryScore(
|
|
t,
|
|
n.originalLength,
|
|
u,
|
|
n.modifiedLength
|
|
);
|
|
h > l && ((l = h), (a = e));
|
|
}
|
|
(n.originalStart -= a), (n.modifiedStart -= a);
|
|
}
|
|
return e;
|
|
}
|
|
_OriginalIsBoundary(e) {
|
|
return (
|
|
e <= 0 ||
|
|
e >= this._originalElementsOrHash.length - 1 ||
|
|
(this._hasStrings && /^\s*$/.test(this._originalStringElements[e]))
|
|
);
|
|
}
|
|
_OriginalRegionIsBoundary(e, t) {
|
|
if (this._OriginalIsBoundary(e) || this._OriginalIsBoundary(e - 1))
|
|
return !0;
|
|
if (t > 0) {
|
|
const n = e + t;
|
|
if (this._OriginalIsBoundary(n - 1) || this._OriginalIsBoundary(n))
|
|
return !0;
|
|
}
|
|
return !1;
|
|
}
|
|
_ModifiedIsBoundary(e) {
|
|
return (
|
|
e <= 0 ||
|
|
e >= this._modifiedElementsOrHash.length - 1 ||
|
|
(this._hasStrings && /^\s*$/.test(this._modifiedStringElements[e]))
|
|
);
|
|
}
|
|
_ModifiedRegionIsBoundary(e, t) {
|
|
if (this._ModifiedIsBoundary(e) || this._ModifiedIsBoundary(e - 1))
|
|
return !0;
|
|
if (t > 0) {
|
|
const n = e + t;
|
|
if (this._ModifiedIsBoundary(n - 1) || this._ModifiedIsBoundary(n))
|
|
return !0;
|
|
}
|
|
return !1;
|
|
}
|
|
_boundaryScore(e, t, n, i) {
|
|
return (
|
|
(this._OriginalRegionIsBoundary(e, t) ? 1 : 0) +
|
|
(this._ModifiedRegionIsBoundary(n, i) ? 1 : 0)
|
|
);
|
|
}
|
|
ConcatenateChanges(e, t) {
|
|
let n = [];
|
|
if (0 === e.length || 0 === t.length) return t.length > 0 ? t : e;
|
|
if (this.ChangesOverlap(e[e.length - 1], t[0], n)) {
|
|
const i = new Array(e.length + t.length - 1);
|
|
return (
|
|
j.Copy(e, 0, i, 0, e.length - 1),
|
|
(i[e.length - 1] = n[0]),
|
|
j.Copy(t, 1, i, e.length, t.length - 1),
|
|
i
|
|
);
|
|
}
|
|
{
|
|
const n = new Array(e.length + t.length);
|
|
return (
|
|
j.Copy(e, 0, n, 0, e.length), j.Copy(t, 0, n, e.length, t.length), n
|
|
);
|
|
}
|
|
}
|
|
ChangesOverlap(e, t, n) {
|
|
if (
|
|
($.Assert(
|
|
e.originalStart <= t.originalStart,
|
|
'Left change is not less than or equal to right change'
|
|
),
|
|
$.Assert(
|
|
e.modifiedStart <= t.modifiedStart,
|
|
'Left change is not less than or equal to right change'
|
|
),
|
|
e.originalStart + e.originalLength >= t.originalStart ||
|
|
e.modifiedStart + e.modifiedLength >= t.modifiedStart)
|
|
) {
|
|
const i = e.originalStart;
|
|
let r = e.originalLength;
|
|
const s = e.modifiedStart;
|
|
let o = e.modifiedLength;
|
|
return (
|
|
e.originalStart + e.originalLength >= t.originalStart &&
|
|
(r = t.originalStart + t.originalLength - e.originalStart),
|
|
e.modifiedStart + e.modifiedLength >= t.modifiedStart &&
|
|
(o = t.modifiedStart + t.modifiedLength - e.modifiedStart),
|
|
(n[0] = new P(i, r, s, o)),
|
|
!0
|
|
);
|
|
}
|
|
return (n[0] = null), !1;
|
|
}
|
|
ClipDiagonalBound(e, t, n, i) {
|
|
if (e >= 0 && e < i) return e;
|
|
const r = t % 2 == 0;
|
|
return e < 0
|
|
? r === (n % 2 == 0)
|
|
? 0
|
|
: 1
|
|
: r === ((i - n - 1) % 2 == 0)
|
|
? i - 1
|
|
: i - 2;
|
|
}
|
|
}
|
|
const Q =
|
|
'undefined' == typeof process
|
|
? {
|
|
cwd: () => '/',
|
|
env: Object.create(null),
|
|
get platform() {
|
|
return A ? 'win32' : y ? 'darwin' : 'linux';
|
|
},
|
|
nextTick: (e) => v(e),
|
|
}
|
|
: process,
|
|
X = Q.cwd,
|
|
Z = Q.env,
|
|
J = Q.platform,
|
|
ee = 46,
|
|
te = 47,
|
|
ne = 92,
|
|
ie = 58;
|
|
class re extends Error {
|
|
constructor(e, t, n) {
|
|
let i;
|
|
'string' == typeof t && 0 === t.indexOf('not ')
|
|
? ((i = 'must not be'), (t = t.replace(/^not /, '')))
|
|
: (i = 'must be');
|
|
const r = -1 !== e.indexOf('.') ? 'property' : 'argument';
|
|
let s = `The "${e}" ${r} ${i} of type ${t}`;
|
|
(s += '. Received type ' + typeof n),
|
|
super(s),
|
|
(this.code = 'ERR_INVALID_ARG_TYPE');
|
|
}
|
|
}
|
|
function se(e, t) {
|
|
if ('string' != typeof e) throw new re(t, 'string', e);
|
|
}
|
|
function oe(e) {
|
|
return e === te || e === ne;
|
|
}
|
|
function ae(e) {
|
|
return e === te;
|
|
}
|
|
function le(e) {
|
|
return (e >= 65 && e <= 90) || (e >= 97 && e <= 122);
|
|
}
|
|
function ue(e, t, n, i) {
|
|
let r = '',
|
|
s = 0,
|
|
o = -1,
|
|
a = 0,
|
|
l = 0;
|
|
for (let u = 0; u <= e.length; ++u) {
|
|
if (u < e.length) l = e.charCodeAt(u);
|
|
else {
|
|
if (i(l)) break;
|
|
l = te;
|
|
}
|
|
if (i(l)) {
|
|
if (o === u - 1 || 1 === a);
|
|
else if (2 === a) {
|
|
if (
|
|
r.length < 2 ||
|
|
2 !== s ||
|
|
r.charCodeAt(r.length - 1) !== ee ||
|
|
r.charCodeAt(r.length - 2) !== ee
|
|
) {
|
|
if (r.length > 2) {
|
|
const e = r.lastIndexOf(n);
|
|
-1 === e
|
|
? ((r = ''), (s = 0))
|
|
: ((r = r.slice(0, e)), (s = r.length - 1 - r.lastIndexOf(n))),
|
|
(o = u),
|
|
(a = 0);
|
|
continue;
|
|
}
|
|
if (0 !== r.length) {
|
|
(r = ''), (s = 0), (o = u), (a = 0);
|
|
continue;
|
|
}
|
|
}
|
|
t && ((r += r.length > 0 ? `${n}..` : '..'), (s = 2));
|
|
} else
|
|
r.length > 0
|
|
? (r += `${n}${e.slice(o + 1, u)}`)
|
|
: (r = e.slice(o + 1, u)),
|
|
(s = u - o - 1);
|
|
(o = u), (a = 0);
|
|
} else l === ee && -1 !== a ? ++a : (a = -1);
|
|
}
|
|
return r;
|
|
}
|
|
function he(e, t) {
|
|
if (null === t || 'object' != typeof t)
|
|
throw new re('pathObject', 'Object', t);
|
|
const n = t.dir || t.root,
|
|
i = t.base || `${t.name || ''}${t.ext || ''}`;
|
|
return n ? (n === t.root ? `${n}${i}` : `${n}${e}${i}`) : i;
|
|
}
|
|
const de = {
|
|
resolve(...e) {
|
|
let t = '',
|
|
n = '',
|
|
i = !1;
|
|
for (let r = e.length - 1; r >= -1; r--) {
|
|
let s;
|
|
if (r >= 0) {
|
|
if (((s = e[r]), se(s, 'path'), 0 === s.length)) continue;
|
|
} else
|
|
0 === t.length
|
|
? (s = X())
|
|
: ((s = Z[`=${t}`] || X()),
|
|
(void 0 === s ||
|
|
(s.slice(0, 2).toLowerCase() !== t.toLowerCase() &&
|
|
s.charCodeAt(2) === ne)) &&
|
|
(s = `${t}\\`));
|
|
const o = s.length;
|
|
let a = 0,
|
|
l = '',
|
|
u = !1;
|
|
const h = s.charCodeAt(0);
|
|
if (1 === o) oe(h) && ((a = 1), (u = !0));
|
|
else if (oe(h))
|
|
if (((u = !0), oe(s.charCodeAt(1)))) {
|
|
let e = 2,
|
|
t = e;
|
|
for (; e < o && !oe(s.charCodeAt(e)); ) e++;
|
|
if (e < o && e !== t) {
|
|
const n = s.slice(t, e);
|
|
for (t = e; e < o && oe(s.charCodeAt(e)); ) e++;
|
|
if (e < o && e !== t) {
|
|
for (t = e; e < o && !oe(s.charCodeAt(e)); ) e++;
|
|
(e !== o && e === t) ||
|
|
((l = `\\\\${n}\\${s.slice(t, e)}`), (a = e));
|
|
}
|
|
}
|
|
} else a = 1;
|
|
else
|
|
le(h) &&
|
|
s.charCodeAt(1) === ie &&
|
|
((l = s.slice(0, 2)),
|
|
(a = 2),
|
|
o > 2 && oe(s.charCodeAt(2)) && ((u = !0), (a = 3)));
|
|
if (l.length > 0)
|
|
if (t.length > 0) {
|
|
if (l.toLowerCase() !== t.toLowerCase()) continue;
|
|
} else t = l;
|
|
if (i) {
|
|
if (t.length > 0) break;
|
|
} else if (((n = `${s.slice(a)}\\${n}`), (i = u), u && t.length > 0))
|
|
break;
|
|
}
|
|
return (n = ue(n, !i, '\\', oe)), i ? `${t}\\${n}` : `${t}${n}` || '.';
|
|
},
|
|
normalize(e) {
|
|
se(e, 'path');
|
|
const t = e.length;
|
|
if (0 === t) return '.';
|
|
let n,
|
|
i = 0,
|
|
r = !1;
|
|
const s = e.charCodeAt(0);
|
|
if (1 === t) return ae(s) ? '\\' : e;
|
|
if (oe(s))
|
|
if (((r = !0), oe(e.charCodeAt(1)))) {
|
|
let r = 2,
|
|
s = r;
|
|
for (; r < t && !oe(e.charCodeAt(r)); ) r++;
|
|
if (r < t && r !== s) {
|
|
const o = e.slice(s, r);
|
|
for (s = r; r < t && oe(e.charCodeAt(r)); ) r++;
|
|
if (r < t && r !== s) {
|
|
for (s = r; r < t && !oe(e.charCodeAt(r)); ) r++;
|
|
if (r === t) return `\\\\${o}\\${e.slice(s)}\\`;
|
|
r !== s && ((n = `\\\\${o}\\${e.slice(s, r)}`), (i = r));
|
|
}
|
|
}
|
|
} else i = 1;
|
|
else
|
|
le(s) &&
|
|
e.charCodeAt(1) === ie &&
|
|
((n = e.slice(0, 2)),
|
|
(i = 2),
|
|
t > 2 && oe(e.charCodeAt(2)) && ((r = !0), (i = 3)));
|
|
let o = i < t ? ue(e.slice(i), !r, '\\', oe) : '';
|
|
return (
|
|
0 !== o.length || r || (o = '.'),
|
|
o.length > 0 && oe(e.charCodeAt(t - 1)) && (o += '\\'),
|
|
void 0 === n ? (r ? `\\${o}` : o) : r ? `${n}\\${o}` : `${n}${o}`
|
|
);
|
|
},
|
|
isAbsolute(e) {
|
|
se(e, 'path');
|
|
const t = e.length;
|
|
if (0 === t) return !1;
|
|
const n = e.charCodeAt(0);
|
|
return (
|
|
oe(n) ||
|
|
(t > 2 && le(n) && e.charCodeAt(1) === ie && oe(e.charCodeAt(2)))
|
|
);
|
|
},
|
|
join(...e) {
|
|
if (0 === e.length) return '.';
|
|
let t, n;
|
|
for (let i = 0; i < e.length; ++i) {
|
|
const r = e[i];
|
|
se(r, 'path'),
|
|
r.length > 0 && (void 0 === t ? (t = n = r) : (t += `\\${r}`));
|
|
}
|
|
if (void 0 === t) return '.';
|
|
let i = !0,
|
|
r = 0;
|
|
if ('string' == typeof n && oe(n.charCodeAt(0))) {
|
|
++r;
|
|
const e = n.length;
|
|
e > 1 &&
|
|
oe(n.charCodeAt(1)) &&
|
|
(++r, e > 2 && (oe(n.charCodeAt(2)) ? ++r : (i = !1)));
|
|
}
|
|
if (i) {
|
|
for (; r < t.length && oe(t.charCodeAt(r)); ) r++;
|
|
r >= 2 && (t = `\\${t.slice(r)}`);
|
|
}
|
|
return de.normalize(t);
|
|
},
|
|
relative(e, t) {
|
|
if ((se(e, 'from'), se(t, 'to'), e === t)) return '';
|
|
const n = de.resolve(e),
|
|
i = de.resolve(t);
|
|
if (n === i) return '';
|
|
if ((e = n.toLowerCase()) === (t = i.toLowerCase())) return '';
|
|
let r = 0;
|
|
for (; r < e.length && e.charCodeAt(r) === ne; ) r++;
|
|
let s = e.length;
|
|
for (; s - 1 > r && e.charCodeAt(s - 1) === ne; ) s--;
|
|
const o = s - r;
|
|
let a = 0;
|
|
for (; a < t.length && t.charCodeAt(a) === ne; ) a++;
|
|
let l = t.length;
|
|
for (; l - 1 > a && t.charCodeAt(l - 1) === ne; ) l--;
|
|
const u = l - a,
|
|
h = o < u ? o : u;
|
|
let d = -1,
|
|
c = 0;
|
|
for (; c < h; c++) {
|
|
const n = e.charCodeAt(r + c);
|
|
if (n !== t.charCodeAt(a + c)) break;
|
|
n === ne && (d = c);
|
|
}
|
|
if (c !== h) {
|
|
if (-1 === d) return i;
|
|
} else {
|
|
if (u > h) {
|
|
if (t.charCodeAt(a + c) === ne) return i.slice(a + c + 1);
|
|
if (2 === c) return i.slice(a + c);
|
|
}
|
|
o > h && (e.charCodeAt(r + c) === ne ? (d = c) : 2 === c && (d = 3)),
|
|
-1 === d && (d = 0);
|
|
}
|
|
let f = '';
|
|
for (c = r + d + 1; c <= s; ++c)
|
|
(c !== s && e.charCodeAt(c) !== ne) ||
|
|
(f += 0 === f.length ? '..' : '\\..');
|
|
return (
|
|
(a += d),
|
|
f.length > 0
|
|
? `${f}${i.slice(a, l)}`
|
|
: (i.charCodeAt(a) === ne && ++a, i.slice(a, l))
|
|
);
|
|
},
|
|
toNamespacedPath(e) {
|
|
if ('string' != typeof e) return e;
|
|
if (0 === e.length) return '';
|
|
const t = de.resolve(e);
|
|
if (t.length <= 2) return e;
|
|
if (t.charCodeAt(0) === ne) {
|
|
if (t.charCodeAt(1) === ne) {
|
|
const e = t.charCodeAt(2);
|
|
if (63 !== e && e !== ee) return `\\\\?\\UNC\\${t.slice(2)}`;
|
|
}
|
|
} else if (
|
|
le(t.charCodeAt(0)) &&
|
|
t.charCodeAt(1) === ie &&
|
|
t.charCodeAt(2) === ne
|
|
)
|
|
return `\\\\?\\${t}`;
|
|
return e;
|
|
},
|
|
dirname(e) {
|
|
se(e, 'path');
|
|
const t = e.length;
|
|
if (0 === t) return '.';
|
|
let n = -1,
|
|
i = 0;
|
|
const r = e.charCodeAt(0);
|
|
if (1 === t) return oe(r) ? e : '.';
|
|
if (oe(r)) {
|
|
if (((n = i = 1), oe(e.charCodeAt(1)))) {
|
|
let r = 2,
|
|
s = r;
|
|
for (; r < t && !oe(e.charCodeAt(r)); ) r++;
|
|
if (r < t && r !== s) {
|
|
for (s = r; r < t && oe(e.charCodeAt(r)); ) r++;
|
|
if (r < t && r !== s) {
|
|
for (s = r; r < t && !oe(e.charCodeAt(r)); ) r++;
|
|
if (r === t) return e;
|
|
r !== s && (n = i = r + 1);
|
|
}
|
|
}
|
|
}
|
|
} else
|
|
le(r) &&
|
|
e.charCodeAt(1) === ie &&
|
|
((n = t > 2 && oe(e.charCodeAt(2)) ? 3 : 2), (i = n));
|
|
let s = -1,
|
|
o = !0;
|
|
for (let n = t - 1; n >= i; --n)
|
|
if (oe(e.charCodeAt(n))) {
|
|
if (!o) {
|
|
s = n;
|
|
break;
|
|
}
|
|
} else o = !1;
|
|
if (-1 === s) {
|
|
if (-1 === n) return '.';
|
|
s = n;
|
|
}
|
|
return e.slice(0, s);
|
|
},
|
|
basename(e, t) {
|
|
void 0 !== t && se(t, 'ext'), se(e, 'path');
|
|
let n,
|
|
i = 0,
|
|
r = -1,
|
|
s = !0;
|
|
if (
|
|
(e.length >= 2 &&
|
|
le(e.charCodeAt(0)) &&
|
|
e.charCodeAt(1) === ie &&
|
|
(i = 2),
|
|
void 0 !== t && t.length > 0 && t.length <= e.length)
|
|
) {
|
|
if (t === e) return '';
|
|
let o = t.length - 1,
|
|
a = -1;
|
|
for (n = e.length - 1; n >= i; --n) {
|
|
const l = e.charCodeAt(n);
|
|
if (oe(l)) {
|
|
if (!s) {
|
|
i = n + 1;
|
|
break;
|
|
}
|
|
} else
|
|
-1 === a && ((s = !1), (a = n + 1)),
|
|
o >= 0 &&
|
|
(l === t.charCodeAt(o)
|
|
? -1 == --o && (r = n)
|
|
: ((o = -1), (r = a)));
|
|
}
|
|
return i === r ? (r = a) : -1 === r && (r = e.length), e.slice(i, r);
|
|
}
|
|
for (n = e.length - 1; n >= i; --n)
|
|
if (oe(e.charCodeAt(n))) {
|
|
if (!s) {
|
|
i = n + 1;
|
|
break;
|
|
}
|
|
} else -1 === r && ((s = !1), (r = n + 1));
|
|
return -1 === r ? '' : e.slice(i, r);
|
|
},
|
|
extname(e) {
|
|
se(e, 'path');
|
|
let t = 0,
|
|
n = -1,
|
|
i = 0,
|
|
r = -1,
|
|
s = !0,
|
|
o = 0;
|
|
e.length >= 2 &&
|
|
e.charCodeAt(1) === ie &&
|
|
le(e.charCodeAt(0)) &&
|
|
(t = i = 2);
|
|
for (let a = e.length - 1; a >= t; --a) {
|
|
const t = e.charCodeAt(a);
|
|
if (oe(t)) {
|
|
if (!s) {
|
|
i = a + 1;
|
|
break;
|
|
}
|
|
} else
|
|
-1 === r && ((s = !1), (r = a + 1)),
|
|
t === ee
|
|
? -1 === n
|
|
? (n = a)
|
|
: 1 !== o && (o = 1)
|
|
: -1 !== n && (o = -1);
|
|
}
|
|
return -1 === n ||
|
|
-1 === r ||
|
|
0 === o ||
|
|
(1 === o && n === r - 1 && n === i + 1)
|
|
? ''
|
|
: e.slice(n, r);
|
|
},
|
|
format: he.bind(null, '\\'),
|
|
parse(e) {
|
|
se(e, 'path');
|
|
const t = { root: '', dir: '', base: '', ext: '', name: '' };
|
|
if (0 === e.length) return t;
|
|
const n = e.length;
|
|
let i = 0,
|
|
r = e.charCodeAt(0);
|
|
if (1 === n)
|
|
return oe(r) ? ((t.root = t.dir = e), t) : ((t.base = t.name = e), t);
|
|
if (oe(r)) {
|
|
if (((i = 1), oe(e.charCodeAt(1)))) {
|
|
let t = 2,
|
|
r = t;
|
|
for (; t < n && !oe(e.charCodeAt(t)); ) t++;
|
|
if (t < n && t !== r) {
|
|
for (r = t; t < n && oe(e.charCodeAt(t)); ) t++;
|
|
if (t < n && t !== r) {
|
|
for (r = t; t < n && !oe(e.charCodeAt(t)); ) t++;
|
|
t === n ? (i = t) : t !== r && (i = t + 1);
|
|
}
|
|
}
|
|
}
|
|
} else if (le(r) && e.charCodeAt(1) === ie) {
|
|
if (n <= 2) return (t.root = t.dir = e), t;
|
|
if (((i = 2), oe(e.charCodeAt(2)))) {
|
|
if (3 === n) return (t.root = t.dir = e), t;
|
|
i = 3;
|
|
}
|
|
}
|
|
i > 0 && (t.root = e.slice(0, i));
|
|
let s = -1,
|
|
o = i,
|
|
a = -1,
|
|
l = !0,
|
|
u = e.length - 1,
|
|
h = 0;
|
|
for (; u >= i; --u)
|
|
if (((r = e.charCodeAt(u)), oe(r))) {
|
|
if (!l) {
|
|
o = u + 1;
|
|
break;
|
|
}
|
|
} else
|
|
-1 === a && ((l = !1), (a = u + 1)),
|
|
r === ee
|
|
? -1 === s
|
|
? (s = u)
|
|
: 1 !== h && (h = 1)
|
|
: -1 !== s && (h = -1);
|
|
return (
|
|
-1 !== a &&
|
|
(-1 === s || 0 === h || (1 === h && s === a - 1 && s === o + 1)
|
|
? (t.base = t.name = e.slice(o, a))
|
|
: ((t.name = e.slice(o, s)),
|
|
(t.base = e.slice(o, a)),
|
|
(t.ext = e.slice(s, a)))),
|
|
(t.dir = o > 0 && o !== i ? e.slice(0, o - 1) : t.root),
|
|
t
|
|
);
|
|
},
|
|
sep: '\\',
|
|
delimiter: ';',
|
|
win32: null,
|
|
posix: null,
|
|
},
|
|
ce = {
|
|
resolve(...e) {
|
|
let t = '',
|
|
n = !1;
|
|
for (let i = e.length - 1; i >= -1 && !n; i--) {
|
|
const r = i >= 0 ? e[i] : X();
|
|
se(r, 'path'),
|
|
0 !== r.length && ((t = `${r}/${t}`), (n = r.charCodeAt(0) === te));
|
|
}
|
|
return (t = ue(t, !n, '/', ae)), n ? `/${t}` : t.length > 0 ? t : '.';
|
|
},
|
|
normalize(e) {
|
|
if ((se(e, 'path'), 0 === e.length)) return '.';
|
|
const t = e.charCodeAt(0) === te,
|
|
n = e.charCodeAt(e.length - 1) === te;
|
|
return 0 === (e = ue(e, !t, '/', ae)).length
|
|
? t
|
|
? '/'
|
|
: n
|
|
? './'
|
|
: '.'
|
|
: (n && (e += '/'), t ? `/${e}` : e);
|
|
},
|
|
isAbsolute: (e) => (
|
|
se(e, 'path'), e.length > 0 && e.charCodeAt(0) === te
|
|
),
|
|
join(...e) {
|
|
if (0 === e.length) return '.';
|
|
let t;
|
|
for (let n = 0; n < e.length; ++n) {
|
|
const i = e[n];
|
|
se(i, 'path'),
|
|
i.length > 0 && (void 0 === t ? (t = i) : (t += `/${i}`));
|
|
}
|
|
return void 0 === t ? '.' : ce.normalize(t);
|
|
},
|
|
relative(e, t) {
|
|
if ((se(e, 'from'), se(t, 'to'), e === t)) return '';
|
|
if ((e = ce.resolve(e)) === (t = ce.resolve(t))) return '';
|
|
const n = e.length,
|
|
i = n - 1,
|
|
r = t.length - 1,
|
|
s = i < r ? i : r;
|
|
let o = -1,
|
|
a = 0;
|
|
for (; a < s; a++) {
|
|
const n = e.charCodeAt(1 + a);
|
|
if (n !== t.charCodeAt(1 + a)) break;
|
|
n === te && (o = a);
|
|
}
|
|
if (a === s)
|
|
if (r > s) {
|
|
if (t.charCodeAt(1 + a) === te) return t.slice(1 + a + 1);
|
|
if (0 === a) return t.slice(1 + a);
|
|
} else
|
|
i > s &&
|
|
(e.charCodeAt(1 + a) === te ? (o = a) : 0 === a && (o = 0));
|
|
let l = '';
|
|
for (a = 1 + o + 1; a <= n; ++a)
|
|
(a !== n && e.charCodeAt(a) !== te) ||
|
|
(l += 0 === l.length ? '..' : '/..');
|
|
return `${l}${t.slice(1 + o)}`;
|
|
},
|
|
toNamespacedPath: (e) => e,
|
|
dirname(e) {
|
|
if ((se(e, 'path'), 0 === e.length)) return '.';
|
|
const t = e.charCodeAt(0) === te;
|
|
let n = -1,
|
|
i = !0;
|
|
for (let t = e.length - 1; t >= 1; --t)
|
|
if (e.charCodeAt(t) === te) {
|
|
if (!i) {
|
|
n = t;
|
|
break;
|
|
}
|
|
} else i = !1;
|
|
return -1 === n ? (t ? '/' : '.') : t && 1 === n ? '//' : e.slice(0, n);
|
|
},
|
|
basename(e, t) {
|
|
void 0 !== t && se(t, 'ext'), se(e, 'path');
|
|
let n,
|
|
i = 0,
|
|
r = -1,
|
|
s = !0;
|
|
if (void 0 !== t && t.length > 0 && t.length <= e.length) {
|
|
if (t === e) return '';
|
|
let o = t.length - 1,
|
|
a = -1;
|
|
for (n = e.length - 1; n >= 0; --n) {
|
|
const l = e.charCodeAt(n);
|
|
if (l === te) {
|
|
if (!s) {
|
|
i = n + 1;
|
|
break;
|
|
}
|
|
} else
|
|
-1 === a && ((s = !1), (a = n + 1)),
|
|
o >= 0 &&
|
|
(l === t.charCodeAt(o)
|
|
? -1 == --o && (r = n)
|
|
: ((o = -1), (r = a)));
|
|
}
|
|
return i === r ? (r = a) : -1 === r && (r = e.length), e.slice(i, r);
|
|
}
|
|
for (n = e.length - 1; n >= 0; --n)
|
|
if (e.charCodeAt(n) === te) {
|
|
if (!s) {
|
|
i = n + 1;
|
|
break;
|
|
}
|
|
} else -1 === r && ((s = !1), (r = n + 1));
|
|
return -1 === r ? '' : e.slice(i, r);
|
|
},
|
|
extname(e) {
|
|
se(e, 'path');
|
|
let t = -1,
|
|
n = 0,
|
|
i = -1,
|
|
r = !0,
|
|
s = 0;
|
|
for (let o = e.length - 1; o >= 0; --o) {
|
|
const a = e.charCodeAt(o);
|
|
if (a !== te)
|
|
-1 === i && ((r = !1), (i = o + 1)),
|
|
a === ee
|
|
? -1 === t
|
|
? (t = o)
|
|
: 1 !== s && (s = 1)
|
|
: -1 !== t && (s = -1);
|
|
else if (!r) {
|
|
n = o + 1;
|
|
break;
|
|
}
|
|
}
|
|
return -1 === t ||
|
|
-1 === i ||
|
|
0 === s ||
|
|
(1 === s && t === i - 1 && t === n + 1)
|
|
? ''
|
|
: e.slice(t, i);
|
|
},
|
|
format: he.bind(null, '/'),
|
|
parse(e) {
|
|
se(e, 'path');
|
|
const t = { root: '', dir: '', base: '', ext: '', name: '' };
|
|
if (0 === e.length) return t;
|
|
const n = e.charCodeAt(0) === te;
|
|
let i;
|
|
n ? ((t.root = '/'), (i = 1)) : (i = 0);
|
|
let r = -1,
|
|
s = 0,
|
|
o = -1,
|
|
a = !0,
|
|
l = e.length - 1,
|
|
u = 0;
|
|
for (; l >= i; --l) {
|
|
const t = e.charCodeAt(l);
|
|
if (t !== te)
|
|
-1 === o && ((a = !1), (o = l + 1)),
|
|
t === ee
|
|
? -1 === r
|
|
? (r = l)
|
|
: 1 !== u && (u = 1)
|
|
: -1 !== r && (u = -1);
|
|
else if (!a) {
|
|
s = l + 1;
|
|
break;
|
|
}
|
|
}
|
|
if (-1 !== o) {
|
|
const i = 0 === s && n ? 1 : s;
|
|
-1 === r || 0 === u || (1 === u && r === o - 1 && r === s + 1)
|
|
? (t.base = t.name = e.slice(i, o))
|
|
: ((t.name = e.slice(i, r)),
|
|
(t.base = e.slice(i, o)),
|
|
(t.ext = e.slice(r, o)));
|
|
}
|
|
return s > 0 ? (t.dir = e.slice(0, s - 1)) : n && (t.dir = '/'), t;
|
|
},
|
|
sep: '/',
|
|
delimiter: ':',
|
|
win32: null,
|
|
posix: null,
|
|
};
|
|
(ce.win32 = de.win32 = de),
|
|
(ce.posix = de.posix = ce),
|
|
'win32' === J ? de.normalize : ce.normalize,
|
|
'win32' === J ? de.resolve : ce.resolve,
|
|
'win32' === J ? de.relative : ce.relative,
|
|
'win32' === J ? de.dirname : ce.dirname,
|
|
'win32' === J ? de.basename : ce.basename,
|
|
'win32' === J ? de.extname : ce.extname,
|
|
'win32' === J ? de.sep : ce.sep;
|
|
const fe = /^\w[\w\d+.-]*$/,
|
|
me = /^\//,
|
|
ge = /^\/\//,
|
|
_e = '',
|
|
pe = '/',
|
|
Ce = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
|
|
class be {
|
|
constructor(e, t, n, i, r, s = !1) {
|
|
'object' == typeof e
|
|
? ((this.scheme = e.scheme || _e),
|
|
(this.authority = e.authority || _e),
|
|
(this.path = e.path || _e),
|
|
(this.query = e.query || _e),
|
|
(this.fragment = e.fragment || _e))
|
|
: ((this.scheme = (function (e, t) {
|
|
return e || t ? e : 'file';
|
|
})(e, s)),
|
|
(this.authority = t || _e),
|
|
(this.path = (function (e, t) {
|
|
switch (e) {
|
|
case 'https':
|
|
case 'http':
|
|
case 'file':
|
|
t ? t[0] !== pe && (t = pe + t) : (t = pe);
|
|
}
|
|
return t;
|
|
})(this.scheme, n || _e)),
|
|
(this.query = i || _e),
|
|
(this.fragment = r || _e),
|
|
(function (e, t) {
|
|
if (!e.scheme && t)
|
|
throw new Error(
|
|
`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`
|
|
);
|
|
if (e.scheme && !fe.test(e.scheme))
|
|
throw new Error(
|
|
'[UriError]: Scheme contains illegal characters.'
|
|
);
|
|
if (e.path)
|
|
if (e.authority) {
|
|
if (!me.test(e.path))
|
|
throw new Error(
|
|
'[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character'
|
|
);
|
|
} else if (ge.test(e.path))
|
|
throw new Error(
|
|
'[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")'
|
|
);
|
|
})(this, s));
|
|
}
|
|
static isUri(e) {
|
|
return (
|
|
e instanceof be ||
|
|
(!!e &&
|
|
'string' == typeof e.authority &&
|
|
'string' == typeof e.fragment &&
|
|
'string' == typeof e.path &&
|
|
'string' == typeof e.query &&
|
|
'string' == typeof e.scheme &&
|
|
'function' == typeof e.fsPath &&
|
|
'function' == typeof e.with &&
|
|
'function' == typeof e.toString)
|
|
);
|
|
}
|
|
get fsPath() {
|
|
return ye(this, !1);
|
|
}
|
|
with(e) {
|
|
if (!e) return this;
|
|
let { scheme: t, authority: n, path: i, query: r, fragment: s } = e;
|
|
return (
|
|
void 0 === t ? (t = this.scheme) : null === t && (t = _e),
|
|
void 0 === n ? (n = this.authority) : null === n && (n = _e),
|
|
void 0 === i ? (i = this.path) : null === i && (i = _e),
|
|
void 0 === r ? (r = this.query) : null === r && (r = _e),
|
|
void 0 === s ? (s = this.fragment) : null === s && (s = _e),
|
|
t === this.scheme &&
|
|
n === this.authority &&
|
|
i === this.path &&
|
|
r === this.query &&
|
|
s === this.fragment
|
|
? this
|
|
: new Ne(t, n, i, r, s)
|
|
);
|
|
}
|
|
static parse(e, t = !1) {
|
|
const n = Ce.exec(e);
|
|
return n
|
|
? new Ne(
|
|
n[2] || _e,
|
|
Oe(n[4] || _e),
|
|
Oe(n[5] || _e),
|
|
Oe(n[7] || _e),
|
|
Oe(n[9] || _e),
|
|
t
|
|
)
|
|
: new Ne(_e, _e, _e, _e, _e);
|
|
}
|
|
static file(e) {
|
|
let t = _e;
|
|
if ((A && (e = e.replace(/\\/g, pe)), e[0] === pe && e[1] === pe)) {
|
|
const n = e.indexOf(pe, 2);
|
|
-1 === n
|
|
? ((t = e.substring(2)), (e = pe))
|
|
: ((t = e.substring(2, n)), (e = e.substring(n) || pe));
|
|
}
|
|
return new Ne('file', t, e, _e, _e);
|
|
}
|
|
static from(e) {
|
|
return new Ne(e.scheme, e.authority, e.path, e.query, e.fragment);
|
|
}
|
|
static joinPath(e, ...t) {
|
|
if (!e.path)
|
|
throw new Error(
|
|
'[UriError]: cannot call joinPaths on URI without path'
|
|
);
|
|
let n;
|
|
return (
|
|
(n =
|
|
A && 'file' === e.scheme
|
|
? be.file(de.join(ye(e, !0), ...t)).path
|
|
: ce.join(e.path, ...t)),
|
|
e.with({ path: n })
|
|
);
|
|
}
|
|
toString(e = !1) {
|
|
return we(this, e);
|
|
}
|
|
toJSON() {
|
|
return this;
|
|
}
|
|
static revive(e) {
|
|
if (e) {
|
|
if (e instanceof be) return e;
|
|
{
|
|
const t = new Ne(e);
|
|
return (
|
|
(t._formatted = e.external),
|
|
(t._fsPath = e._sep === Le ? e.fsPath : null),
|
|
t
|
|
);
|
|
}
|
|
}
|
|
return e;
|
|
}
|
|
}
|
|
const Le = A ? 1 : void 0;
|
|
class Ne extends be {
|
|
constructor() {
|
|
super(...arguments), (this._formatted = null), (this._fsPath = null);
|
|
}
|
|
get fsPath() {
|
|
return this._fsPath || (this._fsPath = ye(this, !1)), this._fsPath;
|
|
}
|
|
toString(e = !1) {
|
|
return e
|
|
? we(this, !0)
|
|
: (this._formatted || (this._formatted = we(this, !1)),
|
|
this._formatted);
|
|
}
|
|
toJSON() {
|
|
const e = { $mid: 1 };
|
|
return (
|
|
this._fsPath && ((e.fsPath = this._fsPath), (e._sep = Le)),
|
|
this._formatted && (e.external = this._formatted),
|
|
this.path && (e.path = this.path),
|
|
this.scheme && (e.scheme = this.scheme),
|
|
this.authority && (e.authority = this.authority),
|
|
this.query && (e.query = this.query),
|
|
this.fragment && (e.fragment = this.fragment),
|
|
e
|
|
);
|
|
}
|
|
}
|
|
const Se = {
|
|
58: '%3A',
|
|
47: '%2F',
|
|
63: '%3F',
|
|
35: '%23',
|
|
91: '%5B',
|
|
93: '%5D',
|
|
64: '%40',
|
|
33: '%21',
|
|
36: '%24',
|
|
38: '%26',
|
|
39: '%27',
|
|
40: '%28',
|
|
41: '%29',
|
|
42: '%2A',
|
|
43: '%2B',
|
|
44: '%2C',
|
|
59: '%3B',
|
|
61: '%3D',
|
|
32: '%20',
|
|
};
|
|
function Ee(e, t) {
|
|
let n,
|
|
i = -1;
|
|
for (let r = 0; r < e.length; r++) {
|
|
const s = e.charCodeAt(r);
|
|
if (
|
|
(s >= 97 && s <= 122) ||
|
|
(s >= 65 && s <= 90) ||
|
|
(s >= 48 && s <= 57) ||
|
|
45 === s ||
|
|
46 === s ||
|
|
95 === s ||
|
|
126 === s ||
|
|
(t && 47 === s)
|
|
)
|
|
-1 !== i && ((n += encodeURIComponent(e.substring(i, r))), (i = -1)),
|
|
void 0 !== n && (n += e.charAt(r));
|
|
else {
|
|
void 0 === n && (n = e.substr(0, r));
|
|
const t = Se[s];
|
|
void 0 !== t
|
|
? (-1 !== i &&
|
|
((n += encodeURIComponent(e.substring(i, r))), (i = -1)),
|
|
(n += t))
|
|
: -1 === i && (i = r);
|
|
}
|
|
}
|
|
return (
|
|
-1 !== i && (n += encodeURIComponent(e.substring(i))),
|
|
void 0 !== n ? n : e
|
|
);
|
|
}
|
|
function Ae(e) {
|
|
let t;
|
|
for (let n = 0; n < e.length; n++) {
|
|
const i = e.charCodeAt(n);
|
|
35 === i || 63 === i
|
|
? (void 0 === t && (t = e.substr(0, n)), (t += Se[i]))
|
|
: void 0 !== t && (t += e[n]);
|
|
}
|
|
return void 0 !== t ? t : e;
|
|
}
|
|
function ye(e, t) {
|
|
let n;
|
|
return (
|
|
(n =
|
|
e.authority && e.path.length > 1 && 'file' === e.scheme
|
|
? `//${e.authority}${e.path}`
|
|
: 47 === e.path.charCodeAt(0) &&
|
|
((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) ||
|
|
(e.path.charCodeAt(1) >= 97 && e.path.charCodeAt(1) <= 122)) &&
|
|
58 === e.path.charCodeAt(2)
|
|
? t
|
|
? e.path.substr(1)
|
|
: e.path[1].toLowerCase() + e.path.substr(2)
|
|
: e.path),
|
|
A && (n = n.replace(/\//g, '\\')),
|
|
n
|
|
);
|
|
}
|
|
function we(e, t) {
|
|
const n = t ? Ae : Ee;
|
|
let i = '',
|
|
{ scheme: r, authority: s, path: o, query: a, fragment: l } = e;
|
|
if (
|
|
(r && ((i += r), (i += ':')),
|
|
(s || 'file' === r) && ((i += pe), (i += pe)),
|
|
s)
|
|
) {
|
|
let e = s.indexOf('@');
|
|
if (-1 !== e) {
|
|
const t = s.substr(0, e);
|
|
(s = s.substr(e + 1)),
|
|
(e = t.indexOf(':')),
|
|
-1 === e
|
|
? (i += n(t, !1))
|
|
: ((i += n(t.substr(0, e), !1)),
|
|
(i += ':'),
|
|
(i += n(t.substr(e + 1), !1))),
|
|
(i += '@');
|
|
}
|
|
(s = s.toLowerCase()),
|
|
(e = s.indexOf(':')),
|
|
-1 === e
|
|
? (i += n(s, !1))
|
|
: ((i += n(s.substr(0, e), !1)), (i += s.substr(e)));
|
|
}
|
|
if (o) {
|
|
if (o.length >= 3 && 47 === o.charCodeAt(0) && 58 === o.charCodeAt(2)) {
|
|
const e = o.charCodeAt(1);
|
|
e >= 65 &&
|
|
e <= 90 &&
|
|
(o = `/${String.fromCharCode(e + 32)}:${o.substr(3)}`);
|
|
} else if (o.length >= 2 && 58 === o.charCodeAt(1)) {
|
|
const e = o.charCodeAt(0);
|
|
e >= 65 &&
|
|
e <= 90 &&
|
|
(o = `${String.fromCharCode(e + 32)}:${o.substr(2)}`);
|
|
}
|
|
i += n(o, !0);
|
|
}
|
|
return (
|
|
a && ((i += '?'), (i += n(a, !1))),
|
|
l && ((i += '#'), (i += t ? l : Ee(l, !1))),
|
|
i
|
|
);
|
|
}
|
|
function ve(e) {
|
|
try {
|
|
return decodeURIComponent(e);
|
|
} catch (t) {
|
|
return e.length > 3 ? e.substr(0, 3) + ve(e.substr(3)) : e;
|
|
}
|
|
}
|
|
const Te = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
|
|
function Oe(e) {
|
|
return e.match(Te) ? e.replace(Te, (e) => ve(e)) : e;
|
|
}
|
|
class Ie {
|
|
constructor(e, t) {
|
|
(this.lineNumber = e), (this.column = t);
|
|
}
|
|
with(e = this.lineNumber, t = this.column) {
|
|
return e === this.lineNumber && t === this.column ? this : new Ie(e, t);
|
|
}
|
|
delta(e = 0, t = 0) {
|
|
return this.with(this.lineNumber + e, this.column + t);
|
|
}
|
|
equals(e) {
|
|
return Ie.equals(this, e);
|
|
}
|
|
static equals(e, t) {
|
|
return (
|
|
(!e && !t) ||
|
|
(!!e && !!t && e.lineNumber === t.lineNumber && e.column === t.column)
|
|
);
|
|
}
|
|
isBefore(e) {
|
|
return Ie.isBefore(this, e);
|
|
}
|
|
static isBefore(e, t) {
|
|
return (
|
|
e.lineNumber < t.lineNumber ||
|
|
(!(t.lineNumber < e.lineNumber) && e.column < t.column)
|
|
);
|
|
}
|
|
isBeforeOrEqual(e) {
|
|
return Ie.isBeforeOrEqual(this, e);
|
|
}
|
|
static isBeforeOrEqual(e, t) {
|
|
return (
|
|
e.lineNumber < t.lineNumber ||
|
|
(!(t.lineNumber < e.lineNumber) && e.column <= t.column)
|
|
);
|
|
}
|
|
static compare(e, t) {
|
|
let n = 0 | e.lineNumber,
|
|
i = 0 | t.lineNumber;
|
|
return n === i ? (0 | e.column) - (0 | t.column) : n - i;
|
|
}
|
|
clone() {
|
|
return new Ie(this.lineNumber, this.column);
|
|
}
|
|
toString() {
|
|
return '(' + this.lineNumber + ',' + this.column + ')';
|
|
}
|
|
static lift(e) {
|
|
return new Ie(e.lineNumber, e.column);
|
|
}
|
|
static isIPosition(e) {
|
|
return (
|
|
e && 'number' == typeof e.lineNumber && 'number' == typeof e.column
|
|
);
|
|
}
|
|
}
|
|
class Me {
|
|
constructor(e, t, n, i) {
|
|
e > n || (e === n && t > i)
|
|
? ((this.startLineNumber = n),
|
|
(this.startColumn = i),
|
|
(this.endLineNumber = e),
|
|
(this.endColumn = t))
|
|
: ((this.startLineNumber = e),
|
|
(this.startColumn = t),
|
|
(this.endLineNumber = n),
|
|
(this.endColumn = i));
|
|
}
|
|
isEmpty() {
|
|
return Me.isEmpty(this);
|
|
}
|
|
static isEmpty(e) {
|
|
return (
|
|
e.startLineNumber === e.endLineNumber && e.startColumn === e.endColumn
|
|
);
|
|
}
|
|
containsPosition(e) {
|
|
return Me.containsPosition(this, e);
|
|
}
|
|
static containsPosition(e, t) {
|
|
return !(
|
|
t.lineNumber < e.startLineNumber ||
|
|
t.lineNumber > e.endLineNumber ||
|
|
(t.lineNumber === e.startLineNumber && t.column < e.startColumn) ||
|
|
(t.lineNumber === e.endLineNumber && t.column > e.endColumn)
|
|
);
|
|
}
|
|
containsRange(e) {
|
|
return Me.containsRange(this, e);
|
|
}
|
|
static containsRange(e, t) {
|
|
return !(
|
|
t.startLineNumber < e.startLineNumber ||
|
|
t.endLineNumber < e.startLineNumber ||
|
|
t.startLineNumber > e.endLineNumber ||
|
|
t.endLineNumber > e.endLineNumber ||
|
|
(t.startLineNumber === e.startLineNumber &&
|
|
t.startColumn < e.startColumn) ||
|
|
(t.endLineNumber === e.endLineNumber && t.endColumn > e.endColumn)
|
|
);
|
|
}
|
|
strictContainsRange(e) {
|
|
return Me.strictContainsRange(this, e);
|
|
}
|
|
static strictContainsRange(e, t) {
|
|
return !(
|
|
t.startLineNumber < e.startLineNumber ||
|
|
t.endLineNumber < e.startLineNumber ||
|
|
t.startLineNumber > e.endLineNumber ||
|
|
t.endLineNumber > e.endLineNumber ||
|
|
(t.startLineNumber === e.startLineNumber &&
|
|
t.startColumn <= e.startColumn) ||
|
|
(t.endLineNumber === e.endLineNumber && t.endColumn >= e.endColumn)
|
|
);
|
|
}
|
|
plusRange(e) {
|
|
return Me.plusRange(this, e);
|
|
}
|
|
static plusRange(e, t) {
|
|
let n, i, r, s;
|
|
return (
|
|
t.startLineNumber < e.startLineNumber
|
|
? ((n = t.startLineNumber), (i = t.startColumn))
|
|
: t.startLineNumber === e.startLineNumber
|
|
? ((n = t.startLineNumber),
|
|
(i = Math.min(t.startColumn, e.startColumn)))
|
|
: ((n = e.startLineNumber), (i = e.startColumn)),
|
|
t.endLineNumber > e.endLineNumber
|
|
? ((r = t.endLineNumber), (s = t.endColumn))
|
|
: t.endLineNumber === e.endLineNumber
|
|
? ((r = t.endLineNumber), (s = Math.max(t.endColumn, e.endColumn)))
|
|
: ((r = e.endLineNumber), (s = e.endColumn)),
|
|
new Me(n, i, r, s)
|
|
);
|
|
}
|
|
intersectRanges(e) {
|
|
return Me.intersectRanges(this, e);
|
|
}
|
|
static intersectRanges(e, t) {
|
|
let n = e.startLineNumber,
|
|
i = e.startColumn,
|
|
r = e.endLineNumber,
|
|
s = e.endColumn,
|
|
o = t.startLineNumber,
|
|
a = t.startColumn,
|
|
l = t.endLineNumber,
|
|
u = t.endColumn;
|
|
return (
|
|
n < o ? ((n = o), (i = a)) : n === o && (i = Math.max(i, a)),
|
|
r > l ? ((r = l), (s = u)) : r === l && (s = Math.min(s, u)),
|
|
n > r || (n === r && i > s) ? null : new Me(n, i, r, s)
|
|
);
|
|
}
|
|
equalsRange(e) {
|
|
return Me.equalsRange(this, e);
|
|
}
|
|
static equalsRange(e, t) {
|
|
return (
|
|
!!e &&
|
|
!!t &&
|
|
e.startLineNumber === t.startLineNumber &&
|
|
e.startColumn === t.startColumn &&
|
|
e.endLineNumber === t.endLineNumber &&
|
|
e.endColumn === t.endColumn
|
|
);
|
|
}
|
|
getEndPosition() {
|
|
return Me.getEndPosition(this);
|
|
}
|
|
static getEndPosition(e) {
|
|
return new Ie(e.endLineNumber, e.endColumn);
|
|
}
|
|
getStartPosition() {
|
|
return Me.getStartPosition(this);
|
|
}
|
|
static getStartPosition(e) {
|
|
return new Ie(e.startLineNumber, e.startColumn);
|
|
}
|
|
toString() {
|
|
return (
|
|
'[' +
|
|
this.startLineNumber +
|
|
',' +
|
|
this.startColumn +
|
|
' -> ' +
|
|
this.endLineNumber +
|
|
',' +
|
|
this.endColumn +
|
|
']'
|
|
);
|
|
}
|
|
setEndPosition(e, t) {
|
|
return new Me(this.startLineNumber, this.startColumn, e, t);
|
|
}
|
|
setStartPosition(e, t) {
|
|
return new Me(e, t, this.endLineNumber, this.endColumn);
|
|
}
|
|
collapseToStart() {
|
|
return Me.collapseToStart(this);
|
|
}
|
|
static collapseToStart(e) {
|
|
return new Me(
|
|
e.startLineNumber,
|
|
e.startColumn,
|
|
e.startLineNumber,
|
|
e.startColumn
|
|
);
|
|
}
|
|
static fromPositions(e, t = e) {
|
|
return new Me(e.lineNumber, e.column, t.lineNumber, t.column);
|
|
}
|
|
static lift(e) {
|
|
return e
|
|
? new Me(e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn)
|
|
: null;
|
|
}
|
|
static isIRange(e) {
|
|
return (
|
|
e &&
|
|
'number' == typeof e.startLineNumber &&
|
|
'number' == typeof e.startColumn &&
|
|
'number' == typeof e.endLineNumber &&
|
|
'number' == typeof e.endColumn
|
|
);
|
|
}
|
|
static areIntersectingOrTouching(e, t) {
|
|
return !(
|
|
e.endLineNumber < t.startLineNumber ||
|
|
(e.endLineNumber === t.startLineNumber &&
|
|
e.endColumn < t.startColumn) ||
|
|
t.endLineNumber < e.startLineNumber ||
|
|
(t.endLineNumber === e.startLineNumber && t.endColumn < e.startColumn)
|
|
);
|
|
}
|
|
static areIntersecting(e, t) {
|
|
return !(
|
|
e.endLineNumber < t.startLineNumber ||
|
|
(e.endLineNumber === t.startLineNumber &&
|
|
e.endColumn <= t.startColumn) ||
|
|
t.endLineNumber < e.startLineNumber ||
|
|
(t.endLineNumber === e.startLineNumber && t.endColumn <= e.startColumn)
|
|
);
|
|
}
|
|
static compareRangesUsingStarts(e, t) {
|
|
if (e && t) {
|
|
const n = 0 | e.startLineNumber,
|
|
i = 0 | t.startLineNumber;
|
|
if (n === i) {
|
|
const n = 0 | e.startColumn,
|
|
i = 0 | t.startColumn;
|
|
if (n === i) {
|
|
const n = 0 | e.endLineNumber,
|
|
i = 0 | t.endLineNumber;
|
|
return n === i ? (0 | e.endColumn) - (0 | t.endColumn) : n - i;
|
|
}
|
|
return n - i;
|
|
}
|
|
return n - i;
|
|
}
|
|
return (e ? 1 : 0) - (t ? 1 : 0);
|
|
}
|
|
static compareRangesUsingEnds(e, t) {
|
|
return e.endLineNumber === t.endLineNumber
|
|
? e.endColumn === t.endColumn
|
|
? e.startLineNumber === t.startLineNumber
|
|
? e.startColumn - t.startColumn
|
|
: e.startLineNumber - t.startLineNumber
|
|
: e.endColumn - t.endColumn
|
|
: e.endLineNumber - t.endLineNumber;
|
|
}
|
|
static spansMultipleLines(e) {
|
|
return e.endLineNumber > e.startLineNumber;
|
|
}
|
|
}
|
|
function xe(e, t, n, i) {
|
|
return new z(e, t, n).ComputeDiff(i);
|
|
}
|
|
class Re {
|
|
constructor(e) {
|
|
const t = [],
|
|
n = [];
|
|
for (let i = 0, r = e.length; i < r; i++)
|
|
(t[i] = Fe(e[i], 1)), (n[i] = Ke(e[i], 1));
|
|
(this.lines = e), (this._startColumns = t), (this._endColumns = n);
|
|
}
|
|
getElements() {
|
|
const e = [];
|
|
for (let t = 0, n = this.lines.length; t < n; t++)
|
|
e[t] = this.lines[t].substring(
|
|
this._startColumns[t] - 1,
|
|
this._endColumns[t] - 1
|
|
);
|
|
return e;
|
|
}
|
|
getStartLineNumber(e) {
|
|
return e + 1;
|
|
}
|
|
getEndLineNumber(e) {
|
|
return e + 1;
|
|
}
|
|
createCharSequence(e, t, n) {
|
|
const i = [],
|
|
r = [],
|
|
s = [];
|
|
let o = 0;
|
|
for (let a = t; a <= n; a++) {
|
|
const t = this.lines[a],
|
|
n = e ? this._startColumns[a] : 1,
|
|
l = e ? this._endColumns[a] : t.length + 1;
|
|
for (let e = n; e < l; e++)
|
|
(i[o] = t.charCodeAt(e - 1)), (r[o] = a + 1), (s[o] = e), o++;
|
|
}
|
|
return new Pe(i, r, s);
|
|
}
|
|
}
|
|
class Pe {
|
|
constructor(e, t, n) {
|
|
(this._charCodes = e), (this._lineNumbers = t), (this._columns = n);
|
|
}
|
|
getElements() {
|
|
return this._charCodes;
|
|
}
|
|
getStartLineNumber(e) {
|
|
return this._lineNumbers[e];
|
|
}
|
|
getStartColumn(e) {
|
|
return this._columns[e];
|
|
}
|
|
getEndLineNumber(e) {
|
|
return this._lineNumbers[e];
|
|
}
|
|
getEndColumn(e) {
|
|
return this._columns[e] + 1;
|
|
}
|
|
}
|
|
class Ue {
|
|
constructor(e, t, n, i, r, s, o, a) {
|
|
(this.originalStartLineNumber = e),
|
|
(this.originalStartColumn = t),
|
|
(this.originalEndLineNumber = n),
|
|
(this.originalEndColumn = i),
|
|
(this.modifiedStartLineNumber = r),
|
|
(this.modifiedStartColumn = s),
|
|
(this.modifiedEndLineNumber = o),
|
|
(this.modifiedEndColumn = a);
|
|
}
|
|
static createFromDiffChange(e, t, n) {
|
|
let i, r, s, o, a, l, u, h;
|
|
return (
|
|
0 === e.originalLength
|
|
? ((i = 0), (r = 0), (s = 0), (o = 0))
|
|
: ((i = t.getStartLineNumber(e.originalStart)),
|
|
(r = t.getStartColumn(e.originalStart)),
|
|
(s = t.getEndLineNumber(e.originalStart + e.originalLength - 1)),
|
|
(o = t.getEndColumn(e.originalStart + e.originalLength - 1))),
|
|
0 === e.modifiedLength
|
|
? ((a = 0), (l = 0), (u = 0), (h = 0))
|
|
: ((a = n.getStartLineNumber(e.modifiedStart)),
|
|
(l = n.getStartColumn(e.modifiedStart)),
|
|
(u = n.getEndLineNumber(e.modifiedStart + e.modifiedLength - 1)),
|
|
(h = n.getEndColumn(e.modifiedStart + e.modifiedLength - 1))),
|
|
new Ue(i, r, s, o, a, l, u, h)
|
|
);
|
|
}
|
|
}
|
|
class ke {
|
|
constructor(e, t, n, i, r) {
|
|
(this.originalStartLineNumber = e),
|
|
(this.originalEndLineNumber = t),
|
|
(this.modifiedStartLineNumber = n),
|
|
(this.modifiedEndLineNumber = i),
|
|
(this.charChanges = r);
|
|
}
|
|
static createFromDiffResult(e, t, n, i, r, s, o) {
|
|
let a, l, u, h, d;
|
|
if (
|
|
(0 === t.originalLength
|
|
? ((a = n.getStartLineNumber(t.originalStart) - 1), (l = 0))
|
|
: ((a = n.getStartLineNumber(t.originalStart)),
|
|
(l = n.getEndLineNumber(t.originalStart + t.originalLength - 1))),
|
|
0 === t.modifiedLength
|
|
? ((u = i.getStartLineNumber(t.modifiedStart) - 1), (h = 0))
|
|
: ((u = i.getStartLineNumber(t.modifiedStart)),
|
|
(h = i.getEndLineNumber(t.modifiedStart + t.modifiedLength - 1))),
|
|
s &&
|
|
t.originalLength > 0 &&
|
|
t.originalLength < 20 &&
|
|
t.modifiedLength > 0 &&
|
|
t.modifiedLength < 20 &&
|
|
r())
|
|
) {
|
|
const s = n.createCharSequence(
|
|
e,
|
|
t.originalStart,
|
|
t.originalStart + t.originalLength - 1
|
|
),
|
|
a = i.createCharSequence(
|
|
e,
|
|
t.modifiedStart,
|
|
t.modifiedStart + t.modifiedLength - 1
|
|
);
|
|
let l = xe(s, a, r, !0).changes;
|
|
o &&
|
|
(l = (function (e) {
|
|
if (e.length <= 1) return e;
|
|
const t = [e[0]];
|
|
let n = t[0];
|
|
for (let i = 1, r = e.length; i < r; i++) {
|
|
const r = e[i],
|
|
s = r.originalStart - (n.originalStart + n.originalLength),
|
|
o = r.modifiedStart - (n.modifiedStart + n.modifiedLength);
|
|
Math.min(s, o) < 3
|
|
? ((n.originalLength =
|
|
r.originalStart + r.originalLength - n.originalStart),
|
|
(n.modifiedLength =
|
|
r.modifiedStart + r.modifiedLength - n.modifiedStart))
|
|
: (t.push(r), (n = r));
|
|
}
|
|
return t;
|
|
})(l)),
|
|
(d = []);
|
|
for (let e = 0, t = l.length; e < t; e++)
|
|
d.push(Ue.createFromDiffChange(l[e], s, a));
|
|
}
|
|
return new ke(a, l, u, h, d);
|
|
}
|
|
}
|
|
class De {
|
|
constructor(e, t, n) {
|
|
(this.shouldComputeCharChanges = n.shouldComputeCharChanges),
|
|
(this.shouldPostProcessCharChanges = n.shouldPostProcessCharChanges),
|
|
(this.shouldIgnoreTrimWhitespace = n.shouldIgnoreTrimWhitespace),
|
|
(this.shouldMakePrettyDiff = n.shouldMakePrettyDiff),
|
|
(this.originalLines = e),
|
|
(this.modifiedLines = t),
|
|
(this.original = new Re(e)),
|
|
(this.modified = new Re(t)),
|
|
(this.continueLineDiff = Be(n.maxComputationTime)),
|
|
(this.continueCharDiff = Be(
|
|
0 === n.maxComputationTime ? 0 : Math.min(n.maxComputationTime, 5e3)
|
|
));
|
|
}
|
|
computeDiff() {
|
|
if (
|
|
1 === this.original.lines.length &&
|
|
0 === this.original.lines[0].length
|
|
)
|
|
return {
|
|
quitEarly: !1,
|
|
changes: [
|
|
{
|
|
originalStartLineNumber: 1,
|
|
originalEndLineNumber: 1,
|
|
modifiedStartLineNumber: 1,
|
|
modifiedEndLineNumber: this.modified.lines.length,
|
|
charChanges: [
|
|
{
|
|
modifiedEndColumn: 0,
|
|
modifiedEndLineNumber: 0,
|
|
modifiedStartColumn: 0,
|
|
modifiedStartLineNumber: 0,
|
|
originalEndColumn: 0,
|
|
originalEndLineNumber: 0,
|
|
originalStartColumn: 0,
|
|
originalStartLineNumber: 0,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
if (
|
|
1 === this.modified.lines.length &&
|
|
0 === this.modified.lines[0].length
|
|
)
|
|
return {
|
|
quitEarly: !1,
|
|
changes: [
|
|
{
|
|
originalStartLineNumber: 1,
|
|
originalEndLineNumber: this.original.lines.length,
|
|
modifiedStartLineNumber: 1,
|
|
modifiedEndLineNumber: 1,
|
|
charChanges: [
|
|
{
|
|
modifiedEndColumn: 0,
|
|
modifiedEndLineNumber: 0,
|
|
modifiedStartColumn: 0,
|
|
modifiedStartLineNumber: 0,
|
|
originalEndColumn: 0,
|
|
originalEndLineNumber: 0,
|
|
originalStartColumn: 0,
|
|
originalStartLineNumber: 0,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
const e = xe(
|
|
this.original,
|
|
this.modified,
|
|
this.continueLineDiff,
|
|
this.shouldMakePrettyDiff
|
|
),
|
|
t = e.changes,
|
|
n = e.quitEarly;
|
|
if (this.shouldIgnoreTrimWhitespace) {
|
|
const e = [];
|
|
for (let n = 0, i = t.length; n < i; n++)
|
|
e.push(
|
|
ke.createFromDiffResult(
|
|
this.shouldIgnoreTrimWhitespace,
|
|
t[n],
|
|
this.original,
|
|
this.modified,
|
|
this.continueCharDiff,
|
|
this.shouldComputeCharChanges,
|
|
this.shouldPostProcessCharChanges
|
|
)
|
|
);
|
|
return { quitEarly: n, changes: e };
|
|
}
|
|
const i = [];
|
|
let r = 0,
|
|
s = 0;
|
|
for (let e = -1, n = t.length; e < n; e++) {
|
|
const o = e + 1 < n ? t[e + 1] : null,
|
|
a = o ? o.originalStart : this.originalLines.length,
|
|
l = o ? o.modifiedStart : this.modifiedLines.length;
|
|
for (; r < a && s < l; ) {
|
|
const e = this.originalLines[r],
|
|
t = this.modifiedLines[s];
|
|
if (e !== t) {
|
|
{
|
|
let n = Fe(e, 1),
|
|
o = Fe(t, 1);
|
|
for (
|
|
;
|
|
n > 1 && o > 1 && e.charCodeAt(n - 2) === t.charCodeAt(o - 2);
|
|
|
|
)
|
|
n--, o--;
|
|
(n > 1 || o > 1) &&
|
|
this._pushTrimWhitespaceCharChange(i, r + 1, 1, n, s + 1, 1, o);
|
|
}
|
|
{
|
|
let n = Ke(e, 1),
|
|
o = Ke(t, 1);
|
|
const a = e.length + 1,
|
|
l = t.length + 1;
|
|
for (
|
|
;
|
|
n < a && o < l && e.charCodeAt(n - 1) === e.charCodeAt(o - 1);
|
|
|
|
)
|
|
n++, o++;
|
|
(n < a || o < l) &&
|
|
this._pushTrimWhitespaceCharChange(i, r + 1, n, a, s + 1, o, l);
|
|
}
|
|
}
|
|
r++, s++;
|
|
}
|
|
o &&
|
|
(i.push(
|
|
ke.createFromDiffResult(
|
|
this.shouldIgnoreTrimWhitespace,
|
|
o,
|
|
this.original,
|
|
this.modified,
|
|
this.continueCharDiff,
|
|
this.shouldComputeCharChanges,
|
|
this.shouldPostProcessCharChanges
|
|
)
|
|
),
|
|
(r += o.originalLength),
|
|
(s += o.modifiedLength));
|
|
}
|
|
return { quitEarly: n, changes: i };
|
|
}
|
|
_pushTrimWhitespaceCharChange(e, t, n, i, r, s, o) {
|
|
if (this._mergeTrimWhitespaceCharChange(e, t, n, i, r, s, o)) return;
|
|
let a;
|
|
this.shouldComputeCharChanges && (a = [new Ue(t, n, t, i, r, s, r, o)]),
|
|
e.push(new ke(t, t, r, r, a));
|
|
}
|
|
_mergeTrimWhitespaceCharChange(e, t, n, i, r, s, o) {
|
|
const a = e.length;
|
|
if (0 === a) return !1;
|
|
const l = e[a - 1];
|
|
return (
|
|
0 !== l.originalEndLineNumber &&
|
|
0 !== l.modifiedEndLineNumber &&
|
|
l.originalEndLineNumber + 1 === t &&
|
|
l.modifiedEndLineNumber + 1 === r &&
|
|
((l.originalEndLineNumber = t),
|
|
(l.modifiedEndLineNumber = r),
|
|
this.shouldComputeCharChanges &&
|
|
l.charChanges &&
|
|
l.charChanges.push(new Ue(t, n, t, i, r, s, r, o)),
|
|
!0)
|
|
);
|
|
}
|
|
}
|
|
function Fe(e, t) {
|
|
const n = (function (e) {
|
|
for (let t = 0, n = e.length; t < n; t++) {
|
|
const n = e.charCodeAt(t);
|
|
if (32 !== n && 9 !== n) return t;
|
|
}
|
|
return -1;
|
|
})(e);
|
|
return -1 === n ? t : n + 1;
|
|
}
|
|
function Ke(e, t) {
|
|
const n = (function (e, t = e.length - 1) {
|
|
for (let n = t; n >= 0; n--) {
|
|
const t = e.charCodeAt(n);
|
|
if (32 !== t && 9 !== t) return n;
|
|
}
|
|
return -1;
|
|
})(e);
|
|
return -1 === n ? t : n + 2;
|
|
}
|
|
function Be(e) {
|
|
if (0 === e) return () => !0;
|
|
const t = Date.now();
|
|
return () => Date.now() - t < e;
|
|
}
|
|
function We(e) {
|
|
return e < 0 ? 0 : e > 255 ? 255 : 0 | e;
|
|
}
|
|
function qe(e) {
|
|
return e < 0 ? 0 : e > 4294967295 ? 4294967295 : 0 | e;
|
|
}
|
|
class He {
|
|
constructor(e, t) {
|
|
(this.index = e), (this.remainder = t);
|
|
}
|
|
}
|
|
class Ve {
|
|
constructor(e) {
|
|
(this.values = e),
|
|
(this.prefixSum = new Uint32Array(e.length)),
|
|
(this.prefixSumValidIndex = new Int32Array(1)),
|
|
(this.prefixSumValidIndex[0] = -1);
|
|
}
|
|
insertValues(e, t) {
|
|
e = qe(e);
|
|
const n = this.values,
|
|
i = this.prefixSum,
|
|
r = t.length;
|
|
return (
|
|
0 !== r &&
|
|
((this.values = new Uint32Array(n.length + r)),
|
|
this.values.set(n.subarray(0, e), 0),
|
|
this.values.set(n.subarray(e), e + r),
|
|
this.values.set(t, e),
|
|
e - 1 < this.prefixSumValidIndex[0] &&
|
|
(this.prefixSumValidIndex[0] = e - 1),
|
|
(this.prefixSum = new Uint32Array(this.values.length)),
|
|
this.prefixSumValidIndex[0] >= 0 &&
|
|
this.prefixSum.set(i.subarray(0, this.prefixSumValidIndex[0] + 1)),
|
|
!0)
|
|
);
|
|
}
|
|
changeValue(e, t) {
|
|
return (
|
|
(e = qe(e)),
|
|
(t = qe(t)),
|
|
this.values[e] !== t &&
|
|
((this.values[e] = t),
|
|
e - 1 < this.prefixSumValidIndex[0] &&
|
|
(this.prefixSumValidIndex[0] = e - 1),
|
|
!0)
|
|
);
|
|
}
|
|
removeValues(e, t) {
|
|
(e = qe(e)), (t = qe(t));
|
|
const n = this.values,
|
|
i = this.prefixSum;
|
|
if (e >= n.length) return !1;
|
|
let r = n.length - e;
|
|
return (
|
|
t >= r && (t = r),
|
|
0 !== t &&
|
|
((this.values = new Uint32Array(n.length - t)),
|
|
this.values.set(n.subarray(0, e), 0),
|
|
this.values.set(n.subarray(e + t), e),
|
|
(this.prefixSum = new Uint32Array(this.values.length)),
|
|
e - 1 < this.prefixSumValidIndex[0] &&
|
|
(this.prefixSumValidIndex[0] = e - 1),
|
|
this.prefixSumValidIndex[0] >= 0 &&
|
|
this.prefixSum.set(i.subarray(0, this.prefixSumValidIndex[0] + 1)),
|
|
!0)
|
|
);
|
|
}
|
|
getTotalValue() {
|
|
return 0 === this.values.length
|
|
? 0
|
|
: this._getAccumulatedValue(this.values.length - 1);
|
|
}
|
|
getAccumulatedValue(e) {
|
|
return e < 0 ? 0 : ((e = qe(e)), this._getAccumulatedValue(e));
|
|
}
|
|
_getAccumulatedValue(e) {
|
|
if (e <= this.prefixSumValidIndex[0]) return this.prefixSum[e];
|
|
let t = this.prefixSumValidIndex[0] + 1;
|
|
0 === t && ((this.prefixSum[0] = this.values[0]), t++),
|
|
e >= this.values.length && (e = this.values.length - 1);
|
|
for (let n = t; n <= e; n++)
|
|
this.prefixSum[n] = this.prefixSum[n - 1] + this.values[n];
|
|
return (
|
|
(this.prefixSumValidIndex[0] = Math.max(
|
|
this.prefixSumValidIndex[0],
|
|
e
|
|
)),
|
|
this.prefixSum[e]
|
|
);
|
|
}
|
|
getIndexOf(e) {
|
|
(e = Math.floor(e)), this.getTotalValue();
|
|
let t = 0,
|
|
n = this.values.length - 1,
|
|
i = 0,
|
|
r = 0,
|
|
s = 0;
|
|
for (; t <= n; )
|
|
if (
|
|
((i = (t + (n - t) / 2) | 0),
|
|
(r = this.prefixSum[i]),
|
|
(s = r - this.values[i]),
|
|
e < s)
|
|
)
|
|
n = i - 1;
|
|
else {
|
|
if (!(e >= r)) break;
|
|
t = i + 1;
|
|
}
|
|
return new He(i, e - s);
|
|
}
|
|
}
|
|
const Ye = (function (e = '') {
|
|
let t = '(-?\\d*\\.\\d\\w*)|([^';
|
|
for (const n of '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?')
|
|
e.indexOf(n) >= 0 || (t += '\\' + n);
|
|
return (t += '\\s]+)'), new RegExp(t, 'g');
|
|
})(),
|
|
$e = { maxLen: 1e3, windowSize: 15, timeBudget: 150 };
|
|
function je(e, t, n, i, r = $e) {
|
|
if (n.length > r.maxLen) {
|
|
let s = e - r.maxLen / 2;
|
|
return (
|
|
s < 0 ? ((i += e), (s = 0)) : (i += s),
|
|
je(e, t, (n = n.substring(s, e + r.maxLen / 2)), i, r)
|
|
);
|
|
}
|
|
Date.now();
|
|
const s = e - 1 - i;
|
|
let o = -1,
|
|
a = null;
|
|
for (let e = 1; ; e++) {
|
|
Date.now(), r.timeBudget;
|
|
const i = s - r.windowSize * e;
|
|
t.lastIndex = Math.max(0, i);
|
|
const l = Ge(t, n, s, o);
|
|
if (!l && a) break;
|
|
if (((a = l), i <= 0)) break;
|
|
o = i;
|
|
}
|
|
if (a) {
|
|
let e = {
|
|
word: a[0],
|
|
startColumn: i + 1 + a.index,
|
|
endColumn: i + 1 + a.index + a[0].length,
|
|
};
|
|
return (t.lastIndex = 0), e;
|
|
}
|
|
return null;
|
|
}
|
|
function Ge(e, t, n, i) {
|
|
let r;
|
|
for (; (r = e.exec(t)); ) {
|
|
const t = r.index || 0;
|
|
if (t <= n && e.lastIndex >= n) return r;
|
|
if (i > 0 && t > i) return null;
|
|
}
|
|
return null;
|
|
}
|
|
class ze {
|
|
constructor(e) {
|
|
let t = We(e);
|
|
(this._defaultValue = t),
|
|
(this._asciiMap = ze._createAsciiMap(t)),
|
|
(this._map = new Map());
|
|
}
|
|
static _createAsciiMap(e) {
|
|
let t = new Uint8Array(256);
|
|
for (let n = 0; n < 256; n++) t[n] = e;
|
|
return t;
|
|
}
|
|
set(e, t) {
|
|
let n = We(t);
|
|
e >= 0 && e < 256 ? (this._asciiMap[e] = n) : this._map.set(e, n);
|
|
}
|
|
get(e) {
|
|
return e >= 0 && e < 256
|
|
? this._asciiMap[e]
|
|
: this._map.get(e) || this._defaultValue;
|
|
}
|
|
}
|
|
class Qe {
|
|
constructor(e, t, n) {
|
|
const i = new Uint8Array(e * t);
|
|
for (let r = 0, s = e * t; r < s; r++) i[r] = n;
|
|
(this._data = i), (this.rows = e), (this.cols = t);
|
|
}
|
|
get(e, t) {
|
|
return this._data[e * this.cols + t];
|
|
}
|
|
set(e, t, n) {
|
|
this._data[e * this.cols + t] = n;
|
|
}
|
|
}
|
|
class Xe {
|
|
constructor(e) {
|
|
let t = 0,
|
|
n = 0;
|
|
for (let i = 0, r = e.length; i < r; i++) {
|
|
let [r, s, o] = e[i];
|
|
s > t && (t = s), r > n && (n = r), o > n && (n = o);
|
|
}
|
|
t++, n++;
|
|
let i = new Qe(n, t, 0);
|
|
for (let t = 0, n = e.length; t < n; t++) {
|
|
let [n, r, s] = e[t];
|
|
i.set(n, r, s);
|
|
}
|
|
(this._states = i), (this._maxCharCode = t);
|
|
}
|
|
nextState(e, t) {
|
|
return t < 0 || t >= this._maxCharCode ? 0 : this._states.get(e, t);
|
|
}
|
|
}
|
|
let Ze = null,
|
|
Je = null;
|
|
class et {
|
|
static _createLink(e, t, n, i, r) {
|
|
let s = r - 1;
|
|
do {
|
|
const n = t.charCodeAt(s);
|
|
if (2 !== e.get(n)) break;
|
|
s--;
|
|
} while (s > i);
|
|
if (i > 0) {
|
|
const e = t.charCodeAt(i - 1),
|
|
n = t.charCodeAt(s);
|
|
((40 === e && 41 === n) ||
|
|
(91 === e && 93 === n) ||
|
|
(123 === e && 125 === n)) &&
|
|
s--;
|
|
}
|
|
return {
|
|
range: {
|
|
startLineNumber: n,
|
|
startColumn: i + 1,
|
|
endLineNumber: n,
|
|
endColumn: s + 2,
|
|
},
|
|
url: t.substring(i, s + 1),
|
|
};
|
|
}
|
|
static computeLinks(
|
|
e,
|
|
t = (function () {
|
|
return (
|
|
null === Ze &&
|
|
(Ze = new Xe([
|
|
[1, 104, 2],
|
|
[1, 72, 2],
|
|
[1, 102, 6],
|
|
[1, 70, 6],
|
|
[2, 116, 3],
|
|
[2, 84, 3],
|
|
[3, 116, 4],
|
|
[3, 84, 4],
|
|
[4, 112, 5],
|
|
[4, 80, 5],
|
|
[5, 115, 9],
|
|
[5, 83, 9],
|
|
[5, 58, 10],
|
|
[6, 105, 7],
|
|
[6, 73, 7],
|
|
[7, 108, 8],
|
|
[7, 76, 8],
|
|
[8, 101, 9],
|
|
[8, 69, 9],
|
|
[9, 58, 10],
|
|
[10, 47, 11],
|
|
[11, 47, 12],
|
|
])),
|
|
Ze
|
|
);
|
|
})()
|
|
) {
|
|
const n = (function () {
|
|
if (null === Je) {
|
|
Je = new ze(0);
|
|
const e =
|
|
' \t<>\'"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…';
|
|
for (let t = 0; t < e.length; t++) Je.set(e.charCodeAt(t), 1);
|
|
const t = '.,;';
|
|
for (let e = 0; e < t.length; e++) Je.set(t.charCodeAt(e), 2);
|
|
}
|
|
return Je;
|
|
})();
|
|
let i = [];
|
|
for (let r = 1, s = e.getLineCount(); r <= s; r++) {
|
|
const s = e.getLineContent(r),
|
|
o = s.length;
|
|
let a = 0,
|
|
l = 0,
|
|
u = 0,
|
|
h = 1,
|
|
d = !1,
|
|
c = !1,
|
|
f = !1,
|
|
m = !1;
|
|
for (; a < o; ) {
|
|
let e = !1;
|
|
const o = s.charCodeAt(a);
|
|
if (13 === h) {
|
|
let t;
|
|
switch (o) {
|
|
case 40:
|
|
(d = !0), (t = 0);
|
|
break;
|
|
case 41:
|
|
t = d ? 0 : 1;
|
|
break;
|
|
case 91:
|
|
(f = !0), (c = !0), (t = 0);
|
|
break;
|
|
case 93:
|
|
(f = !1), (t = c ? 0 : 1);
|
|
break;
|
|
case 123:
|
|
(m = !0), (t = 0);
|
|
break;
|
|
case 125:
|
|
t = m ? 0 : 1;
|
|
break;
|
|
case 39:
|
|
t = 34 === u || 96 === u ? 0 : 1;
|
|
break;
|
|
case 34:
|
|
t = 39 === u || 96 === u ? 0 : 1;
|
|
break;
|
|
case 96:
|
|
t = 39 === u || 34 === u ? 0 : 1;
|
|
break;
|
|
case 42:
|
|
t = 42 === u ? 1 : 0;
|
|
break;
|
|
case 124:
|
|
t = 124 === u ? 1 : 0;
|
|
break;
|
|
case 32:
|
|
t = f ? 0 : 1;
|
|
break;
|
|
default:
|
|
t = n.get(o);
|
|
}
|
|
1 === t && (i.push(et._createLink(n, s, r, l, a)), (e = !0));
|
|
} else if (12 === h) {
|
|
let t;
|
|
91 === o ? ((c = !0), (t = 0)) : (t = n.get(o)),
|
|
1 === t ? (e = !0) : (h = 13);
|
|
} else (h = t.nextState(h, o)), 0 === h && (e = !0);
|
|
e && ((h = 1), (d = !1), (c = !1), (m = !1), (l = a + 1), (u = o)),
|
|
a++;
|
|
}
|
|
13 === h && i.push(et._createLink(n, s, r, l, o));
|
|
}
|
|
return i;
|
|
}
|
|
}
|
|
class tt {
|
|
constructor() {
|
|
this._defaultValueSet = [
|
|
['true', 'false'],
|
|
['True', 'False'],
|
|
[
|
|
'Private',
|
|
'Public',
|
|
'Friend',
|
|
'ReadOnly',
|
|
'Partial',
|
|
'Protected',
|
|
'WriteOnly',
|
|
],
|
|
['public', 'protected', 'private'],
|
|
];
|
|
}
|
|
navigateValueSet(e, t, n, i, r) {
|
|
if (e && t) {
|
|
let n = this.doNavigateValueSet(t, r);
|
|
if (n) return { range: e, value: n };
|
|
}
|
|
if (n && i) {
|
|
let e = this.doNavigateValueSet(i, r);
|
|
if (e) return { range: n, value: e };
|
|
}
|
|
return null;
|
|
}
|
|
doNavigateValueSet(e, t) {
|
|
let n = this.numberReplace(e, t);
|
|
return null !== n ? n : this.textReplace(e, t);
|
|
}
|
|
numberReplace(e, t) {
|
|
let n = Math.pow(10, e.length - (e.lastIndexOf('.') + 1)),
|
|
i = Number(e),
|
|
r = parseFloat(e);
|
|
return isNaN(i) || isNaN(r) || i !== r
|
|
? null
|
|
: 0 !== i || t
|
|
? ((i = Math.floor(i * n)), (i += t ? n : -n), String(i / n))
|
|
: null;
|
|
}
|
|
textReplace(e, t) {
|
|
return this.valueSetsReplace(this._defaultValueSet, e, t);
|
|
}
|
|
valueSetsReplace(e, t, n) {
|
|
let i = null;
|
|
for (let r = 0, s = e.length; null === i && r < s; r++)
|
|
i = this.valueSetReplace(e[r], t, n);
|
|
return i;
|
|
}
|
|
valueSetReplace(e, t, n) {
|
|
let i = e.indexOf(t);
|
|
return i >= 0
|
|
? ((i += n ? 1 : -1),
|
|
i < 0 ? (i = e.length - 1) : (i %= e.length),
|
|
e[i])
|
|
: null;
|
|
}
|
|
}
|
|
tt.INSTANCE = new tt();
|
|
class nt {
|
|
constructor(e) {
|
|
(this.element = e),
|
|
(this.next = nt.Undefined),
|
|
(this.prev = nt.Undefined);
|
|
}
|
|
}
|
|
nt.Undefined = new nt(void 0);
|
|
class it {
|
|
constructor() {
|
|
(this._first = nt.Undefined),
|
|
(this._last = nt.Undefined),
|
|
(this._size = 0);
|
|
}
|
|
get size() {
|
|
return this._size;
|
|
}
|
|
isEmpty() {
|
|
return this._first === nt.Undefined;
|
|
}
|
|
clear() {
|
|
(this._first = nt.Undefined),
|
|
(this._last = nt.Undefined),
|
|
(this._size = 0);
|
|
}
|
|
unshift(e) {
|
|
return this._insert(e, !1);
|
|
}
|
|
push(e) {
|
|
return this._insert(e, !0);
|
|
}
|
|
_insert(e, t) {
|
|
const n = new nt(e);
|
|
if (this._first === nt.Undefined) (this._first = n), (this._last = n);
|
|
else if (t) {
|
|
const e = this._last;
|
|
(this._last = n), (n.prev = e), (e.next = n);
|
|
} else {
|
|
const e = this._first;
|
|
(this._first = n), (n.next = e), (e.prev = n);
|
|
}
|
|
this._size += 1;
|
|
let i = !1;
|
|
return () => {
|
|
i || ((i = !0), this._remove(n));
|
|
};
|
|
}
|
|
shift() {
|
|
if (this._first !== nt.Undefined) {
|
|
const e = this._first.element;
|
|
return this._remove(this._first), e;
|
|
}
|
|
}
|
|
pop() {
|
|
if (this._last !== nt.Undefined) {
|
|
const e = this._last.element;
|
|
return this._remove(this._last), e;
|
|
}
|
|
}
|
|
_remove(e) {
|
|
if (e.prev !== nt.Undefined && e.next !== nt.Undefined) {
|
|
const t = e.prev;
|
|
(t.next = e.next), (e.next.prev = t);
|
|
} else
|
|
e.prev === nt.Undefined && e.next === nt.Undefined
|
|
? ((this._first = nt.Undefined), (this._last = nt.Undefined))
|
|
: e.next === nt.Undefined
|
|
? ((this._last = this._last.prev), (this._last.next = nt.Undefined))
|
|
: e.prev === nt.Undefined &&
|
|
((this._first = this._first.next),
|
|
(this._first.prev = nt.Undefined));
|
|
this._size -= 1;
|
|
}
|
|
*[Symbol.iterator]() {
|
|
let e = this._first;
|
|
for (; e !== nt.Undefined; ) yield e.element, (e = e.next);
|
|
}
|
|
toArray() {
|
|
const e = [];
|
|
for (let t = this._first; t !== nt.Undefined; t = t.next)
|
|
e.push(t.element);
|
|
return e;
|
|
}
|
|
}
|
|
var rt;
|
|
!(function (e) {
|
|
function t(e) {
|
|
return (t, n = null, i) => {
|
|
let r,
|
|
s = !1;
|
|
return (
|
|
(r = e(
|
|
(e) => {
|
|
if (!s) return r ? r.dispose() : (s = !0), t.call(n, e);
|
|
},
|
|
null,
|
|
i
|
|
)),
|
|
s && r.dispose(),
|
|
r
|
|
);
|
|
};
|
|
}
|
|
function n(e, t) {
|
|
return a((n, i = null, r) => e((e) => n.call(i, t(e)), null, r));
|
|
}
|
|
function i(e, t) {
|
|
return a((n, i = null, r) =>
|
|
e(
|
|
(e) => {
|
|
t(e), n.call(i, e);
|
|
},
|
|
null,
|
|
r
|
|
)
|
|
);
|
|
}
|
|
function r(e, t) {
|
|
return a((n, i = null, r) => e((e) => t(e) && n.call(i, e), null, r));
|
|
}
|
|
function s(e, t, i) {
|
|
let r = i;
|
|
return n(e, (e) => ((r = t(r, e)), r));
|
|
}
|
|
function a(e) {
|
|
let t;
|
|
const n = new st({
|
|
onFirstListenerAdd() {
|
|
t = e(n.fire, n);
|
|
},
|
|
onLastListenerRemove() {
|
|
t.dispose();
|
|
},
|
|
});
|
|
return n.event;
|
|
}
|
|
function u(e, t, n = 100, i = !1, r) {
|
|
let s,
|
|
o,
|
|
a,
|
|
l = 0;
|
|
const u = new st({
|
|
leakWarningThreshold: r,
|
|
onFirstListenerAdd() {
|
|
s = e((e) => {
|
|
l++,
|
|
(o = t(o, e)),
|
|
i && !a && (u.fire(o), (o = void 0)),
|
|
clearTimeout(a),
|
|
(a = setTimeout(() => {
|
|
const e = o;
|
|
(o = void 0), (a = void 0), (!i || l > 1) && u.fire(e), (l = 0);
|
|
}, n));
|
|
});
|
|
},
|
|
onLastListenerRemove() {
|
|
s.dispose();
|
|
},
|
|
});
|
|
return u.event;
|
|
}
|
|
function d(e) {
|
|
let t,
|
|
n = !0;
|
|
return r(e, (e) => {
|
|
const i = n || e !== t;
|
|
return (n = !1), (t = e), i;
|
|
});
|
|
}
|
|
(e.None = () => h.None),
|
|
(e.once = t),
|
|
(e.map = n),
|
|
(e.forEach = i),
|
|
(e.filter = r),
|
|
(e.signal = function (e) {
|
|
return e;
|
|
}),
|
|
(e.any = function (...e) {
|
|
return (t, n = null, i) =>
|
|
(function (...e) {
|
|
return e.forEach(o), { dispose: () => l(e) };
|
|
})(...e.map((e) => e((e) => t.call(n, e), null, i)));
|
|
}),
|
|
(e.reduce = s),
|
|
(e.snapshot = a),
|
|
(e.debounce = u),
|
|
(e.stopwatch = function (e) {
|
|
const i = new Date().getTime();
|
|
return n(t(e), (e) => new Date().getTime() - i);
|
|
}),
|
|
(e.latch = d),
|
|
(e.buffer = function (e, t = !1, n = []) {
|
|
let i = n.slice(),
|
|
r = e((e) => {
|
|
i ? i.push(e) : o.fire(e);
|
|
});
|
|
const s = () => {
|
|
i && i.forEach((e) => o.fire(e)), (i = null);
|
|
},
|
|
o = new st({
|
|
onFirstListenerAdd() {
|
|
r || (r = e((e) => o.fire(e)));
|
|
},
|
|
onFirstListenerDidAdd() {
|
|
i && (t ? setTimeout(s) : s());
|
|
},
|
|
onLastListenerRemove() {
|
|
r && r.dispose(), (r = null);
|
|
},
|
|
});
|
|
return o.event;
|
|
});
|
|
class c {
|
|
constructor(e) {
|
|
this.event = e;
|
|
}
|
|
map(e) {
|
|
return new c(n(this.event, e));
|
|
}
|
|
forEach(e) {
|
|
return new c(i(this.event, e));
|
|
}
|
|
filter(e) {
|
|
return new c(r(this.event, e));
|
|
}
|
|
reduce(e, t) {
|
|
return new c(s(this.event, e, t));
|
|
}
|
|
latch() {
|
|
return new c(d(this.event));
|
|
}
|
|
debounce(e, t = 100, n = !1, i) {
|
|
return new c(u(this.event, e, t, n, i));
|
|
}
|
|
on(e, t, n) {
|
|
return this.event(e, t, n);
|
|
}
|
|
once(e, n, i) {
|
|
return t(this.event)(e, n, i);
|
|
}
|
|
}
|
|
(e.chain = function (e) {
|
|
return new c(e);
|
|
}),
|
|
(e.fromNodeEventEmitter = function (e, t, n = (e) => e) {
|
|
const i = (...e) => r.fire(n(...e)),
|
|
r = new st({
|
|
onFirstListenerAdd: () => e.on(t, i),
|
|
onLastListenerRemove: () => e.removeListener(t, i),
|
|
});
|
|
return r.event;
|
|
}),
|
|
(e.fromDOMEventEmitter = function (e, t, n = (e) => e) {
|
|
const i = (...e) => r.fire(n(...e)),
|
|
r = new st({
|
|
onFirstListenerAdd: () => e.addEventListener(t, i),
|
|
onLastListenerRemove: () => e.removeEventListener(t, i),
|
|
});
|
|
return r.event;
|
|
}),
|
|
(e.fromPromise = function (e) {
|
|
const t = new st();
|
|
let n = !1;
|
|
return (
|
|
e
|
|
.then(void 0, () => null)
|
|
.then(() => {
|
|
n ? t.fire(void 0) : setTimeout(() => t.fire(void 0), 0);
|
|
}),
|
|
(n = !0),
|
|
t.event
|
|
);
|
|
}),
|
|
(e.toPromise = function (e) {
|
|
return new Promise((n) => t(e)(n));
|
|
});
|
|
})(rt || (rt = {}));
|
|
class st {
|
|
constructor(e) {
|
|
(this._disposed = !1), (this._options = e), (this._leakageMon = void 0);
|
|
}
|
|
get event() {
|
|
return (
|
|
this._event ||
|
|
(this._event = (e, t, n) => {
|
|
this._listeners || (this._listeners = new it());
|
|
const i = this._listeners.isEmpty();
|
|
i &&
|
|
this._options &&
|
|
this._options.onFirstListenerAdd &&
|
|
this._options.onFirstListenerAdd(this);
|
|
const r = this._listeners.push(t ? [e, t] : e);
|
|
let s, o;
|
|
return (
|
|
i &&
|
|
this._options &&
|
|
this._options.onFirstListenerDidAdd &&
|
|
this._options.onFirstListenerDidAdd(this),
|
|
this._options &&
|
|
this._options.onListenerDidAdd &&
|
|
this._options.onListenerDidAdd(this, e, t),
|
|
this._leakageMon &&
|
|
(s = this._leakageMon.check(this._listeners.size)),
|
|
(o = {
|
|
dispose: () => {
|
|
s && s(),
|
|
(o.dispose = st._noop),
|
|
!this._disposed &&
|
|
(r(),
|
|
this._options && this._options.onLastListenerRemove) &&
|
|
((this._listeners && !this._listeners.isEmpty()) ||
|
|
this._options.onLastListenerRemove(this));
|
|
},
|
|
}),
|
|
n instanceof u ? n.add(o) : Array.isArray(n) && n.push(o),
|
|
o
|
|
);
|
|
}),
|
|
this._event
|
|
);
|
|
}
|
|
fire(e) {
|
|
if (this._listeners) {
|
|
this._deliveryQueue || (this._deliveryQueue = new it());
|
|
for (let t of this._listeners) this._deliveryQueue.push([t, e]);
|
|
for (; this._deliveryQueue.size > 0; ) {
|
|
const [e, t] = this._deliveryQueue.shift();
|
|
try {
|
|
'function' == typeof e ? e.call(void 0, t) : e[0].call(e[1], t);
|
|
} catch (e) {
|
|
n(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dispose() {
|
|
this._listeners && this._listeners.clear(),
|
|
this._deliveryQueue && this._deliveryQueue.clear(),
|
|
this._leakageMon && this._leakageMon.dispose(),
|
|
(this._disposed = !0);
|
|
}
|
|
}
|
|
st._noop = function () {};
|
|
const ot = Object.freeze(function (e, t) {
|
|
const n = setTimeout(e.bind(t), 0);
|
|
return {
|
|
dispose() {
|
|
clearTimeout(n);
|
|
},
|
|
};
|
|
});
|
|
var at;
|
|
!(function (e) {
|
|
(e.isCancellationToken = function (t) {
|
|
return (
|
|
t === e.None ||
|
|
t === e.Cancelled ||
|
|
t instanceof lt ||
|
|
(!(!t || 'object' != typeof t) &&
|
|
'boolean' == typeof t.isCancellationRequested &&
|
|
'function' == typeof t.onCancellationRequested)
|
|
);
|
|
}),
|
|
(e.None = Object.freeze({
|
|
isCancellationRequested: !1,
|
|
onCancellationRequested: rt.None,
|
|
})),
|
|
(e.Cancelled = Object.freeze({
|
|
isCancellationRequested: !0,
|
|
onCancellationRequested: ot,
|
|
}));
|
|
})(at || (at = {}));
|
|
class lt {
|
|
constructor() {
|
|
(this._isCancelled = !1), (this._emitter = null);
|
|
}
|
|
cancel() {
|
|
this._isCancelled ||
|
|
((this._isCancelled = !0),
|
|
this._emitter && (this._emitter.fire(void 0), this.dispose()));
|
|
}
|
|
get isCancellationRequested() {
|
|
return this._isCancelled;
|
|
}
|
|
get onCancellationRequested() {
|
|
return this._isCancelled
|
|
? ot
|
|
: (this._emitter || (this._emitter = new st()), this._emitter.event);
|
|
}
|
|
dispose() {
|
|
this._emitter && (this._emitter.dispose(), (this._emitter = null));
|
|
}
|
|
}
|
|
class ut {
|
|
constructor() {
|
|
(this._keyCodeToStr = []), (this._strToKeyCode = Object.create(null));
|
|
}
|
|
define(e, t) {
|
|
(this._keyCodeToStr[e] = t), (this._strToKeyCode[t.toLowerCase()] = e);
|
|
}
|
|
keyCodeToStr(e) {
|
|
return this._keyCodeToStr[e];
|
|
}
|
|
strToKeyCode(e) {
|
|
return this._strToKeyCode[e.toLowerCase()] || 0;
|
|
}
|
|
}
|
|
const ht = new ut(),
|
|
dt = new ut(),
|
|
ct = new ut();
|
|
var ft,
|
|
mt,
|
|
gt,
|
|
_t,
|
|
pt,
|
|
Ct,
|
|
bt,
|
|
Lt,
|
|
Nt,
|
|
St,
|
|
Et,
|
|
At,
|
|
yt,
|
|
wt,
|
|
vt,
|
|
Tt,
|
|
Ot,
|
|
It,
|
|
Mt,
|
|
xt,
|
|
Rt,
|
|
Pt,
|
|
Ut,
|
|
kt,
|
|
Dt,
|
|
Ft,
|
|
Kt,
|
|
Bt,
|
|
Wt,
|
|
qt,
|
|
Ht,
|
|
Vt,
|
|
Yt,
|
|
$t;
|
|
!(function () {
|
|
function e(e, t, n = t, i = n) {
|
|
ht.define(e, t), dt.define(e, n), ct.define(e, i);
|
|
}
|
|
e(0, 'unknown'),
|
|
e(1, 'Backspace'),
|
|
e(2, 'Tab'),
|
|
e(3, 'Enter'),
|
|
e(4, 'Shift'),
|
|
e(5, 'Ctrl'),
|
|
e(6, 'Alt'),
|
|
e(7, 'PauseBreak'),
|
|
e(8, 'CapsLock'),
|
|
e(9, 'Escape'),
|
|
e(10, 'Space'),
|
|
e(11, 'PageUp'),
|
|
e(12, 'PageDown'),
|
|
e(13, 'End'),
|
|
e(14, 'Home'),
|
|
e(15, 'LeftArrow', 'Left'),
|
|
e(16, 'UpArrow', 'Up'),
|
|
e(17, 'RightArrow', 'Right'),
|
|
e(18, 'DownArrow', 'Down'),
|
|
e(19, 'Insert'),
|
|
e(20, 'Delete'),
|
|
e(21, '0'),
|
|
e(22, '1'),
|
|
e(23, '2'),
|
|
e(24, '3'),
|
|
e(25, '4'),
|
|
e(26, '5'),
|
|
e(27, '6'),
|
|
e(28, '7'),
|
|
e(29, '8'),
|
|
e(30, '9'),
|
|
e(31, 'A'),
|
|
e(32, 'B'),
|
|
e(33, 'C'),
|
|
e(34, 'D'),
|
|
e(35, 'E'),
|
|
e(36, 'F'),
|
|
e(37, 'G'),
|
|
e(38, 'H'),
|
|
e(39, 'I'),
|
|
e(40, 'J'),
|
|
e(41, 'K'),
|
|
e(42, 'L'),
|
|
e(43, 'M'),
|
|
e(44, 'N'),
|
|
e(45, 'O'),
|
|
e(46, 'P'),
|
|
e(47, 'Q'),
|
|
e(48, 'R'),
|
|
e(49, 'S'),
|
|
e(50, 'T'),
|
|
e(51, 'U'),
|
|
e(52, 'V'),
|
|
e(53, 'W'),
|
|
e(54, 'X'),
|
|
e(55, 'Y'),
|
|
e(56, 'Z'),
|
|
e(57, 'Meta'),
|
|
e(58, 'ContextMenu'),
|
|
e(59, 'F1'),
|
|
e(60, 'F2'),
|
|
e(61, 'F3'),
|
|
e(62, 'F4'),
|
|
e(63, 'F5'),
|
|
e(64, 'F6'),
|
|
e(65, 'F7'),
|
|
e(66, 'F8'),
|
|
e(67, 'F9'),
|
|
e(68, 'F10'),
|
|
e(69, 'F11'),
|
|
e(70, 'F12'),
|
|
e(71, 'F13'),
|
|
e(72, 'F14'),
|
|
e(73, 'F15'),
|
|
e(74, 'F16'),
|
|
e(75, 'F17'),
|
|
e(76, 'F18'),
|
|
e(77, 'F19'),
|
|
e(78, 'NumLock'),
|
|
e(79, 'ScrollLock'),
|
|
e(80, ';', ';', 'OEM_1'),
|
|
e(81, '=', '=', 'OEM_PLUS'),
|
|
e(82, ',', ',', 'OEM_COMMA'),
|
|
e(83, '-', '-', 'OEM_MINUS'),
|
|
e(84, '.', '.', 'OEM_PERIOD'),
|
|
e(85, '/', '/', 'OEM_2'),
|
|
e(86, '`', '`', 'OEM_3'),
|
|
e(110, 'ABNT_C1'),
|
|
e(111, 'ABNT_C2'),
|
|
e(87, '[', '[', 'OEM_4'),
|
|
e(88, '\\', '\\', 'OEM_5'),
|
|
e(89, ']', ']', 'OEM_6'),
|
|
e(90, "'", "'", 'OEM_7'),
|
|
e(91, 'OEM_8'),
|
|
e(92, 'OEM_102'),
|
|
e(93, 'NumPad0'),
|
|
e(94, 'NumPad1'),
|
|
e(95, 'NumPad2'),
|
|
e(96, 'NumPad3'),
|
|
e(97, 'NumPad4'),
|
|
e(98, 'NumPad5'),
|
|
e(99, 'NumPad6'),
|
|
e(100, 'NumPad7'),
|
|
e(101, 'NumPad8'),
|
|
e(102, 'NumPad9'),
|
|
e(103, 'NumPad_Multiply'),
|
|
e(104, 'NumPad_Add'),
|
|
e(105, 'NumPad_Separator'),
|
|
e(106, 'NumPad_Subtract'),
|
|
e(107, 'NumPad_Decimal'),
|
|
e(108, 'NumPad_Divide');
|
|
})(),
|
|
(function (e) {
|
|
(e.toString = function (e) {
|
|
return ht.keyCodeToStr(e);
|
|
}),
|
|
(e.fromString = function (e) {
|
|
return ht.strToKeyCode(e);
|
|
}),
|
|
(e.toUserSettingsUS = function (e) {
|
|
return dt.keyCodeToStr(e);
|
|
}),
|
|
(e.toUserSettingsGeneral = function (e) {
|
|
return ct.keyCodeToStr(e);
|
|
}),
|
|
(e.fromUserSettings = function (e) {
|
|
return dt.strToKeyCode(e) || ct.strToKeyCode(e);
|
|
});
|
|
})(ft || (ft = {}));
|
|
class jt extends Me {
|
|
constructor(e, t, n, i) {
|
|
super(e, t, n, i),
|
|
(this.selectionStartLineNumber = e),
|
|
(this.selectionStartColumn = t),
|
|
(this.positionLineNumber = n),
|
|
(this.positionColumn = i);
|
|
}
|
|
toString() {
|
|
return (
|
|
'[' +
|
|
this.selectionStartLineNumber +
|
|
',' +
|
|
this.selectionStartColumn +
|
|
' -> ' +
|
|
this.positionLineNumber +
|
|
',' +
|
|
this.positionColumn +
|
|
']'
|
|
);
|
|
}
|
|
equalsSelection(e) {
|
|
return jt.selectionsEqual(this, e);
|
|
}
|
|
static selectionsEqual(e, t) {
|
|
return (
|
|
e.selectionStartLineNumber === t.selectionStartLineNumber &&
|
|
e.selectionStartColumn === t.selectionStartColumn &&
|
|
e.positionLineNumber === t.positionLineNumber &&
|
|
e.positionColumn === t.positionColumn
|
|
);
|
|
}
|
|
getDirection() {
|
|
return this.selectionStartLineNumber === this.startLineNumber &&
|
|
this.selectionStartColumn === this.startColumn
|
|
? 0
|
|
: 1;
|
|
}
|
|
setEndPosition(e, t) {
|
|
return 0 === this.getDirection()
|
|
? new jt(this.startLineNumber, this.startColumn, e, t)
|
|
: new jt(e, t, this.startLineNumber, this.startColumn);
|
|
}
|
|
getPosition() {
|
|
return new Ie(this.positionLineNumber, this.positionColumn);
|
|
}
|
|
setStartPosition(e, t) {
|
|
return 0 === this.getDirection()
|
|
? new jt(e, t, this.endLineNumber, this.endColumn)
|
|
: new jt(this.endLineNumber, this.endColumn, e, t);
|
|
}
|
|
static fromPositions(e, t = e) {
|
|
return new jt(e.lineNumber, e.column, t.lineNumber, t.column);
|
|
}
|
|
static liftSelection(e) {
|
|
return new jt(
|
|
e.selectionStartLineNumber,
|
|
e.selectionStartColumn,
|
|
e.positionLineNumber,
|
|
e.positionColumn
|
|
);
|
|
}
|
|
static selectionsArrEqual(e, t) {
|
|
if ((e && !t) || (!e && t)) return !1;
|
|
if (!e && !t) return !0;
|
|
if (e.length !== t.length) return !1;
|
|
for (let n = 0, i = e.length; n < i; n++)
|
|
if (!this.selectionsEqual(e[n], t[n])) return !1;
|
|
return !0;
|
|
}
|
|
static isISelection(e) {
|
|
return (
|
|
e &&
|
|
'number' == typeof e.selectionStartLineNumber &&
|
|
'number' == typeof e.selectionStartColumn &&
|
|
'number' == typeof e.positionLineNumber &&
|
|
'number' == typeof e.positionColumn
|
|
);
|
|
}
|
|
static createWithDirection(e, t, n, i, r) {
|
|
return 0 === r ? new jt(e, t, n, i) : new jt(n, i, e, t);
|
|
}
|
|
}
|
|
!(function (e) {
|
|
(e[(e.Unknown = 0)] = 'Unknown'),
|
|
(e[(e.Disabled = 1)] = 'Disabled'),
|
|
(e[(e.Enabled = 2)] = 'Enabled');
|
|
})(mt || (mt = {})),
|
|
(function (e) {
|
|
(e[(e.KeepWhitespace = 1)] = 'KeepWhitespace'),
|
|
(e[(e.InsertAsSnippet = 4)] = 'InsertAsSnippet');
|
|
})(gt || (gt = {})),
|
|
(function (e) {
|
|
(e[(e.Method = 0)] = 'Method'),
|
|
(e[(e.Function = 1)] = 'Function'),
|
|
(e[(e.Constructor = 2)] = 'Constructor'),
|
|
(e[(e.Field = 3)] = 'Field'),
|
|
(e[(e.Variable = 4)] = 'Variable'),
|
|
(e[(e.Class = 5)] = 'Class'),
|
|
(e[(e.Struct = 6)] = 'Struct'),
|
|
(e[(e.Interface = 7)] = 'Interface'),
|
|
(e[(e.Module = 8)] = 'Module'),
|
|
(e[(e.Property = 9)] = 'Property'),
|
|
(e[(e.Event = 10)] = 'Event'),
|
|
(e[(e.Operator = 11)] = 'Operator'),
|
|
(e[(e.Unit = 12)] = 'Unit'),
|
|
(e[(e.Value = 13)] = 'Value'),
|
|
(e[(e.Constant = 14)] = 'Constant'),
|
|
(e[(e.Enum = 15)] = 'Enum'),
|
|
(e[(e.EnumMember = 16)] = 'EnumMember'),
|
|
(e[(e.Keyword = 17)] = 'Keyword'),
|
|
(e[(e.Text = 18)] = 'Text'),
|
|
(e[(e.Color = 19)] = 'Color'),
|
|
(e[(e.File = 20)] = 'File'),
|
|
(e[(e.Reference = 21)] = 'Reference'),
|
|
(e[(e.Customcolor = 22)] = 'Customcolor'),
|
|
(e[(e.Folder = 23)] = 'Folder'),
|
|
(e[(e.TypeParameter = 24)] = 'TypeParameter'),
|
|
(e[(e.User = 25)] = 'User'),
|
|
(e[(e.Issue = 26)] = 'Issue'),
|
|
(e[(e.Snippet = 27)] = 'Snippet');
|
|
})(_t || (_t = {})),
|
|
(function (e) {
|
|
e[(e.Deprecated = 1)] = 'Deprecated';
|
|
})(pt || (pt = {})),
|
|
(function (e) {
|
|
(e[(e.Invoke = 0)] = 'Invoke'),
|
|
(e[(e.TriggerCharacter = 1)] = 'TriggerCharacter'),
|
|
(e[(e.TriggerForIncompleteCompletions = 2)] =
|
|
'TriggerForIncompleteCompletions');
|
|
})(Ct || (Ct = {})),
|
|
(function (e) {
|
|
(e[(e.EXACT = 0)] = 'EXACT'),
|
|
(e[(e.ABOVE = 1)] = 'ABOVE'),
|
|
(e[(e.BELOW = 2)] = 'BELOW');
|
|
})(bt || (bt = {})),
|
|
(function (e) {
|
|
(e[(e.NotSet = 0)] = 'NotSet'),
|
|
(e[(e.ContentFlush = 1)] = 'ContentFlush'),
|
|
(e[(e.RecoverFromMarkers = 2)] = 'RecoverFromMarkers'),
|
|
(e[(e.Explicit = 3)] = 'Explicit'),
|
|
(e[(e.Paste = 4)] = 'Paste'),
|
|
(e[(e.Undo = 5)] = 'Undo'),
|
|
(e[(e.Redo = 6)] = 'Redo');
|
|
})(Lt || (Lt = {})),
|
|
(function (e) {
|
|
(e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF');
|
|
})(Nt || (Nt = {})),
|
|
(function (e) {
|
|
(e[(e.Text = 0)] = 'Text'),
|
|
(e[(e.Read = 1)] = 'Read'),
|
|
(e[(e.Write = 2)] = 'Write');
|
|
})(St || (St = {})),
|
|
(function (e) {
|
|
(e[(e.None = 0)] = 'None'),
|
|
(e[(e.Keep = 1)] = 'Keep'),
|
|
(e[(e.Brackets = 2)] = 'Brackets'),
|
|
(e[(e.Advanced = 3)] = 'Advanced'),
|
|
(e[(e.Full = 4)] = 'Full');
|
|
})(Et || (Et = {})),
|
|
(function (e) {
|
|
(e[(e.acceptSuggestionOnCommitCharacter = 0)] =
|
|
'acceptSuggestionOnCommitCharacter'),
|
|
(e[(e.acceptSuggestionOnEnter = 1)] = 'acceptSuggestionOnEnter'),
|
|
(e[(e.accessibilitySupport = 2)] = 'accessibilitySupport'),
|
|
(e[(e.accessibilityPageSize = 3)] = 'accessibilityPageSize'),
|
|
(e[(e.ariaLabel = 4)] = 'ariaLabel'),
|
|
(e[(e.autoClosingBrackets = 5)] = 'autoClosingBrackets'),
|
|
(e[(e.autoClosingOvertype = 6)] = 'autoClosingOvertype'),
|
|
(e[(e.autoClosingQuotes = 7)] = 'autoClosingQuotes'),
|
|
(e[(e.autoIndent = 8)] = 'autoIndent'),
|
|
(e[(e.automaticLayout = 9)] = 'automaticLayout'),
|
|
(e[(e.autoSurround = 10)] = 'autoSurround'),
|
|
(e[(e.codeLens = 11)] = 'codeLens'),
|
|
(e[(e.colorDecorators = 12)] = 'colorDecorators'),
|
|
(e[(e.columnSelection = 13)] = 'columnSelection'),
|
|
(e[(e.comments = 14)] = 'comments'),
|
|
(e[(e.contextmenu = 15)] = 'contextmenu'),
|
|
(e[(e.copyWithSyntaxHighlighting = 16)] = 'copyWithSyntaxHighlighting'),
|
|
(e[(e.cursorBlinking = 17)] = 'cursorBlinking'),
|
|
(e[(e.cursorSmoothCaretAnimation = 18)] = 'cursorSmoothCaretAnimation'),
|
|
(e[(e.cursorStyle = 19)] = 'cursorStyle'),
|
|
(e[(e.cursorSurroundingLines = 20)] = 'cursorSurroundingLines'),
|
|
(e[(e.cursorSurroundingLinesStyle = 21)] =
|
|
'cursorSurroundingLinesStyle'),
|
|
(e[(e.cursorWidth = 22)] = 'cursorWidth'),
|
|
(e[(e.disableLayerHinting = 23)] = 'disableLayerHinting'),
|
|
(e[(e.disableMonospaceOptimizations = 24)] =
|
|
'disableMonospaceOptimizations'),
|
|
(e[(e.dragAndDrop = 25)] = 'dragAndDrop'),
|
|
(e[(e.emptySelectionClipboard = 26)] = 'emptySelectionClipboard'),
|
|
(e[(e.extraEditorClassName = 27)] = 'extraEditorClassName'),
|
|
(e[(e.fastScrollSensitivity = 28)] = 'fastScrollSensitivity'),
|
|
(e[(e.find = 29)] = 'find'),
|
|
(e[(e.fixedOverflowWidgets = 30)] = 'fixedOverflowWidgets'),
|
|
(e[(e.folding = 31)] = 'folding'),
|
|
(e[(e.foldingStrategy = 32)] = 'foldingStrategy'),
|
|
(e[(e.foldingHighlight = 33)] = 'foldingHighlight'),
|
|
(e[(e.unfoldOnClickAfterEndOfLine = 34)] =
|
|
'unfoldOnClickAfterEndOfLine'),
|
|
(e[(e.fontFamily = 35)] = 'fontFamily'),
|
|
(e[(e.fontInfo = 36)] = 'fontInfo'),
|
|
(e[(e.fontLigatures = 37)] = 'fontLigatures'),
|
|
(e[(e.fontSize = 38)] = 'fontSize'),
|
|
(e[(e.fontWeight = 39)] = 'fontWeight'),
|
|
(e[(e.formatOnPaste = 40)] = 'formatOnPaste'),
|
|
(e[(e.formatOnType = 41)] = 'formatOnType'),
|
|
(e[(e.glyphMargin = 42)] = 'glyphMargin'),
|
|
(e[(e.gotoLocation = 43)] = 'gotoLocation'),
|
|
(e[(e.hideCursorInOverviewRuler = 44)] = 'hideCursorInOverviewRuler'),
|
|
(e[(e.highlightActiveIndentGuide = 45)] = 'highlightActiveIndentGuide'),
|
|
(e[(e.hover = 46)] = 'hover'),
|
|
(e[(e.inDiffEditor = 47)] = 'inDiffEditor'),
|
|
(e[(e.letterSpacing = 48)] = 'letterSpacing'),
|
|
(e[(e.lightbulb = 49)] = 'lightbulb'),
|
|
(e[(e.lineDecorationsWidth = 50)] = 'lineDecorationsWidth'),
|
|
(e[(e.lineHeight = 51)] = 'lineHeight'),
|
|
(e[(e.lineNumbers = 52)] = 'lineNumbers'),
|
|
(e[(e.lineNumbersMinChars = 53)] = 'lineNumbersMinChars'),
|
|
(e[(e.links = 54)] = 'links'),
|
|
(e[(e.matchBrackets = 55)] = 'matchBrackets'),
|
|
(e[(e.minimap = 56)] = 'minimap'),
|
|
(e[(e.mouseStyle = 57)] = 'mouseStyle'),
|
|
(e[(e.mouseWheelScrollSensitivity = 58)] =
|
|
'mouseWheelScrollSensitivity'),
|
|
(e[(e.mouseWheelZoom = 59)] = 'mouseWheelZoom'),
|
|
(e[(e.multiCursorMergeOverlapping = 60)] =
|
|
'multiCursorMergeOverlapping'),
|
|
(e[(e.multiCursorModifier = 61)] = 'multiCursorModifier'),
|
|
(e[(e.multiCursorPaste = 62)] = 'multiCursorPaste'),
|
|
(e[(e.occurrencesHighlight = 63)] = 'occurrencesHighlight'),
|
|
(e[(e.overviewRulerBorder = 64)] = 'overviewRulerBorder'),
|
|
(e[(e.overviewRulerLanes = 65)] = 'overviewRulerLanes'),
|
|
(e[(e.padding = 66)] = 'padding'),
|
|
(e[(e.parameterHints = 67)] = 'parameterHints'),
|
|
(e[(e.peekWidgetDefaultFocus = 68)] = 'peekWidgetDefaultFocus'),
|
|
(e[(e.definitionLinkOpensInPeek = 69)] = 'definitionLinkOpensInPeek'),
|
|
(e[(e.quickSuggestions = 70)] = 'quickSuggestions'),
|
|
(e[(e.quickSuggestionsDelay = 71)] = 'quickSuggestionsDelay'),
|
|
(e[(e.readOnly = 72)] = 'readOnly'),
|
|
(e[(e.renameOnType = 73)] = 'renameOnType'),
|
|
(e[(e.renderControlCharacters = 74)] = 'renderControlCharacters'),
|
|
(e[(e.renderIndentGuides = 75)] = 'renderIndentGuides'),
|
|
(e[(e.renderFinalNewline = 76)] = 'renderFinalNewline'),
|
|
(e[(e.renderLineHighlight = 77)] = 'renderLineHighlight'),
|
|
(e[(e.renderLineHighlightOnlyWhenFocus = 78)] =
|
|
'renderLineHighlightOnlyWhenFocus'),
|
|
(e[(e.renderValidationDecorations = 79)] =
|
|
'renderValidationDecorations'),
|
|
(e[(e.renderWhitespace = 80)] = 'renderWhitespace'),
|
|
(e[(e.revealHorizontalRightPadding = 81)] =
|
|
'revealHorizontalRightPadding'),
|
|
(e[(e.roundedSelection = 82)] = 'roundedSelection'),
|
|
(e[(e.rulers = 83)] = 'rulers'),
|
|
(e[(e.scrollbar = 84)] = 'scrollbar'),
|
|
(e[(e.scrollBeyondLastColumn = 85)] = 'scrollBeyondLastColumn'),
|
|
(e[(e.scrollBeyondLastLine = 86)] = 'scrollBeyondLastLine'),
|
|
(e[(e.scrollPredominantAxis = 87)] = 'scrollPredominantAxis'),
|
|
(e[(e.selectionClipboard = 88)] = 'selectionClipboard'),
|
|
(e[(e.selectionHighlight = 89)] = 'selectionHighlight'),
|
|
(e[(e.selectOnLineNumbers = 90)] = 'selectOnLineNumbers'),
|
|
(e[(e.showFoldingControls = 91)] = 'showFoldingControls'),
|
|
(e[(e.showUnused = 92)] = 'showUnused'),
|
|
(e[(e.snippetSuggestions = 93)] = 'snippetSuggestions'),
|
|
(e[(e.smoothScrolling = 94)] = 'smoothScrolling'),
|
|
(e[(e.stopRenderingLineAfter = 95)] = 'stopRenderingLineAfter'),
|
|
(e[(e.suggest = 96)] = 'suggest'),
|
|
(e[(e.suggestFontSize = 97)] = 'suggestFontSize'),
|
|
(e[(e.suggestLineHeight = 98)] = 'suggestLineHeight'),
|
|
(e[(e.suggestOnTriggerCharacters = 99)] = 'suggestOnTriggerCharacters'),
|
|
(e[(e.suggestSelection = 100)] = 'suggestSelection'),
|
|
(e[(e.tabCompletion = 101)] = 'tabCompletion'),
|
|
(e[(e.tabIndex = 102)] = 'tabIndex'),
|
|
(e[(e.unusualLineTerminators = 103)] = 'unusualLineTerminators'),
|
|
(e[(e.useTabStops = 104)] = 'useTabStops'),
|
|
(e[(e.wordSeparators = 105)] = 'wordSeparators'),
|
|
(e[(e.wordWrap = 106)] = 'wordWrap'),
|
|
(e[(e.wordWrapBreakAfterCharacters = 107)] =
|
|
'wordWrapBreakAfterCharacters'),
|
|
(e[(e.wordWrapBreakBeforeCharacters = 108)] =
|
|
'wordWrapBreakBeforeCharacters'),
|
|
(e[(e.wordWrapColumn = 109)] = 'wordWrapColumn'),
|
|
(e[(e.wordWrapMinified = 110)] = 'wordWrapMinified'),
|
|
(e[(e.wrappingIndent = 111)] = 'wrappingIndent'),
|
|
(e[(e.wrappingStrategy = 112)] = 'wrappingStrategy'),
|
|
(e[(e.showDeprecated = 113)] = 'showDeprecated'),
|
|
(e[(e.editorClassName = 114)] = 'editorClassName'),
|
|
(e[(e.pixelRatio = 115)] = 'pixelRatio'),
|
|
(e[(e.tabFocusMode = 116)] = 'tabFocusMode'),
|
|
(e[(e.layoutInfo = 117)] = 'layoutInfo'),
|
|
(e[(e.wrappingInfo = 118)] = 'wrappingInfo');
|
|
})(At || (At = {})),
|
|
(function (e) {
|
|
(e[(e.TextDefined = 0)] = 'TextDefined'),
|
|
(e[(e.LF = 1)] = 'LF'),
|
|
(e[(e.CRLF = 2)] = 'CRLF');
|
|
})(yt || (yt = {})),
|
|
(function (e) {
|
|
(e[(e.LF = 0)] = 'LF'), (e[(e.CRLF = 1)] = 'CRLF');
|
|
})(wt || (wt = {})),
|
|
(function (e) {
|
|
(e[(e.None = 0)] = 'None'),
|
|
(e[(e.Indent = 1)] = 'Indent'),
|
|
(e[(e.IndentOutdent = 2)] = 'IndentOutdent'),
|
|
(e[(e.Outdent = 3)] = 'Outdent');
|
|
})(vt || (vt = {})),
|
|
(function (e) {
|
|
(e[(e.Unknown = 0)] = 'Unknown'),
|
|
(e[(e.Backspace = 1)] = 'Backspace'),
|
|
(e[(e.Tab = 2)] = 'Tab'),
|
|
(e[(e.Enter = 3)] = 'Enter'),
|
|
(e[(e.Shift = 4)] = 'Shift'),
|
|
(e[(e.Ctrl = 5)] = 'Ctrl'),
|
|
(e[(e.Alt = 6)] = 'Alt'),
|
|
(e[(e.PauseBreak = 7)] = 'PauseBreak'),
|
|
(e[(e.CapsLock = 8)] = 'CapsLock'),
|
|
(e[(e.Escape = 9)] = 'Escape'),
|
|
(e[(e.Space = 10)] = 'Space'),
|
|
(e[(e.PageUp = 11)] = 'PageUp'),
|
|
(e[(e.PageDown = 12)] = 'PageDown'),
|
|
(e[(e.End = 13)] = 'End'),
|
|
(e[(e.Home = 14)] = 'Home'),
|
|
(e[(e.LeftArrow = 15)] = 'LeftArrow'),
|
|
(e[(e.UpArrow = 16)] = 'UpArrow'),
|
|
(e[(e.RightArrow = 17)] = 'RightArrow'),
|
|
(e[(e.DownArrow = 18)] = 'DownArrow'),
|
|
(e[(e.Insert = 19)] = 'Insert'),
|
|
(e[(e.Delete = 20)] = 'Delete'),
|
|
(e[(e.KEY_0 = 21)] = 'KEY_0'),
|
|
(e[(e.KEY_1 = 22)] = 'KEY_1'),
|
|
(e[(e.KEY_2 = 23)] = 'KEY_2'),
|
|
(e[(e.KEY_3 = 24)] = 'KEY_3'),
|
|
(e[(e.KEY_4 = 25)] = 'KEY_4'),
|
|
(e[(e.KEY_5 = 26)] = 'KEY_5'),
|
|
(e[(e.KEY_6 = 27)] = 'KEY_6'),
|
|
(e[(e.KEY_7 = 28)] = 'KEY_7'),
|
|
(e[(e.KEY_8 = 29)] = 'KEY_8'),
|
|
(e[(e.KEY_9 = 30)] = 'KEY_9'),
|
|
(e[(e.KEY_A = 31)] = 'KEY_A'),
|
|
(e[(e.KEY_B = 32)] = 'KEY_B'),
|
|
(e[(e.KEY_C = 33)] = 'KEY_C'),
|
|
(e[(e.KEY_D = 34)] = 'KEY_D'),
|
|
(e[(e.KEY_E = 35)] = 'KEY_E'),
|
|
(e[(e.KEY_F = 36)] = 'KEY_F'),
|
|
(e[(e.KEY_G = 37)] = 'KEY_G'),
|
|
(e[(e.KEY_H = 38)] = 'KEY_H'),
|
|
(e[(e.KEY_I = 39)] = 'KEY_I'),
|
|
(e[(e.KEY_J = 40)] = 'KEY_J'),
|
|
(e[(e.KEY_K = 41)] = 'KEY_K'),
|
|
(e[(e.KEY_L = 42)] = 'KEY_L'),
|
|
(e[(e.KEY_M = 43)] = 'KEY_M'),
|
|
(e[(e.KEY_N = 44)] = 'KEY_N'),
|
|
(e[(e.KEY_O = 45)] = 'KEY_O'),
|
|
(e[(e.KEY_P = 46)] = 'KEY_P'),
|
|
(e[(e.KEY_Q = 47)] = 'KEY_Q'),
|
|
(e[(e.KEY_R = 48)] = 'KEY_R'),
|
|
(e[(e.KEY_S = 49)] = 'KEY_S'),
|
|
(e[(e.KEY_T = 50)] = 'KEY_T'),
|
|
(e[(e.KEY_U = 51)] = 'KEY_U'),
|
|
(e[(e.KEY_V = 52)] = 'KEY_V'),
|
|
(e[(e.KEY_W = 53)] = 'KEY_W'),
|
|
(e[(e.KEY_X = 54)] = 'KEY_X'),
|
|
(e[(e.KEY_Y = 55)] = 'KEY_Y'),
|
|
(e[(e.KEY_Z = 56)] = 'KEY_Z'),
|
|
(e[(e.Meta = 57)] = 'Meta'),
|
|
(e[(e.ContextMenu = 58)] = 'ContextMenu'),
|
|
(e[(e.F1 = 59)] = 'F1'),
|
|
(e[(e.F2 = 60)] = 'F2'),
|
|
(e[(e.F3 = 61)] = 'F3'),
|
|
(e[(e.F4 = 62)] = 'F4'),
|
|
(e[(e.F5 = 63)] = 'F5'),
|
|
(e[(e.F6 = 64)] = 'F6'),
|
|
(e[(e.F7 = 65)] = 'F7'),
|
|
(e[(e.F8 = 66)] = 'F8'),
|
|
(e[(e.F9 = 67)] = 'F9'),
|
|
(e[(e.F10 = 68)] = 'F10'),
|
|
(e[(e.F11 = 69)] = 'F11'),
|
|
(e[(e.F12 = 70)] = 'F12'),
|
|
(e[(e.F13 = 71)] = 'F13'),
|
|
(e[(e.F14 = 72)] = 'F14'),
|
|
(e[(e.F15 = 73)] = 'F15'),
|
|
(e[(e.F16 = 74)] = 'F16'),
|
|
(e[(e.F17 = 75)] = 'F17'),
|
|
(e[(e.F18 = 76)] = 'F18'),
|
|
(e[(e.F19 = 77)] = 'F19'),
|
|
(e[(e.NumLock = 78)] = 'NumLock'),
|
|
(e[(e.ScrollLock = 79)] = 'ScrollLock'),
|
|
(e[(e.US_SEMICOLON = 80)] = 'US_SEMICOLON'),
|
|
(e[(e.US_EQUAL = 81)] = 'US_EQUAL'),
|
|
(e[(e.US_COMMA = 82)] = 'US_COMMA'),
|
|
(e[(e.US_MINUS = 83)] = 'US_MINUS'),
|
|
(e[(e.US_DOT = 84)] = 'US_DOT'),
|
|
(e[(e.US_SLASH = 85)] = 'US_SLASH'),
|
|
(e[(e.US_BACKTICK = 86)] = 'US_BACKTICK'),
|
|
(e[(e.US_OPEN_SQUARE_BRACKET = 87)] = 'US_OPEN_SQUARE_BRACKET'),
|
|
(e[(e.US_BACKSLASH = 88)] = 'US_BACKSLASH'),
|
|
(e[(e.US_CLOSE_SQUARE_BRACKET = 89)] = 'US_CLOSE_SQUARE_BRACKET'),
|
|
(e[(e.US_QUOTE = 90)] = 'US_QUOTE'),
|
|
(e[(e.OEM_8 = 91)] = 'OEM_8'),
|
|
(e[(e.OEM_102 = 92)] = 'OEM_102'),
|
|
(e[(e.NUMPAD_0 = 93)] = 'NUMPAD_0'),
|
|
(e[(e.NUMPAD_1 = 94)] = 'NUMPAD_1'),
|
|
(e[(e.NUMPAD_2 = 95)] = 'NUMPAD_2'),
|
|
(e[(e.NUMPAD_3 = 96)] = 'NUMPAD_3'),
|
|
(e[(e.NUMPAD_4 = 97)] = 'NUMPAD_4'),
|
|
(e[(e.NUMPAD_5 = 98)] = 'NUMPAD_5'),
|
|
(e[(e.NUMPAD_6 = 99)] = 'NUMPAD_6'),
|
|
(e[(e.NUMPAD_7 = 100)] = 'NUMPAD_7'),
|
|
(e[(e.NUMPAD_8 = 101)] = 'NUMPAD_8'),
|
|
(e[(e.NUMPAD_9 = 102)] = 'NUMPAD_9'),
|
|
(e[(e.NUMPAD_MULTIPLY = 103)] = 'NUMPAD_MULTIPLY'),
|
|
(e[(e.NUMPAD_ADD = 104)] = 'NUMPAD_ADD'),
|
|
(e[(e.NUMPAD_SEPARATOR = 105)] = 'NUMPAD_SEPARATOR'),
|
|
(e[(e.NUMPAD_SUBTRACT = 106)] = 'NUMPAD_SUBTRACT'),
|
|
(e[(e.NUMPAD_DECIMAL = 107)] = 'NUMPAD_DECIMAL'),
|
|
(e[(e.NUMPAD_DIVIDE = 108)] = 'NUMPAD_DIVIDE'),
|
|
(e[(e.KEY_IN_COMPOSITION = 109)] = 'KEY_IN_COMPOSITION'),
|
|
(e[(e.ABNT_C1 = 110)] = 'ABNT_C1'),
|
|
(e[(e.ABNT_C2 = 111)] = 'ABNT_C2'),
|
|
(e[(e.MAX_VALUE = 112)] = 'MAX_VALUE');
|
|
})(Tt || (Tt = {})),
|
|
(function (e) {
|
|
(e[(e.Hint = 1)] = 'Hint'),
|
|
(e[(e.Info = 2)] = 'Info'),
|
|
(e[(e.Warning = 4)] = 'Warning'),
|
|
(e[(e.Error = 8)] = 'Error');
|
|
})(Ot || (Ot = {})),
|
|
(function (e) {
|
|
(e[(e.Unnecessary = 1)] = 'Unnecessary'),
|
|
(e[(e.Deprecated = 2)] = 'Deprecated');
|
|
})(It || (It = {})),
|
|
(function (e) {
|
|
(e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter');
|
|
})(Mt || (Mt = {})),
|
|
(function (e) {
|
|
(e[(e.UNKNOWN = 0)] = 'UNKNOWN'),
|
|
(e[(e.TEXTAREA = 1)] = 'TEXTAREA'),
|
|
(e[(e.GUTTER_GLYPH_MARGIN = 2)] = 'GUTTER_GLYPH_MARGIN'),
|
|
(e[(e.GUTTER_LINE_NUMBERS = 3)] = 'GUTTER_LINE_NUMBERS'),
|
|
(e[(e.GUTTER_LINE_DECORATIONS = 4)] = 'GUTTER_LINE_DECORATIONS'),
|
|
(e[(e.GUTTER_VIEW_ZONE = 5)] = 'GUTTER_VIEW_ZONE'),
|
|
(e[(e.CONTENT_TEXT = 6)] = 'CONTENT_TEXT'),
|
|
(e[(e.CONTENT_EMPTY = 7)] = 'CONTENT_EMPTY'),
|
|
(e[(e.CONTENT_VIEW_ZONE = 8)] = 'CONTENT_VIEW_ZONE'),
|
|
(e[(e.CONTENT_WIDGET = 9)] = 'CONTENT_WIDGET'),
|
|
(e[(e.OVERVIEW_RULER = 10)] = 'OVERVIEW_RULER'),
|
|
(e[(e.SCROLLBAR = 11)] = 'SCROLLBAR'),
|
|
(e[(e.OVERLAY_WIDGET = 12)] = 'OVERLAY_WIDGET'),
|
|
(e[(e.OUTSIDE_EDITOR = 13)] = 'OUTSIDE_EDITOR');
|
|
})(xt || (xt = {})),
|
|
(function (e) {
|
|
(e[(e.TOP_RIGHT_CORNER = 0)] = 'TOP_RIGHT_CORNER'),
|
|
(e[(e.BOTTOM_RIGHT_CORNER = 1)] = 'BOTTOM_RIGHT_CORNER'),
|
|
(e[(e.TOP_CENTER = 2)] = 'TOP_CENTER');
|
|
})(Rt || (Rt = {})),
|
|
(function (e) {
|
|
(e[(e.Left = 1)] = 'Left'),
|
|
(e[(e.Center = 2)] = 'Center'),
|
|
(e[(e.Right = 4)] = 'Right'),
|
|
(e[(e.Full = 7)] = 'Full');
|
|
})(Pt || (Pt = {})),
|
|
(function (e) {
|
|
(e[(e.Off = 0)] = 'Off'),
|
|
(e[(e.On = 1)] = 'On'),
|
|
(e[(e.Relative = 2)] = 'Relative'),
|
|
(e[(e.Interval = 3)] = 'Interval'),
|
|
(e[(e.Custom = 4)] = 'Custom');
|
|
})(Ut || (Ut = {})),
|
|
(function (e) {
|
|
(e[(e.None = 0)] = 'None'),
|
|
(e[(e.Text = 1)] = 'Text'),
|
|
(e[(e.Blocks = 2)] = 'Blocks');
|
|
})(kt || (kt = {})),
|
|
(function (e) {
|
|
(e[(e.Smooth = 0)] = 'Smooth'), (e[(e.Immediate = 1)] = 'Immediate');
|
|
})(Dt || (Dt = {})),
|
|
(function (e) {
|
|
(e[(e.Auto = 1)] = 'Auto'),
|
|
(e[(e.Hidden = 2)] = 'Hidden'),
|
|
(e[(e.Visible = 3)] = 'Visible');
|
|
})(Ft || (Ft = {})),
|
|
(function (e) {
|
|
(e[(e.LTR = 0)] = 'LTR'), (e[(e.RTL = 1)] = 'RTL');
|
|
})(Kt || (Kt = {})),
|
|
(function (e) {
|
|
(e[(e.Invoke = 1)] = 'Invoke'),
|
|
(e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'),
|
|
(e[(e.ContentChange = 3)] = 'ContentChange');
|
|
})(Bt || (Bt = {})),
|
|
(function (e) {
|
|
(e[(e.File = 0)] = 'File'),
|
|
(e[(e.Module = 1)] = 'Module'),
|
|
(e[(e.Namespace = 2)] = 'Namespace'),
|
|
(e[(e.Package = 3)] = 'Package'),
|
|
(e[(e.Class = 4)] = 'Class'),
|
|
(e[(e.Method = 5)] = 'Method'),
|
|
(e[(e.Property = 6)] = 'Property'),
|
|
(e[(e.Field = 7)] = 'Field'),
|
|
(e[(e.Constructor = 8)] = 'Constructor'),
|
|
(e[(e.Enum = 9)] = 'Enum'),
|
|
(e[(e.Interface = 10)] = 'Interface'),
|
|
(e[(e.Function = 11)] = 'Function'),
|
|
(e[(e.Variable = 12)] = 'Variable'),
|
|
(e[(e.Constant = 13)] = 'Constant'),
|
|
(e[(e.String = 14)] = 'String'),
|
|
(e[(e.Number = 15)] = 'Number'),
|
|
(e[(e.Boolean = 16)] = 'Boolean'),
|
|
(e[(e.Array = 17)] = 'Array'),
|
|
(e[(e.Object = 18)] = 'Object'),
|
|
(e[(e.Key = 19)] = 'Key'),
|
|
(e[(e.Null = 20)] = 'Null'),
|
|
(e[(e.EnumMember = 21)] = 'EnumMember'),
|
|
(e[(e.Struct = 22)] = 'Struct'),
|
|
(e[(e.Event = 23)] = 'Event'),
|
|
(e[(e.Operator = 24)] = 'Operator'),
|
|
(e[(e.TypeParameter = 25)] = 'TypeParameter');
|
|
})(Wt || (Wt = {})),
|
|
(function (e) {
|
|
e[(e.Deprecated = 1)] = 'Deprecated';
|
|
})(qt || (qt = {})),
|
|
(function (e) {
|
|
(e[(e.Hidden = 0)] = 'Hidden'),
|
|
(e[(e.Blink = 1)] = 'Blink'),
|
|
(e[(e.Smooth = 2)] = 'Smooth'),
|
|
(e[(e.Phase = 3)] = 'Phase'),
|
|
(e[(e.Expand = 4)] = 'Expand'),
|
|
(e[(e.Solid = 5)] = 'Solid');
|
|
})(Ht || (Ht = {})),
|
|
(function (e) {
|
|
(e[(e.Line = 1)] = 'Line'),
|
|
(e[(e.Block = 2)] = 'Block'),
|
|
(e[(e.Underline = 3)] = 'Underline'),
|
|
(e[(e.LineThin = 4)] = 'LineThin'),
|
|
(e[(e.BlockOutline = 5)] = 'BlockOutline'),
|
|
(e[(e.UnderlineThin = 6)] = 'UnderlineThin');
|
|
})(Vt || (Vt = {})),
|
|
(function (e) {
|
|
(e[(e.AlwaysGrowsWhenTypingAtEdges = 0)] =
|
|
'AlwaysGrowsWhenTypingAtEdges'),
|
|
(e[(e.NeverGrowsWhenTypingAtEdges = 1)] =
|
|
'NeverGrowsWhenTypingAtEdges'),
|
|
(e[(e.GrowsOnlyWhenTypingBefore = 2)] = 'GrowsOnlyWhenTypingBefore'),
|
|
(e[(e.GrowsOnlyWhenTypingAfter = 3)] = 'GrowsOnlyWhenTypingAfter');
|
|
})(Yt || (Yt = {})),
|
|
(function (e) {
|
|
(e[(e.None = 0)] = 'None'),
|
|
(e[(e.Same = 1)] = 'Same'),
|
|
(e[(e.Indent = 2)] = 'Indent'),
|
|
(e[(e.DeepIndent = 3)] = 'DeepIndent');
|
|
})($t || ($t = {}));
|
|
class Gt {
|
|
static chord(e, t) {
|
|
return (function (e, t) {
|
|
return (e | (((65535 & t) << 16) >>> 0)) >>> 0;
|
|
})(e, t);
|
|
}
|
|
}
|
|
(Gt.CtrlCmd = 2048), (Gt.Shift = 1024), (Gt.Alt = 512), (Gt.WinCtrl = 256);
|
|
var zt = function (e, t, n, i) {
|
|
return new (n || (n = Promise))(function (r, s) {
|
|
function o(e) {
|
|
try {
|
|
l(i.next(e));
|
|
} catch (e) {
|
|
s(e);
|
|
}
|
|
}
|
|
function a(e) {
|
|
try {
|
|
l(i.throw(e));
|
|
} catch (e) {
|
|
s(e);
|
|
}
|
|
}
|
|
function l(e) {
|
|
var t;
|
|
e.done
|
|
? r(e.value)
|
|
: ((t = e.value),
|
|
t instanceof n
|
|
? t
|
|
: new n(function (e) {
|
|
e(t);
|
|
})).then(o, a);
|
|
}
|
|
l((i = i.apply(e, t || [])).next());
|
|
});
|
|
};
|
|
class Qt extends class {
|
|
constructor(e, t, n, i) {
|
|
(this._uri = e),
|
|
(this._lines = t),
|
|
(this._eol = n),
|
|
(this._versionId = i),
|
|
(this._lineStarts = null),
|
|
(this._cachedTextValue = null);
|
|
}
|
|
dispose() {
|
|
this._lines.length = 0;
|
|
}
|
|
getText() {
|
|
return (
|
|
null === this._cachedTextValue &&
|
|
(this._cachedTextValue = this._lines.join(this._eol)),
|
|
this._cachedTextValue
|
|
);
|
|
}
|
|
onEvents(e) {
|
|
e.eol &&
|
|
e.eol !== this._eol &&
|
|
((this._eol = e.eol), (this._lineStarts = null));
|
|
const t = e.changes;
|
|
for (const e of t)
|
|
this._acceptDeleteRange(e.range),
|
|
this._acceptInsertText(
|
|
new Ie(e.range.startLineNumber, e.range.startColumn),
|
|
e.text
|
|
);
|
|
(this._versionId = e.versionId), (this._cachedTextValue = null);
|
|
}
|
|
_ensureLineStarts() {
|
|
if (!this._lineStarts) {
|
|
const e = this._eol.length,
|
|
t = this._lines.length,
|
|
n = new Uint32Array(t);
|
|
for (let i = 0; i < t; i++) n[i] = this._lines[i].length + e;
|
|
this._lineStarts = new Ve(n);
|
|
}
|
|
}
|
|
_setLineText(e, t) {
|
|
(this._lines[e] = t),
|
|
this._lineStarts &&
|
|
this._lineStarts.changeValue(
|
|
e,
|
|
this._lines[e].length + this._eol.length
|
|
);
|
|
}
|
|
_acceptDeleteRange(e) {
|
|
if (e.startLineNumber !== e.endLineNumber)
|
|
this._setLineText(
|
|
e.startLineNumber - 1,
|
|
this._lines[e.startLineNumber - 1].substring(0, e.startColumn - 1) +
|
|
this._lines[e.endLineNumber - 1].substring(e.endColumn - 1)
|
|
),
|
|
this._lines.splice(
|
|
e.startLineNumber,
|
|
e.endLineNumber - e.startLineNumber
|
|
),
|
|
this._lineStarts &&
|
|
this._lineStarts.removeValues(
|
|
e.startLineNumber,
|
|
e.endLineNumber - e.startLineNumber
|
|
);
|
|
else {
|
|
if (e.startColumn === e.endColumn) return;
|
|
this._setLineText(
|
|
e.startLineNumber - 1,
|
|
this._lines[e.startLineNumber - 1].substring(0, e.startColumn - 1) +
|
|
this._lines[e.startLineNumber - 1].substring(e.endColumn - 1)
|
|
);
|
|
}
|
|
}
|
|
_acceptInsertText(e, t) {
|
|
if (0 === t.length) return;
|
|
let n = t.split(/\r\n|\r|\n/);
|
|
if (1 === n.length)
|
|
return void this._setLineText(
|
|
e.lineNumber - 1,
|
|
this._lines[e.lineNumber - 1].substring(0, e.column - 1) +
|
|
n[0] +
|
|
this._lines[e.lineNumber - 1].substring(e.column - 1)
|
|
);
|
|
(n[n.length - 1] += this._lines[e.lineNumber - 1].substring(
|
|
e.column - 1
|
|
)),
|
|
this._setLineText(
|
|
e.lineNumber - 1,
|
|
this._lines[e.lineNumber - 1].substring(0, e.column - 1) + n[0]
|
|
);
|
|
let i = new Uint32Array(n.length - 1);
|
|
for (let t = 1; t < n.length; t++)
|
|
this._lines.splice(e.lineNumber + t - 1, 0, n[t]),
|
|
(i[t - 1] = n[t].length + this._eol.length);
|
|
this._lineStarts && this._lineStarts.insertValues(e.lineNumber, i);
|
|
}
|
|
} {
|
|
get uri() {
|
|
return this._uri;
|
|
}
|
|
get version() {
|
|
return this._versionId;
|
|
}
|
|
get eol() {
|
|
return this._eol;
|
|
}
|
|
getValue() {
|
|
return this.getText();
|
|
}
|
|
getLinesContent() {
|
|
return this._lines.slice(0);
|
|
}
|
|
getLineCount() {
|
|
return this._lines.length;
|
|
}
|
|
getLineContent(e) {
|
|
return this._lines[e - 1];
|
|
}
|
|
getWordAtPosition(e, t) {
|
|
let n = je(
|
|
e.column,
|
|
(function (e) {
|
|
let t = Ye;
|
|
if (e && e instanceof RegExp)
|
|
if (e.global) t = e;
|
|
else {
|
|
let n = 'g';
|
|
e.ignoreCase && (n += 'i'),
|
|
e.multiline && (n += 'm'),
|
|
e.unicode && (n += 'u'),
|
|
(t = new RegExp(e.source, n));
|
|
}
|
|
return (t.lastIndex = 0), t;
|
|
})(t),
|
|
this._lines[e.lineNumber - 1],
|
|
0
|
|
);
|
|
return n
|
|
? new Me(e.lineNumber, n.startColumn, e.lineNumber, n.endColumn)
|
|
: null;
|
|
}
|
|
words(e) {
|
|
const t = this._lines,
|
|
n = this._wordenize.bind(this);
|
|
let i = 0,
|
|
r = '',
|
|
s = 0,
|
|
o = [];
|
|
return {
|
|
*[Symbol.iterator]() {
|
|
for (;;)
|
|
if (s < o.length) {
|
|
const e = r.substring(o[s].start, o[s].end);
|
|
(s += 1), yield e;
|
|
} else {
|
|
if (!(i < t.length)) break;
|
|
(r = t[i]), (o = n(r, e)), (s = 0), (i += 1);
|
|
}
|
|
},
|
|
};
|
|
}
|
|
getLineWords(e, t) {
|
|
let n = this._lines[e - 1],
|
|
i = this._wordenize(n, t),
|
|
r = [];
|
|
for (const e of i)
|
|
r.push({
|
|
word: n.substring(e.start, e.end),
|
|
startColumn: e.start + 1,
|
|
endColumn: e.end + 1,
|
|
});
|
|
return r;
|
|
}
|
|
_wordenize(e, t) {
|
|
const n = [];
|
|
let i;
|
|
for (t.lastIndex = 0; (i = t.exec(e)) && 0 !== i[0].length; )
|
|
n.push({ start: i.index, end: i.index + i[0].length });
|
|
return n;
|
|
}
|
|
getValueInRange(e) {
|
|
if ((e = this._validateRange(e)).startLineNumber === e.endLineNumber)
|
|
return this._lines[e.startLineNumber - 1].substring(
|
|
e.startColumn - 1,
|
|
e.endColumn - 1
|
|
);
|
|
let t = this._eol,
|
|
n = e.startLineNumber - 1,
|
|
i = e.endLineNumber - 1,
|
|
r = [];
|
|
r.push(this._lines[n].substring(e.startColumn - 1));
|
|
for (let e = n + 1; e < i; e++) r.push(this._lines[e]);
|
|
return r.push(this._lines[i].substring(0, e.endColumn - 1)), r.join(t);
|
|
}
|
|
offsetAt(e) {
|
|
return (
|
|
(e = this._validatePosition(e)),
|
|
this._ensureLineStarts(),
|
|
this._lineStarts.getAccumulatedValue(e.lineNumber - 2) + (e.column - 1)
|
|
);
|
|
}
|
|
positionAt(e) {
|
|
(e = Math.floor(e)), (e = Math.max(0, e)), this._ensureLineStarts();
|
|
let t = this._lineStarts.getIndexOf(e),
|
|
n = this._lines[t.index].length;
|
|
return { lineNumber: 1 + t.index, column: 1 + Math.min(t.remainder, n) };
|
|
}
|
|
_validateRange(e) {
|
|
const t = this._validatePosition({
|
|
lineNumber: e.startLineNumber,
|
|
column: e.startColumn,
|
|
}),
|
|
n = this._validatePosition({
|
|
lineNumber: e.endLineNumber,
|
|
column: e.endColumn,
|
|
});
|
|
return t.lineNumber !== e.startLineNumber ||
|
|
t.column !== e.startColumn ||
|
|
n.lineNumber !== e.endLineNumber ||
|
|
n.column !== e.endColumn
|
|
? {
|
|
startLineNumber: t.lineNumber,
|
|
startColumn: t.column,
|
|
endLineNumber: n.lineNumber,
|
|
endColumn: n.column,
|
|
}
|
|
: e;
|
|
}
|
|
_validatePosition(e) {
|
|
if (!Ie.isIPosition(e)) throw new Error('bad position');
|
|
let { lineNumber: t, column: n } = e,
|
|
i = !1;
|
|
if (t < 1) (t = 1), (n = 1), (i = !0);
|
|
else if (t > this._lines.length)
|
|
(t = this._lines.length), (n = this._lines[t - 1].length + 1), (i = !0);
|
|
else {
|
|
let e = this._lines[t - 1].length + 1;
|
|
n < 1 ? ((n = 1), (i = !0)) : n > e && ((n = e), (i = !0));
|
|
}
|
|
return i ? { lineNumber: t, column: n } : e;
|
|
}
|
|
}
|
|
class Xt {
|
|
constructor(e, t) {
|
|
(this._host = e),
|
|
(this._models = Object.create(null)),
|
|
(this._foreignModuleFactory = t),
|
|
(this._foreignModule = null);
|
|
}
|
|
dispose() {
|
|
this._models = Object.create(null);
|
|
}
|
|
_getModel(e) {
|
|
return this._models[e];
|
|
}
|
|
_getModels() {
|
|
let e = [];
|
|
return (
|
|
Object.keys(this._models).forEach((t) => e.push(this._models[t])), e
|
|
);
|
|
}
|
|
acceptNewModel(e) {
|
|
this._models[e.url] = new Qt(
|
|
be.parse(e.url),
|
|
e.lines,
|
|
e.EOL,
|
|
e.versionId
|
|
);
|
|
}
|
|
acceptModelChanged(e, t) {
|
|
this._models[e] && this._models[e].onEvents(t);
|
|
}
|
|
acceptRemovedModel(e) {
|
|
this._models[e] && delete this._models[e];
|
|
}
|
|
computeDiff(e, t, n, i) {
|
|
return zt(this, void 0, void 0, function* () {
|
|
const r = this._getModel(e),
|
|
s = this._getModel(t);
|
|
if (!r || !s) return null;
|
|
const o = r.getLinesContent(),
|
|
a = s.getLinesContent(),
|
|
l = new De(o, a, {
|
|
shouldComputeCharChanges: !0,
|
|
shouldPostProcessCharChanges: !0,
|
|
shouldIgnoreTrimWhitespace: n,
|
|
shouldMakePrettyDiff: !0,
|
|
maxComputationTime: i,
|
|
}).computeDiff(),
|
|
u = !(l.changes.length > 0) && this._modelsAreIdentical(r, s);
|
|
return { quitEarly: l.quitEarly, identical: u, changes: l.changes };
|
|
});
|
|
}
|
|
_modelsAreIdentical(e, t) {
|
|
const n = e.getLineCount();
|
|
if (n !== t.getLineCount()) return !1;
|
|
for (let i = 1; i <= n; i++)
|
|
if (e.getLineContent(i) !== t.getLineContent(i)) return !1;
|
|
return !0;
|
|
}
|
|
computeMoreMinimalEdits(e, t) {
|
|
return zt(this, void 0, void 0, function* () {
|
|
const n = this._getModel(e);
|
|
if (!n) return t;
|
|
const i = [];
|
|
let r;
|
|
t = x(t, (e, t) =>
|
|
e.range && t.range
|
|
? Me.compareRangesUsingStarts(e.range, t.range)
|
|
: (e.range ? 0 : 1) - (t.range ? 0 : 1)
|
|
);
|
|
for (let { range: e, text: s, eol: o } of t) {
|
|
if (('number' == typeof o && (r = o), Me.isEmpty(e) && !s)) continue;
|
|
const t = n.getValueInRange(e);
|
|
if (((s = s.replace(/\r\n|\n|\r/g, n.eol)), t === s)) continue;
|
|
if (Math.max(s.length, t.length) > Xt._diffLimit) {
|
|
i.push({ range: e, text: s });
|
|
continue;
|
|
}
|
|
const a = Y(t, s, !1),
|
|
l = n.offsetAt(Me.lift(e).getStartPosition());
|
|
for (const e of a) {
|
|
const t = n.positionAt(l + e.originalStart),
|
|
r = n.positionAt(l + e.originalStart + e.originalLength),
|
|
o = {
|
|
text: s.substr(e.modifiedStart, e.modifiedLength),
|
|
range: {
|
|
startLineNumber: t.lineNumber,
|
|
startColumn: t.column,
|
|
endLineNumber: r.lineNumber,
|
|
endColumn: r.column,
|
|
},
|
|
};
|
|
n.getValueInRange(o.range) !== o.text && i.push(o);
|
|
}
|
|
}
|
|
return (
|
|
'number' == typeof r &&
|
|
i.push({
|
|
eol: r,
|
|
text: '',
|
|
range: {
|
|
startLineNumber: 0,
|
|
startColumn: 0,
|
|
endLineNumber: 0,
|
|
endColumn: 0,
|
|
},
|
|
}),
|
|
i
|
|
);
|
|
});
|
|
}
|
|
computeLinks(e) {
|
|
return zt(this, void 0, void 0, function* () {
|
|
let t = this._getModel(e);
|
|
return t
|
|
? (function (e) {
|
|
return e &&
|
|
'function' == typeof e.getLineCount &&
|
|
'function' == typeof e.getLineContent
|
|
? et.computeLinks(e)
|
|
: [];
|
|
})(t)
|
|
: null;
|
|
});
|
|
}
|
|
textualSuggest(e, t, n, i) {
|
|
return zt(this, void 0, void 0, function* () {
|
|
const r = this._getModel(e);
|
|
if (!r) return null;
|
|
const s = [],
|
|
o = new Set(),
|
|
a = new RegExp(n, i),
|
|
l = r.getWordAtPosition(t, a);
|
|
l && o.add(r.getValueInRange(l));
|
|
for (let e of r.words(a))
|
|
if (
|
|
!o.has(e) &&
|
|
(o.add(e),
|
|
isNaN(Number(e)) && (s.push(e), o.size > Xt._suggestionsLimit))
|
|
)
|
|
break;
|
|
return s;
|
|
});
|
|
}
|
|
computeWordRanges(e, t, n, i) {
|
|
return zt(this, void 0, void 0, function* () {
|
|
let r = this._getModel(e);
|
|
if (!r) return Object.create(null);
|
|
const s = new RegExp(n, i),
|
|
o = Object.create(null);
|
|
for (let e = t.startLineNumber; e < t.endLineNumber; e++) {
|
|
let t = r.getLineWords(e, s);
|
|
for (const n of t) {
|
|
if (!isNaN(Number(n.word))) continue;
|
|
let t = o[n.word];
|
|
t || ((t = []), (o[n.word] = t)),
|
|
t.push({
|
|
startLineNumber: e,
|
|
startColumn: n.startColumn,
|
|
endLineNumber: e,
|
|
endColumn: n.endColumn,
|
|
});
|
|
}
|
|
}
|
|
return o;
|
|
});
|
|
}
|
|
navigateValueSet(e, t, n, i, r) {
|
|
return zt(this, void 0, void 0, function* () {
|
|
let s = this._getModel(e);
|
|
if (!s) return null;
|
|
let o = new RegExp(i, r);
|
|
t.startColumn === t.endColumn &&
|
|
(t = {
|
|
startLineNumber: t.startLineNumber,
|
|
startColumn: t.startColumn,
|
|
endLineNumber: t.endLineNumber,
|
|
endColumn: t.endColumn + 1,
|
|
});
|
|
let a = s.getValueInRange(t),
|
|
l = s.getWordAtPosition(
|
|
{ lineNumber: t.startLineNumber, column: t.startColumn },
|
|
o
|
|
);
|
|
if (!l) return null;
|
|
let u = s.getValueInRange(l);
|
|
return tt.INSTANCE.navigateValueSet(t, a, l, u, n);
|
|
});
|
|
}
|
|
loadForeignModule(e, t, n) {
|
|
let i = {
|
|
host: O(n, (e, t) => this._host.fhr(e, t)),
|
|
getMirrorModels: () => this._getModels(),
|
|
};
|
|
return this._foreignModuleFactory
|
|
? ((this._foreignModule = this._foreignModuleFactory(i, t)),
|
|
Promise.resolve(T(this._foreignModule)))
|
|
: Promise.reject(new Error('Unexpected usage'));
|
|
}
|
|
fmr(e, t) {
|
|
if (!this._foreignModule || 'function' != typeof this._foreignModule[e])
|
|
return Promise.reject(
|
|
new Error('Missing requestHandler or method: ' + e)
|
|
);
|
|
try {
|
|
return Promise.resolve(
|
|
this._foreignModule[e].apply(this._foreignModule, t)
|
|
);
|
|
} catch (e) {
|
|
return Promise.reject(e);
|
|
}
|
|
}
|
|
}
|
|
(Xt._diffLimit = 1e5),
|
|
(Xt._suggestionsLimit = 1e4),
|
|
'function' == typeof importScripts &&
|
|
(w.monaco = {
|
|
editor: void 0,
|
|
languages: void 0,
|
|
CancellationTokenSource: class {
|
|
constructor(e) {
|
|
(this._token = void 0),
|
|
(this._parentListener = void 0),
|
|
(this._parentListener =
|
|
e && e.onCancellationRequested(this.cancel, this));
|
|
}
|
|
get token() {
|
|
return this._token || (this._token = new lt()), this._token;
|
|
}
|
|
cancel() {
|
|
this._token
|
|
? this._token instanceof lt && this._token.cancel()
|
|
: (this._token = at.Cancelled);
|
|
}
|
|
dispose(e = !1) {
|
|
e && this.cancel(),
|
|
this._parentListener && this._parentListener.dispose(),
|
|
this._token
|
|
? this._token instanceof lt && this._token.dispose()
|
|
: (this._token = at.None);
|
|
}
|
|
},
|
|
Emitter: st,
|
|
KeyCode: Tt,
|
|
KeyMod: Gt,
|
|
Position: Ie,
|
|
Range: Me,
|
|
Selection: jt,
|
|
SelectionDirection: Kt,
|
|
MarkerSeverity: Ot,
|
|
MarkerTag: It,
|
|
Uri: be,
|
|
Token: class {
|
|
constructor(e, t, n) {
|
|
(this.offset = 0 | e), (this.type = t), (this.language = n);
|
|
}
|
|
toString() {
|
|
return '(' + this.offset + ', ' + this.type + ')';
|
|
}
|
|
},
|
|
});
|
|
let Zt = !1;
|
|
self.onmessage = (e) => {
|
|
Zt ||
|
|
(function (e) {
|
|
if (Zt) return;
|
|
Zt = !0;
|
|
const t = new M(
|
|
(e) => {
|
|
self.postMessage(e);
|
|
},
|
|
(e) => new Xt(e, null)
|
|
);
|
|
self.onmessage = (e) => {
|
|
t.onmessage(e.data);
|
|
};
|
|
})();
|
|
};
|
|
})();
|